Beispiel #1
0
        public async Task <IActionResult> Cadastrar(IngredienteViewModel ingredienteViewModel)
        {
            var configuration = new MapperConfiguration(cfg =>
            {
                cfg.CreateMap <IngredienteViewModel, IngredienteDTO>();
            });
            IMapper mapper = configuration.CreateMapper();

            IngredienteDTO dto = mapper.Map <IngredienteDTO>(ingredienteViewModel);

            try
            {
                Response response = await _ingredienteService.Insert(dto);

                if (response.Sucesso)
                {
                    return(RedirectToAction("Index", "Ingrediente"));
                }

                ViewBag.ErrorMessage = response.GetErrorMessage();
                return(View());
            }
            catch (Exception ex)
            {
                ViewBag.ErrorMessage = ex.Message;
                return(View());
            }
        }
        public async Task <IngredienteDTO> Update(IngredienteDTO ingredienteDTO)
        {
            var ingrediente = this.mapper.Map <Ingrediente>(ingredienteDTO);
            var result      = await this.repo.Update(ingrediente);

            return(this.mapper.Map <IngredienteDTO>(result));
        }
        public async Task <Response> Insert(IngredienteDTO ingrediente)
        {
            Response response = Validate(ingrediente);

            if (response.Erros.Count > 0)
            {
                response.Sucesso = false;
                return(response);
            }

            return(await _ingredienteRepository.Insert(ingrediente));
        }
        private Response Validate(IngredienteDTO item)
        {
            Response response = new Response();

            if (string.IsNullOrWhiteSpace(item.Nome))
            {
                response.Erros.Add("Informe o nome.");
            }
            else
            {
                item.Nome = EXT.NormatizarNome(item.Nome);
                if (item.Nome.Length < 2 || item.Nome.Length > 50)
                {
                    response.Erros.Add("O nome deve conter entre 2 e 50 caracteres.");
                }
                else if (!EXT.CorrectName(item.Nome))
                {
                    response.Erros.Add("O nome está no formato incorreto.");
                }
            }

            return(response);
        }
Beispiel #5
0
        public async Task <Response> Insert(IngredienteDTO ingrediente)
        {
            Response response = new Response();

            if (response.Erros.Count > 0)
            {
                response.Sucesso = false;
                return(response);
            }

            try
            {
                IngredienteDTO ingredienteJaCadastrado = await _context.Ingredientes.FirstOrDefaultAsync(c => c.Nome.Equals(ingrediente.Nome));

                if (ingredienteJaCadastrado != null)
                {
                    response.Erros.Add("Ingrediente já cadastrado!");
                    response.Sucesso = false;
                    return(response);
                }

                this._context.Ingredientes.Add(ingrediente);
                await this._context.SaveChangesAsync();

                response.Sucesso = true;
                return(response);
            }
            catch (Exception ex)
            {
                File.WriteAllText("log.txt", ex.Message + " - " + ex.StackTrace);
                response.Erros.Add("Erro no banco de dados, contate o administrador.");

                response.Sucesso = false;
                return(response);
            }
        }
        public async Task <bool> Delete(IngredienteDTO ingredienteDTO)
        {
            var ingrediente = this.mapper.Map <Ingrediente>(ingredienteDTO);

            return(await this.repo.Delete(ingrediente.Id));
        }