コード例 #1
0
 public RoleGroupUpdateHandler(GlobalSolusindoDb db, tblM_User user, RoleGroupValidator roleGroupValidator, RoleGroupFactory roleGroupFactory, RoleGroupQuery roleGroupQuery, AccessControl accessControl) : base(db, user)
 {
     this.roleGroupValidator         = roleGroupValidator;
     this.roleGroupFactory           = roleGroupFactory;
     this.roleGroupQuery             = roleGroupQuery;
     this.roleGroupEntryDataProvider = new RoleGroupEntryDataProvider(db, user, accessControl, roleGroupQuery);
 }
コード例 #2
0
        private List <RoleGroupDTO> GetRoleGroups()
        {
            var mappingUserToRoleGroups = GetMappingUserToRoleGroups();
            var roleGroupPKs            = mappingUserToRoleGroups.Select(x => x.RoleGroup_PK);
            var roleGroups = new RoleGroupQuery(this.Db).GetQuery().Where(x => roleGroupPKs.Contains(x.RoleGroup_PK)).ToList();

            return(roleGroups);
        }
コード例 #3
0
 public MenuGenerator(GlobalSolusindoDb db)
 {
     this.db                     = db;
     roleQuery                   = new RoleQuery(db);
     roleGroupQuery              = new RoleGroupQuery(db);
     mappingUserRoleQuery        = new MappingUserToRoleGroupQuery(db);
     mappingRoleToRoleGroupQuery = new MappingRoleToRoleGroupQuery(db);
 }
コード例 #4
0
 public IHttpActionResult Get(int id)
 {
     ThrowIfUserHasNoRole(readRole);
     using (RoleGroupQuery roleGroupQuery = new RoleGroupQuery(Db))
     {
         var data = roleGroupQuery.GetByPrimaryKey(id);
         SaveLog("RoleGroup", "Get", JsonConvert.SerializeObject(new { primaryKey = id }));
         return(Ok(new SuccessResponse(data)));
     }
 }
コード例 #5
0
        public IHttpActionResult Get(int id)
        {
            string accessType = "RoleGroup_ViewAll";

            ThrowIfUserCannotAccess(accessType);
            using (RoleGroupQuery roleGroupQuery = new RoleGroupQuery(Db))
            {
                var data = roleGroupQuery.GetByPrimaryKey(id);
                SaveLog("RoleGroup", "Get", JsonConvert.SerializeObject(new { primaryKey = id }));
                return(Ok(new SuccessResponse(data)));
            }
        }
コード例 #6
0
        private void AddSOWTrackResultIfUserRoleIsDriver(MobileCheckInDTO checkInDTO, DateTime dateStamp)
        {
            var possibleDriverRoleNames = new List <string>()
            {
                "Driver",
                "DT",
                "Drive Tester (DT)"
            };

            var jabatans = Db.tblM_KategoriJabatan.Where(x => x.Title.Contains("DT") || x.Title.Contains("Drive") || x.KategoriJabatan_PK == 2);

            var sowAssign = new SOWAssignQuery(Db).GetByPrimaryKey(checkInDTO.SOWAssign_FK);

            if (sowAssign == null)
            {
                throw new NullReferenceException($"Failed to create sow track result while checkin, taskid or assignId '{checkInDTO.SOWAssign_FK}' doesn't exist.");
            }

            var user = Db.tblM_User.Find(sowAssign.User_FK);

            if (user == null)
            {
                throw new NullReferenceException($"Failed to create sow track result while checkin, user id '{sowAssign.User_FK}' doesn't exist.");
            }

            var roleGroups = new RoleGroupQuery(Db).GetByUserFk(sowAssign.User_FK);

            var userIsDriver =
                roleGroups.Where(x => possibleDriverRoleNames.Contains(x.Title)).Count() > 0 ||
                jabatans.Where(x => x.KategoriJabatan_PK == user.KategoriJabatan_FK).Count() > 0;

            if (userIsDriver)
            {
                if (string.IsNullOrEmpty(checkInDTO.TaskNetwork))
                {
                    throw new Kairos.KairosException($"Task network is required for driver checkin.");
                }

                if (sowAssign != null)
                {
                    var sowTrack = new SOWTrackQuery(Db).GetBySOWFKAndTechnologyTitle(sowAssign.SOW_FK, checkInDTO.TaskNetwork);

                    if (sowTrack != null)
                    {
                        SOWTrackResultDTO sowTrackResultDTO = new SOWTrackResultDTO()
                        {
                            CheckIn_FK  = checkInDTO.CheckIn_PK,
                            SOWTrack_FK = sowTrack.SOWTrack_PK,
                            Status_FK   = 1,
                        };

                        SOWTrackResultFactory sowTrackResultFactory = new SOWTrackResultFactory(Db, User);
                        tblT_SOWTrackResult   sowTrackResult        = sowTrackResultFactory.CreateFromDTO(sowTrackResultDTO, dateStamp);
                        Db.tblT_SOWTrackResult.Add(sowTrackResult);
                    }
                    else
                    {
                        throw new Kairos.KairosException($"Invalid task network '{checkInDTO.TaskNetwork}', it's not registered in sow register.");
                    }
                }
            }
        }
コード例 #7
0
 public RoleGroupEntryDataProvider(GlobalSolusindoDb db, tblM_User user, AccessControl accessControl, RoleGroupQuery roleGroupQuery) : base(db, user)
 {
     this.accessControl  = accessControl;
     this.roleGroupQuery = roleGroupQuery;
 }