Exemplo n.º 1
0
        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)));
        }
Exemplo n.º 2
0
        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));
        }