public async Task <IActionResult> CreateManufacturer(CreateManufacturerViewModel createManufacturerViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(createManufacturerViewModel));
            }

            var manufacturerDto = _mapper.Map <ManufacturerDTO>(createManufacturerViewModel);
            await _manufacturerService.AddAsync(manufacturerDto);

            await _manufacturerService.SaveChangesAsync();

            return(RedirectToAction(nameof(GetManufacturerList), CURRENT_CONTROLLER_NAME));
        }
        public async Task <bool> Post(ManufacturerView manufacturer)
        {
            if (manufacturer == null)
            {
                return(false);
            }
            if (ModelState.IsValid)
            {
                var manufacturereBLL = ManufacturerView.MapToBLL(manufacturer, _mapper);
                var postResult       = await _serv.AddAsync(manufacturereBLL);

                return(postResult);
            }
            return(false);
        }
        public async Task <ActionResult> Save(ManufacturerViewModel manufacturerViewModel)
        {
            var manufacturerDto = Mapper.Map <ManufacturerDto>(manufacturerViewModel);

            if (!ModelState.IsValid)
            {
                manufacturerViewModel = new ManufacturerViewModel();
                return(View("ManufacturerForm", manufacturerViewModel));
            }
            if (manufacturerDto.Id == 0)
            {
                var path = fileManager.GeneratePictureName("/Files/Logo/");
                manufacturerDto.PictureLink = path;

                OperationDetails operationDetails = await manufacturerService.AddAsync(manufacturerDto);

                if (operationDetails.Succedeed)
                {
                    if (manufacturerViewModel.Picture.Upload != null)
                    {
                        manufacturerViewModel.Picture.Upload
                        .SaveAs(Server.MapPath(path));
                    }
                }
                else
                {
                    ModelState.AddModelError(operationDetails.Property, operationDetails.Message);
                    return(View("ManufacturerForm", manufacturerViewModel));
                }
            }
            else
            {
                var  pictureLink = manufacturerDto.PictureLink;
                bool delete      = true;
                if (pictureLink == null)
                {
                    manufacturerDto.PictureLink = fileManager.GeneratePictureName("/Files/Logo/");
                    delete = false;
                }

                OperationDetails operationDetails = await manufacturerService.EditAcync(manufacturerDto);

                if (operationDetails.Succedeed)
                {
                    if (manufacturerViewModel.Picture.Upload != null)
                    {
                        if (delete)
                        {
                            var pathToPicture = Server.MapPath(pictureLink);
                            if (fileManager.FileExists(pathToPicture))
                            {
                                fileManager.Delete(pathToPicture);
                            }
                        }
                        manufacturerViewModel.Picture.Upload
                        .SaveAs(Server.MapPath(pictureLink));
                    }
                }
                else
                {
                    ModelState.AddModelError(operationDetails.Property, operationDetails.Message);
                    return(View("ManufacturerForm", manufacturerViewModel));
                }
            }
            return(RedirectToAction("Index", "Manufacturers"));
        }