示例#1
0
        public ActionResult UserGroupsIndex()
        {
            UserGroupsModel UGModel = new UserGroupsModel();

            try
            {
                UserDto CurrentUser = (UserDto)Session[Constants.SKCURRENTUSER];

                FormMode = string.Empty;

                Nullable <int> caID = null;
                if (!string.IsNullOrEmpty(Request.QueryString["CAId"]))
                {
                    caID = Convert.ToInt32(Request.QueryString["CAId"]);
                }

                string usertype = "";
                if (!string.IsNullOrEmpty(Request.QueryString["userType"]))
                {
                    usertype = Request.QueryString["userType"];
                }

                CriteriaOperator Operator = CriteriaOperator.Equal;
                if (usertype == "AckUser" && !Helper.IsCAIdNotNull(CurrentUser))
                {
                    UGModel.CAId = null;
                    Operator     = CriteriaOperator.IsNullOrZero;
                }
                else if (usertype == "CAUser" && (caID != null || caID != 0))
                {
                    UGModel.CAId = caID;
                }
                else
                {
                    UGModel.CAId = Helper.GetCAIdOfUser(CurrentUser);
                }

                Query     query = new Query();
                Criterion criteriaCAId;
                criteriaCAId = new Criterion(Constants.CAID, UGModel.CAId, Operator);
                query.Add(criteriaCAId);

                ViewData["UserGroupList"] = GetUserGroupsList(query);
                UGModel.ClientList        = GetCAList();
                StaticCAId = UGModel.CAId;
                ViewData["SelectedClient"] = UGModel.CAId != null?UGModel.ClientList.ToList().FindIndex(FindClient) : 0;

                ViewData["userType"] = usertype;
                ViewData["CAId"]     = UGModel.CAId;
            }
            catch (Exception)
            {
                return(RedirectToAction("Error"));
            }
            return(View("UserGroups", UGModel));
        }
        public ActionResult UserGroups()
        {
            var model = new UserGroupsModel();

            if (this.CurrentUser.HasAccess(SystemAccessEnum.AdminAccessRights))
            {
                model.UserGroupId = this.CurrentUser.GroupId;
            }

            return(View(model));
        }
        public ActionResult MoveUserToGroup(UserVM model, long UsergroupId = 0)
        {
            if (model.UserModel == null)
            {
                //this.ServiceResponse = businessService.GetBusinessModel(this.CurrentUser, model.BusinessId.Value, false);
                //BusinessModel Businessmodel = this.ServiceResponse.Model as BusinessModel;
                //model.UserModel.Business = Businessmodel;

                this.ServiceResponse = userService.GetUserModel(this.CurrentUser, model.UserId.Value, false, false);
                UserModel UserModel = this.ServiceResponse.Model as UserModel;
                model.UserModel = UserModel;
            }

            if (model.UserGroupsModel == null)
            {
                UserGroupsModel UserGroupsModel = new UserGroupsModel();
                this.ServiceResponse  = groupsService.GroupsListModel(this.CurrentUser, null);
                UserGroupsModel       = this.ServiceResponse.Model as UserGroupsModel;
                model.UserGroupsModel = UserGroupsModel;
            }

            //if (model.UserModel.Business.AccountId == null)
            //{
            //    model = Session["UserVM"] as UserVM;
            //}

            long[] usersId = new long[1];

            //UserGroupItemModel GroupItem = model.UserGroupsModel.UserGroups.FirstOrDefault();

            //if (model.UserModel.UserId != null )
            //{
            //    usersId[0] = (long)model.UserModel.UserId;
            //}

            //long groupId = 0;

            //if( GroupItem != null && GroupItem.GroupId != null)
            //{
            //    groupId = GroupItem.GroupId;
            //}

            if (model.UserId != null)
            {
                usersId[0] = (long)model.UserId;
            }

            this.ServiceResponse = groupsService.GroupUsersMove(this.CurrentUser, usersId, UsergroupId);

            //this.ServiceResponse = groupsService.GroupUsersMove(this.CurrentUser, usersId, groupId);
            //return UserGroupsUsers(null, model.UserModel.GroupId);
            return(UserGroupsUsers(null, UsergroupId));
        }
        public async Task <ActionResult <UserGroupsModel> > AddUserGroup(string userId, int groupId)
        {
            if (userId == "undefined")
            {
                return(NotFound());
            }
            UserGroupsModel entry = new UserGroupsModel
            {
                UserId  = userId,
                GroupId = groupId
            };

            _context.UserGroups.Add(entry);
            await _context.SaveChangesAsync();

            return(entry);
        }
        private async Task AddUserToGroup(string userId, int groupId)
        {
            UserGroupsModel entry = new UserGroupsModel
            {
                UserId  = userId,
                GroupId = groupId
            };

            _context.UserGroups.Add(entry);
            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateException e)
            {
                Console.WriteLine("Already in the DB");
            }
        }
        public ServiceResponse GroupsListModel(UserSessionModel user, string filter)
        {
            this.Response = new ServiceResponse();

            var groups = this.Db.QueryGroupsViewableBelowByUser(user, filter).ToList();

            // Return top level groups by selecting all groups without a parent.
            var toplevelgroups = groups.Where(g => !groups.Any(p => p.GroupId == g.ParentGroupId)).ToList();

            var items = (from g in groups
                         select new UserGroupItemModel
            {
                GroupId = g.GroupId,
                GroupName = g.Name,
                Level = g.RelativePath(toplevelgroups),
                ChildCountDeep = g.ChildrenCountDeep,
                ViewableChildCount = g.Users.Count(),
                MemberCount = g.MemberCount
            }).ToList();

            var model = new UserGroupsModel();

            model.UserGroups = items;

            model.UserGroupId = user.GroupId;

            // Make sure group id zero is never sent.
            if (model.UserGroupId.HasValue && model.UserGroupId.Value == 0)
            {
                model.UserGroupId = null;
            }

            model.UnAllocatedGroup = new UserGroupItemModel {
                ChildCountDeep = 0, GroupId = 0, GroupName = "Unallocated", Level = 1
            };

            model.UnAllocatedGroup.MemberCount = this.Db.QueryGroupUsersUnallocatedViewableByUser(user).Count();

            this.Response.Model = model;

            return(this.Response);
        }
示例#7
0
        /*
         * Get all groups a teacher has created
         * */
        public List <UserGroupsModel> GetUserGroups(string id)
        {
            List <UserGroupsModel> groupModel = new List <UserGroupsModel>();

            using (var dbConn = new SapremaFinalContext())
            {
                var grouplol = dbConn.SapGroups.Where(a => a.GroupAdmin == id).ToList();
                //var groupList = dbConn.SapGroups.Where(a => a.GroupAdmin == id).ToList();

                foreach (var record in grouplol)
                {
                    UserGroupsModel gModel = new UserGroupsModel()
                    {
                        GroupId   = record.GroupId,
                        GroupName = record.GroupName
                    };

                    groupModel.Add(gModel);
                }

                return(groupModel);
            }
        }
示例#8
0
        public async Task <UserGroupsModel> GetUserGroupsAsync(Interfaces.IDataRepo repo, string game, string user)
        {
            var userObj = await repo.GetUser(user);

            if (userObj == null)
            {
                UserGroupsModel empty = new UserGroupsModel
                {
                    UserName = "******"
                };

                return(empty);
            }

            var gameGroups = await repo.GetGroupsAsync(game);

            UserGroupsModel userGroups = new UserGroupsModel {
                UserName = user, Game = game
            };

            userGroups.UserGroups = from g in gameGroups
                                    join ug in userObj.Groups on g.id equals ug
                                    select new GroupNameModel
            {
                Id   = g.id,
                Name = g.Name
            };

            userGroups.OtherGroups = from g in gameGroups.Where(g => !userObj.Groups.Contains(g.id))
                                     select new GroupNameModel
            {
                Id   = g.id,
                Name = g.Name
            };

            return(userGroups);
        }
 public UserVM()
 {
     UserModel       = new UserModel();
     UserGroupsModel = new UserGroupsModel();
 }