public DynamicResponse <List <ReturnedObject> > GetCountries() { DynamicResponse <List <ReturnedObject> > response = new DynamicResponse <List <ReturnedObject> >(); try { List <ReturnedObject> data = new List <ReturnedObject>(); CountryAccessor _CountryAccessor = new CountryAccessor(); List <Country> countries = _CountryAccessor.GetList(); LookUp lookUp = new LookUp(); LookUpMultiLanguage lookUpMulti = new LookUpMultiLanguage(); LookUpAccessor _LookUpAccessor = new LookUpAccessor(); LookUpMultiLanguageAccessor _LookUpMultiLanguageAccessor = new LookUpMultiLanguageAccessor(); foreach (Country item in countries) { lookUp = new LookUp(); lookUp = _LookUpAccessor.Get(item.Code, countryTableId); if (lookUp == null) { response.Message = "please try again later"; response.ServerMessage = "lookup is null for country code: " + item.Code; response.HttpStatusCode = System.Net.HttpStatusCode.InternalServerError; return(response); } lookUpMulti = new LookUpMultiLanguage(); lookUpMulti = _LookUpMultiLanguageAccessor.Get(lookUp.Id, 1); if (lookUpMulti == null) { response.Message = "please try again later"; response.ServerMessage = "lookup multi is null for lookup id: " + lookUp.Id; response.HttpStatusCode = System.Net.HttpStatusCode.InternalServerError; return(response); } data.Add(new ReturnedObject { Id = item.Id, Name = lookUpMulti.Description }); } response.Data = data; response.HttpStatusCode = System.Net.HttpStatusCode.OK; return(response); } catch (Exception ex) { response.HttpStatusCode = System.Net.HttpStatusCode.InternalServerError; response.ServerMessage = "countries function. " + ex.Message; response.Message = "Please try again later."; return(response); } }
public List <T> ReturnListOf <T>(AdminTables table, long langId, int offset, int limit, List <LookUpAttributes> attributes, LookUpAttributes main, List <string> fields, bool isAll, out int total, long?lookUpId) { try { LookUpMultiLanguage lookupMulti = new LookUpMultiLanguage(); LookUp lookUp = new LookUp(); long tableId; List <LookUp> allRowsThatHaveCodeOfMainChild = new List <LookUp>(); List <LookUp> selectedRowsThatHaveCodeOfMainChild = new List <LookUp>(); List <LookUp> contents = new List <LookUp>(); System.Type UsedClass = __SharedClassesForeachTable[table]; var UsedObject = Activator.CreateInstance(UsedClass); List <string> images = new List <string>(); dynamic dynamic = (dynamic)UsedObject; tableId = __SharedTableIds[table]; List <dynamic> allDynamic = new List <dynamic>(); var accessor = FastMember.TypeAccessor.Create(typeof(T)); if (lookUpId == null) { allRowsThatHaveCodeOfMainChild = GetRowsOfTableByCode(tableId, main.Code); total = allRowsThatHaveCodeOfMainChild.Count(); selectedRowsThatHaveCodeOfMainChild = allRowsThatHaveCodeOfMainChild.OrderByDescending(s => s.Id).Skip(offset).Take(limit).ToList(); } else { selectedRowsThatHaveCodeOfMainChild.Add(_LookUpAccessor.Get((long)lookUpId)); total = 1; } foreach (LookUp row in selectedRowsThatHaveCodeOfMainChild) { contents = new List <LookUp>(); contents = _LookUpAccessor.GetChildren(row.Id); dynamic = (dynamic)Activator.CreateInstance(UsedClass); accessor[dynamic, "Id"] = row.Id; // main if (main.isLangNull) { lookupMulti = _LookUpMultiAccessor.Get(row.Id, null); } else { lookupMulti = _LookUpMultiAccessor.Get(row.Id, langId); } if (lookupMulti != null) { accessor[dynamic, main.Name] = lookupMulti.Description; } //TO DO set id foreach (LookUpAttributes obj in attributes) { if (obj.Code == main.Code) { continue; } if (!isAll) { if (fields.Contains(obj.Name) == false) { continue; } } lookUp = new LookUp(); lookUp = contents.Where(e => e.Code == obj.Code).FirstOrDefault(); if (lookUp == null) { continue; } if (obj.Name == "Date") { accessor[dynamic, obj.Name] = (row.SysDate).Value.Date; //new continue; } if (obj.isMedia) { try { if (obj.isList) { //get list images = new List <string>(); images = _MediaAccessor.Get(lookUp.Id, obj.isVideo) .Select(e => e.Name).ToList(); if (images.Count != 0) { accessor[dynamic, obj.Name] = images; } } else { LookUpMedia media = new LookUpMedia(); media = _MediaAccessor.Get(lookUp.Id, obj.isVideo).FirstOrDefault(); if (media == null) { continue; } // get one image accessor[dynamic, obj.Name] = media.Name; } } catch (Exception ex) { throw new Exception("exception in media id=" + lookUp.Id); } } else { try { if (obj.isLangNull) { lookupMulti = _LookUpMultiAccessor.Get(lookUp.Id, null); } else { lookupMulti = _LookUpMultiAccessor.Get(lookUp.Id, langId); } accessor[dynamic, obj.Name] = lookupMulti.Description; } catch (Exception ex) { throw new Exception("exception in lookup multi id=" + lookUp.Id); } } } allDynamic.Add(dynamic); } List <T> list = new List <T>(); foreach (dynamic d in allDynamic) { list.Add((T)d); } return(list); } catch (Exception ex) { throw; } }