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));
        }
Пример #2
0
        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));
        }
Пример #3
0
 public IEnumerable <AppointmentInfoProxy> Get(AppointmentInfoFilter filter)
 {
     return(this.RepoFactory.Get <AppointmentInfoRepository>().Get(filter));
 }