public ServiceResult <List <PrevodModel> > GetEntitetPrevod <TEntity>(String tabela, int id) where TEntity : class { //override naziva za sifarnike foreach (ESifarnik sifarnik in (ESifarnik[])Enum.GetValues(typeof(ESifarnik))) { if (sifarnik.ToString() == tabela) { tabela = GetDescription.GetEnumDescription(sifarnik); } } //dobavi entitet var enumerable = (IEnumerable <TEntity>)(typeof(Context).GetProperty(tabela).GetValue(context, null)); //dobavi polja entita tipa string var entity = enumerable.Where(x => Convert.ToInt32(x.GetType().GetProperty("Id").GetValue(x)) == id).FirstOrDefault(); var polja = entity.GetType().GetProperties() .Where(x => x.PropertyType.FullName == "System.String" && x.Name != "CreatedBy" && x.Name != "ModifiedBy" && x.Name != "Sifra") .Select(x => x.Name); //model List <PrevodModel> model = new List <PrevodModel>(); //ako ima polja u tabeli tipa string if (polja.Count() > 0) { foreach (Jezici jezik in (Jezici[])Enum.GetValues(typeof(Jezici))) { model.Add(new PrevodModel { Jezik = (int)jezik, JezikNaziv = GetDescription.GetEnumDescription(jezik), Polja = polja.Select(x => new PoljePrevodModel { Polje = x, Prevod = DajPrevod(tabela, (int)jezik, id, x, GetPropValue(entity, x).ToString()), Vrijednost = GetPropValue(entity, x).ToString() }).ToList() }); } return(Ok(model)); } else { return(NotFound()); } }
private void loadData() { lbTimeNow.Text = DateTime.Now.ToString("yyyy/MM/dd HH:mm"); ClearTbxData(); if (Actor.Instance.isSysAdmin()) { this._identity = GetDescription.Get(typeof(EnumIdentity), EnumIdentity.ModuleAdmin.ToString()); } else if (Actor.Instance.isUnitAdmin()) { this._identity = GetDescription.Get(typeof(EnumIdentity), EnumIdentity.UnitAdmin.ToString()); } #region 設備基本資料 AccessHelper access = new AccessHelper(); List <UDT.Equipment> listEquip = access.Select <UDT.Equipment>(string.Format("uid = {0}", equipID)); tbxEquipName.Text = listEquip[0].Name; tbxCategory.Text = listEquip[0].Category; tbxCompany.Text = listEquip[0].Company; tbxModel.Text = listEquip[0].ModelNo; tbxPlace.Text = listEquip[0].Place; #endregion #region 申請紀錄 // 更新逾時申請紀錄 DAO.EquipIOHistory.UpdateApplicationDetail(); // 取得設備當天的申請紀錄 DataTable dt = DAO.EquipIOHistory.GetApplicationByEquipID(equipID); if (dt.Rows.Count > 0) { tbxApplicant.Text = "" + dt.Rows[0]["applicant_name"]; tbxApplicant.Tag = "" + dt.Rows[0]["uid"]; // 申請紀錄時段明細編號 tbxApplyTime.Text = "" + dt.Rows[0]["apply_date"]; tbxStarTime.Text = "" + dt.Rows[0]["start_time"]; tbxEndTime.Text = "" + dt.Rows[0]["end_time"]; tbxReason.Text = "" + dt.Rows[0]["apply_reason"]; btnBorrow.Enabled = true; } else { btnBorrow.Enabled = false; } #endregion }
public TEntity GetEntitet <TEntity>(String tabela, int id) where TEntity : class { //override naziva za sifarnike foreach (ESifarnik sifarnik in (ESifarnik[])Enum.GetValues(typeof(ESifarnik))) { if (sifarnik.ToString() == tabela) { tabela = GetDescription.GetEnumDescription(sifarnik); } } //dobavi entitet var enumerable = (IEnumerable <TEntity>)(typeof(Context).GetProperty(tabela).GetValue(context, null)); //dobavi polja entita tipa string var entity = enumerable.Where(x => Convert.ToInt32(x.GetType().GetProperty("Id").GetValue(x)) == id).FirstOrDefault(); return(entity); }
public ServiceResult <List <PrevodModel> > KreirajPrevod <TEntity>(String tabela, int id, List <PrevodModel> model) where TEntity : class { var korisnik = authService.TrenutniKorisnik(); //override naziva za sifarnike foreach (ESifarnik sifarnik in (ESifarnik[])Enum.GetValues(typeof(ESifarnik))) { if (sifarnik.ToString() == tabela) { tabela = GetDescription.GetEnumDescription(sifarnik); } } ///dobavi red koji se mijenja var entity = GetEntitet <TEntity>(tabela, id); var datumIzmjene = entity.GetType().GetProperty("DatumIzmjene"); datumIzmjene.SetValue(entity, DateTime.Now); var izmijenio = entity.GetType().GetProperty("ModifiedBy"); izmijenio.SetValue(entity, korisnik.KorisnickoIme); //doraditi da se radi update postojećih prevoda var stavkeZaBrisanje = context.Prevodi.Where(x => x.RedId == id && x.Tabela == tabela).ToList(); context.Prevodi.RemoveRange(stavkeZaBrisanje); SaveChanges(context); foreach (var item in model) { foreach (var prevod in item.Polja) { context.Prevodi.Add(new Prevod { Jezik = item.Jezik, Polje = prevod.Polje, RedId = id, PrevodTekst = prevod.Prevod, Tabela = tabela.ToString() }); } } SaveChanges(context); return(VratiListuPrevoda(tabela, id)); }
var items = methods.Where(IsIAsyncEnum).Select(x => new MenuItem( GetDescription(x),