/// <summary> /// /// </summary> /// <param name="data"></param> /// <param name="collection"></param> /// <returns></returns> public static dynamic InsertNewTripExpenseInfo(TripExpenceInfo data, IMongoCollection <TripExpenceInfo> collection) { try { #region Create index //collection.Indexes.CreateOne("{ TripExpenseId: " + data.TripExpenseId + " }"); #endregion collection.InsertOne(data); return(true); } catch (Exception ex) { if (ex.Message.Contains("duplicate key error")) { return(ex.Message); } else { SL.CreateLog("MongoHelper", "InsertNewTripExpenseInfo", ex.Message); return(false); } } }
public ActionResult InsertTripExpenseInfo([FromBody] TripExpenceInfo data, string username) { try { if (data != null && username != null) { #region Calculate trip expense id var getTrips = MH.GetListOfObjects(tripexpenseinfo_collection, null, null, null, null).Result; if (getTrips.Count == 0) { data.TripExpenseId = "TRE-1"; } else { List <long> idList = new List <long>(); foreach (var trip in getTrips) { TripExpenceInfo tripExpenseInfo = BsonSerializer.Deserialize <TripExpenceInfo>(trip); long seperatedId = Convert.ToInt64(tripExpenseInfo.TripExpenseId.Substring(tripExpenseInfo.TripExpenseId.LastIndexOf('-') + 1)); idList.Add(seperatedId); } var maxId = idList.Max(); data.TripExpenseId = "TRE-" + (maxId + 1); } #endregion data.IsActive = true; var insert = MH.InsertNewTripExpenseInfo(data, tripexpenseinfoCollection); if (insert == true) { AL.CreateLog(username, "InsertTripExpenseInfo", null, data, activitylog_collection); return(Ok(new ResponseData { Code = "200", Message = "Inserted", Data = data })); } else { return(BadRequest(new ResponseData { Code = "401", Message = "Trip expense info with same id is already added" })); } } else { return(BadRequest(new ResponseData { Code = "402", Message = "Bad Request" })); } } catch (Exception ex) { SL.CreateLog("TripExpenseController", "InsertTripExpenseInfo", ex.Message); return(BadRequest(new ResponseData { Code = "400", Message = "Failed", Data = ex.Message })); } }