Esempio n. 1
0
        /// <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
                    }
                });
            }
        }
Esempio n. 2
0
        /// <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
                    }
                });
            }
        }