public ItemController(IItemService service, IEmployeeService employeeService, IItemParameters itemParameters, IEmployeeParameters employeeParameters) { this.Service = service; this.EmployeeService = employeeService; this.ItemParameters = itemParameters; this.EmployeeParameters = employeeParameters; }
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); }
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); }
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)); }
public async Task <List <IItem> > GetAllAsync(IItemParameters itemParameters) { return(new List <IItem>(await ItemRepository.GetAllAsync(itemParameters))); }