示例#1
0
				public void JoinGroupAsCustomUser (CustomUserEditModel user, int groupid)
				{
					var gmd = new GroupMembershipEditModel ();
					gmd.AccountNumberString = user.AccountNumberString;
					gmd.GroupId = groupid;

					_groupMembershipDal.SaveMemberToGroup (gmd);
				}
示例#2
0
				public GroupHomeEditModel GroupHomeEditModelByGroupId (int groupid)
				{
					var result = new GroupHomeEditModel ();
					var userlist = new List<CustomUserEditModel> ();

					var liu = _httpContextAccessor.HttpContext.User;
					var loggedinuser = CustomUserModelByLoggedInUser (liu);
					//var loggedinuser = _httpContextAccessor.HttpContext.Session.GetObjectFromJson<CustomUserEditModel>("LoggedInUser");

					var group = _groupDal.GetGroupById (groupid);

					var admin = _customUserDal.CustomUserByAccountNumber (group.InsertedBy);

					result.GroupAdmin = admin;
					//if the user is the person who created the group assign them to admin.
					result.GroupAdminBool = group.InsertedBy == loggedinuser.AccountNumberString;

					result.Update (group);

					var groupmembership = _groupMembershipDal.AllGroupMembersByGroupId (groupid);

					foreach (var g in groupmembership)
					{
						var user = new CustomUser ();
						var cu = new CustomUserEditModel ();
						user = _customUserDal.CustomUserByAccountNumber (g.AccountNumberString);
						cu.Update (user);
						userlist.Add (cu);
					}

					if (groupmembership.Any (x => x.AccountNumberString == loggedinuser.AccountNumberString))
						result.IsAuthorized = true;
					else
						result.IsAuthorized = false;

					//check to see if the pairings have been assigned: (AKA - You have your secret santa)
					var pairings = _groupPairingsDal.GroupPairingsByGroupId (groupid);

					if (pairings.Count >= 1)
						result.PairingsAssigned = true;
					else
						result.PairingsAssigned = false;

					result.GroupMembers = userlist;
					result.GroupMembershipModelList = groupmembership;
					result.NewGroup = false;
					//result.GroupConditions = conditions;

					return result;
				}
示例#3
0
        public CustomUserEditModel CheckUserByCustomUserAccountNumber(CustomUserEditModel model)
        {
            //First check to see if this user exists
            //_customUserDal.SaveUser(model);
            //var exists = _customUserDal.CustomUserByAccountNumber(model.AccountNumberString);

            if (model.NewUser)
            {
                var m = new CustomUser();
                m.Update(model);

                var saved = _customUserDal.SaveUser(m);

                model.Update(saved);
                return(model);
            }
            return(model);
        }
示例#4
0
				public MyGroupsViewModel MyGroupsViewModelByUserId (CustomUserEditModel user)
				{
					var result = new MyGroupsViewModel ();
					result.MyGroups = new List<Group> ();
					var grouplist = new List<Group> ();

					var groupsibelongto =
						_groupMembershipDal.GroupsBelongingToUserAccountNumberString (user.AccountNumberString);

					foreach (var g in groupsibelongto)
					{
						var group = new Group ();
						group = _groupDal.GetGroupById (g.GroupId);
						grouplist.Add (group);
					}

					result.MyGroups = grouplist;

					return result;
				}
示例#5
0
        public CustomUserEditModel CustomUserModelByLoggedInUser(ClaimsPrincipal user)
        {
            var acctid = user.Claims.FirstOrDefault(c => c.Type == ClaimTypes.NameIdentifier).Value;

            //resharper ignore nullcheck
            if (acctid == null)
            {
                throw new AppException("Error getting account number");
            }

            var existinguser = _customUserDal.CustomUserByAccountNumber(acctid);

            if (existinguser != null)
            {
                var existingusereditmodel = new CustomUserEditModel();
                existingusereditmodel.Update(existinguser);
                existingusereditmodel.NewUser = false;
                return(existingusereditmodel);
            }


            var result = new CustomUserEditModel();
            var name   = user.Identity.Name;
            var email  = user.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Email).Value;

            if (email == null)
            {
                throw new AppException("Error getting email from auth0");
            }

            var pic = user.Claims.FirstOrDefault(c => c.Type == "picture")?.Value;

            result.AccountNumberString = acctid;
            result.FullName            = name;
            result.Email        = email;
            result.ProfileImage = pic;
            result.NewUser      = true;
            result.UserId       = 0;
            return(result);
        }