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); }
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))); } }
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)); } }
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)); }
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); }
/// <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))); }
/// <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); }
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)); }
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)); }
/// <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); }
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); }