Пример #1
0
        public IActionResult PedidoVendaAddEdit(int?idPedido)
        {
            if (idPedido != null)
            {
                var pedidoVenda = _pedidoVendaRepository.GetByID(idPedido ?? 0);

                var empresa = _empresaRepository.GetByID(pedidoVenda.IDEmpresa);

                var pedidoVendaVM = new PedidoVendaVM()
                {
                    IDPedido                   = pedidoVenda.IDPedido,
                    DataCadastro               = pedidoVenda.DataCadastro,
                    DataVenda                  = pedidoVenda.DataVenda,
                    Status                     = pedidoVenda.Status,
                    IDVendedor                 = pedidoVenda.IDVendedor,
                    VendedorNome               = _vendedorRepository.GetByID(pedidoVenda.IDVendedor)?.Nome ?? string.Empty,
                    IDEmpresa                  = pedidoVenda.IDEmpresa,
                    TipoPagamento              = pedidoVenda.TipoPagamento,
                    QtdeParcelas               = pedidoVenda.QtdeParcelas,
                    Observacao                 = pedidoVenda.Observacao,
                    RazaoSocial                = empresa.RazaoSocial,
                    ResponsavelEmpresaNome     = empresa.NomeRespEmpresa,
                    ResponsavelEmpresaCPF      = empresa.CPFResponsavel,
                    ResponsavelEmpresaTelefone = empresa.TelResponsavel,
                    ResponsavelEmpresaNIT      = empresa.NitResponsavel,
                    ResponsavelEmpresaEmail    = empresa.EmailResponsavel,
                };

                return(View(pedidoVendaVM));
            }

            return(View());
        }
        public Task <int> Editar(PedidoVendaVM pedidoVendaVM)
        {
            try
            {
                //(Guid id, DateTime dataVenda, Guid idCliente, IEnumerable<ItemPedidoVenda> itemPedidos, double valorTotal
                var itemsPedidos = new List <ItemPedidoVenda>();
                foreach (var item in pedidoVendaVM.ItemPedidosVM)
                {
                    Guid idItemPedido;

                    if (item.Id == Guid.Empty || item.Id == null)
                    {
                        idItemPedido = Guid.NewGuid();
                    }
                    else
                    {
                        idItemPedido = item.Id.GetValueOrDefault();
                    }

                    itemsPedidos.Add(new ItemPedidoVenda(idItemPedido, item.Quantidade, item.Preco, item.SubTotal, item.IdProduto, pedidoVendaVM.Id));
                }
                var novoPedido = new PedidoVenda(
                    pedidoVendaVM.Id,
                    pedidoVendaVM.DataVenda.Value,
                    pedidoVendaVM.IdCliente,
                    itemsPedidos,
                    pedidoVendaVM.ValorTotal,
                    pedidoVendaVM.IdUsuarioLogado);
                return(_repository.Editar(novoPedido));
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
        }
Пример #3
0
 public async Task <IActionResult> Editar(PedidoVendaVM pedidoVenda)
 {
     try
     {
         return(Ok(await _pedidoVendaService.Editar(pedidoVenda)));
     }
     catch (DbUpdateConcurrencyException e)
     {
         return(BadRequest(new Exception(e.Message)));
     }
 }
Пример #4
0
        public IActionResult PedidoVendaCreateOrUpdate([FromBody] PedidoVendaVM pedidoVendaVM)
        {
            if (pedidoVendaVM != null && pedidoVendaVM.PedidoVendaItens.Count > 0)
            {
                var status = PedidoVendaStatusEnum.Aberto;

                var listPedidoVendaItens = pedidoVendaVM.PedidoVendaItens.Select(
                    c => new PedidoVendaItemEN
                {
                    IDPedidoItem = 0,
                    IDPedido     = 0,
                    IDProduto    = c.IDProduto,
                    Item         = 0,
                    Qtde         = c.Qtde,
                    Valor        = c.Valor
                });

                if (pedidoVendaVM.VendaExpress)
                {
                    var cpfCnpj = pedidoVendaVM.TipoPessoa == TipoPessoa.Fisica ? pedidoVendaVM.CPF : pedidoVendaVM.CNPJ;

                    pedidoVendaVM.IDEmpresa = _empresaBU.Save
                                              (
                        idCompany,
                        idUser,
                        cpfCnpj,
                        pedidoVendaVM.NomeOuRazaoSocial,
                        pedidoVendaVM.NomeOuRazaoSocial,
                        pedidoVendaVM.CEP,
                        pedidoVendaVM.Endereco,
                        pedidoVendaVM.Numero,
                        pedidoVendaVM.Complemento,
                        pedidoVendaVM.Bairro,
                        pedidoVendaVM.Cidade,
                        pedidoVendaVM.UF,
                        pedidoVendaVM.Telefone,
                        pedidoVendaVM.WhatsApp,
                        pedidoVendaVM.ResponsavelEmpresaNomeVE,
                        pedidoVendaVM.ResponsavelEmpresaCPFVE,
                        pedidoVendaVM.ResponsavelEmpresaTelefoneVE,
                        pedidoVendaVM.ResponsavelEmpresaEmailVE
                                              );
                }

                _pedidoVendaBU.Save
                (
                    pedidoVendaVM.IDPedido,
                    idCompany,
                    idUser,
                    pedidoVendaVM.DataVenda,
                    status,
                    pedidoVendaVM.IDUsuario,
                    pedidoVendaVM.IDVendedor,
                    pedidoVendaVM.IDEmpresa,
                    pedidoVendaVM.TipoPagamento,
                    pedidoVendaVM.QtdeParcelas,
                    pedidoVendaVM.Observacao,
                    listPedidoVendaItens.ToList(),
                    pedidoVendaVM.VendaExpress
                );

                return(Ok());
            }
            else
            {
                throw new DomainException("É necessário informar pelo menos 1 item.");
            }
        }