コード例 #1
0
        public void AddUserToGroup(int groupId, int userId)
        {
            if (groupId == 0 || userId == 0)
            {
                throw new ArgumentException("GroupId and UserId must be provided");
            }

            // Check user exists

            // Check group exists

            // Check user is already a member
            var dbItem = _dbContext.UserGroups.FirstOrDefault(x => x.GroupId == groupId && x.UserId == userId);

            if (dbItem != null)
            {
                dbItem.IsActive  = true;
                dbItem.LeaveDate = null;
            }
            else
            {
                _dbContext.UserGroups.Add(new UserGroup {
                    GroupId = groupId, UserId = userId, IsActive = true, JoinDate = DateTime.Now
                });
            }
            _dbContext.SaveChanges();
        }
コード例 #2
0
        public void AddUser(EditUserMessage userMessage)
        {
            // Check required info persist
            // Check username is not taken
            if (_dbContext.Users.AsNoTracking().Any(x => x.Username.ToLower().Equals(userMessage.Username.ToLower())))
            {
                throw new InvalidOperationException($"Username '{userMessage.Username}' is already taken");
            }

            // Check mobileNumber is unique
            // Check emailaddress is unique

            var newUser = new User
            {
                Name         = userMessage.Name,
                Surname      = userMessage.Surname,
                ProfilePhoto = userMessage.ProfilePhoto,
                Username     = userMessage.Username
            };

            if (!string.IsNullOrEmpty(userMessage.EmailAddress))
            {
                newUser.UserContacts = new List <UserContact>
                {
                    new UserContact {
                        EmailAddress    = userMessage.EmailAddress,
                        PostCode        = userMessage.PostCode,
                        TelephoneNumber = userMessage.TelephoneNumber,
                        RegionCode      = userMessage.RegionCode
                    }
                };
            }

            _dbContext.Users.Add(newUser);
            _dbContext.SaveChanges();
        }
コード例 #3
0
        public void ObfuscateUser(EditUserMessage userMessage)
        {
            if (userMessage.UserId == 0 && string.IsNullOrWhiteSpace(userMessage.Username))
            {
                throw new ArgumentException($"Either user id or username must be provided");
            }

            if (userMessage.UserId == 0 && !string.IsNullOrWhiteSpace(userMessage.Username))
            {
                userMessage.UserId = _userService.GetUserIdByUserName(userMessage.Username);
            }

            var dbUser = _dbContext.Users.Include(b => b.UserContacts).FirstOrDefault(x => x.UserId == userMessage.UserId);

            dbUser.Name         = OBFUSCATE_STRING;
            dbUser.Surname      = OBFUSCATE_STRING;
            dbUser.ProfilePhoto = OBFUSCATE_STRING;

            // Obfuscate user financial
            if (dbUser.UserFinancial != null)
            {
                dbUser.UserFinancial.IBAN          = OBFUSCATE_STRING;
                dbUser.UserFinancial.SortCode      = OBFUSCATE_STRING;
                dbUser.UserFinancial.AccountNumber = OBFUSCATE_STRING;
            }

            // Obfuscate user contacts
            if (dbUser.UserContacts != null)
            {
                foreach (var contactInfo in dbUser.UserContacts)
                {
                    contactInfo.PostCode        = OBFUSCATE_POSTCODE;
                    contactInfo.TelephoneNumber = OBFUSCATE_NUMBER;
                    contactInfo.EmailAddress    = OBFUSCATE_EMAIL;
                }
            }

            _dbContext.SaveChanges();
        }