public void LoadContactsFromService()
        {
            MockServiceProxy serviceProxy = new MockServiceProxy()
            {
                Users = this.users
            };
            MockUserSettings            userSettings       = new MockUserSettings();
            MockDataContextWrapper      dataContextWrapper = new MockDataContextWrapper(new MockDatabase());
            MockContactSearchController searchController   = new MockContactSearchController()
            {
                Users = this.users
            };

            RegisteredUsersViewModel ruvm = new RegisteredUsersViewModel(serviceProxy, userSettings, dataContextWrapper, searchController);

            // start loading the users from database
            NotifyCollectionOfCollectionChangedTester <UserModel> collectionChanged = new NotifyCollectionOfCollectionChangedTester <UserModel>(ruvm.RegisteredUsers);

            ruvm.Search();

            while (ruvm.IsLoading)
            {
                System.Threading.Thread.Sleep(1000);
            }

            Assert.AreEqual(this.users.Count, collectionChanged.Count, "The users were not read from the database correctly");
            Assert.AreEqual(this.users.Count, ((MockTable <UserModel>)dataContextWrapper.Table <UserModel>()).Count, "The database was not supposed to be modified.");
        }
        public JsonResult UpdateUser(RegisteredUsersViewModel user)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var userToUpdate = db.webpages_Membership.Find(user.UserId);

                    var userRole = db.webpages_UsersInRoles.Where(r => r.UserId == user.UserId).FirstOrDefault();
                    if (userRole != null)
                    {
                        Roles.RemoveUserFromRole(userToUpdate.UserProfile.UserName, userRole.webpages_Roles.RoleName);
                    }
                    Roles.AddUserToRole(userToUpdate.UserProfile.UserName, user.UserRole);

                    userToUpdate.IsConfirmed = user.IsActiveUserState;

                    if (TryUpdateModel(userToUpdate, new string[] { "IsConfirmed" }))
                    {
                        db.Entry(userToUpdate).State = System.Data.Entity.EntityState.Modified;
                        db.SaveChanges();
                    }
                }

                var users          = db.webpages_Membership.ToList();
                var usersViewModel = ArrangeUsers(users);

                return(Json(usersViewModel, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                logger.Log(LogLevel.Error, "Exception occurred in RegisterUsers -> UpdateUser: " + ex.Message);
                throw;
            }
        }
示例#3
0
        public ActionResult RegisteredUsers()
        {
            RegisteredUsersViewModel viewModel = new RegisteredUsersViewModel();
            var usersDTO = new RegisteredUsersService().Read();

            /* map DTO to ViewModel */
            if (usersDTO.NumberOf >= 0)
            {
                viewModel.HasUsers = true;

                foreach (var user in usersDTO.registeredUsers)
                {
                    viewModel.RegUsers.Add(new RegisteredUserViewModel()
                    {
                        Identifier = user.Identifier,
                        Username   = user.Username,
                        Password   = user.Password,
                        Lastname   = user.Lastname,
                        Firstname  = user.Firstname,
                        IsActive   = user.IsActive
                    });
                }
            }
            else
            {
                viewModel.Message.Text = "No registered Users found.";
            }

            return(View(viewModel));
        }
        public RegisteredUsersViewModel CreateRegisteredUsersViewModel()
        {
            RegisteredUsersViewModel usersViewModel = new RegisteredUsersViewModel();

            usersViewModel.Message = new MessageBaseViewModel();

            return(usersViewModel);
        }
        public void TestAddContactReverseAlphabeticalOrder()
        {
            MockServiceProxy serviceProxy = new MockServiceProxy()
            {
                Users = new List <UserModel>()
            };
            MockUserSettings       userSettings       = new MockUserSettings();
            MockDataContextWrapper dataContextWrapper = new MockDataContextWrapper(new MockDatabase()
            {
                Users = new List <UserModel>()
            });
            MockContactSearchController searchController = new MockContactSearchController()
            {
                Users = new List <UserModel>()
            };

            RegisteredUsersViewModel ruvm = new RegisteredUsersViewModel(serviceProxy, userSettings, dataContextWrapper, searchController);

            // start loading the users from database
            ruvm.Search();

            while (ruvm.IsLoading)
            {
                System.Threading.Thread.Sleep(1000);
            }

            NotifyCollectionOfCollectionChangedTester <UserModel> collectionChanged = new NotifyCollectionOfCollectionChangedTester <UserModel>(ruvm.RegisteredUsers);

            // Sort it in reverse order
            this.users.Sort((x, y) => { return(-1 * string.Compare(x.Name, y.Name, StringComparison.OrdinalIgnoreCase)); });

            for (int i = 0; i < this.users.Count; i++)
            {
                Messenger.Default.Send <NewContactEvent>(new NewContactEvent()
                {
                    Contact = this.users[i]
                }, userSettings);
            }

            Assert.AreEqual(this.users.Count, collectionChanged.Count, "The contact should not be added");
            Assert.AreEqual(this.users.Count, ((MockTable <UserModel>)dataContextWrapper.Table <UserModel>()).Count, "The database was not supposed to be modified.");

            // Sort it in alphabetical order and attempt to insert again
            this.users.Sort((x, y) => { return(string.Compare(x.Name, y.Name, StringComparison.OrdinalIgnoreCase)); });

            for (int i = 0; i < this.users.Count; i++)
            {
                Messenger.Default.Send <NewContactEvent>(new NewContactEvent()
                {
                    Contact = this.users[i]
                }, userSettings);
            }

            Assert.AreEqual(this.users.Count, collectionChanged.Count, "The contact should not be added");
            Assert.AreEqual(this.users.Count, ((MockTable <UserModel>)dataContextWrapper.Table <UserModel>()).Count, "The database was not supposed to be modified.");
        }
示例#6
0
        public IViewComponentResult Invoke(string title)
        {
            var users     = this.dbContext.Users.Count();
            var viewModel = new RegisteredUsersViewModel
            {
                Title = title,
                Users = users,
            };

            return(this.View(viewModel));
        }
示例#7
0
        /// <summary>
        /// Index action.
        /// </summary>
        /// <param name="eventDefinitionId"></param>
        /// <param name="identity"></param>
        /// <returns></returns>
        public ActionResult Index(MyEventsIdentity identity, int eventDefinitionId)
        {
            var eventDefinition = this._eventDefinitionRepository.GetById(eventDefinitionId);

            ValidateEventAuthorization(identity, eventDefinition);

            RegisteredUsersViewModel vm = new RegisteredUsersViewModel()
            {
                RegisteredUsers = this._registeredUserRepository.GetAllByEventId(eventDefinitionId),
                Likes           = eventDefinition.Likes
            };

            return(View(vm));
        }
        public void LoadContactsFromDatabaseAndNewServiceContacts()
        {
            List <UserModel> newUsers = new List <UserModel>();
            Random           random   = new Random();

            for (int i = 0; i < 5; i++)
            {
                newUsers.Add(new UserModel()
                {
                    Id = 1000 + 100 * i, Name = "LoadContactsFromDatabaseAndNewServiceContacts" + i, PhoneNumber = "+1 100-200-300" + i
                });
            }

            MockServiceProxy serviceProxy = new MockServiceProxy()
            {
                Users = newUsers
            };
            MockUserSettings       userSettings       = new MockUserSettings();
            MockDataContextWrapper dataContextWrapper = new MockDataContextWrapper(new MockDatabase()
            {
                Users = this.users
            });
            MockContactSearchController searchController = new MockContactSearchController()
            {
                Users = newUsers
            };

            RegisteredUsersViewModel ruvm = new RegisteredUsersViewModel(serviceProxy, userSettings, dataContextWrapper, searchController);

            // start loading the users from database
            NotifyCollectionOfCollectionChangedTester <UserModel> collectionChanged = new NotifyCollectionOfCollectionChangedTester <UserModel>(ruvm.RegisteredUsers);

            ruvm.Search();

            while (ruvm.IsLoading)
            {
                System.Threading.Thread.Sleep(1000);
            }

            Assert.AreEqual(this.users.Count + newUsers.Count, collectionChanged.Count, "The users were not read from the database correctly");
            Assert.AreEqual(this.users.Count + newUsers.Count, ((MockTable <UserModel>)dataContextWrapper.Table <UserModel>()).Count, "The database was not supposed to be modified.");
        }
        public JsonResult AddNewUser(RegisteredUsersViewModel user)
        {
            try
            {
                if (!WebSecurity.UserExists(user.UserName))
                {
                    WebSecurity.CreateUserAndAccount(user.UserName, user.Password);
                    Roles.AddUserToRole(user.UserName, user.UserRole);
                }

                var users          = db.webpages_Membership.ToList();
                var usersViewModel = ArrangeUsers(users);
                return(Json(usersViewModel, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                logger.Log(LogLevel.Error, "Exception occurred in RegisterUsers -> AddNewUser: " + ex.Message);
                throw;
            }
        }
        public void LoadContactsFromDatabaseAndAddNewContact()
        {
            MockServiceProxy serviceProxy = new MockServiceProxy()
            {
                Users = this.users
            };
            MockUserSettings       userSettings       = new MockUserSettings();
            MockDataContextWrapper dataContextWrapper = new MockDataContextWrapper(new MockDatabase()
            {
                Users = this.users
            });
            MockContactSearchController searchController = new MockContactSearchController()
            {
                Users = this.users
            };

            RegisteredUsersViewModel ruvm = new RegisteredUsersViewModel(serviceProxy, userSettings, dataContextWrapper, searchController);

            // start loading the users from database
            ruvm.Search();

            while (ruvm.IsLoading)
            {
                System.Threading.Thread.Sleep(1000);
            }

            Random    random = new Random();
            UserModel user   = new UserModel()
            {
                Id = random.Next(100, 500), Name = "LoadContactsFromDatabaseAndNewServiceContacts", PhoneNumber = "+1 100-200-3000"
            };
            NotifyCollectionOfCollectionChangedTester <UserModel> collectionChanged = new NotifyCollectionOfCollectionChangedTester <UserModel>(ruvm.RegisteredUsers);

            Messenger.Default.Send <NewContactEvent>(new NewContactEvent()
            {
                Contact = user
            }, userSettings);

            Assert.AreEqual(1, collectionChanged.Count, "The contact was not added");
            Assert.AreEqual(this.users.Count + 1, ((MockTable <UserModel>)dataContextWrapper.Table <UserModel>()).Count, "The database was not supposed to be modified.");
        }
        public void LoadContactsFromDatabaseAndAddExistingContact()
        {
            MockServiceProxy serviceProxy = new MockServiceProxy()
            {
                Users = this.users
            };
            MockUserSettings       userSettings       = new MockUserSettings();
            MockDataContextWrapper dataContextWrapper = new MockDataContextWrapper(new MockDatabase()
            {
                Users = this.users
            });
            MockContactSearchController searchController = new MockContactSearchController()
            {
                Users = this.users
            };

            RegisteredUsersViewModel ruvm = new RegisteredUsersViewModel(serviceProxy, userSettings, dataContextWrapper, searchController);

            // start loading the users from database
            ruvm.Search();

            while (ruvm.IsLoading)
            {
                System.Threading.Thread.Sleep(1000);
            }

            NotifyCollectionOfCollectionChangedTester <UserModel> collectionChanged = new NotifyCollectionOfCollectionChangedTester <UserModel>(ruvm.RegisteredUsers);

            Messenger.Default.Send <NewContactEvent>(new NewContactEvent()
            {
                Contact = this.users[0]
            });

            Assert.AreEqual(0, collectionChanged.Count, "The contact should not be added");
            Assert.AreEqual(this.users.Count, ((MockTable <UserModel>)dataContextWrapper.Table <UserModel>()).Count, "The database was not supposed to be modified.");
        }
        public JsonResult EditUser(int Id)
        {
            try
            {
                var userViewModel = new RegisteredUsersViewModel();

                var user     = db.webpages_Membership.Find(Id);
                var userRole = Roles.GetRolesForUser(user.UserProfile.UserName).FirstOrDefault();
                userViewModel.UserId            = user.UserId;
                userViewModel.UserName          = user.UserProfile.UserName;
                userViewModel.UserRoleId        = db.webpages_UsersInRoles.Where(u => u.UserId == user.UserId).FirstOrDefault()?.RoleId;
                userViewModel.CreatedDate       = user.CreateDate;
                userViewModel.ModifiedDate      = user.PasswordChangedDate;
                userViewModel.IsActiveUser      = (user.IsConfirmed == true) ? "Yes" : "No";
                userViewModel.IsActiveUserState = user.IsConfirmed;
                userViewModel.UserRole          = userRole;
                return(Json(userViewModel, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                logger.Log(LogLevel.Error, "Exception occurred in RegisterUsers -> EditUser: " + ex.Message);
                throw;
            }
        }
 public IList <RegisteredUsersViewModel> ArrangeUsers(IList <webpages_Membership> users)
 {
     try
     {
         var usersViewModel = new List <RegisteredUsersViewModel>();
         foreach (var userItem in users)
         {
             var userViewModel = new RegisteredUsersViewModel();
             userViewModel.UserId       = userItem.UserId;
             userViewModel.UserName     = userItem.UserProfile.UserName;
             userViewModel.UserRole     = Roles.GetRolesForUser(userItem.UserProfile.UserName).FirstOrDefault();
             userViewModel.CreatedDate  = userItem.CreateDate;
             userViewModel.ModifiedDate = userItem.PasswordChangedDate;
             userViewModel.IsActiveUser = (userItem.IsConfirmed == true) ? "Yes" : "No";
             usersViewModel.Add(userViewModel);
         }
         return(usersViewModel);
     }
     catch (Exception ex)
     {
         logger.Log(LogLevel.Error, "Exception occurred in RegisterUsers -> ArrangeUsers: " + ex.Message);
         throw;
     }
 }
        public void TestContactGroups()
        {
            MockServiceProxy serviceProxy = new MockServiceProxy()
            {
                Users = new List <UserModel>()
            };
            MockUserSettings       userSettings       = new MockUserSettings();
            MockDataContextWrapper dataContextWrapper = new MockDataContextWrapper(new MockDatabase()
            {
                Users = new List <UserModel>()
            });
            MockContactSearchController searchController = new MockContactSearchController()
            {
                Users = new List <UserModel>()
            };

            RegisteredUsersViewModel ruvm = new RegisteredUsersViewModel(serviceProxy, userSettings, dataContextWrapper, searchController);

            // start loading the users from database
            ruvm.Search();

            while (ruvm.IsLoading)
            {
                System.Threading.Thread.Sleep(1000);
            }

            NotifyCollectionOfCollectionChangedTester <UserModel> collectionChanged = new NotifyCollectionOfCollectionChangedTester <UserModel>(ruvm.RegisteredUsers);
            int id = 1;

            // Add one user whose first letter is 't'
            UserModel tUser = new UserModel()
            {
                Name = "tUser", Id = id++, PhoneNumber = "123 456 789" + id
            };

            Messenger.Default.Send <NewContactEvent>(new NewContactEvent()
            {
                Contact = tUser
            }, userSettings);

            Assert.AreEqual(1, collectionChanged.Count, "The contact should not be added");
            Assert.AreEqual(1, ((MockTable <UserModel>)dataContextWrapper.Table <UserModel>()).Count, "The database was not supposed to be modified.");
            Assert.AreEqual(1, ruvm.RegisteredUsers.Count, "Wrong number of contact groups created");

            // Add another user whose first letter is 'd'
            UserModel dUser = new UserModel()
            {
                Name = "dUser", Id = id++, PhoneNumber = "123 456 789" + id
            };

            Messenger.Default.Send <NewContactEvent>(new NewContactEvent()
            {
                Contact = dUser
            }, userSettings);

            Assert.AreEqual(2, collectionChanged.Count, "The contact should not be added");
            Assert.AreEqual(2, ((MockTable <UserModel>)dataContextWrapper.Table <UserModel>()).Count, "The database was not supposed to be modified.");
            Assert.AreEqual(2, ruvm.RegisteredUsers.Count, "Wrong number of contact groups created");

            // Add another user whose first letter is 's'
            UserModel sUser = new UserModel()
            {
                Name = "sUser", Id = id++, PhoneNumber = "123 456 789" + id
            };

            Messenger.Default.Send <NewContactEvent>(new NewContactEvent()
            {
                Contact = sUser
            }, userSettings);

            Assert.AreEqual(3, collectionChanged.Count, "The contact should not be added");
            Assert.AreEqual(3, ((MockTable <UserModel>)dataContextWrapper.Table <UserModel>()).Count, "The database was not supposed to be modified.");
            Assert.AreEqual(3, ruvm.RegisteredUsers.Count, "Wrong number of contact groups created");

            // Add another user whose first letter is 'd'
            UserModel dSecondUser = new UserModel()
            {
                Name = "dSecondUser", Id = id++, PhoneNumber = "123 456 789" + id
            };

            Messenger.Default.Send <NewContactEvent>(new NewContactEvent()
            {
                Contact = dSecondUser
            }, userSettings);

            Assert.AreEqual(4, collectionChanged.Count, "The contact should not be added");
            Assert.AreEqual(4, ((MockTable <UserModel>)dataContextWrapper.Table <UserModel>()).Count, "The database was not supposed to be modified.");
            Assert.AreEqual(3, ruvm.RegisteredUsers.Count, "Wrong number of contact groups created");

            // Add another user whose first letter is 's'.
            UserModel sSecondUser = new UserModel()
            {
                Name = "sSecondUser", Id = id++, PhoneNumber = "123 456 789" + id
            };

            Messenger.Default.Send <NewContactEvent>(new NewContactEvent()
            {
                Contact = sSecondUser
            }, userSettings);

            Assert.AreEqual(5, collectionChanged.Count, "The contact should not be added");
            Assert.AreEqual(5, ((MockTable <UserModel>)dataContextWrapper.Table <UserModel>()).Count, "The database was not supposed to be modified.");
            Assert.AreEqual(3, ruvm.RegisteredUsers.Count, "Wrong number of contact groups created");

            // Add another user whose first letter is 's'. Try different position in
            // the 's' groups sorted list
            UserModel sZUser = new UserModel()
            {
                Name = "sZUser", Id = id++, PhoneNumber = "123 456 789" + id
            };

            Messenger.Default.Send <NewContactEvent>(new NewContactEvent()
            {
                Contact = sZUser
            }, userSettings);

            Assert.AreEqual(6, collectionChanged.Count, "The contact should not be added");
            Assert.AreEqual(6, ((MockTable <UserModel>)dataContextWrapper.Table <UserModel>()).Count, "The database was not supposed to be modified.");
            Assert.AreEqual(3, ruvm.RegisteredUsers.Count, "Wrong number of contact groups created");
        }