예제 #1
0
        public bool UpdateUser(UserInfoManagementInDTO user, Guid userInfoId)
        {
            try
            {
                var currentUser = _userInfoRepository.FindByID(user.UserInfoId ?? Guid.Empty);

                if (currentUser == null)
                {
                    return(false);
                }

                var emailExists = _userInfoRepository.FindAll().Any(x => x.Email.ToLower() == user.Email.ToLower() && user.UserInfoId != currentUser.UserInfoId);

                if (emailExists)
                {
                    return(false);
                }

                currentUser.Address    = user.Address;
                currentUser.EntityId   = user.CompanyId;
                currentUser.ContactNo  = user.ContactNo;
                currentUser.Country    = user.Country;
                currentUser.Email      = user.Email;
                currentUser.FirstName  = user.FirstName;
                currentUser.LastName   = user.LastName;
                currentUser.Position   = user.Position;
                currentUser.Status     = user.Status;
                currentUser.Timezone   = user.Timezone;
                currentUser.ModifiedOn = Localization.GetUTCDateNow();
                currentUser.ModifiedBy = userInfoId;
                _userInfoRepository.Update(currentUser);


                var exisitingMappedRoles = _userRoleRepository.FindAll().Where(x => x.UserId == currentUser.UserInfoId);

                foreach (var existingMappedRole in exisitingMappedRoles)
                {
                    _userRoleRepository.Remove(existingMappedRole.UserRoleId);
                }

                foreach (var mappedRole in user.RoleMappingItems)
                {
                    var userRole = new UserRole();
                    userRole.UserId     = currentUser.UserInfoId;
                    userRole.RoleId     = mappedRole.RoleId;
                    userRole.CreatedBy  = userInfoId;
                    userRole.CreatedOn  = Localization.GetUTCDateNow();
                    userRole.ModifiedBy = userInfoId;
                    userRole.ModifiedOn = Localization.GetUTCDateNow();
                    _userRoleRepository.Add(userRole, true);
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            return(true);
        }
예제 #2
0
        public JsonResult UpdateUser(Guid userId, [FromBody] UserInfoManagementInDTO user)
        {
            var identity   = _contextAccessor.HttpContext.User.Identity;
            var userInfoId = Security.GetUserInfoId(identity);

            if (user == null || userId == null)
            {
                throw new Exception("Something is missing in the payload or Id");
            }

            var status = _userInfoService.UpdateUser(user, userInfoId);

            return(Json(status));
        }
예제 #3
0
        public bool CreateUser(UserInfoManagementInDTO user, Guid userInfoId, string imageURL)
        {
            try
            {
                if (ValidateEmail(user.Email) != Guid.Empty)
                {
                    return(false);
                }

                var userInfo = new UserInfo();
                userInfo.Address    = user.Address;
                userInfo.EntityId   = user.CompanyId;
                userInfo.ContactNo  = user.ContactNo;
                userInfo.Country    = user.Country;
                userInfo.Email      = user.Email;
                userInfo.FirstName  = user.FirstName;
                userInfo.LastName   = user.LastName;
                userInfo.Position   = user.Position;
                userInfo.Status     = user.Status;
                userInfo.Timezone   = user.Timezone;
                userInfo.CreatedBy  = userInfoId;
                userInfo.ModifiedBy = userInfoId;
                userInfo.ModifiedOn = Localization.GetUTCDateNow();
                userInfo.CreatedOn  = Localization.GetUTCDateNow();
                userInfo.UserInfoId = Guid.NewGuid();
                userInfo.ImageURL   = imageURL;

                var userId = _userInfoRepository.Add(userInfo);

                foreach (var mappedRole in user.RoleMappingItems)
                {
                    var userRole = new UserRole();
                    userRole.UserId     = userId;
                    userRole.RoleId     = mappedRole.RoleId;
                    userRole.CreatedBy  = userInfoId;
                    userRole.CreatedOn  = Localization.GetUTCDateNow();
                    userRole.ModifiedBy = userInfoId;
                    userRole.ModifiedOn = Localization.GetUTCDateNow();
                    _userRoleRepository.Add(userRole, true);
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            return(true);
        }
예제 #4
0
        public async Task <JsonResult> CreateUser([FromBody] UserInfoManagementInDTO user)
        {
            var identity   = _contextAccessor.HttpContext.User.Identity;
            var userInfoId = Security.GetUserInfoId(identity);

            if (user == null)
            {
                throw new Exception("Error");
            }

            var organizationName = Common.GetSubDomainByContextRequest(_contextAccessor.HttpContext);

            var defaultImageURL = await _azureService.SetProfileImageToDefault(Guid.NewGuid(), organizationName);

            var status = _userInfoService.CreateUser(user, userInfoId, defaultImageURL);

            return(Json(status));
        }