public static bool Update(string dbName, string collectionName, MongoDB.Driver.IMongoQuery query, MongoDB.Driver.Builders.UpdateBuilder update) { MongoCollection collection = GetCollection(dbName, collectionName); WriteConcernResult result = collection.Update(query, update); return(result.UpdatedExisting); }
private MongoDB.Driver.IMongoQuery GetExpenseMongoQuery(int userId, DateTime expenseDate, string expenseMonth, IList <IExpenseType> expenseTypes = null) { MongoDB.Driver.IMongoQuery expenseMongoQuery = MongoDB.Driver.Builders.Query <ExpenseMDO> .Where(i => i.UserId == userId); //----> default query by userId if (!string.IsNullOrEmpty(expenseMonth)) { expenseMongoQuery = Query.And(expenseMongoQuery, MongoDB.Driver.Builders.Query <ExpenseMDO> .EQ(i => i.ExpenseDate.Month, 12)); if (expenseTypes != null && expenseTypes.Any()) { List <int> expenseTypeIds = expenseTypes.Select(t => t.TypeId).ToList <int>(); expenseMongoQuery = Query.And(expenseMongoQuery, MongoDB.Driver.Builders.Query <ExpenseMDO> .Where(x => x.ExpenseType.TypeId.In(expenseTypeIds))); } } else if ((!expenseDate.IsDefault())) { expenseMongoQuery = Query.And(expenseMongoQuery, MongoDB.Driver.Builders.Query <ExpenseMDO> .Where(i => i.ExpenseDate == expenseDate)); if (expenseTypes != null && expenseTypes.Any()) { List <int> expenseTypeIds = expenseTypes.Select(t => t.TypeId).ToList <int>(); expenseMongoQuery = Query.And(expenseMongoQuery, MongoDB.Driver.Builders.Query <ExpenseMDO> .Where(x => x.ExpenseType.TypeId.In(expenseTypeIds))); } } else if (expenseTypes != null && expenseTypes.Any()) { List <int> expenseTypeIds = expenseTypes.Select(t => t.TypeId).ToList <int>(); expenseMongoQuery = Query.And(expenseMongoQuery, MongoDB.Driver.Builders.Query <ExpenseMDO> .Where(x => x.ExpenseType.TypeId.In(expenseTypeIds))); } return(expenseMongoQuery); }
public ActionResult <DeveloperResponse> Update([FromBody] Developer data) { try { //check if email is present if (string.IsNullOrWhiteSpace(data.Email)) { return(BadRequest(new { Message = Constants.Provide_Email })); } //check if email is present if (string.IsNullOrWhiteSpace(data.Phone_Number)) { return(BadRequest(new { Message = Constants.Provide_Phone })); } data.Email = data.Email.ToLower(); //Check for email formats if (!Checks.IsValidEmail(data.Email)) { return(BadRequest(new { Message = Constants.Invalid_Email })); } //check if a guid is included in the data if (string.IsNullOrWhiteSpace(data.Guid)) { return(BadRequest(new { Message = Constants.Provide_Guid })); } //check if the developer exists on the system via guid. if (!Store.CheckTestExistence(e => e.Guid, data.Guid)) { return(NotFound(new { Message = Constants.Non_Exist })); } //Update the Contact MongoDB.Driver.IMongoQuery query = Query <Developer> .EQ(d => d.Guid, data.Guid); MongoDB.Driver.IMongoUpdate replacement = Update <Developer> .Replace(data); context.Developer.Update(query, replacement); //initialize response data. DeveloperResponse response = new DeveloperResponse { //prepare response data Status = true, Message = Constants.Success, //return the newly inserted data from the database. Data = Store.FetchTestOne(d => d.Email, data.Email) }; return(Ok(response)); } catch (Exception ex) { Log.LogError(ex); return(StatusCode(500, ex.ToString())); } }
private MongoCursor <IncomeMDO> GetIncomeMongoCursor(MongoDB.Driver.IMongoQuery incomeMongoQuery, int currentPage) { int rowCount = (currentPage * NumberOfRowsPerPage); int skipPageCount = rowCount != 0 ? (rowCount - NumberOfRowsPerPage) : 0; MongoCursor <IncomeMDO> incomeMongoCursor = new MongoDBManager().Find <IncomeMDO>("Incomes", incomeMongoQuery); incomeMongoCursor.Skip = skipPageCount; //------> Setting the skip count incomeMongoCursor.Limit = NumberOfRowsPerPage; //-----> Setting the take count (Limit) incomeMongoCursor.SetSortOrder(SortBy.Descending("IncomeDate", "CreatedDate")); //Setting the sort order before executing return(incomeMongoCursor); }
/// <summary> /// Remove all documents of user from income collection. /// </summary> /// <param name="userId"></param> /// <returns></returns> public bool RemoveDocumentsByUserId(int userId) { try { MongoDB.Driver.IMongoQuery removeByUserIdQuery = MongoDB.Driver.Builders.Query <Income> .EQ(e => e.UserId, userId); new MongoDBManager().Remove <IncomeMDO>("Incomes", removeByUserIdQuery); return(true); } catch (WriteConcernException) { return(false); } }
public void Update(IExpense expense) { MongoDB.Driver.IMongoQuery expenseUpdateConditionQuery = Query.And(MongoDB.Driver.Builders.Query <ExpenseMDO> .Where(e => e.UserId == expense.UserId), MongoDB.Driver.Builders.Query <ExpenseMDO> .Where(e => e.ExpenseId == expense.Id)); var updateStatements = MongoDB.Driver.Builders.Update .Set("ExpenseType.TypeId", expense.ExpenseType.TypeId) .Set("ExpenseType.Type", expense.ExpenseType.Type) .Set("Amount", expense.Amount) .Set("Description", expense.Description) .Set("ModifiedBy", expense.UserId) .Set("ExpenseDate", expense.ExpenseDate) .Set("Comments", (expense.Comments == null) ? string.Empty : expense.Comments); new MongoDBManager().Update <ExpenseMDO>(EXPENSES, expenseUpdateConditionQuery, updateStatements); }
public void Update(IIncome income) { MongoDB.Driver.IMongoQuery incomeUpdateConditionQuery = Query.And(MongoDB.Driver.Builders.Query <IncomeMDO> .Where(e => e.UserId == income.UserId), MongoDB.Driver.Builders.Query <IncomeMDO> .Where(e => e.IncomeId == income.IncomeId)); var updateStatements = MongoDB.Driver.Builders.Update .Set("IncomeType.TypeId", income.IncomeType.TypeId) .Set("IncomeType.Type", income.IncomeType.Type) .Set("Amount", income.Amount) .Set("Description", income.Description) .Set("ModifiedBy", income.UserId) .Set("IncomeDate", income.IncomeDate) .Set("Comments", (income.Comments == null) ? string.Empty : income.Comments); new MongoDBManager().Update <IncomeMDO>("Incomes", incomeUpdateConditionQuery, updateStatements); }
/// <summary> /// Get all expenses by using MongoQuery /// </summary> /// <param name="userId"></param> /// <param name="currentPage"></param> /// <param name="expenseDate"></param> /// <param name="expenseTypes"></param> /// <returns></returns> public IList <IExpense> GetAll(int userId, int currentPage, DateTime expenseDate, string expenseMonth, IList <IExpenseType> expenseTypes = null) { MongoDB.Driver.IMongoQuery expenseMongoQuery = this.GetExpenseMongoQuery(userId, expenseDate, expenseMonth, expenseTypes); int totalExpenseCount = new MongoDBManager().GetCountByQuery <ExpenseMDO>(EXPENSES, expenseMongoQuery); //-----> MongoDb call to get the count. if (totalExpenseCount < ((currentPage - 1) * NumberOfRowsPerPage)) { currentPage = 1; } MongoCursor <ExpenseMDO> expenseMongoCursor = this.GetExpenseMongoCursor(expenseMongoQuery, currentPage); List <IExpense> expenses = this.MapExpenseMDOCollectionToDomainList(expenseMongoCursor.ToList());//-----> MongoDb Call to get the filtered incomes. expenses.ForEach(a => a.TotalCount = totalExpenseCount); return(expenses); }
/// <summary> /// Get all incomes by using MongoQuery /// </summary> /// <param name="userId"></param> /// <param name="currentPage"></param> /// <param name="incomeDate"></param> /// <param name="incomeTypes"></param> /// <returns></returns> public List <IIncome> GetAllByMongoQuery(int userId, int currentPage, DateTime incomeDate, List <IIncomeType> incomeTypes = null) { MongoDB.Driver.IMongoQuery incomeMongoQuery = this.GetIncomeMongoQuery(userId, incomeDate, incomeTypes); int totalIncomeCount = new MongoDBManager().GetCountByQuery <IncomeMDO>("Incomes", incomeMongoQuery); //-----> MongoDb call to get the count. if (totalIncomeCount < ((currentPage - 1) * NumberOfRowsPerPage)) { currentPage = 1; } MongoCursor <IncomeMDO> incomeMongoCursor = this.GetIncomeMongoCursor(incomeMongoQuery, currentPage); List <IIncome> incomes = this.MapIncomeMDOCollectionToDomainList(incomeMongoCursor.ToList());//-----> MongoDb Call to get the filtered incomes. incomes.ForEach(a => a.TotalCount = totalIncomeCount); return(incomes); }
private MongoDB.Driver.IMongoQuery GetIncomeMongoQuery(int userId, DateTime incomeDate, List <IIncomeType> incomeTypes = null) { MongoDB.Driver.IMongoQuery incomeMongoQuery = MongoDB.Driver.Builders.Query <IncomeMDO> .Where(i => i.UserId == userId); //----> default query by userId if ((!incomeDate.IsDefault())) { incomeMongoQuery = Query.And(incomeMongoQuery, MongoDB.Driver.Builders.Query <IncomeMDO> .Where(i => i.IncomeDate == incomeDate)); if (incomeTypes != null && incomeTypes.Any()) { List <int> incomeTypeIds = incomeTypes.Select(t => t.TypeId).ToList <int>(); incomeMongoQuery = Query.And(incomeMongoQuery, MongoDB.Driver.Builders.Query <IncomeMDO> .Where(x => x.IncomeType.TypeId.In(incomeTypeIds))); } } else if (incomeTypes != null && incomeTypes.Any()) { List <int> incomeTypeIds = incomeTypes.Select(t => t.TypeId).ToList <int>(); incomeMongoQuery = Query.And(incomeMongoQuery, MongoDB.Driver.Builders.Query <IncomeMDO> .Where(x => x.IncomeType.TypeId.In(incomeTypeIds))); } return(incomeMongoQuery); }
/// <summary> /// To get all documents of the specified collection by mongoQuery. /// </summary> /// <typeparam name="T">The type of the collection.</typeparam> /// <param name="collectionName">The name of the collection. </param> /// <param name="query">The mongo query to execute.</param> /// <returns>Mongo Cursor </returns> public MongoCursor <T> Find <T>(string collectionName, MongoDB.Driver.IMongoQuery query) { MongoCollection collection = this.GetMongoDBCollection <T>(collectionName); return(collection.FindAs <T>(query)); }
/// <summary> /// To get the count of documents. /// </summary> /// <typeparam name="T">The type of the collection.</typeparam> /// <param name="collectionName">The collection name.</param> /// <param name="query">The MongoQuery to get the count.</param> /// <returns>count as integer value.</returns> public int GetCountByQuery <T>(string collectionName, MongoDB.Driver.IMongoQuery query) { MongoCollection collection = this.GetMongoDBCollection <T>(collectionName); return(int.Parse(collection.Count(query).ToString())); }
/// <summary> /// 更新数据 /// </summary> /// <param name="collectionName">集合名称</param> /// <param name="query">查询条件条件查询,调用示例:Query.Matches("Title", "感冒") 或者 Query.EQ("Title", "感冒") 或者Query.And(Query.Matches("Title", "感冒"),Query.EQ("Author", "yanc")) 等等</param> /// <param name="update">更新字段,调用示例:Update.Set("Title", "yanc") 或者 Update.Set("Title", "yanc").Set("Author", "yanc2") 等等</param> public static bool Update(string collectionName, MongoDB.Driver.IMongoQuery query, MongoDB.Driver.IMongoUpdate update) { var result = MongoDbHepler.Update(nosqlConnectionString, nosqlDbName, collectionName, query, update); return(result.Ok); }
/// <summary> /// 根据查询条件获取一条数据 /// </summary> /// <typeparam name="T">数据类型</typeparam> /// <param name="collectionName">集合名称</param> /// <param name="query">查询条件,调用示例:Query.Matches("Title", "感冒") 或者 Query.EQ("Title", "感冒") 或者Query.And(Query.Matches("Title", "感冒"),Query.EQ("Author", "yanc"))</param> /// <returns>数据对象</returns> public static T GetOneByCondition <T>(string collectionName, MongoDB.Driver.IMongoQuery query) where T : IEntity <string> { return(MongoDbHepler.GetOneByCondition <T>(nosqlConnectionString, nosqlDbName, collectionName, query)); }
public void RemoveDocumentByExpenseId(int expenseId) { MongoDB.Driver.IMongoQuery removeByExpenseIdQuery = MongoDB.Driver.Builders.Query <ExpenseMDO> .EQ(e => e.ExpenseId, expenseId); new MongoDBManager().Remove <ExpenseMDO>(EXPENSES, removeByExpenseIdQuery); }
public FindAndModifyResult Update <T>(string collectionName, MongoDB.Driver.IMongoQuery query, IMongoUpdate updateStatements) { MongoCollection collection = this.GetMongoDBCollection <T>(collectionName); return(collection.FindAndModify(query, MongoDB.Driver.Builders.SortBy.Null, updateStatements)); }
private IMongoQuery CreateQueryById(string id) { MongoDB.Driver.IMongoQuery query = Query.EQ("_id", ObjectId.Parse(id)); return(query); }
/// <summary> /// Remove a document from the specified collection. /// </summary> /// <typeparam name="T">The type of the collection.</typeparam> /// <param name="collectionName">The collection name.</param> /// <param name="query">MongoQuery to remove the document.</param> /// <returns>WriteConcernResult whether Remove failed or not.</returns> public WriteConcernResult Remove <T>(string collectionName, MongoDB.Driver.IMongoQuery query) { MongoCollection collection = this.GetMongoDBCollection <T>(collectionName); return(collection.Remove(query)); }
/// <summary> /// /// </summary> /// <param name="incomeId"></param> public void RemoveDocumentByIncomeId(int incomeId) { MongoDB.Driver.IMongoQuery removeByIncomeIdQuery = MongoDB.Driver.Builders.Query <IncomeMDO> .EQ(e => e.IncomeId, incomeId); new MongoDBManager().Remove <IncomeMDO>("Incomes", removeByIncomeIdQuery); }