public ActionResult Index(int pageIndex = 1, string searchType = "", string searchString = "") { List <Invoice> invoices = unitOfWork.InvoiceRepository.GetAll().OrderBy(g => g.PaymentDay).ToList(); if (!string.IsNullOrEmpty(searchString)) { DateTime date; switch (searchType) { case "Company": invoices = unitOfWork.InvoiceRepository.Find(g => g.Person.Name.Contains(searchString)).OrderByDescending(i => i.Person.Name).ToList(); break; case "PaymentDeadline": if (DateTime.TryParse(searchString, out date)) { invoices = unitOfWork.InvoiceRepository.Find(g => g.PaymentDay == date).OrderByDescending(i => i.PaymentDay).ToList(); } else { ViewBag.SearchError = "You need to enter date in Month/Day/Year format (12/20/2018)"; } break; case "CreationDate": if (DateTime.TryParse(searchString, out date)) { invoices = unitOfWork.InvoiceRepository.GetAll().Where(g => g.Date == DateTime.Parse(searchString)).ToList().OrderByDescending(i => i.Date).ToList(); } else { ViewBag.SearchError = "You need to enter date in Month/Day/Year format (12/20/2018)"; } break; default: break; } } var products = unitOfWork.ProductRepository.Find(p => p.Quantity > 0).ToList(); var persons = unitOfWork.PersonRepository.GetAll().ToList(); InvoiceViewModelManager viewManager = new InvoiceViewModelManager(); InvoiceDisplayViewModel displayViewModel = new InvoiceDisplayViewModel(); InvoiceAddViewModel addViewModel = new InvoiceAddViewModel(persons, products); displayViewModel.InvoicesList = (PagedList <Invoice>)invoices.ToPagedList(pageIndex, 5); viewManager.AddViewModel = addViewModel; viewManager.DisplayViewModel = displayViewModel; return(View(viewManager)); }
public ActionResult Details(int id) { var invoiceDetails = unitOfWork.InvoiceRepository.Get(id); InvoiceDisplayViewModel model = new InvoiceDisplayViewModel() { Invoice = invoiceDetails }; if (invoiceDetails == null) { return(HttpNotFound()); } return(PartialView("Partials/InvoiceDetailsModal", model)); }