Пример #1
0
        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
        }
Пример #3
0
        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);
        }
Пример #4
0
        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));
        }
Пример #5
0
 var items   = methods.Where(IsIAsyncEnum).Select(x => new MenuItem(
                                                      GetDescription(x),