// GET: Sales/Details/5 public ActionResult Details(int id) { if (id == 0) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Views_Invoinces_Details sales = invoicesB.GetById(id, true); sales.Date = sales.CurrentDate.ToShortDateString(); sales.Products = saleB.GetById(sales.IdDetail).ToList(); sales.AssetsLiabilities = assetsLiabilitiesB.GetByIdInvoinces(id).ToList(); if (sales.Products != null) { foreach (var item in sales.AssetsLiabilities) { sales.Payments = sales.Payments + item.Rode; } sales.Residue = sales.Total - sales.Payments; return(PartialView(sales)); } return(PartialView(sales)); }
public IHttpActionResult GetInvoicesDetails(Int64 id) { Views_Invoinces_Details invoice = null; InvoicesB invoiceB = new InvoicesB(); invoice = invoiceB.GetById(id, true); if (invoice == null) { Ok(false); } return(Ok(invoice)); }
//Get Invoices public Views_Invoinces_Details GetById(Int64 id, Boolean type) { Views_Invoinces_Details invoice = new Views_Invoinces_Details(); try { if (type == true) { return(db.View_Invoice_Clients(id)); } else { return(db.View_Invoice_Providers(id)); } } catch (Exception) { return(invoice); } }
public FileResult CreatePDF(string id) { Decimal totalProduct = 0; string pathToTemplate = Server.MapPath("~/App_Data/invoice.pdf"); PdfDocument originalTemplate = PdfReader.Open(pathToTemplate, PdfDocumentOpenMode.Modify); XFont font = new XFont("Times New Roman", 12, XFontStyle.Regular); XGraphics graphics = XGraphics.FromPdfPage(originalTemplate.Pages[0]); graphics.DrawString("Productos Alimenticios Santa Marta", font, XBrushes.Black, 300, 80); int position = 200; Views_Invoinces_Details sales = invoicesB.GetById(Int64.Parse(id), true); sales.Date = sales.CurrentDate.ToShortDateString(); sales.Products = saleB.GetById(sales.IdDetail).ToList(); sales.AssetsLiabilities = assetsLiabilitiesB.GetByIdInvoinces(Int64.Parse(id)).ToList(); graphics.DrawString("Cliente: " + sales.Name + " " + sales.FirstName + " " + sales.SecondName, font, XBrushes.Black, 300, 95); graphics.DrawString("Compañía: " + sales.NameCompany, font, XBrushes.Black, 300, 110); graphics.DrawString(sales.Date, font, XBrushes.Black, 500, 30); graphics.DrawString("Documento: " + sales.Code, font, XBrushes.Black, 500, 45); graphics.DrawString("Codigo", font, XBrushes.Black, 35, position); graphics.DrawString("Precio", font, XBrushes.Black, 185, position); graphics.DrawString("Cantidad", font, XBrushes.Black, 335, position); graphics.DrawString("SubTotal", font, XBrushes.Black, 485, position); position = position + 15; foreach (var item in sales.Products) { graphics.DrawString(item.Code.ToString(), font, XBrushes.Black, 35, position); graphics.DrawString("₡" + item.Price.ToString(), font, XBrushes.Black, 185, position); graphics.DrawString(item.Quantity.ToString(), font, XBrushes.Black, 335, position); graphics.DrawString("₡" + item.Total.ToString(), font, XBrushes.Black, 485, position); totalProduct = totalProduct + item.Total; position = position + 15; } graphics.DrawString("Total: ₡" + totalProduct.ToString(), font, XBrushes.Black, 465, 545); position = 575; graphics.DrawString("Fecha", font, XBrushes.Black, 35, position); graphics.DrawString("Nombre", font, XBrushes.Black, 140, position); graphics.DrawString("Codigo", font, XBrushes.Black, 335, position); graphics.DrawString("Monto", font, XBrushes.Black, 485, position); position = position + 15; foreach (var item in sales.AssetsLiabilities) { graphics.DrawString(item.CurrentDate.ToShortDateString(), font, XBrushes.Black, 35, position); graphics.DrawString(item.Name.ToString(), font, XBrushes.Black, 140, position); graphics.DrawString(item.Code.ToString(), font, XBrushes.Black, 335, position); graphics.DrawString("₡" + item.Rode.ToString(), font, XBrushes.Black, 485, position); position = position + 15; } if (sales.Products != null) { foreach (var item in sales.AssetsLiabilities) { sales.Payments = sales.Payments + item.Rode; } sales.Residue = sales.Total - sales.Payments; } graphics.DrawString("Descuento aplicado: " + sales.Discount.ToString() + "%", font, XBrushes.Black, 35, 700); if (sales.LimitDate != null) { graphics.DrawString("Cancelar el: " + sales.LimitDate.GetValueOrDefault(DateTime.Now).ToShortDateString(), font, XBrushes.Black, 35, 720); } graphics.DrawString("SubTotal ₡" + sales.Total.ToString(), font, XBrushes.Black, 450, 700); graphics.DrawString("Abonos ₡" + sales.Payments.ToString(), font, XBrushes.Black, 450, 720); graphics.DrawString("Total ₡" + sales.Residue.ToString(), font, XBrushes.Black, 450, 740); MemoryStream stream = new MemoryStream(); originalTemplate.Save(stream, false); byte[] bytesMemory = stream.ToArray(); Byte[] bytes = bytesMemory; Response.Buffer = true; Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.AddHeader("content-disposition", "attachment; filename = Reporte_" + DateTime.Now.ToString("yyyy-MM-dd") + ".pdf"); Response.ContentType = "application/pdf"; Response.BinaryWrite(bytes); Response.Flush(); Response.Close(); Response.End(); return(File(bytes, "application/pdf")); }