/// <summary> /// Возвращает список платежей /// </summary> /// <param name="subscr"></param> /// <param name="filter"></param> /// <returns></returns> public Paged <PaymentModel> GetPayments(Guid subscr, LkFilter filter) { using (var db = new CMSdb(_context)) { Paged <PaymentModel> result = new Paged <PaymentModel>(); var query = db.lk_payments .Where(w => w.f_subscr == subscr); //if (!String.IsNullOrWhiteSpace(filter.Status)) //{ // Guid status = Guid.Parse(filter.Status); // query = query.Where(w => w.c_status == status); //} //if (!String.IsNullOrWhiteSpace(filter.Type)) //{ // Guid type = Guid.Parse(filter.Type); // query = query.Where(w => w.f_type == type); //} if (filter.Date.HasValue) { query = query.Where(w => w.d_date >= filter.Date.Value); } if (filter.DateEnd.HasValue) { query = query.Where(w => w.d_date <= filter.DateEnd.Value.AddDays(1)); } query = query.OrderByDescending(o => o.d_date); int itemsCount = query.Count(); var list = query .Skip(filter.Size * (filter.Page - 1)) .Take(filter.Size) .Select(s => new PaymentModel { Id = s.id, Date = s.d_date, Amount = s.n_amount, PeriodId = s.n_period, }).ToArray(); return(new Paged <PaymentModel> { Items = list, Pager = new PagerModel { PageNum = filter.Page, PageSize = filter.Size, TotalCount = itemsCount } }); } }
/// <summary> /// Возвращает список выставленных счетов для пользователя /// </summary> /// <param name="subscr"></param> /// <returns></returns> public Paged <InvoiceModel> GetInvoices(Guid subscr, LkFilter filter) { using (var db = new CMSdb(_context)) { Paged <InvoiceModel> result = new Paged <InvoiceModel>(); var query = db.lk_invoices .Where(w => w.f_subscr == subscr); if (filter.Payed.HasValue) { query = query.Where(w => w.b_closed == filter.Payed.Value); } if (filter.Date.HasValue) { query = query.Where(w => w.d_date >= filter.Date.Value); } if (filter.DateEnd.HasValue) { query = query.Where(w => w.d_date <= filter.DateEnd.Value.AddDays(1)); } query = query.OrderByDescending(o => o.d_date); int itemsCount = query.Count(); var list = query .Skip(filter.Size * (filter.Page - 1)) .Take(filter.Size) .Select(s => new InvoiceModel { Id = s.id, //Link = s.link, //SubscrId = s.f_subscr, //Subscr = s.n_subscr, Date = s.d_date, //DateBegin = s.d_date_begin, //DateEnd = s.d_date_end, //DateDue = s.d_date_due, //Debit = s.b_debit, PeriodId = s.n_period, Payed = s.b_closed, StatusId = s.n_status, Status = s.c_status, Number = s.c_number, Amount = s.n_amount, Tax = s.n_tax, Cons = s.n_cons, Quantity = s.n_quantity, Quantity2 = s.n_quantity2, //DebtTypeId = s.n_debts, //DebtType = s.c_debts, //DocTypeId = s.n_doc_type, //DocType = s.c_doc_type, //PaymentId = s.n_payment, //PaysheetId = s.n_paysheet, //SaleCategoryId = s.n_sale_category, //SaleCategory = s.c_sale_category }) .ToArray(); return(new Paged <InvoiceModel> { Items = list, Pager = new PagerModel { PageNum = filter.Page, PageSize = filter.Size, TotalCount = itemsCount } }); } }