public IEnumerable <AppointmentInfoProxy> Get(AppointmentInfoFilter filter) { var result = this.All() .Where(filter.EmployeeId.HasValue, x => x.EmployeeId == filter.EmployeeId) .Where(filter.PartnerId.HasValue, x => x.PartnerId == filter.PartnerId) .Where(filter.TypeId.HasValue, x => x.TypeId == filter.TypeId) .Where(filter.StartDate.HasValue, x => x.Date >= filter.StartDate) .Where(filter.EndDate.HasValue, x => x.Date <= filter.EndDate) .Where(x => !x.IsDeleted) .OrderBy(h => h.Id) .Select(x => new AppointmentInfoProxy { Id = x.Id, EmployeeId = x.EmployeeId, EmployeeName = x.Employee.Name, PartnerId = x.PartnerId, PartnerName = x.Partner.Name, TypeId = x.TypeId, TypeName = x.Type.Name, TypeValue = x.Type.Value, Date = x.Date, Count = x.Count }); filter.Count = result.Count(); if (filter.Count > 0) { filter.TotalValue = result.Sum(x => x.TypeValue * x.Count); } return(result.OrderByFilter(filter).PageByFilter(filter)); }
public JsonResult Get(AppointmentInfoFilter filter) { var response = new ResponseModel(); try { response.Data = new { Records = Service.Get(filter), Count = filter.Count, TotalValue = filter.TotalValue }; } catch (Exception ex) { response.SetException(ex); } return(Json(response, JsonRequestBehavior.AllowGet)); }
public IEnumerable <AppointmentInfoProxy> Get(AppointmentInfoFilter filter) { return(this.RepoFactory.Get <AppointmentInfoRepository>().Get(filter)); }