/// <summary> /// Get target and parent target /// </summary> /// <param name="context"></param> /// <returns></returns> public List <ParentTarget> GetParentTargets(AuthorizationContext context) { string sql = "SELECT t.ATGTID TargetID, tt.APRNTTGTID ParentTargetID, Level " + " FROM TACTS032 t " + " LEFT JOIN TACTS033 tt ON tt.ATGTID = t.ATGTID " + " AND tt.ADLFL = '0' " + " WHERE t.ADLFL = '0' " + " START WITH tt.APRNTTGTID IS NULL " + " CONNECT BY PRIOR t.ATGTID = tt.APRNTTGTID " + " ORDER BY Level"; FileSqlDefinitionFactory factory = new FileSqlDefinitionFactory("ArchUnits/RoleBaseAuth/V2/"); DataQuery query = new DataQuery(context, factory).AppendQuery(sql); var parentTargetDetails = query.GetList <ParentTarget>(); return(parentTargetDetails); }
/// <summary> /// Return roles and parent role. /// </summary> /// <param name="context"></param> /// <returns></returns> public List <ParentRole> GetParentRoles(AuthorizationContext context) { string sql = "SELECT r.ARLID RoleID, rr.APRNTRLID ParentRoleID, Level " + " FROM TACTS029 r " + " LEFT JOIN TACTS030 rr ON rr.ARLID = r.ARLID " + " AND rr.ADLFL = '0' " + " WHERE r.ADLFL = '0' " + " START WITH rr.APRNTRLID IS NULL " + " CONNECT BY PRIOR r.ARLID = rr.APRNTRLID " + " ORDER BY Level"; FileSqlDefinitionFactory factory = new FileSqlDefinitionFactory("ArchUnits/RoleBaseAuth/V2/"); DataQuery query = new DataQuery(context, factory).AppendQuery(sql); var parentRoleDetails = query.GetList <ParentRole>(); return(parentRoleDetails); }
private Employee GetAuthenticatedUserInfo(string userID) { using (EmployeeInformationEntities context = EmployeeInformationEntities.CreateContext()) { FileSqlDefinitionFactory factory = new FileSqlDefinitionFactory("ServiceUnits/Actos/V1/"); DataQuery query = new DataQuery(context, factory, logContext).AppendQuery(sql); query.SetParameter("UserID", userID); Employee userInfo = query.GetList <Employee>().FirstOrDefault(); if (userInfo == null) { throw new InvalidOperationException(Resources.UserNotExist); } return(userInfo); } }
/// <summary> /// DataQuery の初期化処理をパイプラインに追加します。 /// </summary> /// <param name="pipe"></param> /// <param name="queryName"></param> /// <param name="context"></param> /// <param name="factory"></param> /// <returns></returns> public static Pipe DataQuery(this Pipe pipe, string queryName) { Contract.NotNull(pipe, "pipe"); Contract.NotEmpty(queryName, "queryName"); pipe.UseDefaultAction(false, (request) => { var parameter = request.Context.GetDataQueryParameters(queryName); DbContext context = parameter.DbContext; ISqlDefinitionFactory factory = new FileSqlDefinitionFactory(request.Context.GetVersionFisicalDirectory()); LogContext logContext = request.Context.GetLogContext(); DataQuery query = new DataQuery(context, factory, logContext, queryName); query.AppendNamedQuery(queryName); return(request.CreateResponse(HttpStatusCode.OK, query)); }); return(pipe); }
private Employee GetAuthenticatedUserInfo(string userID) { var config = ServiceConfigurationLoader.Load(); var dir = config.AppSettings["employeeInfoQueryDir"]; var domains = ((JArray)config.AppSettings["employeeInfoTargetDomains"]).ToList(); //@archwaytest.local var whereClases = domains.Select(d => { return(string.Format("LOWER(TUSR001.AML) = LOWER(CONCAT(:UserID/*VARCHAR2(500)*/, '@{0}'))", d.Value <string>())); }); var newQuery = string.Format(sql, string.Join(" OR ", whereClases)); using (EmployeeInformationEntities context = EmployeeInformationEntities.CreateContext()) { FileSqlDefinitionFactory factory = new FileSqlDefinitionFactory("ServiceUnits/Actos/V1/"); DataQuery query = new DataQuery(context, factory, logContext).AppendQuery(newQuery); query.SetParameter("UserID", userID); return(query.GetList <Employee>().FirstOrDefault()); } }