Exemple #1
0
        // 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));
        }
Exemple #2
0
        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));
        }
Exemple #3
0
        //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);
            }
        }
Exemple #4
0
        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"));
        }