public IActionResult Index(long invoiceId) { ViewBag.Name = User.FindFirst(ClaimTypes.NameIdentifier).Value; IDBService dbService = new DBservice(_helper); var invoices = dbService.GetInvoice(invoiceId); var numberOfDocs = dbService.FetchDocumentsForInvoice(invoiceId); InvoiceViewModel model = new InvoiceViewModel(); model.InvoiceId = invoiceId; model.AccountDate = invoices.AccountDate.ToString("dd / M / yyyy", CultureInfo.InvariantCulture); model.InvoiceNumber = invoices.InvoiceNo; model.TotalLocalAmount = invoices.TotalLocalAmt.ToString("N", CultureInfo.CreateSpecificCulture("en-IN")); model.ExchangeRate = invoices.ExRate; model.CustomerName = invoices.CustomerName; model.DelivaryDate = invoices.DeliveryDate.ToString("dd / M / yyyy", CultureInfo.InvariantCulture); model.CurrencyCode = invoices.CurrencyCode; model.VesselName = invoices.VesselName; model.Remarks = invoices.Remarks; model.Amount = invoices.TotalAmt.ToString("N", CultureInfo.CreateSpecificCulture("en-IN")); InvoiceStatus invStatus = (InvoiceStatus)invoices.InvoiceStatus; model.InvoiceStatus = invStatus.ToString(); model.NoOfDocuments = numberOfDocs != null ? numberOfDocs.Count : 0; if (invoices.InvoiceStatus > 4 || invoices.InvoiceStatus == 2) { model.Showbuttons = true; } return(View(model)); }
public string UpdateStatusForInvoice(long invoiceId, InvoiceStatus status, string remarks) { string color = string.Empty; IDBService service = new DBservice(_helper); var username = User.FindFirst(ClaimTypes.NameIdentifier).Value; string email = service.GetEmailForUser(username); var invoice = service.GetInvoice(invoiceId); var invoiveViewModel = new InvoiceViewModel { AccountDate = invoice.AccountDate.ToString("dd/M/yyyy", CultureInfo.InvariantCulture), CustomerName = invoice.CustomerName, DelivaryDate = invoice.DeliveryDate.ToString("dd/M/yyyy", CultureInfo.InvariantCulture), TotalLocalAmount = invoice.TotalLocalAmt.ToString("C", CultureInfo.CreateSpecificCulture("en-IN")), DueDate = invoice.DueDate, InvoiceNumber = invoice.InvoiceNo }; if (status == InvoiceStatus.CheckPending) { service.UpdatePendingStatusForChecker(invoiceId, username, remarks); color = service.getColorToUpdate((int)InvoiceStatus.CheckPending); } else if (status == InvoiceStatus.Checked) { service.UpdateCheckedStatusForChecker(invoiceId, username, remarks); color = service.getColorToUpdate((int)InvoiceStatus.Checked); ConstructEmail construct = new ConstructEmail(); construct.SendEmail(invoiveViewModel, email); } else if (status == InvoiceStatus.CheckRejected) { service.UpdateRejectedStatusForChecker(invoiceId, username, remarks); color = service.getColorToUpdate((int)InvoiceStatus.CheckRejected); } else if (status == InvoiceStatus.Approved) { service.UpdateApprovedStatusForApprover(invoiceId, username, remarks); color = service.getColorToUpdate((int)InvoiceStatus.Approved); } else if (status == InvoiceStatus.ApprovePending) { service.UpdatePendingStatusForApprover(invoiceId, username, remarks); color = service.getColorToUpdate((int)InvoiceStatus.ApprovePending); } else if (status == InvoiceStatus.ApproveRejected) { service.UpdateRejectedStatusForApprover(invoiceId, username, remarks); color = service.getColorToUpdate((int)InvoiceStatus.ApproveRejected); } else { throw new Exception("Invalid Status"); } return(color); }