public ActionResult ExportPdf(int id) { string invoiceFileName = ""; PreviewInvoiceViewModel exportModel = invoiceRepository.GetInvoicePreviewById(id); var invoice = invoiceRepository.GetInvoiceById(id); var students = studentRepository.GetAllStudents(); foreach (var student in students) { if (student.StudentId == invoice.StudentId) { invoiceFileName = student.Name; } } return(new ActionAsPdf("Export", new { id = exportModel.InvoiceId }) { FileName = $"F-{invoice.InvoiceId}_{invoiceFileName}.pdf", PageSize = Rotativa.Options.Size.A4, PageOrientation = Rotativa.Options.Orientation.Portrait, PageMargins = { Left = 1, Right = 1 } }); }
public PreviewInvoiceViewModel GetInvoicePreviewById(int id) { PreviewInvoiceViewModel previewModel = new PreviewInvoiceViewModel(); Invoice dbInvoiceModel = dbContext.Invoices.FirstOrDefault(m => m.InvoiceId == id); if (dbInvoiceModel != null) { previewModel.InvoiceId = dbInvoiceModel.InvoiceId; previewModel.Invoice_Series = dbInvoiceModel.Invoice_Series; previewModel.Date = dbInvoiceModel.Create_Date.Day.ToString() + "." + dbInvoiceModel.Create_Date.Month.ToString() + "." + dbInvoiceModel.Create_Date.Year.ToString(); previewModel.Create_Date = dbInvoiceModel.Create_Date; previewModel.Contractor = dbInvoiceModel.Contractor; previewModel.StudentId = dbInvoiceModel.StudentId; previewModel.Quantity = dbInvoiceModel.Quantity; previewModel.StudentCourse = dbInvoiceModel.StudentCourse; previewModel.StudentPrice = dbInvoiceModel.StudentPrice; var students = studentRepository.GetAllStudents(); foreach (var student in students) { if (previewModel.StudentId == student.StudentId) { previewModel.StudentName = student.Name; } } previewModel.Product = "Cursuri Muzica - " + dbInvoiceModel.StudentCourse; previewModel.Value = dbInvoiceModel.StudentPrice * dbInvoiceModel.Quantity; previewModel.Total = previewModel.Value; } return(previewModel); }
public async Task <ActionResult> Preview(int id) { var invoice = await _dbContext.Invoices .Include(i => i.Items) .Include(i => i.Team) .Include(i => i.Attachments) .Include(i => i.Coupon) .FirstOrDefaultAsync(i => i.Id == id); if (invoice == null) { return(NotFound()); } invoice.UpdateCalculatedValues(); var model = new PreviewInvoiceViewModel() { Id = invoice.GetFormattedId(), CustomerName = invoice.CustomerName, CustomerCompany = invoice.CustomerCompany, CustomerEmail = invoice.CustomerEmail, CustomerAddress = invoice.CustomerAddress, DueDate = invoice.DueDate, Memo = invoice.Memo, Items = invoice.Items, Attachments = invoice.Attachments, Coupon = invoice.Coupon, Discount = invoice.CalculatedDiscount, TaxAmount = invoice.CalculatedTaxAmount, TaxPercent = invoice.TaxPercent, Subtotal = invoice.CalculatedSubtotal, Total = invoice.CalculatedTotal, Paid = invoice.Paid, PaidDate = invoice.PaidAt.ToPacificTime(), Team = new PaymentInvoiceTeamViewModel(invoice.Team), }; return(View(model)); }
public ActionResult SendEmail(int id) { //Save invoice in folder SaveInvoice(id); //Initialize email Components string receiver = ""; string subject = "Factura Scoala Amadeus"; string message = "Buna Ziua,\n\n Atasat gasiti factura pentru luna in curs. \n\n O zi frumoasa!"; string invoiceFileName = ""; PreviewInvoiceViewModel exportModel = invoiceRepository.GetInvoicePreviewById(id); var invoice = invoiceRepository.GetInvoiceById(id); var students = studentRepository.GetAllStudents(); foreach (var student in students) { if (student.StudentId == invoice.StudentId) { //Get student Name invoiceFileName = student.Name; //Get Student Email receiver = student.Email; } } try { if (ModelState.IsValid) { var senderEmail = new MailAddress("*****@*****.**", "Contabilitate Amadeus"); var receiverEmail = new MailAddress(receiver, receiver); var password = "******"; var sub = subject; var body = message; var smtp = new SmtpClient { Host = "smtp.gmail.com", Port = 587, EnableSsl = true, DeliveryMethod = SmtpDeliveryMethod.Network, UseDefaultCredentials = false, Credentials = new NetworkCredential(senderEmail.Address, password) }; Attachment attachment; attachment = new Attachment($"C:\\TEMP\\F-{invoice.InvoiceId}_{invoiceFileName}.pdf"); using (var mess = new MailMessage(senderEmail, receiverEmail) { Subject = subject, Body = body, }) { mess.Attachments.Add(attachment); smtp.Send(mess); } return(View("SendEmail")); } } catch (Exception) { ViewBag.Error = "Some Error"; } return(View()); }
public ActionResult Export(int id) { PreviewInvoiceViewModel previewModel = invoiceRepository.GetInvoicePreviewById(id); return(View("Export", previewModel)); }