Пример #1
0
 public ItemController(IItemService service, IEmployeeService employeeService, IItemParameters itemParameters, IEmployeeParameters employeeParameters)
 {
     this.Service            = service;
     this.EmployeeService    = employeeService;
     this.ItemParameters     = itemParameters;
     this.EmployeeParameters = employeeParameters;
 }
Пример #2
0
        public async Task <IEnumerable <IItem> > GetAllAsync(IItemParameters parameters)
        {
            GenericParameters = Mapper.Map <IGenericRepositoryParameters <ItemEntity> >(parameters);
            if (GenericParameters.Paged)
            {
                if (!String.IsNullOrEmpty(GenericParameters.SearchString) && parameters.OnStock != true)
                {
                    GenericParameters.Filter = i => i.Name.Contains(GenericParameters.SearchString);
                }
                else if (!String.IsNullOrEmpty(GenericParameters.SearchString) && parameters.OnStock == true)
                {
                    GenericParameters.Filter = i => i.Name.Contains(GenericParameters.SearchString) && i.EmployeeID == null;
                }
                else if (parameters.OnStock == true)
                {
                    GenericParameters.Filter = i => i.EmployeeID == null;
                }

                switch (GenericParameters.SortOrder)
                {
                case "Name":
                    GenericParameters.OrderBy = source => source.OrderBy(i => i.Name);
                    break;

                case "name_desc":
                    GenericParameters.OrderBy = source => source.OrderByDescending(i => i.Name);
                    break;

                case "Description":
                    GenericParameters.OrderBy = source => source.OrderBy(i => i.Description);
                    break;

                case "description_desc":
                    GenericParameters.OrderBy = source => source.OrderByDescending(i => i.Name);
                    break;

                case "Employee":
                    GenericParameters.OrderBy = source => source.OrderBy(i => i.Employee.Name);
                    break;

                case "employee_desc":
                    GenericParameters.OrderBy = source => source.OrderByDescending(i => i.Employee.Name);
                    break;

                default:
                    GenericParameters.OrderBy = source => source.OrderBy(i => i.ID);
                    break;
                }
                GenericParameters.Skip = (GenericParameters.PageNumber - 1) * GenericParameters.PageSize;
                GenericParameters.Take = GenericParameters.PageSize;
            }

            var itemList = (Mapper.Map <List <IItem> >(await Repository.GetAllAsync(GenericParameters)));

            return(itemList);
        }
Пример #3
0
        public async Task <StaticPagedList <IItem> > GetAllPagedListAsync(IItemParameters itemParameters)
        {
            var count = await ItemRepository.GetCountAsync(itemParameters);

            var itemList = await ItemRepository.GetAllAsync(itemParameters);

            var itemPagedList = new StaticPagedList <IItem>(itemList, itemParameters.PageNumber.Value, itemParameters.PageSize.Value, count);

            return(itemPagedList);
        }
Пример #4
0
 public Task <int> GetCountAsync(IItemParameters parameters)
 {
     if (!String.IsNullOrEmpty(GenericParameters.SearchString) && parameters.OnStock != true)
     {
         GenericParameters.Filter = i => i.Name.Contains(GenericParameters.SearchString);
     }
     else if (!String.IsNullOrEmpty(GenericParameters.SearchString) && parameters.OnStock == true)
     {
         GenericParameters.Filter = i => i.Name.Contains(GenericParameters.SearchString) && i.EmployeeID == null;
     }
     else if (parameters.OnStock == true)
     {
         GenericParameters.Filter = i => i.EmployeeID == null;
     }
     return(Repository.GetCountAsync(GenericParameters));
 }
Пример #5
0
 public async Task <List <IItem> > GetAllAsync(IItemParameters itemParameters)
 {
     return(new List <IItem>(await ItemRepository.GetAllAsync(itemParameters)));
 }