Skip to content

Instantly share code, notes, and snippets.

View NMZivkovic's full-sized avatar

Nikola Živković NMZivkovic

View GitHub Profile
public class SqlDataHandler : IDisposable
{
private string _connectionString;
private SqlConnection _sqlConnection;
public SqlDataHandler()
{
_connectionString = ConfigurationManager.AppSettings["connectionString"];
_sqlConnection = new SqlConnection(_connectionString);
_sqlConnection.Open();
using System;
namespace ClosureExample
{
class Program
{
static void Main(string[] args)
{
Action counterIncrementAction = CounterIncrementAction();
counterIncrementAction();
{
"_id" : ObjectId("59ce6b34f48f171624840b05"),
"name" : "Nikola",
"blog" : "rubikscode.net",
"age" : 30,
"location" : "Beograd"
}
using MongoDB.Bson;
using MongoDB.Bson.Serialization.Attributes;
namespace MongoDb
{
/// <summary>
/// Class used in business logic to represent user.
/// </summary>
public class User
{
/// <summary>
/// Class used to access Mongo DB.
/// </summary>
public class UsersRepository
{
private IMongoClient _client;
private IMongoDatabase _database;
private IMongoCollection<User> _usersCollection;
public UsersRepository(string connectionString)
public async Task InsertUser(User user)
{
await _usersCollection.InsertOneAsync(user);
}
public async Task<List<User>> GetAllUsers()
{
return await _usersCollection.Find(new BsonDocument()).ToListAsync();
}
public async Task<List<User>> GetUsersByField(string fieldName, string fieldValue)
{
var filter = Builders<User>.Filter.Eq(fieldName, fieldValue);
var result = await _usersCollection.Find(filter).ToListAsync();
public async Task<bool> UpdateUser(ObjectId id, string udateFieldName, string updateFieldValue)
{
var filter = Builders<User>.Filter.Eq("_id", id);
var update = Builders<User>.Update.Set(udateFieldName, updateFieldValue);
var result = await _usersCollection.UpdateOneAsync(filter, update);
return result.ModifiedCount != 0;
}
public async Task<bool> DeleteUserById(ObjectId id)
{
var filter = Builders<User>.Filter.Eq("_id", id);
var result = await _usersCollection.DeleteOneAsync(filter);
return result.DeletedCount != 0;
}
public async Task<long> DeleteAllUsers()
{
var filter = new BsonDocument();
var users = await _mongoDbRepo.GetUsersByField("name", "Nikola");
var user = users.FirstOrDefault();
var result = await _mongoDbRepo.UpdateUser(user.Id, "address", "test address");