public ActionResult InsertTyreInfo([FromBody] TyreInfo data, string username) { try { if (data != null && username != null) { var checkTyre = MH.GetListOfObjects(tyreinfo_collection, null, null, null, null).Result; foreach (var details in checkTyre) { var deserializedDetails = BsonSerializer.Deserialize <TyreInfo>(details).PurchaseDetails; if (deserializedDetails.TyreNo == data.PurchaseDetails.TyreNo && deserializedDetails.BrandName == data.PurchaseDetails.BrandName) { alreadyAdded = true; } } if (alreadyAdded == true) { return(BadRequest(new ResponseData { Code = "401", Message = "Tyre with same brand and tyre number is already added" })); } else { #region Calculate tyre id var getTyres = MH.GetListOfObjects(tyreinfo_collection, null, null, null, null).Result; if (getTyres.Count == 0) { data.TyreId = "TRE-1"; } else { List <long> idList = new List <long>(); foreach (var tyre in getTyres) { TyreInfo tyreInfo = BsonSerializer.Deserialize <TyreInfo>(tyre); long seperatedId = Convert.ToInt64(tyreInfo.TyreId.Substring(tyreInfo.TyreId.LastIndexOf('-') + 1)); idList.Add(seperatedId); } var maxId = idList.Max(); data.TyreId = "TRE-" + (maxId + 1); } #endregion data.IsActive = true; var insert = MH.InsertNewTyreInfo(data, tyreinfoCollection); if (insert == true) { AL.CreateLog(username, "InsertTyreInfo", null, data, activitylog_collection); return(Ok(new ResponseData { Code = "200", Message = "Inserted", Data = data })); } else { return(BadRequest(new ResponseData { Code = "402", Message = "Tyre info with same id is already added" })); } } } else { return(BadRequest(new ResponseData { Code = "403", Message = "Bad Request" })); } } catch (Exception ex) { SL.CreateLog("TyreController", "InsertTyreInfo", ex.Message); return(BadRequest(new ResponseData { Code = "400", Message = "Failed", Data = ex.Message })); } }