예제 #1
0
        public async System.Threading.Tasks.Task ShowInvoices(InvoiceIndexViewModel invoiceIndexViewModel)
        {
            var page = new InvoiceIndexPage();
            await Navigation.PushAsync(page);

            NavigationPage.SetHasBackButton(page, true);
            page.BindingContext = invoiceIndexViewModel;
        }
예제 #2
0
        // GET: Invoices
        public ActionResult Index(string searchInvoiceNumber, string currentFilterInvoiceNumber, string searchCustomer, string currentFilterCustomer, string searchDelivery, string currentFilterDelivery, int?page, string sortOrder)
        {
            InvoiceIndexViewModel iivm = new InvoiceIndexViewModel();
            var     invoices           = from i in db.Invoices select i;
            Invoice invoice            = new Invoice();

            //ViewBag.CurrentSort = sortOrder;


            ViewBag.InvoiceSortParm  = String.IsNullOrEmpty(sortOrder) ? "invoice_asc" : "";
            ViewBag.CustomerSortParm = sortOrder == "cust" ? "cust_desc" : "cust";


            if (searchCustomer != null || searchInvoiceNumber != null)
            {
                page = 1;
            }
            else
            {
                searchInvoiceNumber = currentFilterInvoiceNumber;
                searchCustomer      = currentFilterCustomer;
                searchDelivery      = currentFilterDelivery;
            }
            ViewBag.CurrentFilterInvoice  = searchInvoiceNumber;
            ViewBag.CurrentFilterCustomer = searchCustomer;
            ViewBag.CurrentFilterDelivery = searchDelivery;


            if (!String.IsNullOrEmpty(searchInvoiceNumber))
            {
                invoices = invoices.Where(i => i.InvoiceNumber.ToString().Contains(searchInvoiceNumber));
            }
            if (!String.IsNullOrEmpty(searchCustomer))
            {
                invoices = invoices.Where(i => i.LastName.ToUpper().Contains(searchCustomer.ToUpper()) || i.FirstName.ToUpper().Contains(searchCustomer.ToUpper()));
            }
            if (!string.IsNullOrEmpty(searchDelivery))
            {
                invoices = invoices.Where(i => i.customerDeliveryAddress.DeliveryAddressInfo.ToUpper().Contains(searchDelivery.ToUpper()) || i.customerDeliveryAddress.StreetName.ToUpper().Contains(searchDelivery.ToUpper()) || i.customerDeliveryAddress.Town.ToUpper().Contains(searchDelivery.ToUpper()));
            }


            switch (sortOrder)
            {
            case "invoice_asc":
                invoices = invoices.OrderBy(s => s.InvoiceNumber);
                break;

            case "cust_desc":
                invoices = invoices.OrderByDescending(s => s.LastName);
                break;

            case "cust":
                invoices = invoices.OrderBy(s => s.LastName);
                break;

            default:
                invoices = invoices.OrderByDescending(s => s.InvoiceNumber);
                break;
            }

            var userDefinedInfo = db.UserDefinedSettings.Find(1);
            int pageSize        = userDefinedInfo.IndexResultLength;
            int pageNumber      = (page ?? 1);


            //ViewBag.Quotations = quotations.ToPagedList(pageNumber, pageSize);
            iivm.invoices = invoices.ToPagedList(pageNumber, pageSize);

            return(View(iivm));
        }