public ActionResult Index(int[] projectId, int?taskId, string date, string number, string modifiedDate, string createdDate, int?isArchived, string label, string text, string sortBy, string sortOrder) { var model = new InvoiceIndexModel(); model.Tab = "Invoice"; model.FindCategory = "Invoice"; model.FindText = text; model.Projects = DataHelper.GetProjectList(); model.ProjectId = projectId ?? new int[0]; model.ProjectName = DataHelper.ToString(model.Projects, model.ProjectId, "any project"); model.ProjectDisplayName = DataHelper.Clip(model.ProjectName, 40); model.Date = date ?? string.Empty; model.IsArchived = isArchived ?? 0; model.Filters = MyService.FilterFetchInfoList("Invoice"); model.SortBy = sortBy ?? "InvoiceId"; model.SortOrder = sortOrder ?? "DESC"; model.SortableColumns.Add("InvoiceId", "No."); model.SortableColumns.Add("ProjectName", "Project"); model.SortableColumns.Add("Number", "User"); model.SortableColumns.Add("TaskId", "Task"); var criteria = new InvoiceCriteria() { ProjectId = projectId, TaskId = taskId, Number = number, PreparedDate = new DateRangeCriteria(model.Date), ModifiedDate = new DateRangeCriteria(modifiedDate ?? string.Empty), CreatedDate = new DateRangeCriteria(createdDate ?? string.Empty), IsArchived = DataHelper.ToBoolean(isArchived), Text = text }; var invoices = InvoiceService.InvoiceFetchInfoList(criteria) .AsQueryable(); invoices = invoices.OrderBy(string.Format("{0} {1}", model.SortBy, model.SortOrder)); model.Invoices = invoices; return(RespondTo(format => { format[RequestExtension.Html] = () => this.View(model); format[RequestExtension.Xml] = () => new XmlResult { Data = model.Invoices.ToList(), TableName = "Invoice" }; format[RequestExtension.Json] = () => new JsonResult { Data = model.Invoices, JsonRequestBehavior = JsonRequestBehavior.AllowGet }; })); }
public ActionResult Index() { InvoiceIndexModel viewModel = new InvoiceIndexModel(); //IEnumerable<Customer> activeCustomers = CustomerService.All().Where(x => !x.IsDeactivated); //viewModel.InvoiceGroups = activeCustomers.Select(x => new InvoiceIndexGroupModel //{ // Customer = x, // Projects = x.Projects.Select(x => new InvoiceIndexProjectGroupModel // { // Project = x, // InvoicableHours = x.Tasks.SelectMany(t => t.Registrations).SelectMany(r => r.StartTime - r.EndTime).Select(x => x.) // }) //}); return(View(viewModel)); }
public InvoiceController(IJobSchedulerBlProvider jobSchedulerBlProvider, IInvoiceBlProvider invoiceBlProvider, IConfiguration cfg, IUserBlProvider userBlProvider) : base(cfg, userBlProvider) { _jobSchedulerBlProvider = jobSchedulerBlProvider; _invoiceBlProvider = invoiceBlProvider; IndexModel = new InvoiceIndexModel(); }