/// <summary> /// Adds moderator to organization /// </summary> /// <param name="moderator">CreateModeratorViewModel</param> /// <returns>Created moderator</returns> public ModeratorViewModel CreateModerator(CreateModeratorViewModel moderator) { var roleId = _unitOfWork.RoleRepository.Read().Where(r => r.Name == UserRoles.Moderator).FirstOrDefault().Id; var user = _unitOfWork.UsersRepository.GetUser(moderator.Login); var membershipToUp = _unitOfWork.MembershipRepository.Read().Where(m => m.UserId == user.Id).FirstOrDefault(); var membership = new Membership { Id = membershipToUp.Id, OrgId = moderator.OrgId, UserId = user.Id, RoleId = roleId }; _unitOfWork.MembershipRepository.Update(membership); _unitOfWork.SaveChanges(); var result = new ModeratorViewModel { FirstName = user.FirstName, Id = user.Id, LastName = user.LastName, Login = user.Login, Email = user.Email }; return(result); }
/// <summary> /// Deletes moderator /// </summary> /// <param name="moderatorLogin"> Login of moderator to delete</param> /// <returns>lModeratorViewModel</returns> public ModeratorViewModel DeactivateModerator(string moderatorLogin) { var roleId = _unitOfWork.RoleRepository.Read().Where(r => r.Name == UserRoles.Partner).FirstOrDefault().Id; var user = _unitOfWork.UsersRepository.GetUser(moderatorLogin); var membershipToUpdate = _unitOfWork.MembershipRepository.Read().Where(m => m.UserId == user.Id).FirstOrDefault(); var membership = new Membership { Id = membershipToUpdate.Id, RoleId = roleId, UserId = user.Id, OrgId = 1 }; _unitOfWork.MembershipRepository.Update(membership); _unitOfWork.SaveChanges(); var result = new ModeratorViewModel { Id = user.Id, Login = user.Login, FirstName = user.FirstName, LastName = user.LastName, Email = user.Email }; return(result); }