public ActionResult InsertVendorInfo([FromBody] VendorInfo data, string username) { try { if (data != null && username != null) { var checkVendor = MH.GetSingleObject(vendorinfo_collection, "VendorName", data.VendorName, "Address", data.Address).Result; if (checkVendor != null) { return(BadRequest(new ResponseData { Code = "401", Message = "Vendor with same vendor name and address is already added" })); } else { #region Calculate vendor id var getVendors = MH.GetListOfObjects(vendorinfo_collection, null, null, null, null).Result; if (getVendors.Count == 0) { data.VendorId = "VD-1"; } else { List <long> idList = new List <long>(); foreach (var vendor in getVendors) { VendorInfo vendorInfo = BsonSerializer.Deserialize <VendorInfo>(vendor); long seperatedId = Convert.ToInt64(vendorInfo.VendorId.Substring(vendorInfo.VendorId.LastIndexOf('-') + 1)); idList.Add(seperatedId); } var maxId = idList.Max(); data.VendorId = "VD-" + (maxId + 1); } #endregion data.IsActive = true; var insert = MH.InsertNewVendorInfo(data, vendorinfoCollection); if (insert == true) { AL.CreateLog(username, "InsertVendorInfo", null, data, activitylog_collection); return(Ok(new ResponseData { Code = "200", Message = "Inserted", Data = data })); } else { return(BadRequest(new ResponseData { Code = "402", Message = "Vendor info with same id is already added" })); } } } else { return(BadRequest(new ResponseData { Code = "403", Message = "Bad Request" })); } } catch (Exception ex) { SL.CreateLog("VendorController", "InsertVendorInfo", ex.Message); return(BadRequest(new ResponseData { Code = "400", Message = "Failed", Data = ex.Message })); } }