public User AttatchAdminRole([FromRoute] Guid userId, [FromRoute] Guid storeId) { User user; Role adminRole = _UsersRepo.GetAdminRole(); UsersRoles userRole = _RoleFactory.CreateUserRole(userId: userId, storeId: storeId, roleId: adminRole.Id); _UsersRepo.AddUserRole(userRole); user = _UsersRepo.Get(userId); return(user); }
public ApiResponse <User> RegisterStoreAction(StoreRegistrationEntry storeRegistration) { ApiResponse <User> response = new ApiResponse <User>(); bool accountExist; bool savedAccount; bool savedStore; bool storeExist; bool addedRoleToUser; Role adminRole; try { if (storeRegistration.Store is object && storeRegistration.Account is object && storeRegistration.User is object && storeRegistration.Store.HasAllRequieredFieldsForRegistration() && storeRegistration.Account.HasAllRequierdFields() && storeRegistration.User.HasId()) { //Store storeExist = _StoreRepository.StoreExists( storeRegistration.Store.StoreOwnerName, storeRegistration.Store.StoreName, storeRegistration.Store.Location ! ); if (storeExist) { storeRegistration.Store.DateUpdated = DateTime.UtcNow; savedStore = _StoreRepository.Update(storeRegistration.Store); } else { storeRegistration.Store.DateCreated = DateTime.UtcNow; savedStore = _StoreRepository.Add(storeRegistration.Store); } // Card accountExist = _CardRepo.CardExist(storeRegistration.Account.Id); storeRegistration.Account.MyUserId = storeRegistration.User.Id; storeRegistration.Account.MyStoreId = storeRegistration.Store.Id; if (accountExist) { savedAccount = _CardRepo.Update(storeRegistration.Account); } else { savedAccount = _CardRepo.Add(storeRegistration.Account); } // Role adminRole = _UserRepo.GetAdminRole(); UsersRoles userRole = _RoleFactory.CreateUserRole( userId: storeRegistration.User.Id, storeId: storeRegistration.Store.Id, roleId: adminRole.Id ); addedRoleToUser = _UserRepo.AddUserRole(userRole); if (savedAccount is false || savedStore is false || addedRoleToUser is false) { response.Failure.ErrorsMessages.Add($"Can't complete the registration process. Try again."); } else { response.Success.SuccessMessages.Add($"The registration if the store has been succesfull."); response.Success.Data = _UserRepo.GetUserByEmailWithAll(storeRegistration.User.Email); if (response.Success.Data.MyRoles is object) { foreach (var role in response.Success.Data.MyRoles) { role.User = null; role.Store = null; } } if (response.Success.Data.MyStores is object) { foreach (var store in response.Success.Data.MyStores) { //store. } } } } else { response.Failure.ErrorsMessages.Add($"Can't complete the registration process due to uncompleted data."); } }