Пример #1
0
        public PedidoDto Editar(PedidoDto dto)
        {
            if (dto == null)
            {
                dto = new PedidoDto();
                dto.AddError("Não foi informado dados suficientes para editar o Pedido.");
                return(dto);
            }

            var validate = _PedidoDtoValidator.Validate(dto);

            if (!validate.IsValid)
            {
                dto.AddErrors(validate.Errors.Select(z => z.ErrorMessage));
                return(dto);
            }

            var Pedido = GetById(dto.Id);

            if (Pedido == null)
            {
                dto.AddError("Não foi possível localizar o Pedido informado.");
                return(dto);
            }

            Pedido.SetClienteId(dto.ClienteId);
            Pedido.SetValorBruto(dto.ValorBruto);
            Pedido.SetValorLiquido(dto.ValorLiquido);
            Pedido.SetValorDesconto(dto.ValorDesconto);

            if (!Pedido.IsValid)
            {
                dto.AddErrors(Pedido.Errors);
                return(dto);
            }

            _chronosContext.Entry(Pedido).State = EntityState.Modified;
            _chronosContext.SaveChanges();

            return(_mapper.Map <Pedido, PedidoDto>(Pedido));
        }
Пример #2
0
        public PedidoDto Salvar(PedidoDto dto)
        {
            if (dto == null)
            {
                dto = new PedidoDto();
                dto.AddError("Não foi informado dados suficientes para salvar o Pedido.");
                return(dto);
            }

            var validate = _PedidoDtoValidator.Validate(dto);

            if (!validate.IsValid)
            {
                dto.AddErrors(validate.Errors.Select(z => z.ErrorMessage));
                return(dto);
            }

            var Pedido = _PedidoBuilder
                         .ComId(dto.Id)
                         .ComClienteId(dto.ClienteId)
                         .ComValorBruto(dto.ValorBruto)
                         .ComValorLiquido(dto.ValorLiquido)
                         .ComValorDesconto(dto.ValorDesconto)
                         .Build();

            if (!Pedido.IsValid)
            {
                dto.AddErrors(Pedido.Errors);
                return(dto);
            }

            _chronosContext.Pedidos.Add(Pedido);
            _chronosContext.SaveChanges();

            return(_mapper.Map <Pedido, PedidoDto>(Pedido));
        }