public async Task <IActionResult> AddEditCustomer(int?id, CustomerForCreateUpdateViewModel customerForCreateUpdateViewModel) { try { if (ModelState.IsValid) { bool isNew = !id.HasValue; if (isNew) { customerForCreateUpdateViewModel.FullName = customerForCreateUpdateViewModel.FirstName + " " + customerForCreateUpdateViewModel.LastName; var customerToCreate = _mapper.Map <Customer>(customerForCreateUpdateViewModel); await _uow.Customers.AddAsync(customerToCreate); await _uow.SaveAsync(); TempData["Message"] = "Saved Successfully"; TempData["Status"] = "success"; } else { customerForCreateUpdateViewModel.FullName = customerForCreateUpdateViewModel.FirstName + " " + customerForCreateUpdateViewModel.LastName; var customerToUpdate = _mapper.Map <Customer>(customerForCreateUpdateViewModel); _uow.Customers.Update(customerToUpdate); _uow.Save(); TempData["Message"] = "Updated Successfully"; TempData["Status"] = "success"; } } } catch (DbUpdateConcurrencyException ce) { _logger.LogError(ce.Message, id); TempData["Message"] = "Failed to update for concurrency"; TempData["Status"] = "danger"; } catch (Exception ex) { _logger.LogError(ex.Message, ex.StackTrace); TempData["Message"] = "Failed to save or update"; TempData["Status"] = "danger"; } return(RedirectToAction(nameof(Index))); }
public async Task <IActionResult> AddEditCustomer(int?id) { CustomerForCreateUpdateViewModel customerForCreateUpdateViewModel = new CustomerForCreateUpdateViewModel(); if (id.HasValue) { var customerFromRepo = await _uow.Customers.GetByIdAsync(id.Value); if (customerFromRepo == null) { return(NotFound()); } customerForCreateUpdateViewModel = _mapper.Map <CustomerForCreateUpdateViewModel>(customerFromRepo); customerForCreateUpdateViewModel.IsActiveSelectList = new SelectList(GetIsActiveSelectList(), "Value", "Text", customerForCreateUpdateViewModel.IsActive); } else { customerForCreateUpdateViewModel.IsActiveSelectList = new SelectList(GetIsActiveSelectList(), "Value", "Text", "True"); } return(View(customerForCreateUpdateViewModel)); }