public ActionResult InsertTripInfo([FromBody] TripInfo data, string username) { try { if (data != null && username != null) { if (data.TripType == null) { return(BadRequest(new ResponseData { Code = "403", Message = "Bad request. Invalid trip type" })); } else { if (data.TripType != "Local" && data.TripType != "Line") { return(BadRequest(new ResponseData { Code = "403", Message = "Bad request. Invalid trip type" })); } else { #region Calculate trip id var getTrips = MH.GetListOfObjects(tripinfo_collection, null, null, null, null, true).Result; if (getTrips.Count == 0) { data.TripId = "TP-1"; } else { List <long> idList = new List <long>(); foreach (var trip in getTrips) { TripInfo tripInfo = BsonSerializer.Deserialize <TripInfo>(trip); long seperatedId = Convert.ToInt64(tripInfo.TripId.Substring(tripInfo.TripId.LastIndexOf('-') + 1)); idList.Add(seperatedId); } var maxId = idList.Max(); data.TripId = "TP-" + (maxId + 1); } #endregion data.IsActive = true; var insert = MH.InsertNewTripInfo(data, tripinfoCollection); if (insert == true) { AL.CreateLog(username, "InsertTripInfo", null, data, activitylog_collection); return(Ok(new ResponseData { Code = "200", Message = "Inserted", Data = data })); } else { return(BadRequest(new ResponseData { Code = "401", Message = "Trip info with same id is already added" })); } } } } else { return(BadRequest(new ResponseData { Code = "402", Message = "Bad request" })); } } catch (Exception ex) { SL.CreateLog("TripController", "InsertTripInfo", ex.Message); return(BadRequest(new ResponseData { Code = "400", Message = "Failed", Data = ex.Message })); } }