public ActionResult AddNewVendor(int id, WorkgroupVendor workgroupVendor, bool skipAddress) { ViewBag.StepNumber = 9; var workgroup = _workgroupRepository.GetNullableById(id); if (workgroup == null) { Message = "Workgroup not found."; this.RedirectToAction <WorkgroupController>(a => a.Index(false)); } if (skipAddress) { workgroupVendor.Line1 = "N/A"; workgroupVendor.City = "N/A"; workgroupVendor.State = "CA"; workgroupVendor.Zip = "95616"; workgroupVendor.CountryCode = "US"; } var workgroupVendorToCreate = new WorkgroupVendor(); _workgroupService.TransferValues(workgroupVendor, ref workgroupVendorToCreate); workgroupVendorToCreate.Workgroup = workgroup; ModelState.Clear(); workgroupVendorToCreate.TransferValidationMessagesTo(ModelState); if (ModelState.IsValid) { _workgroupVendorRepository.EnsurePersistent(workgroupVendorToCreate); Message = "WorkgroupVendor Created Successfully"; return(this.RedirectToAction(a => a.Vendors(id))); } WorkgroupVendorViewModel viewModel; //var vendor = _vendorRepository.GetNullableById(workgroupVendor.VendorId); //var vendorAddress = _vendorAddressRepository.Queryable.FirstOrDefault(a => a.Vendor == vendor && a.TypeCode == workgroupVendor.VendorAddressTypeCode); viewModel = WorkgroupVendorViewModel.Create(_vendorRepository, workgroupVendorToCreate, null, null, true); return(View(viewModel)); }
public ActionResult AddNewVendor(int id) { ViewBag.StepNumber = 9; var workgroup = _workgroupRepository.GetNullableById(id); if (workgroup == null) { Message = "Workgroup not found."; this.RedirectToAction <WorkgroupController>(a => a.Index(false)); } if (workgroup.Administrative) { return(this.RedirectToAction <WorkgroupController>(a => a.Index(false))); } var viewModel = WorkgroupVendorViewModel.Create(_vendorRepository, new WorkgroupVendor { Workgroup = workgroup }); return(View(viewModel)); }
public ActionResult AddKfsVendor(int id, WorkgroupVendor workgroupVendor) { ViewBag.StepNumber = 9; var workgroup = _workgroupRepository.GetNullableById(id); if (workgroup == null) { Message = "Workgroup not found."; this.RedirectToAction <WorkgroupController>(a => a.Index(false)); } var workgroupVendorToCreate = new WorkgroupVendor(); _workgroupService.TransferValues(workgroupVendor, ref workgroupVendorToCreate); workgroupVendorToCreate.Workgroup = workgroup; ModelState.Clear(); //workgroupVendorToCreate.TransferValidationMessagesTo(ModelState); if (string.IsNullOrWhiteSpace(workgroupVendorToCreate.VendorId)) { ModelState.AddModelError("WorkgroupVendor.VendorId", "Please select a Kfs Vendor"); } if (string.IsNullOrWhiteSpace(workgroupVendorToCreate.VendorAddressTypeCode)) { ModelState.AddModelError("WorkgroupVendor.VendorAddressTypeCode", "Please select a Vendor Address"); } if (ModelState.IsValid) { workgroupVendorToCreate.TransferValidationMessagesTo(ModelState); if (ModelState.ContainsKey("WorkgroupVendor.Email")) { //Message = "Vendor Email is invalid"; workgroupVendorToCreate.Email = null; ModelState.Clear(); //workgroupVendorToCreate.TransferValidationMessagesTo(ModelState); Note: Not checking this again so it *WILL* throw an exception that can be investigated. } } if (ModelState.IsValid) { if (_workgroupVendorRepository.Queryable .Any(a => a.Workgroup.Id == id && a.VendorId == workgroupVendorToCreate.VendorId && a.VendorAddressTypeCode == workgroupVendorToCreate.VendorAddressTypeCode && a.IsActive)) { Message = "KFS vendor has already been added"; return(this.RedirectToAction(a => a.Vendors(id))); } var inactiveKfsVendor = _workgroupVendorRepository.Queryable .FirstOrDefault(a => a.Workgroup.Id == id && a.VendorId == workgroupVendorToCreate.VendorId && a.VendorAddressTypeCode == workgroupVendorToCreate.VendorAddressTypeCode && !a.IsActive); if (inactiveKfsVendor != null) { inactiveKfsVendor.IsActive = true; _workgroupVendorRepository.EnsurePersistent(inactiveKfsVendor); Message = "KFS vendor added back. It was previously deleted from this workgroup."; return(this.RedirectToAction(a => a.Vendors(id))); } _workgroupVendorRepository.EnsurePersistent(workgroupVendorToCreate); Message = "WorkgroupVendor Created Successfully"; return(this.RedirectToAction(a => a.Vendors(id))); } ErrorMessage = "Please correct errors before continuing, of skip this step."; WorkgroupVendorViewModel viewModel; viewModel = WorkgroupVendorViewModel.Create(_vendorRepository, workgroupVendorToCreate, newVendor: true); return(View(viewModel)); }