Пример #1
0
        public async Task <ActionResult <IEnumerable <ExpenseDtoGet> > > GetExpenses(
            [FromQuery] DateTime?from    = null,
            [FromQuery] DateTime?to      = null,
            [FromQuery] Models.Type?type = null)
        {
            //Filters results by date
            IQueryable <Expense> result = _context.Expenses.Include(e => e.Comments);

            if (from != null)
            {
                result = result.Where(e => from <= e.Date);
            }
            if (to != null)
            {
                result = result.Where(e => e.Date <= to);
            }

            if (type != null)
            {
                result = result.Where(e => e.Type == type);
            }

            var resultList = await result.Select(e => ExpenseDtoGet.GetDtoFromExpense(e)).ToListAsync();

            return(resultList);
        }
Пример #2
0
        public ActionResult FilterObject(string brand, Models.Type?type)

        {
            var brandList = new List <string>();


            var brandQry = from b in db.ParkedVehicles
                           orderby b.Brand
                           select b.Brand;

            brandList.AddRange(brandQry);
            ViewBag.brand = new SelectList(brandList);

            var model = from b in db.ParkedVehicles
                        select b;

            if (type != null)
            {
                model = model.Where(s => s.Type == type);
            }


            if (string.IsNullOrEmpty(brand))
            {
                return(View(model));
            }
            else
            {
                return(View(model.Where(x => x.Brand == brand)));
            }
        }
Пример #3
0
        public ActionResult VisitDetail(int id, int hours, Models.Type?massageType)
        {
            using (Model1 db = new Model1())
            {
                Visit visit = new Visit()
                {
                    MassageType = massageType,
                    Hours       = hours,
                    CustomerId  = id
                };
                Customer customer = db.Customers.First(x => x.Id == visit.CustomerId);
                if (customer != null)
                {
                    customer.Number_Of_Visits += 1;
                }

                db.Visits.Add(visit);
                db.SaveChanges();

                RecieptView reciept = new RecieptView()
                {
                    FirstName    = customer.First_Name,
                    LastName     = customer.Last_Name,
                    MassageType  = massageType,
                    Hours        = hours,
                    NumberVisits = customer.Number_Of_Visits
                };

                return(View("Reciept", reciept));
            }
        }
Пример #4
0
        public async Task <IActionResult> GetExpenses(
            [FromQuery] DateTime?from    = null,
            [FromQuery] DateTime?to      = null,
            [FromQuery] Models.Type?type = null,
            [FromQuery] int page         = 0,
            [FromQuery] int itemsPerPage = 15)
        {
            IQueryable <Expense> result = _context.Expenses.Include(e => e.Comments);

            if (type != null)
            {
                result = result.Where(f => f.Type == type);
            }
            if (from != null)
            {
                result = result.Where(f => from <= f.Date);
            }
            if (to != null)
            {
                result = result.Where(f => f.Date <= to);
            }

            var resultList = await result
                             .Skip(page *itemsPerPage)
                             .Take(itemsPerPage)
                             .Select(e => ExpenseDtoGet.GetDtoFromExpense(e))
                             .ToListAsync();

            var PaginatedList = new PaginatedList <ExpenseDtoGet>(page, await result.CountAsync(), itemsPerPage);

            PaginatedList.Items.AddRange(resultList);

            return(Ok(PaginatedList));
        }
Пример #5
0
        public async Task <ActionResult <IEnumerable <Expense> > > GetExpenses(
            [FromQuery] DateTime?from    = null,
            [FromQuery] DateTime?to      = null,
            [FromQuery] Models.Type?type = null)
        {
            //Filters results by date
            IQueryable <Expense> result = _context.Expenses;

            if (from != null)
            {
                result = result.Where(e => from <= e.Date);
            }
            if (to != null)
            {
                result = result.Where(e => e.Date <= to);
            }
            if (type != null)
            {
                result = result.Where(e => e.Type == type);
            }
            //if (from != null && to != null && type != null)
            //{
            //    result = result.Where(e => from <= e.Date && e.Date <= to && e.Type == type);
            //}

            var resultList = await result.ToListAsync();

            return(resultList);
        }
Пример #6
0
        /// <summary>
        /// Get All Expenses
        /// </summary>
        ///  <remarks>
        /// Sample request:
        ///
        ///     GET /api/expenses?from=2019-05-05&&type=food
        ///
        ///
        /// </remarks>
        /// <param name="from">Optional, filter by minimum Date</param>
        /// <param name="to">Optiona, filter by maximum Date</param>
        /// <param name="type">Optional, filter by expenses type</param>
        /// <returns>List of Expenses with/without filters</returns>
        public IEnumerable <ExpensesGetModel> GetAll(DateTime?from, DateTime?to, Models.Type?type)
        {
            IQueryable <Expenses> result = context.Expensess.Include(f => f.Comments);

            if ((from == null && to == null) && type == null)
            {
                return(result.Select(f => ExpensesGetModel.FromExpenses(f)));
            }
            if (from != null)
            {
                result = result.Where(f => f.Date >= from);
            }
            if (to != null)
            {
                result = result.Where(f => f.Date <= to);
            }
            if (type != null)
            {
                result = result.Where(f => f.Type.Equals(type));
            }
            return(result.Select(f => ExpensesGetModel.FromExpenses(f)));
        }
Пример #7
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="page"></param>
        /// <param name="from"></param>
        /// <param name="to"></param>
        /// <param name="type"></param>
        /// <returns></returns>
        public PaginatedList <ExpenseGetModel> GetAll(int page, DateTime?from = null, DateTime?to = null, Models.Type?type = null)
        {
            IQueryable <Expense> result = context
                                          .Expenses
                                          .OrderBy(e => e.Id)
                                          .Include(x => x.Comments);
            PaginatedList <ExpenseGetModel> paginatedResult = new PaginatedList <ExpenseGetModel>();

            paginatedResult.CurrentPage = page;

            if ((from == null && to == null) && type == null)
            {
                if (from != null)
                {
                    result = result.Where(e => e.Date >= from);
                }
            }
            if (to != null)
            {
                result = result.Where(e => e.Date <= to);
            }
            if (type != null)
            {
                result = result.Where(e => e.Type == type);
            }

            paginatedResult.NumberOfPages = (result.Count() - 1) / PaginatedList <ExpenseGetModel> .EntriesPerPage + 1;
            result = result
                     .Skip((page - 1) * PaginatedList <ExpenseGetModel> .EntriesPerPage)
                     .Take(PaginatedList <ExpenseGetModel> .EntriesPerPage);
            paginatedResult.Entries = result.Select(e => ExpenseGetModel.FromExpense(e)).ToList();

            return(paginatedResult);
        }
Пример #8
0
 public PaginatedList <ExpenseGetModel> Get([FromQuery] DateTime?from, [FromQuery] DateTime?to, [FromQuery] Models.Type?type, [FromQuery] int page = 1)
 {
     page = Math.Max(page, 1);
     return(expenseService.GetAll(page, from, to, type));
 }
Пример #9
0
        public IEnumerable <Expense> GetAll(DateTime?from = null, DateTime?to = null, Models.Type?type = null)
        {
            IQueryable <Expense> result = context.Expenses.Include(x => x.Comments);

            if ((from == null && to == null) && type == null)

            {
                return(result);
            }
            if (from != null)
            {
                result = result.Where(e => e.Date >= from);
            }
            if (to != null)
            {
                result = result.Where(e => e.Date <= to);
            }
            if (type != null)
            {
                result = result.Where(e => e.Type == type);
            }
            return(result);
        }
 public IEnumerable <Expense> Get([FromQuery] DateTime?from, [FromQuery] DateTime?to, [FromQuery] Models.Type?type)
 {
     return(expenseService.GetAll(from, to, type));
 }
Пример #11
0
        /// <summary>
        /// Get All Expenses
        /// </summary>
        ///  <remarks>
        /// Sample request:
        ///
        ///     GET /api/expenses?from=2019-05-05 and type=food
        ///
        ///
        /// </remarks>
        /// <param name="page"></param>
        /// <param name="from">Optional, filter by minimum Date</param>
        /// <param name="to">Optiona, filter by maximum Date</param>
        /// <param name="type">Optional, filter by expenses type</param>
        /// <returns>List of Expenses with/without filters</returns>
        public PaginatedList <ExpensesGetModel> GetAllExpenses(int page, DateTime?from, DateTime?to, Models.Type?type)
        {
            IQueryable <Expenses> result = context.Expensess.Include(f => f.Comments);

            PaginatedList <ExpensesGetModel> paginatedResult = new PaginatedList <ExpensesGetModel>();

            paginatedResult.CurrentPage = page;

            if (from != null)
            {
                result = result.Where(f => f.Date >= from);
            }
            if (to != null)
            {
                result = result.Where(f => f.Date <= to);
            }
            if (type != null)
            {
                result = result.Where(f => f.Type.Equals(type));
            }

            paginatedResult.NumberOfPages = (result.Count() - 1) / PaginatedList <ExpensesGetModel> .EntriesPerPage + 1;
            result = result
                     .Skip((page - 1) * PaginatedList <ExpensesGetModel> .EntriesPerPage)
                     .Take(PaginatedList <ExpensesGetModel> .EntriesPerPage);
            paginatedResult.Entries = result.Select(f => ExpensesGetModel.FromExpenses(f)).ToList();



            return(paginatedResult);
        }
Пример #12
0
        public IEnumerable <Expenses> Get([FromQuery] DateTime?from, [FromQuery] DateTime?to, [FromQuery] Models.Type?type)
        {
            IQueryable <Expenses> result = context.Expensess.Include(f => f.Comments);

            if ((from == null && to == null) && type == null)
            {
                return(result);
            }
            if (from != null)
            {
                result = result.Where(f => f.Date >= from);
            }
            if (to != null)
            {
                result = result.Where(f => f.Date <= to);
            }
            if (type != null)
            {
                result = result.Where(f => f.Type.Equals(type));
            }
            return(result);
        }