public ItemsRequestResult GetItem(string id, string selectedEntityName) { var res = new ItemsRequestResult(); var entities = GetObjCollectionOfSelectedItemType(ref selectedEntityName); int.TryParse(id, out int intID); if (intID == 0) { res.d = InstantiateItem(entities); } else { res.d = FindByID(entities, intID); } if (res.d == null) { res.msg = "Объект не найден"; } return(res); }
public RequestResultBase GetItems(int pageNum, int pageSize, string sort, string direction, Dictionary <string, string> filter, string selectedEntityName) { var res = new ItemsRequestResult(); var entities = GetObjCollectionOfSelectedItemType(ref selectedEntityName); filter.Remove("controller"); filter.Remove("action"); filter?.ToList().ForEach(condition => { entities = entities.Where(obj => DataHelper.ValueMatchesKey(obj, condition.Key, condition.Value, null)); }); res.total = entities.Count(); if (sort?.ToLower() == "up") { entities = entities.OrderBy(obj => DataHelper.GetValByRefl(obj, sort, null)); } else if (sort?.ToLower() == "down") { entities = entities.OrderByDescending(obj => DataHelper.GetValByRefl(obj, sort, null)); } if (pageNum > res.total / pageSize) { pageNum = res.total / pageSize; } else if (pageNum < 0) { pageNum = 0; } entities = entities.Skip(pageSize * (pageNum - 1)).Take(pageSize); res.items = entities.ToArray(); res.foreignKeys = GetForeignKeysAsCollecsOfIDNamePairs(selectedEntityName); return(res); }