/// <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; } } }
/// <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; } }