public void Add(LookUpMedia newMedia) { try { using (LMJEntities db = new LMJEntities()) { db.LookUpMedias.Add(newMedia); db.SaveChanges(); } } catch (Exception ex) { throw; } }
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; } }
public long AddContent <T>(T obj, AdminTables table) { string XMLPath = ConfigurationManager.AppSettings["XMLPath"]; //string xmlPath = @"C:\Users\huda\Desktop\Anzimaty\Anz.LMJ\Anz.LMJ.StartUp\LookUp.xml"; string multiLangValue; string imageValue; LookUpMedia img = new LookUpMedia(); List <string> imageValues = new List <string>(); List <LookUpAttributes> attributes = Tools.GetAttributes(table.ToString(), XMLPath); var t = typeof(T); LookUp lk = new LookUp(); LookUpMultiLanguage ml = new LookUpMultiLanguage(); long parentId = 0; bool isFirst = true; foreach (LookUpAttributes att in attributes) { lk = new LookUp(); lk.TableId = (int)__SharedTableIds[table]; lk.SysDate = DateTime.Now; lk.UserId = 1; lk.IsDeleted = false; lk.Code = att.Code; lk.isPublished = true; if (isFirst) { lk.ParentId = null; } else { lk.ParentId = parentId; } lk = _LookUpAccessor.Add(lk); if (isFirst) { isFirst = false; parentId = lk.Id; } if (att.isMedia) { //check if the property is list if (att.isList) { imageValues = (List <string>)(t.GetProperty(att.Name).GetValue(obj)); foreach (string s in imageValues) { // add media img = new LookUpMedia(); img.isActive = true; img.isDeleted = false; img.isVideo = att.isVideo; img.LookUpId = lk.Id;; img.SysDate = DateTime.Now; img.Name = s; _MediaAccessor.Add(img); } } else { imageValue = (string)(t.GetProperty(att.Name).GetValue(obj)); img = new LookUpMedia(); img.isActive = true; img.isDeleted = false; img.isVideo = att.isVideo; img.LookUpId = lk.Id; img.SysDate = DateTime.Now; img.Name = imageValue; _MediaAccessor.Add(img); } } else { // add lookupmulti multiLangValue = (t.GetProperty(att.Name).GetValue(obj)).ToString(); ml = new LookUpMultiLanguage(); ml.LookUpId = lk.Id; if (att.isLangNull) { ml.LangId = null; } else { ml.LangId = 1; } ml.SysDate = DateTime.Now; ml.isDeleted = false; //ml.UserId = 1; ml.Description = multiLangValue; // ml.isPublished = true; _LookUpMultiAccessor.Add(ml); } } return(parentId); }