Example #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="requestCaller"></param>
        /// <returns></returns>
        public IList <KartableGridClientSettingsProxy> GetKartableGridClientSettings(GridSettingCaller requestCaller)
        {
            using (NHibernateSessionManager.Instance.BeginTransactionOn())
            {
                IList <KartableGridClientSettings>      kartableGridClientSettingList = null;
                IList <KartableGridClientSettingsProxy> GridClintSettingProxyList     = new List <KartableGridClientSettingsProxy>();
                try
                {
                    if (ValidateUser())
                    {
                        switch (requestCaller)
                        {
                        case GridSettingCaller.Kartable:
                            kartableGridClientSettingList = NHSession.QueryOver <KartableGridClientSettings>()
                                                            .Where(x => x.UserSetting.ID == workingUserSettingsId &&
                                                                   x.Type == GridSettingCaller.Kartable
                                                                   )
                                                            .List <KartableGridClientSettings>();

                            if (kartableGridClientSettingList == null || kartableGridClientSettingList.Count == 0)
                            {
                                foreach (KartablGridSetting setting in Enum.GetValues(typeof(KartablGridSetting)))
                                {
                                    KartableGridClientSettingsProxy GridClientSettingsProxy = new KartableGridClientSettingsProxy();
                                    GridClientSettingsProxy.ID = 0;
                                    GridClientSettingsProxy.CurrentUserSettingID = workingUserSettingsId;
                                    GridClientSettingsProxy.Exist      = false;
                                    GridClientSettingsProxy.GridColumn = setting.ToString();
                                    GridClientSettingsProxy.ViewState  = true;
                                    GridClintSettingProxyList.Add(GridClientSettingsProxy);
                                }
                            }
                            else
                            {
                                foreach (PropertyInfo pInfo in typeof(KartableGridClientSettings).GetProperties())
                                {
                                    foreach (KartablGridSetting setting in Enum.GetValues(typeof(KartablGridSetting)))
                                    {
                                        if (pInfo.Name == setting.ToString())
                                        {
                                            KartableGridClientSettingsProxy GridClientSettingsProxy = new KartableGridClientSettingsProxy();
                                            GridClientSettingsProxy.ID = kartableGridClientSettingList[0].ID;
                                            GridClientSettingsProxy.CurrentUserSettingID = workingUserSettingsId;
                                            GridClientSettingsProxy.Exist      = true;
                                            GridClientSettingsProxy.GridColumn = setting.ToString();
                                            GridClientSettingsProxy.ViewState  = (bool)pInfo.GetValue(kartableGridClientSettingList[0], null);
                                            GridClintSettingProxyList.Add(GridClientSettingsProxy);
                                        }
                                    }
                                }
                            }
                            break;

                        case GridSettingCaller.SpecialKartable:
                            kartableGridClientSettingList = NHSession.QueryOver <KartableGridClientSettings>()
                                                            .Where(x => x.UserSetting.ID == workingUserSettingsId &&
                                                                   x.Type == GridSettingCaller.SpecialKartable
                                                                   )
                                                            .List <KartableGridClientSettings>();

                            if (kartableGridClientSettingList == null || kartableGridClientSettingList.Count == 0)
                            {
                                foreach (SpecialKartablGridSetting setting in Enum.GetValues(typeof(SpecialKartablGridSetting)))
                                {
                                    KartableGridClientSettingsProxy GridClientSettingsProxy = new KartableGridClientSettingsProxy();
                                    GridClientSettingsProxy.ID = 0;
                                    GridClientSettingsProxy.CurrentUserSettingID = workingUserSettingsId;
                                    GridClientSettingsProxy.Exist      = false;
                                    GridClientSettingsProxy.GridColumn = setting.ToString();
                                    GridClientSettingsProxy.ViewState  = true;
                                    GridClintSettingProxyList.Add(GridClientSettingsProxy);
                                }
                            }
                            else
                            {
                                foreach (PropertyInfo pInfo in typeof(KartableGridClientSettings).GetProperties())
                                {
                                    foreach (SpecialKartablGridSetting setting in Enum.GetValues(typeof(SpecialKartablGridSetting)))
                                    {
                                        if (pInfo.Name == setting.ToString())
                                        {
                                            KartableGridClientSettingsProxy GridClientSettingsProxy = new KartableGridClientSettingsProxy();
                                            GridClientSettingsProxy.ID = kartableGridClientSettingList[0].ID;
                                            GridClientSettingsProxy.CurrentUserSettingID = workingUserSettingsId;
                                            GridClientSettingsProxy.Exist      = true;
                                            GridClientSettingsProxy.GridColumn = setting.ToString();
                                            GridClientSettingsProxy.ViewState  = (bool)pInfo.GetValue(kartableGridClientSettingList[0], null);
                                            GridClintSettingProxyList.Add(GridClientSettingsProxy);
                                        }
                                    }
                                }
                            }
                            break;

                        case GridSettingCaller.Survey:
                            kartableGridClientSettingList = NHSession.QueryOver <KartableGridClientSettings>()
                                                            .Where(x => x.UserSetting.ID == workingUserSettingsId &&
                                                                   x.Type == GridSettingCaller.Survey
                                                                   )
                                                            .List <KartableGridClientSettings>();

                            if (kartableGridClientSettingList == null || kartableGridClientSettingList.Count == 0)
                            {
                                foreach (ServeyKartablGridSetting setting in Enum.GetValues(typeof(ServeyKartablGridSetting)))
                                {
                                    KartableGridClientSettingsProxy GridClientSettingsProxy = new KartableGridClientSettingsProxy();
                                    GridClientSettingsProxy.ID = 0;
                                    GridClientSettingsProxy.CurrentUserSettingID = workingUserSettingsId;
                                    GridClientSettingsProxy.Exist      = false;
                                    GridClientSettingsProxy.GridColumn = setting.ToString();
                                    GridClientSettingsProxy.ViewState  = true;
                                    GridClintSettingProxyList.Add(GridClientSettingsProxy);
                                }
                            }
                            else
                            {
                                foreach (PropertyInfo pInfo in typeof(KartableGridClientSettings).GetProperties())
                                {
                                    foreach (ServeyKartablGridSetting setting in Enum.GetValues(typeof(ServeyKartablGridSetting)))
                                    {
                                        if (pInfo.Name == setting.ToString())
                                        {
                                            KartableGridClientSettingsProxy GridClientSettingsProxy = new KartableGridClientSettingsProxy();
                                            GridClientSettingsProxy.ID = kartableGridClientSettingList[0].ID;
                                            GridClientSettingsProxy.CurrentUserSettingID = workingUserSettingsId;
                                            GridClientSettingsProxy.Exist      = true;
                                            GridClientSettingsProxy.GridColumn = setting.ToString();
                                            GridClientSettingsProxy.ViewState  = (bool)pInfo.GetValue(kartableGridClientSettingList[0], null);
                                            GridClintSettingProxyList.Add(GridClientSettingsProxy);
                                        }
                                    }
                                }
                            }
                            break;

                        case GridSettingCaller.RequestSubstituteKartable:
                            kartableGridClientSettingList = NHSession.QueryOver <KartableGridClientSettings>()
                                                            .Where(x => x.UserSetting.ID == workingUserSettingsId &&
                                                                   x.Type == GridSettingCaller.RequestSubstituteKartable
                                                                   )
                                                            .List <KartableGridClientSettings>();

                            if (kartableGridClientSettingList == null || kartableGridClientSettingList.Count == 0)
                            {
                                foreach (RequestSubstituteKartableGridSetting setting in Enum.GetValues(typeof(RequestSubstituteKartableGridSetting)))
                                {
                                    KartableGridClientSettingsProxy GridClientSettingsProxy = new KartableGridClientSettingsProxy();
                                    GridClientSettingsProxy.ID = 0;
                                    GridClientSettingsProxy.CurrentUserSettingID = workingUserSettingsId;
                                    GridClientSettingsProxy.Exist      = false;
                                    GridClientSettingsProxy.GridColumn = setting.ToString();
                                    GridClientSettingsProxy.ViewState  = true;
                                    GridClintSettingProxyList.Add(GridClientSettingsProxy);
                                }
                            }
                            else
                            {
                                foreach (PropertyInfo pInfo in typeof(KartableGridClientSettings).GetProperties())
                                {
                                    foreach (RequestSubstituteKartableGridSetting setting in Enum.GetValues(typeof(RequestSubstituteKartableGridSetting)))
                                    {
                                        if (pInfo.Name == setting.ToString())
                                        {
                                            KartableGridClientSettingsProxy GridClientSettingsProxy = new KartableGridClientSettingsProxy();
                                            GridClientSettingsProxy.ID = kartableGridClientSettingList[0].ID;
                                            GridClientSettingsProxy.CurrentUserSettingID = workingUserSettingsId;
                                            GridClientSettingsProxy.Exist      = true;
                                            GridClientSettingsProxy.GridColumn = setting.ToString();
                                            GridClientSettingsProxy.ViewState  = (bool)pInfo.GetValue(kartableGridClientSettingList[0], null);
                                            GridClintSettingProxyList.Add(GridClientSettingsProxy);
                                        }
                                    }
                                }
                            }
                            break;
                        }
                    }
                    else
                    {
                        throw new IllegalServiceAccess("کاربر یا تنظیمات کاربر در دیتابیس موجود نیست", ExceptionSrc);
                    }
                    NHibernateSessionManager.Instance.CommitTransactionOn();
                    return(GridClintSettingProxyList);
                }
                catch (Exception ex)
                {
                    NHibernateSessionManager.Instance.RollbackTransactionOn();
                    LogException(ex, "BKartableGridClientSettings", "GetKartableGridClientSettings");
                    throw ex;
                }
            }
        }
Example #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="requestCaller"></param>
        /// <param name="MasterColArray"></param>
        /// <param name="SettingsColArray"></param>
        /// <param name="Exist"></param>
        /// <param name="CurrentSettingId"></param>
        /// <param name="CurrentUserSettingId"></param>
        public void UpdateGridSettings_Kartable(GridSettingCaller requestCaller, Dictionary <string, string> MasterColArray, Dictionary <string, string> SettingsColArray, string Exist, decimal CurrentSettingId, decimal CurrentUserSettingId)
        {
            try
            {
                KartableGridClientSettings kartableGridClientSetting = null;
                switch (requestCaller)
                {
                case GridSettingCaller.Kartable:
                    switch (Exist)
                    {
                    case "True":
                        kartableGridClientSetting = new KartableGridClientSettings {
                            ID = CurrentSettingId
                        };
                        kartableGridClientSetting.UserSetting = new UserSettings {
                            ID = CurrentUserSettingId
                        };
                        kartableGridClientSetting.Type = GridSettingCaller.Kartable;
                        foreach (PropertyInfo pInfo in typeof(KartableGridClientSettings).GetProperties())
                        {
                            foreach (KartablGridSetting setting in Enum.GetValues(typeof(KartablGridSetting)))
                            {
                                if (pInfo.Name == setting.ToString())
                                {
                                    pInfo.SetValue(kartableGridClientSetting, bool.Parse(SettingsColArray[MasterColArray[pInfo.Name]]), null);
                                    break;
                                }
                                else
                                {
                                    if (pInfo.Name != "ID" && pInfo.Name != "UserSetting" && pInfo.Name != "Type")
                                    {
                                        pInfo.SetValue(kartableGridClientSetting, false, null);
                                    }
                                }
                            }
                        }
                        rep.Update(kartableGridClientSetting);
                        break;

                    case "False":
                        kartableGridClientSetting             = new KartableGridClientSettings();
                        kartableGridClientSetting.UserSetting = new UserSettings {
                            ID = CurrentUserSettingId
                        };
                        kartableGridClientSetting.Type = GridSettingCaller.Kartable;
                        foreach (PropertyInfo pInfo in typeof(KartableGridClientSettings).GetProperties())
                        {
                            foreach (KartablGridSetting setting in Enum.GetValues(typeof(KartablGridSetting)))
                            {
                                if (pInfo.Name == setting.ToString())
                                {
                                    pInfo.SetValue(kartableGridClientSetting, bool.Parse(SettingsColArray[MasterColArray[pInfo.Name]]), null);
                                    break;
                                }
                                else
                                {
                                    if (pInfo.Name != "ID" && pInfo.Name != "UserSetting" && pInfo.Name != "Type")
                                    {
                                        pInfo.SetValue(kartableGridClientSetting, false, null);
                                    }
                                }
                            }
                        }
                        base.Insert(kartableGridClientSetting);
                        break;
                    }
                    break;

                case GridSettingCaller.SpecialKartable:
                    switch (Exist)
                    {
                    case "True":
                        kartableGridClientSetting = new KartableGridClientSettings {
                            ID = CurrentSettingId
                        };
                        kartableGridClientSetting.UserSetting = new UserSettings()
                        {
                            ID = CurrentUserSettingId
                        };
                        kartableGridClientSetting.Type = GridSettingCaller.SpecialKartable;
                        foreach (PropertyInfo pInfo in typeof(KartableGridClientSettings).GetProperties())
                        {
                            foreach (SpecialKartablGridSetting setting in Enum.GetValues(typeof(SpecialKartablGridSetting)))
                            {
                                if (pInfo.Name == setting.ToString())
                                {
                                    pInfo.SetValue(kartableGridClientSetting, bool.Parse(SettingsColArray[MasterColArray[pInfo.Name]]), null);
                                    break;
                                }
                                else
                                {
                                    if (pInfo.Name != "ID" && pInfo.Name != "UserSetting" && pInfo.Name != "Type")
                                    {
                                        pInfo.SetValue(kartableGridClientSetting, false, null);
                                    }
                                }
                            }
                        }
                        rep.Update(kartableGridClientSetting);
                        break;

                    case "False":
                        kartableGridClientSetting             = new KartableGridClientSettings();
                        kartableGridClientSetting.UserSetting = new UserSettings()
                        {
                            ID = CurrentUserSettingId
                        };
                        kartableGridClientSetting.Type = GridSettingCaller.SpecialKartable;
                        foreach (PropertyInfo pInfo in typeof(KartableGridClientSettings).GetProperties())
                        {
                            foreach (SpecialKartablGridSetting setting in Enum.GetValues(typeof(SpecialKartablGridSetting)))
                            {
                                if (pInfo.Name == setting.ToString())
                                {
                                    pInfo.SetValue(kartableGridClientSetting, bool.Parse(SettingsColArray[MasterColArray[pInfo.Name]]), null);
                                    break;
                                }
                                else
                                {
                                    if (pInfo.Name != "ID" && pInfo.Name != "UserSetting" && pInfo.Name != "Type")
                                    {
                                        pInfo.SetValue(kartableGridClientSetting, false, null);
                                    }
                                }
                            }
                        }
                        // rep.WithoutTransactSave(kartableGridClientSetting);
                        base.Insert(kartableGridClientSetting);
                        break;
                    }

                    break;

                case GridSettingCaller.Survey:
                    switch (Exist)
                    {
                    case "True":
                        kartableGridClientSetting = new KartableGridClientSettings {
                            ID = CurrentSettingId
                        };
                        kartableGridClientSetting.UserSetting = new UserSettings {
                            ID = CurrentUserSettingId
                        };
                        kartableGridClientSetting.Type = GridSettingCaller.Survey;
                        foreach (PropertyInfo pInfo in typeof(KartableGridClientSettings).GetProperties())
                        {
                            foreach (ServeyKartablGridSetting setting in Enum.GetValues(typeof(ServeyKartablGridSetting)))
                            {
                                if (pInfo.Name == setting.ToString())
                                {
                                    pInfo.SetValue(kartableGridClientSetting, bool.Parse(SettingsColArray[MasterColArray[pInfo.Name]]), null);
                                    break;
                                }
                                else
                                {
                                    if (pInfo.Name != "ID" && pInfo.Name != "UserSetting" && pInfo.Name != "Type")
                                    {
                                        pInfo.SetValue(kartableGridClientSetting, false, null);
                                    }
                                }
                            }
                        }
                        rep.Update(kartableGridClientSetting);
                        break;

                    case "False":
                        kartableGridClientSetting             = new KartableGridClientSettings();
                        kartableGridClientSetting.UserSetting = new UserSettings {
                            ID = CurrentUserSettingId
                        };
                        kartableGridClientSetting.Type = GridSettingCaller.Survey;
                        foreach (PropertyInfo pInfo in typeof(KartableGridClientSettings).GetProperties())
                        {
                            foreach (ServeyKartablGridSetting setting in Enum.GetValues(typeof(ServeyKartablGridSetting)))
                            {
                                if (pInfo.Name == setting.ToString())
                                {
                                    pInfo.SetValue(kartableGridClientSetting, bool.Parse(SettingsColArray[MasterColArray[pInfo.Name]]), null);
                                    break;
                                }
                                else
                                {
                                    if (pInfo.Name != "ID" && pInfo.Name != "UserSetting" && pInfo.Name != "Type")
                                    {
                                        pInfo.SetValue(kartableGridClientSetting, false, null);
                                    }
                                }
                            }
                        }
                        base.Insert(kartableGridClientSetting);
                        break;
                    }
                    break;

                case GridSettingCaller.RequestSubstituteKartable:
                    switch (Exist)
                    {
                    case "True":
                        kartableGridClientSetting = new KartableGridClientSettings {
                            ID = CurrentSettingId
                        };
                        kartableGridClientSetting.UserSetting = new UserSettings {
                            ID = CurrentUserSettingId
                        };
                        kartableGridClientSetting.Type = GridSettingCaller.RequestSubstituteKartable;
                        foreach (PropertyInfo pInfo in typeof(KartableGridClientSettings).GetProperties())
                        {
                            foreach (RequestSubstituteKartableGridSetting setting in Enum.GetValues(typeof(RequestSubstituteKartableGridSetting)))
                            {
                                if (pInfo.Name == setting.ToString())
                                {
                                    pInfo.SetValue(kartableGridClientSetting, bool.Parse(SettingsColArray[MasterColArray[pInfo.Name]]), null);
                                    break;
                                }
                                else
                                {
                                    if (pInfo.Name != "ID" && pInfo.Name != "UserSetting" && pInfo.Name != "Type")
                                    {
                                        pInfo.SetValue(kartableGridClientSetting, false, null);
                                    }
                                }
                            }
                        }
                        rep.Update(kartableGridClientSetting);
                        break;

                    case "False":
                        kartableGridClientSetting             = new KartableGridClientSettings();
                        kartableGridClientSetting.UserSetting = new UserSettings {
                            ID = CurrentUserSettingId
                        };
                        kartableGridClientSetting.Type = GridSettingCaller.RequestSubstituteKartable;
                        foreach (PropertyInfo pInfo in typeof(KartableGridClientSettings).GetProperties())
                        {
                            foreach (RequestSubstituteKartableGridSetting setting in Enum.GetValues(typeof(RequestSubstituteKartableGridSetting)))
                            {
                                if (pInfo.Name == setting.ToString())
                                {
                                    pInfo.SetValue(kartableGridClientSetting, bool.Parse(SettingsColArray[MasterColArray[pInfo.Name]]), null);
                                    break;
                                }
                                else
                                {
                                    if (pInfo.Name != "ID" && pInfo.Name != "UserSetting" && pInfo.Name != "Type")
                                    {
                                        pInfo.SetValue(kartableGridClientSetting, false, null);
                                    }
                                }
                            }
                        }
                        base.Insert(kartableGridClientSetting);
                        break;
                    }
                    break;
                }
            }
            catch (Exception ex)
            {
                LogException(ex, "BKartableGridClientSettings", "UpdateGridSettings_Kartable");
                throw ex;
            }
        }