public SessionWUserInfo getAuthorizedInfoByUserID(Guid guid_UserID) { CoolPrivilegeControlContext dbContext = CoolPrivilegeControlContext.CreateContext(); LoginUserRespository Respo_LU = new LoginUserRespository(dbContext, guid_UserID); SessionWUserInfo entity_SessionWUserInfo = Respo_LU.GetLoginUserAccRight(guid_UserID); return(entity_SessionWUserInfo); }
public FSerMenusResult GetMenuByAuthInfo(WCFAuthInfoVM entity_WCFAuthInfoVM) { try { //Retrieve Language And Session RetrieveLanguageAndSession(entity_WCFAuthInfoVM); List <string> strList_Error = new List <string>(); bool ret_CheckPrivilege = false; CoolPrivilegeControlContext dbContext = CoolPrivilegeControlContext.CreateContext(); FSerMenusResult ret = new FSerMenusResult(); ret_CheckPrivilege = CheckTokenOnly(entity_BaseSession, ref strList_Error); ret.StrList_Error = strList_Error; if (ret_CheckPrivilege) { FunctionRespository funRespo = new FunctionRespository(dbContext, entity_BaseSession.ID); List <FunctionVM> entityList_FunVM = funRespo.GetFuns_All(); LoginUserRespository loginUserRespo = new LoginUserRespository(dbContext, null); SessionWUserInfo entity_SessionWUserInfo = loginUserRespo.GetLoginUserAccRight(entity_BaseSession.ID); List <Guid> entityList_FId = entity_SessionWUserInfo.EntityList_FDInfo.Select(current => current.FID).ToList(); List <MenuItem> entityList_MenuItem = funRespo.GetMenuItems(entityList_FunVM, entityList_FId, languageKey); List <MenuItem> outputMenu = new List <MenuItem>(); if (entityList_MenuItem.Count > 0) { outputMenu = funRespo.ConverToHierarchyFormat(entityList_MenuItem); } ret.Json_MenuItems = outputMenu; } return(ret); } catch (Exception ex) { throw new WebFaultException <WCFErrorContract>(new WCFErrorContract(ex), System.Net.HttpStatusCode.ExpectationFailed); } }
public FunDetailInfo GetFunDetailInfo_FID(WCFAuthInfoVM entity_WCFAuthInfoVM, string str_FunID) { try { //Retrieve Language And Session RetrieveLanguageAndSession(entity_WCFAuthInfoVM); List <string> strList_Error = new List <string>(); bool ret_CheckPrivilege = false; List <LUserAccessByOrgVM> ret = new List <LUserAccessByOrgVM>(); //Contruct Login User Respository CoolPrivilegeControlContext dbContext = CoolPrivilegeControlContext.CreateContext(); LoginUserRespository entityRepos_LoginUser = new LoginUserRespository(dbContext, entity_BaseSession.ID); SessionWUserInfo entity_SessionWUserInfo = entityRepos_LoginUser.GetLoginUserAccRight(entity_BaseSession.ID); string str_E025 = MultilingualHelper.GetStringFromResource(languageKey, "E025"); if (entity_SessionWUserInfo == null) { if (!ret_CheckPrivilege) { strList_Error.Add(str_E025); } } FunDetailInfo entity_FunDetailInfo = null; if (strList_Error.Count == 0) { FunctionDetailPolicy functionDetailPolicy = new FunctionDetailPolicy(); entity_FunDetailInfo = functionDetailPolicy.GetFunDetailInfo_FID(dbContext, Guid.Parse(str_FunID)); entity_FunDetailInfo.FName = MultilingualHelper.GetStringFromResource(languageKey, entity_FunDetailInfo.FKey); } return(entity_FunDetailInfo); } catch (Exception ex) { throw new WebFaultException <WCFErrorContract>(new WCFErrorContract(ex), System.Net.HttpStatusCode.ExpectationFailed); } }
public SessionWUserInfo GetAuthInfo(WCFAuthInfoVM entity_WCFAuthInfoVM) { try { //Retrieve Language And Session RetrieveLanguageAndSession(entity_WCFAuthInfoVM); CoolPrivilegeControlContext dbContext = CoolPrivilegeControlContext.CreateContext(); LoginUserRespository loginUserRespo = new LoginUserRespository(dbContext, null); if (entity_BaseSession != null) { SessionWUserInfo entity_SessionWUserInfo = loginUserRespo.GetLoginUserAccRight(entity_BaseSession.ID); if (entity_SessionWUserInfo != null) { if (!string.IsNullOrWhiteSpace(entity_WCFAuthInfoVM.WCFClientSessionKey)) { entity_SessionWUserInfo.SessionKey = entity_WCFAuthInfoVM.WCFClientSessionKey; } else { entity_SessionWUserInfo.SessionKey = Guid.NewGuid().ToString(); } entity_SessionWUserInfo.IpAddress = entity_WCFAuthInfoVM.IpAddress; entity_SessionWUserInfo.LastOperationDt = DateTime.Now; } return(entity_SessionWUserInfo); } return(null); } catch (Exception ex) { throw new FaultException <WCFErrorContract>(new WCFErrorContract(ex), ex.Message); } }
public List <LUserAccessByOrgVM> GetEntityListByIDList_LUserAccessByOrgVM(WCFAuthInfoVM entity_WCFAuthInfoVM, List <string> strList_OrgID, List <string> strList_OrgDetailsID) { try { //Retrieve Language And Session RetrieveLanguageAndSession(entity_WCFAuthInfoVM); List <string> strList_Error = new List <string>(); bool ret_CheckPrivilege = false; List <LUserAccessByOrgVM> ret = new List <LUserAccessByOrgVM>(); CoolPrivilegeControlContext dbContext = CoolPrivilegeControlContext.CreateContext(); LoginUserRespository entityRepos_LoginUser = new LoginUserRespository(dbContext, entity_BaseSession.ID); SessionWUserInfo entity_SessionWUserInfo = entityRepos_LoginUser.GetLoginUserAccRight(entity_BaseSession.ID); string str_E025 = MultilingualHelper.GetStringFromResource(languageKey, "E025"); if (entity_SessionWUserInfo == null) { if (!ret_CheckPrivilege) { strList_Error.Add(str_E025); } } if (strList_Error.Count == 0) { LUserOrganizationRespository orgRespo = new LUserOrganizationRespository(dbContext, entity_BaseSession.ID); OrgDRespository orgDetailsRespo = new OrgDRespository(dbContext, entity_BaseSession.ID); for (int i = 0; i < strList_OrgID.Count; ++i) { LUserOrganizationVM entity_LUserOrgVM = orgRespo.GetLUOrgVM_ID(strList_OrgID[i]); LUserOrgDetailsVM entity_LUserOrgDetailsVM = orgDetailsRespo.GetLUOrgDVM_ID(strList_OrgDetailsID[i]); if (entity_LUserOrgVM != null && entity_LUserOrgDetailsVM != null) { LUserAccessByOrgVM entity_LUserAccessByOrgVM = new LUserAccessByOrgVM(); entity_LUserAccessByOrgVM.UA_Org_ID = Guid.Parse(strList_OrgID[i]); entity_LUserAccessByOrgVM.UA_OrgD_ID = Guid.Parse(strList_OrgDetailsID[i]); entity_LUserAccessByOrgVM.Entity_OrgVM = entity_LUserOrgVM; entity_LUserAccessByOrgVM.OrganizationKey = entity_LUserOrgVM.OrganizationKey; entity_LUserAccessByOrgVM.OrganizationName = MultilingualHelper.GetStringFromResource(languageKey, entity_LUserAccessByOrgVM.OrganizationKey); if (entity_LUserOrgDetailsVM != null) { entity_LUserAccessByOrgVM.Entity_OrgDVM = entity_LUserOrgDetailsVM; entity_LUserAccessByOrgVM.OrgDetailsKey = entity_LUserOrgDetailsVM.OrgDetailsKey; entity_LUserAccessByOrgVM.OrgDetailsType = entity_LUserOrgDetailsVM.OrgDetailsType; if (entity_LUserOrgDetailsVM.OrgDetailsType.HasValue) { if (entity_LUserOrgDetailsVM.OrgDetailsType.Value == 1) { entity_LUserAccessByOrgVM.OrgDetailsTypeName = MultilingualHelper.GetStringFromResource(languageKey, "SpecificFunctions"); } else if (entity_LUserOrgDetailsVM.OrgDetailsType.Value == 2) { entity_LUserAccessByOrgVM.OrgDetailsTypeName = MultilingualHelper.GetStringFromResource(languageKey, "AsRoleSetting"); } } } ret.Add(entity_LUserAccessByOrgVM); } } } return(ret); } catch (Exception ex) { throw new FaultException <WCFErrorContract>(new WCFErrorContract(ex), ex.Message); } }
public LUSerLoginResult Login(LoginUserVM entityInst, string str_Language, string str_IpAdd, string str_HostName) { try { LUSerLoginResult returnResult = new LUSerLoginResult(); SysParmRespository entityRepository = new SysParmRespository(); StaticContent.SystemInfoInst = entityRepository.RetrieveSystemInfo(); LanguageKey languageKey_Input = LanguageKey.en; Enum.TryParse <LanguageKey>(str_Language, out languageKey_Input); // Login Name cannot be empty if (string.IsNullOrWhiteSpace(entityInst.LoginName)) { string str_E001 = MultilingualHelper.GetStringFromResource(languageKey_Input, "E001"); str_E001 = string.Format(str_E001, MultilingualHelper.GetStringFromResource(languageKey_Input, "LoginName")); returnResult.StrList_Error.Add(str_E001); } // Login Password cannot be empty if (string.IsNullOrWhiteSpace(entityInst.LoginPwd)) { string str_E001 = MultilingualHelper.GetStringFromResource(languageKey_Input, "E001"); str_E001 = string.Format(str_E001, MultilingualHelper.GetStringFromResource(languageKey_Input, "LoginPwd")); returnResult.StrList_Error.Add(str_E001); } if (!string.IsNullOrWhiteSpace(entityInst.LoginName) && !string.IsNullOrWhiteSpace(entityInst.LoginPwd)) { string str_E008 = MultilingualHelper.GetStringFromResource(languageKey_Input, "E008"); str_E008 = string.Format(str_E008, MultilingualHelper.GetStringFromResource(languageKey_Input, "LoginName"), MultilingualHelper.GetStringFromResource(languageKey_Input, "LoginPwd")); string str_E009 = MultilingualHelper.GetStringFromResource(languageKey_Input, "E009"); string str_E018 = MultilingualHelper.GetStringFromResource(languageKey_Input, "E018"); CoolPrivilegeControlContext dbContext = CoolPrivilegeControlContext.CreateContext(); LoginUserRespository loginUserRespo = new LoginUserRespository(dbContext, null); LoginUserVM entityVM_exist = loginUserRespo.GetLoginUserInfo(entityInst.LoginName); if (entityVM_exist != null) { PwdPolicy pwdPolicy = new PwdPolicy(); if (!entityVM_exist.Status.HasValue || entityVM_exist.Status.Value == 2) { returnResult.StrList_Error.Add(str_E018); } else if (entityVM_exist.Status.HasValue && entityVM_exist.Status.Value == 3) { returnResult.StrList_Error.Add(str_E018); } else { if (entityVM_exist.LoginPwd == pwdPolicy.GetMD5(entityInst.LoginPwd)) { DateTime?dt_LastPwdMDT = entityVM_exist.LastPwdMDT; entityVM_exist.FailCount = 0; entityVM_exist.Status = 1; entityVM_exist.LastLoginDT = DateTime.Now; entityInst.LastPwdMDT = entityVM_exist.LastPwdMDT; List <string> strList_UpdateLastLoginDt_Error = new List <string>(); loginUserRespo.UpdateLastLoginDt(entityVM_exist, languageKey_Input, ref strList_UpdateLastLoginDt_Error); if (strList_UpdateLastLoginDt_Error.Count > 0) { foreach (var item in strList_UpdateLastLoginDt_Error) { returnResult.StrList_Error.Add(item); } } else { AuthorizedHistoryRespository authorityHistoryRespos = new AuthorizedHistoryRespository(dbContext, entityVM_exist.ID); string str_SaveAuthorizedHistory_Error = ""; //Create Login History authorityHistoryRespos.Create(new AuthorizedHistoryVM(), languageKey_Input, out str_SaveAuthorizedHistory_Error); if (!string.IsNullOrWhiteSpace(str_SaveAuthorizedHistory_Error)) { returnResult.StrList_Error.Add(str_SaveAuthorizedHistory_Error); } else { string sessionKey = Guid.NewGuid().ToString(); BaseSession entity_BaseSession = new BaseSession(); entity_BaseSession.ID = entityVM_exist.ID; entity_BaseSession.SessionKey = sessionKey; entity_BaseSession.IpAddress = str_IpAdd; entity_BaseSession.LastOperationDt = DateTime.Now; WCFAuthInfoVM entity_WCFAuthInfoVM = new WCFAuthInfoVM(str_IpAdd, str_HostName, "", "", "", "", ""); WCFSesssionPolicy wcfPolicy = new WCFSesssionPolicy(); wcfPolicy.StoreWCFSession(entity_WCFAuthInfoVM, entity_BaseSession); #region [ Set Client Authorized Info ] SessionWUserInfo entity_SessionWUserInfo = loginUserRespo.GetLoginUserAccRight(entity_BaseSession.ID); if (entity_SessionWUserInfo != null) { entity_SessionWUserInfo.SessionKey = Guid.NewGuid().ToString(); entity_SessionWUserInfo.IpAddress = entity_WCFAuthInfoVM.IpAddress; entity_SessionWUserInfo.LastOperationDt = DateTime.Now; } #endregion returnResult.Entity_SessionWUserInfo = entity_SessionWUserInfo; if (entityVM_exist.LastPwdMDT.HasValue) { returnResult.IsPWDExpire = entityVM_exist.LastPwdMDT.Value.AddDays(((SystemInfoVM)StaticContent.SystemInfoInst).Password_ExpireDays) <= DateTime.Now.Date; } returnResult.Str_ServerToken = entity_WCFAuthInfoVM.WCFAuthorizedKey; } } } else { List <string> strList_UpdateFailCount_Error = new List <string>(); loginUserRespo.UpdateFailCount(entityVM_exist, languageKey_Input, ref strList_UpdateFailCount_Error); returnResult.StrList_Error.Add(str_E008); if (strList_UpdateFailCount_Error.Count > 0) { foreach (var item in strList_UpdateFailCount_Error) { returnResult.StrList_Error.Add(item); } } } } } else { returnResult.StrList_Error.Add(str_E008); } } return(returnResult); } catch (Exception ex) { throw new FaultException <WCFErrorContract>(new WCFErrorContract(ex), ex.Message); } }