コード例 #1
0
        /// <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);
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
        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);
            }
        }
コード例 #4
0
        /// <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);
        }
コード例 #5
0
        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());
            }
        }