Пример #1
0
        public CYCA_CenterManagerRightViewModel GetTeamLeadersAndChildren()
        {
            var currentUser = (User)Session["CurrentUser"];
            var userId      = -1;

            if (currentUser != null)
            {
                userId = currentUser.User_Id;
            }
            var facilityID = employee.GetFacilityIdByUserID(userId);
            CYCA_CenterManagerRightViewModel returnModel = new CYCA_CenterManagerRightViewModel();

            returnModel.TeamLeaders = new List <TeamLeader>();
            //CYCA-Team Leader
            //Team Leader Role

            var    loggedInEmployee = employee.GetLoggedInEmployee(userId);
            string teamLeader       = ConfigurationManager.AppSettings["TeamLeaderRole"];
            string facilityManager  = ConfigurationManager.AppSettings["CenterManagerRole"];
            string careWorker       = ConfigurationManager.AppSettings["CareWorkerRole"];

            var teamleads = teamLeaders.GetTeamleaders(facilityID, userId, teamLeader, facilityManager);
            List <TeamLeader> leaderList = new List <TeamLeader>();

            foreach (User u in teamleads)
            {
                var worker = new TeamLeader();
                worker.FacilityId = facilityID;
                worker.Name       = u.First_Name + " " + u.Last_Name;
                worker.Desciption = "Care Worker";
                worker.Summary    = "Summary";
                worker.UserId     = u.User_Id;
                var res = db.apl_User_Image.Where(ur => ur.User_Id == u.User_Id).Select(us => us.Image_Content).SingleOrDefault();
                if (res.Length > 0)
                {
                    worker.img = Convert.ToBase64String(res);
                }

                leaderList.Add(worker);
            }

            returnModel.TeamLeaders.AddRange(leaderList);

            foreach (TeamLeader t in returnModel.TeamLeaders)
            {
                t.children = new List <CYCAChildAllocationViewModel>();
                t.children.AddRange(children.getTeamLeaderChildren(t.UserId, facilityID));
                //Get all kids below this too
                t.children.AddRange(children.getSupervisorChildren(t.UserId));
            }
            return(returnModel);
        }
Пример #2
0
        public CYCA_CenterManagerRightViewModel GetCenterManagerRightViewUpdated()
        {
            var currentUser = (User)Session["CurrentUser"];
            var userId      = -1;

            if (currentUser != null)
            {
                userId = currentUser.User_Id;
            }
            var    facilityID      = employee.GetFacilityIdByUserID(userId);
            string teamLeader      = ConfigurationManager.AppSettings["TeamLeaderRole"];
            string facilityManager = ConfigurationManager.AppSettings["CenterManagerRole"];
            string careWorker      = ConfigurationManager.AppSettings["CareWorkerRole"];

            CYCA_CenterManagerRightViewModel returnModel = new CYCA_CenterManagerRightViewModel();

            returnModel.TeamLeaders = new List <TeamLeader>();

            var levelOne = teamLeaders.GetLevelOneUsers(facilityID, teamLeader, facilityManager, careWorker);

            foreach (TeamLeaderModelView tl in levelOne)
            {
                List <CYCAChildAllocationViewModel> allChildren = new List <CYCAChildAllocationViewModel>();
                //Get All Kids
                allChildren.AddRange(children.getTeamLeaderChildren(tl.UserId, facilityID));
                var levelTwo = teamLeaders.GetLevelTwoUsers(facilityID, teamLeader, facilityManager, careWorker, tl.UserId);
                foreach (TeamLeaderModelView tll in levelTwo)
                {
                    allChildren.AddRange(children.getTeamLeaderChildren(tll.UserId, facilityID));
                }
                var levelOneLeader = new TeamLeader()
                {
                    FacilityId = facilityID,
                    Name       = tl.Name,
                    Desciption = String.Join(" ", tl.Roles.Where(r => r.Description.Contains("CYCA")).Select(r => r.Description).ToArray()).Replace("CYCA-", ""),
                    Summary    = "",
                    UserId     = tl.UserId,

                    children = new List <CYCAChildAllocationViewModel>()
                };
                var res = db.apl_User_Image.Where(ur => ur.User_Id == tl.UserId).Select(us => us.Image_Content).SingleOrDefault();
                if (res.Length > 0)
                {
                    levelOneLeader.img = Convert.ToBase64String(res);
                }
                levelOneLeader.children.AddRange(allChildren);
                returnModel.TeamLeaders.Add(levelOneLeader);
            }

            return(returnModel);
        }
Пример #3
0
        public PartialViewResult ShowRightContent(CYCARoleType type)
        {
            var currentUser = (User)Session["CurrentUser"];
            var userId      = -1;


            if (currentUser != null)
            {
                userId = currentUser.User_Id;
            }
            object viewModel;

            switch (type)
            {
            case CYCARoleType.FacilityManager:
                CYCA_CenterManagerRightViewModel returnModel = new CYCA_CenterManagerRightViewModel();
                //returnModel = GetTeamLeadersAndChildren();
                //returnModel = GetCenterManagerRightView();
                returnModel = GetCenterManagerRightViewUpdated();
                viewModel   = returnModel;
                return(PartialView("~/Views/Home/_CenterManagerRight.cshtml", viewModel));

            case CYCARoleType.TeamLeader:
                CYCA_TeamLeaderRightViewModel returnModelTeamLeader = new CYCA_TeamLeaderRightViewModel();
                returnModelTeamLeader = GetCareWorkersAndChildren();;
                viewModel             = returnModelTeamLeader;
                return(PartialView("~/Views/Home/_TeamLeaderRight.cshtml", viewModel));

            case CYCARoleType.ProvincialCoordinator:
                CYCABedSpaceRequestViewModel returnModelProv = new CYCABedSpaceRequestViewModel();
                var StatList = bedSpaceModel.GetBedStats();
                ViewBag.RequestStatusList = new SelectList(StatList, "Request_Status_Id", "Description");

                var request_Outcomes = bedSpaceModel.GetBedSpaceRequestOutcome();
                ViewBag.RequestOutcomeList = new SelectList(request_Outcomes, "Outcome_Id", "Description");

                return(PartialView("~/Views/Home/_ProvincialCoordinatorRight.cshtml"));

            case CYCARoleType.CareWorker:
            default:
                var venue_list = venues.GetAplCycaVenues();
                ViewBag.VenueList = new SelectList(venue_list, "Venue_Id", "VenueName");
                var userList = userModel.GetUserListById(userId);
                ViewBag.UsersList = new SelectList(userList, "User_Id", "fullname");
                return(PartialView("~/Views/Home/_CareWorkerRight.cshtml"));
            }
        }
Пример #4
0
        public CYCA_CenterManagerRightViewModel GetCenterManagerRightView()
        {
            var currentUser = (User)Session["CurrentUser"];
            var userId      = -1;

            if (currentUser != null)
            {
                userId = currentUser.User_Id;
            }
            var    facilityID          = employee.GetFacilityIdByUserID(userId);
            string teamLeaderRole      = ConfigurationManager.AppSettings["TeamLeaderRole"];
            bool   isCurrentTeamLeader = currentUser.Roles.Any(r => r.Description == teamLeaderRole);

            //Get All Children in facility that are assisgned to someone except the center manager
            var allChildren = children.getChildrenAssignedOtherThanCentreManager(facilityID, userId, currentUser);


            CYCA_CenterManagerRightViewModel returnModel = new CYCA_CenterManagerRightViewModel();

            returnModel.TeamLeaders = new List <TeamLeader>();
            foreach (CYCAChildAllocationViewModel c in allChildren)
            {
                var groupingId = 0;
                //Is Assigned User a Team Leader

                var isTeamLeader = teamLeaders.IsTeamLeader(teamLeaderRole, facilityID, c.User_Id);

                if (isTeamLeader == null)
                {
                    var isSuperVisorTeamLeader = teamLeaders.IsSuperVisorTeamLeader(teamLeaderRole, facilityID, c.User_Id);

                    if (isSuperVisorTeamLeader == null)
                    {
                        groupingId = c.User_Id ?? 0;
                    }
                    else
                    {
                        groupingId = isSuperVisorTeamLeader.User_Id;
                    }
                }
                else
                {
                    groupingId = isTeamLeader.User_Id;
                }
                var leader = returnModel.TeamLeaders.Where(t => t.children.Any(ch => ch.User_Id == groupingId)).SingleOrDefault();
                if (leader == null)
                {
                    var l          = userModel.GetUserByGroupingID(groupingId);
                    var teamLeader = new TeamLeader()
                    {
                        FacilityId = facilityID,
                        Name       = l.First_Name + " " + l.Last_Name,
                        Desciption = String.Join(" ", l.Roles.Where(r => r.Description.Contains("CYCA")).Select(r => r.Description).ToArray()).Replace("CYCA-", ""),
                        Summary    = "",
                        UserId     = l.User_Id
                    };
                    var res = db.apl_User_Image.Where(ur => ur.User_Id == l.User_Id).Select(us => us.Image_Content).SingleOrDefault();
                    if (res.Length > 0)
                    {
                        teamLeader.img = Convert.ToBase64String(res);
                    }
                    teamLeader.children = new List <CYCAChildAllocationViewModel>();
                    if (c.User_Id != groupingId)
                    {
                        //Belongs to another user below
                        c.User_Id      = groupingId;
                        c.Child_Status = "2";
                    }
                    else
                    {
                        c.Child_Status = "1";
                    }
                    teamLeader.children.Add(c);
                    returnModel.TeamLeaders.Add(teamLeader);
                }
                else
                {
                    leader.children.Add(c);
                }
            }
            //Get All Teamleaders Not in above
            var allTeamLeaders = teamLeaders.GetAllTeamLeadersInFacility(facilityID, teamLeaderRole);

            foreach (User u in allTeamLeaders)
            {
                if (!returnModel.TeamLeaders.Exists(t => t.UserId == u.User_Id))
                {
                    var teamLeader = new TeamLeader()
                    {
                        FacilityId = facilityID,
                        Name       = u.First_Name + " " + u.Last_Name,
                        Desciption = String.Join(" ", u.Roles.Where(r => r.Description.Contains("CYCA")).Select(r => r.Description).ToArray()).Replace("CYCA-", ""),
                        Summary    = "",
                        UserId     = u.User_Id,

                        children = new List <CYCAChildAllocationViewModel>()
                    };
                    var res = db.apl_User_Image.Where(ur => ur.User_Id == u.User_Id).Select(us => us.Image_Content).SingleOrDefault();
                    if (res.Length > 0)
                    {
                        teamLeader.img = Convert.ToBase64String(res);
                    }
                    returnModel.TeamLeaders.Add(teamLeader);
                }
            }
            return(returnModel);
        }