protected void DataPortal_Fetch(VacationRequestSearchCriteria criteria) { RaiseListChangedEvents = false; IsReadOnly = false; using (var ctx = new VacationManagerContext()) { IList<Persistence.Model.VacationRequestEntity> requests; if (criteria == null) requests = ctx.Requests.ToList(); else { var query = ctx.Requests.AsQueryable(); if (criteria.GetMine) query = query.Where(x => x.Employee.Id == criteria.EmployeeId); else query = query.Where(x => x.Employee.Manager.Id == criteria.EmployeeId); if (criteria.States != null) query = query.Where(x => criteria.States.Contains(x.State)); requests = query.OrderByDescending(x => x.CreationDate) .ToList(); } foreach (var item in requests) Add(DataPortal.Create<VacationRequest>(item)); } IsReadOnly = true; RaiseListChangedEvents = true; }
// // GET: /Dashboard/ public ActionResult Index() { var employeeSituation = _dataService.Fetch<EmployeeSituation>(Configuration.CurrentEmployeeId); var pmCriteria = new VacationRequestSearchCriteria { GetMine = true, EmployeeId = Configuration.CurrentEmployeeId, States = new[] { VacationRequestState.Submitted }, }; _pmRequests = _dataService.FetchList<VacationRequestInfoList, VacationRequest>(pmCriteria); var hrCriteria = new VacationRequestSearchCriteria { GetMine = true, States = new[] { VacationRequestState.Approved }, }; _hrRequests = _dataService.FetchList<VacationRequestInfoList, VacationRequest>(hrCriteria); var model = new Dashboard { EmployeeStatistics = employeeSituation, PmRequests = _pmRequests, HrRequests = _hrRequests, }; return View(model); }
private VacationRequestInfoList LoadModel() { var criteria = new VacationRequestSearchCriteria { EmployeeId = Configuration.CurrentEmployeeId, GetMine = true, States = null, }; return _dataService.FetchList<VacationRequestInfoList, VacationRequest>(criteria); }
public IEnumerable<IResult> Populate() { yield return UiService.ShowBusy(); var criteria = new VacationRequestSearchCriteria { GetMine = false, EmployeeId = Context.CurrentEmployee.EmployeeId, States = new[] { VacationRequestState.Submitted }, }; var result = DataService.FetchList<VacationRequestInfoList, VacationRequest>(criteria); yield return result; yield return UiService.HideBusy(); if (ReferenceEquals(null, result.Error)) Items = result.Result; else yield return UiService.ShowMessageBox(result.Error.Message, GlobalStrings.ErrorCaption); }