public ActionResult <IEnumerable <EquipmentShow> > Get([FromQuery] EquipmentSearch query) { try { return(Ok(_getS.Execute(query))); } catch (Exception e) { Console.WriteLine(e.Message); return(StatusCode(500)); } }
public IEnumerable <EquipmentShow> Execute(EquipmentSearch request) { var equipmnet = Context.Equipment.AsQueryable(); if (request.Name != null) { equipmnet.Where(e => e.Name.ToLower() == request.Name.ToLower()); } return(equipmnet.Select(e => new EquipmentShow { Name = e.Name, Id = e.Id })); }
public async Task <ActionResult <Equipment> > Get([FromQuery] EquipmentSearch equipmentSearch) { var equipment = await _equipmentManager.SearchEquipment(equipmentSearch); return(Ok(equipment)); }
public async Task <PagedSearchResult <Equipment> > SearchEquipment(EquipmentSearch equipmentSearch) { var filter = ""; if (!string.IsNullOrEmpty(equipmentSearch.Name)) { filter = $"Name eq '{equipmentSearch.Name}'"; } if (equipmentSearch.ContentType.HasValue && equipmentSearch.ContentType != ContentType.None) { if (!string.IsNullOrEmpty(filter)) { filter = $"{filter} and"; } filter = $"{filter} ContentType eq '{equipmentSearch.ContentType.ToString()}'"; } if (equipmentSearch.EquipmentCategory.HasValue && equipmentSearch.EquipmentCategory != EquipmentCategory.Unknown) { if (!string.IsNullOrEmpty(filter)) { filter = $"{filter} and"; } filter = $"{filter} EquipmentCategory eq '{equipmentSearch.EquipmentCategory.ToString()}'"; } if (equipmentSearch.ArmorClassification.HasValue && equipmentSearch.ArmorClassification != ArmorClassification.Unknown) { if (!string.IsNullOrEmpty(filter)) { filter = $"{filter} and"; } filter = $"{filter} ArmorClassification eq '{equipmentSearch.ArmorClassification.ToString()}'"; } if (equipmentSearch.WeaponClassification.HasValue && equipmentSearch.WeaponClassification != WeaponClassification.Unknown) { if (!string.IsNullOrEmpty(filter)) { filter = $"{filter} and"; } filter = $"{filter} WeaponClassification eq '{equipmentSearch.WeaponClassification.ToString()}'"; } var query = new TableQuery <Equipment>().Where(filter); var equipment = await _tableStorage.QueryAsync("equipment", query); switch (equipmentSearch.EquipmentSearchOrdering) { case EquipmentSearchOrdering.NameAscending: equipment = equipment.OrderBy(p => p.Name); break; case EquipmentSearchOrdering.NameDescending: equipment = equipment.OrderByDescending(p => p.Name); break; case EquipmentSearchOrdering.ContentTypeAscending: equipment = equipment.OrderBy(p => p.ContentType); break; case EquipmentSearchOrdering.ContentTypeDescending: equipment = equipment.OrderByDescending(p => p.ContentType); break; case EquipmentSearchOrdering.EquipmentCategoryAscending: equipment = equipment.OrderBy(p => p.EquipmentCategory); break; case EquipmentSearchOrdering.EquipmentCategoryDescending: equipment = equipment.OrderByDescending(p => p.EquipmentCategory); break; case EquipmentSearchOrdering.ArmorClassificationAscending: equipment = equipment.OrderBy(p => p.ArmorClassification); break; case EquipmentSearchOrdering.ArmorClassificationDescending: equipment = equipment.OrderByDescending(p => p.ArmorClassification); break; case EquipmentSearchOrdering.WeaponClassificationAscending: equipment = equipment.OrderBy(p => p.WeaponClassification); break; case EquipmentSearchOrdering.WeaponClassificationDescending: equipment = equipment.OrderByDescending(p => p.WeaponClassification); break; } return(new PagedSearchResult <Equipment>(equipment.ToList(), equipmentSearch.PageSize, equipmentSearch.CurrentPage)); }