public ActionResult InsertVehicleInfo([FromBody] VehicleInfo data, string username) { try { if (data != null && username != null) { var check = MH.CheckForData(vehicleinfo_collection, "VehicleNo", data.VehicleNo, null, null).Result; if (check == false) { #region Calculate Vehicle id var getVehicles = MH.GetListOfObjects(vehicleinfo_collection, null, null, null, null).Result; if (getVehicles.Count == 0) { data.VehicleId = "VC-1"; } else { List <long> idList = new List <long>(); foreach (var vehicle in getVehicles) { VehicleInfo vehicleInfo = BsonSerializer.Deserialize <VehicleInfo>(vehicle); long seperatedId = Convert.ToInt64(vehicleInfo.VehicleId.Substring(vehicleInfo.VehicleId.LastIndexOf('-') + 1)); idList.Add(seperatedId); } var maxId = idList.Max(); data.VehicleId = "VC-" + (maxId + 1); } #endregion data.IsActive = true; var insert = MH.InsertNewVehicleInfo(data, vehicleinfoCollection); if (insert == true) { return(Ok(new ResponseData { Code = "200", Message = "Inserted", Data = data })); } else { return(BadRequest(new ResponseData { Code = "401", Message = "Vehicle info with same id is already added" })); } } else { return(BadRequest(new ResponseData { Code = "402", Message = "Vehicle with same reg number is found" })); } } else { return(BadRequest(new ResponseData { Code = "403", Message = "Bad Request" })); } } catch (Exception ex) { SL.CreateLog("VehicleController", "InsertVehicleInfo", ex.Message); return(BadRequest(new ResponseData { Code = "400", Message = "Failed", Data = ex.Message })); } }