示例#1
0
 /// <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
         }));
     }
 }