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
         }));
     }
 }