[Authorize(Roles = SD.Role_Admin_Modify + "," + SD.Role_Admin_View + "," + SD.Role_Employee_Modify)]// Add authorization Level public IActionResult Upsert(VendorContactVM vendorcontactVM) { if (ModelState.IsValid) { // to pass parameters to sql procedrues var parameter = new DynamicParameters(); parameter.Add("@Name", vendorcontactVM.VendorContact.Name); parameter.Add("@Email", vendorcontactVM.VendorContact.Email); parameter.Add("@Branch", vendorcontactVM.VendorContact.Branch); parameter.Add("@Remark", vendorcontactVM.VendorContact.Remark); parameter.Add("@VendorId", vendorcontactVM.VendorContact.VendorId); if (vendorcontactVM.VendorContact.Id == 0) // create case whenever no ID posted { _unitOfWork.VendorContact.Add(vendorcontactVM.VendorContact); // to allow sql procedrues // _unitOfWork.SP_Call.Execute(SD.Proc_VendorContact_Create, parameter); } else { parameter.Add("@Id", vendorcontactVM.VendorContact.Id); _unitOfWork.VendorContact.Update(vendorcontactVM.VendorContact); // _unitOfWork.SP_Call.Execute(SD.Proc_VendorContact_Update, parameter); } _unitOfWork.Save(); return(RedirectToAction(nameof(Index))); // if any mistake the name is gotted } return(View(vendorcontactVM)); }
// create an method for upsert and can get null Id in case of create public IActionResult Upsert(int?id) { VendorContactVM vendorcontactVM = new VendorContactVM() { VendorContact = new VendorContact(), VendorList = _unitOfWork.Vendor.GetAll().Select(i => new SelectListItem { Text = i.VendorName, Value = i.Id.ToString() }) }; if (id == null) // create case { return(View(vendorcontactVM)); } // this for edit request vendorcontactVM.VendorContact = _unitOfWork.VendorContact.Get(id.GetValueOrDefault()); // To add stored procedure //var parameter = new DynamicParameters(); // arrange parameters for sql server //parameter.Add("@Id", id); // arrange to send the Id // var objFromDb = _unitOfWork.VendorContact.Get(id); // vendorcontactVM = _unitOfWork.SP_Call.OneRecord<VendorContact>(SD.Proc_VendorContact_Get, parameter); if (vendorcontactVM.VendorContact == null) { return(NotFound()); } return(View(vendorcontactVM)); // return View(); }