public IActionResult Add(FacturaRequest request) { Respuesta _respuesta = new Respuesta(); try { _facturaService.Add(request); _respuesta.Exito = 1; } catch (Exception ex) { _respuesta.Exito = 0; _respuesta.Mensaje = ex.Message; } return(Ok(_respuesta)); }
public IActionResult GetListaFacturas([FromBody] FacturaRequest Solicitud) { try { var resultado = _providerDal.FacturasProveedor_Lista(Solicitud); if (resultado == null) { return(NotFound()); } return(Ok(resultado)); } catch (Exception e) { return(StatusCode(500, e.Message.ToString())); } }
//[AllowAnonymous] public async Task <JsonResult> ListarPagedFacturas(FacturaRequest filtro) { PagedList <FacturaResponse> pagedlista = null; HttpResponseMessage response = await client.PostAsJsonAsync("api/factura/ListarPagedFacturas", filtro); //HttpResponseMessage response = await client.GetAsync("api/test/resource1"); //string frase = await response.Content.ReadAsAsync<string>(); if (response.IsSuccessStatusCode) { pagedlista = await response.Content.ReadAsAsync <PagedList <FacturaResponse> >(); } return(new JsonResult() { Data = pagedlista, MaxJsonLength = Int32.MaxValue, JsonRequestBehavior = JsonRequestBehavior.AllowGet }); }
public void Add(FacturaRequest request) { var transaction = _context.Database.BeginTransaction(); try { var client = _context.Clientes.Find(request.Idcliente); var comprobante = _context.TipoComprobantes.Find(request.IdTipoComprobante); var factura = new Factura(); factura.Total = request.detallefacturas.Sum(d => d.Cantidad * d.Precio); factura.Fecha = DateTime.Now; factura.tipoComprobante = comprobante; factura.cliente = client; _context.Add(factura); _context.SaveChanges(); foreach (var _detalle in request.detallefacturas) { var art = _context.Articulos.Find(_detalle.Idarticulo); var fac = _context.Facturas.Find(factura.Id); var detalle = new Models.Detallefactura(); detalle.Cantidad = _detalle.Cantidad; detalle.Articulo = art; detalle.Precio = _detalle.Precio; detalle.Itbis = _detalle.Itbis; detalle.Factura = fac; detalle.Total = _detalle.Total; _context.Detallefacturas.Add(detalle); _context.SaveChanges(); } transaction.Commit(); } catch (Exception) { transaction.Rollback(); throw new Exception("Ocurio un error en la inserción"); } }
public IActionResult PostFactura([FromBody] FacturaRequest facturaRequest) { using (var transaccion = context.Database.BeginTransaction()) { try { Factura factura = new Factura(); factura.Numero = facturaRequest.Numero; factura.Fecha = facturaRequest.Fecha; factura.Total = facturaRequest.DetalleRequests.Sum(s => s.Cantidad * s.Precio); factura.ClienteId = facturaRequest.ClienteId; context.Factura.Add(factura); context.SaveChanges(); foreach (var item in facturaRequest.DetalleRequests) { Detalle detalle = new Detalle(); detalle.Cantidad = item.Cantidad; detalle.Precio = item.Precio; detalle.Subtotal = item.Cantidad * item.Precio; detalle.FacturaId = factura.FacturaId; detalle.ProductoId = item.ProductoId; context.Detalle.Add(detalle); } context.SaveChanges(); context.Database.CommitTransaction(); } catch (Exception ex) { context.Database.RollbackTransaction(); string mensaje = ex.Message; } } return(Ok(new { result = true })); }
public IHttpActionResult ListarPagedFacturas(FacturaRequest filtro) { if (filtro == null) { return(BadRequest()); } var context = new DbComercial(); var source = (from f in context.Facturas join c in context.Clientes on f.ClienteId equals c.ClienteId join x in context.ConceptoFacturas on f.ConceptoId equals x.ConceptoId join u in context.Usuarios on f.UsuarioRegistroId equals u.UsuarioId join m in context.TipoMonedas on f.TipoMonedaId equals m.TipoMonedaId join e in context.EstadoFacturas on f.EstadoId equals e.EstadoFacturaId select new FacturaResponse { Numero = f.Numero, ConceptoId = f.ConceptoId, Concepto = x.Nombre, ClienteId = f.ClienteId, Cliente = c.RazonSocial, dFechaEmision = f.FechaEmision, TipoMonedaId = f.TipoMonedaId, TipoMoneda = m.Nombre, MontoTotal = f.MontoTotal, EstadoId = f.EstadoId, Estado = e.Nombre, dFechaRegistro = f.FechaRegistro, MontoIGV = f.MontoIGV, Mes = f.Mes, Ano = f.Ano }).OrderByDescending(a => a.dFechaEmision).AsQueryable(); source = source.Where(p => ((filtro.Numero == 0) || (filtro.Numero != 0 && p.Numero == filtro.Numero))); source = source.Where(p => ((filtro.ConceptoId == 0) || (filtro.ConceptoId != 0 && p.ConceptoId == filtro.ConceptoId))); source = source.Where(p => ((filtro.ClienteId == 0) || (filtro.ClienteId != 0 && p.ClienteId == filtro.ClienteId))); source = source.Where(p => ((filtro.EstadoId == 0) || (filtro.EstadoId != 0 && p.EstadoId == filtro.EstadoId))); source = source.Where(p => ((filtro.Mes == 0) || (filtro.Mes != 0 && p.Mes == filtro.Mes))); source = source.Where(p => ((filtro.Ano == 0) || (filtro.Ano != 0 && p.Ano == filtro.Ano))); int CurrentPage = (filtro.Page == 0 ? 1 : filtro.Page); int PageSize = filtro.PageSize; string SortCommand = filtro.SortCommand; string SortOrder = filtro.SortOrder; if (!string.IsNullOrEmpty(SortCommand) && !string.IsNullOrEmpty(SortOrder)) { switch (SortCommand) { case "Numero": if (SortOrder == "asc") { source = source.OrderBy(a => a.Numero); } else if (SortOrder == "desc") { source = source.OrderByDescending(a => a.Numero); } break; case "Cliente": if (SortOrder == "asc") { source = source.OrderBy(a => a.Cliente); } else if (SortOrder == "desc") { source = source.OrderByDescending(a => a.Cliente); } break; case "MontoTotal": if (SortOrder == "asc") { source = source.OrderBy(a => a.MontoTotal); } else if (SortOrder == "desc") { source = source.OrderByDescending(a => a.MontoTotal); } break; case "FechaEmision": if (SortOrder == "asc") { source = source.OrderBy(a => a.dFechaEmision); } else if (SortOrder == "desc") { source = source.OrderByDescending(a => a.dFechaEmision); } break; } } int TotalRows = source.Count(); if (PageSize != 0) { source = source.Skip((CurrentPage - 1) * PageSize).Take(PageSize); } List <FacturaResponse> facturas = source.ToList(); return(Ok(new PagedList <FacturaResponse>(facturas, TotalRows))); }