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)); }
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)); }