예제 #1
0
        public async Task <ActionResult> DevolverPorCodigo(string codigo)
        {
            try
            {
                ClienteViewModel clienteViewModel = new ClienteViewModel();
                var item = await clienteServices.DevolverPorCodigo(codigo);

                clienteViewModel.Codigo         = item.Codigo;
                clienteViewModel.Identificacion = item.Identificacion;
                clienteViewModel.Tipo_Documento = item.Tipo_Identificacion.Abreviatura;
                clienteViewModel.NombreCompleto = item.NombreCompleto;
                clienteViewModel.Direccion      = item.Direccion;
                clienteViewModel.Telefono       = item.Telefono;
                clienteViewModel.FechaNac       = item.FechaNac.ToString("dd/MM/yyyy");
                clienteViewModel.Correo         = item.Correo;
                return(Ok(clienteViewModel));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
예제 #2
0
        public async Task <ActionResult> DevolverTodos()
        {
            try
            {
                List <FacturaViewModel> Listafacturas = new List <FacturaViewModel>();
                var facturas = await facturaServices.DevolverTodos();

                foreach (var fac in facturas)
                {
                    FacturaViewModel factura = new FacturaViewModel();
                    factura.NumeroFactura = fac.Codigo;
                    factura.CodCliente    = fac.Cliente.Codigo;
                    var resultcli = await clienteServices.DevolverPorCodigo(fac.Cliente.Codigo);

                    ClienteViewModel cliente = new ClienteViewModel();
                    cliente.Codigo         = resultcli.Codigo;
                    cliente.Identificacion = resultcli.Identificacion;
                    cliente.Tipo_Documento = resultcli.Tipo_Identificacion.Abreviatura;
                    cliente.NombreCompleto = resultcli.NombreCompleto;
                    cliente.Direccion      = resultcli.Direccion;
                    cliente.Telefono       = resultcli.Telefono;
                    cliente.FechaNac       = resultcli.FechaNac.ToString("dd/MM/yyyy");
                    cliente.Correo         = resultcli.Correo;
                    factura.Cliente        = cliente;

                    factura.Fecha          = fac.Fecha.ToString("dd/MM/yyyy");
                    factura.SubTotal       = fac.SubTotal;
                    factura.TotalDescuento = fac.Descuento;
                    factura.TotalIva       = fac.Iva;
                    factura.TotalGeneral   = fac.Total;

                    List <DetalleViewModel> listaDetalle = new List <DetalleViewModel>();

                    foreach (var item in fac.Detalle)
                    {
                        DetalleViewModel detalle = new DetalleViewModel();
                        detalle.NumeroFactura  = fac.Codigo;
                        detalle.CodigoProducto = item.Producto.Codigo;

                        ProductoViewModel Producto = new ProductoViewModel();
                        Producto.CodigoProducto = item.Producto.Codigo;
                        Producto.NombreProducto = item.Producto.Nombre;
                        Producto.Descripcion    = item.Producto.Descripcion;
                        Producto.Precio         = item.Lista_Precio.Precio;
                        detalle.Producto        = Producto;

                        detalle.Cantidad            = item.Cantidad;
                        detalle.Precio              = item.Lista_Precio.Precio;
                        detalle.PorcentajeDescuento = item.Descuento;
                        detalle.PorcentajeIva       = item.Iva;
                        listaDetalle.Add(detalle);
                    }

                    factura.Detalle = listaDetalle;
                    Listafacturas.Add(factura);
                }

                return(Ok(Listafacturas));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }