/// <summary> /// Create a user /// </summary> /// <param name="ownerUser"></param> /// <returns></returns> public ISPUser CreateOwnerUser(ISPUser ownerUser) { try { ownerUser.LastLoginDate = DateTime.UtcNow; var savedUser = _ownerUsers.Add(ownerUser); //var userId = (await _ownerUsers.GetAllAsync()).Max(x => x.Id); var result = CreateUserRole(ownerUser.RoleIdList as List <int>, savedUser.Id); UnitOfWork.Commit(); return(savedUser); } catch (Exception ex) { throw ex; } }
/// <summary> /// Update a user /// </summary> /// <param name="ownerUser"></param> /// <returns></returns> public async Task <bool> UpdateOwnerUser(ISPUser ownerUser) { try { var userRoleList = (await _userRoles.GetAllAsync()).Where(x => x.UserId == ownerUser.Id).ToList(); if (userRoleList.Count > 0) { foreach (var userRole in userRoleList) { _userRoles.Delete(userRole); UnitOfWork.Commit(); } } var user = await _ownerUsers.GetByIdAsync(ownerUser.Id); user.LastLoginDate = ownerUser.LastLoginDate; user.IsActive = ownerUser.IsActive; user.Name = ownerUser.Name; user.IsBlocked = ownerUser.IsBlocked; user.Email = ownerUser.Email; user.RoleIdList = ownerUser.RoleIdList; user.RoleNameList = ownerUser.RoleNameList; user.LastLoginDate = DateTime.UtcNow; _ownerUsers.Update(user); var result = CreateUserRole(ownerUser.RoleIdList as List <int>, ownerUser.Id); var updatedUser = UnitOfWork.Commit(); return((updatedUser == 0 && result == true) ? true : false); } catch (Exception ex) { throw ex; } }