Ejemplo n.º 1
0
        /// <summary>
        /// Gets the edit user view.
        /// </summary>
        /// <param name="user">The user.</param>
        /// <param name="message">The message.</param>
        /// <returns></returns>
        /// <exception cref="ArgumentNullException">
        /// user
        /// or
        /// companyList
        /// or
        /// appRoleCollection
        /// </exception>
        public IUserViewModel GetEditUserView(IUserViewModel user, string message)
        {
            if (user == null)
            {
                throw new ArgumentNullException(nameof(user));
            }

            var companyList = this.lookupRepository.GetCompanyCollection();

            if (companyList == null)
            {
                throw new ArgumentNullException(nameof(companyList));
            }

            var appRoleCollection = this.lookupRepository.GetAppRole();

            if (appRoleCollection == null)
            {
                throw new ArgumentNullException(nameof(appRoleCollection));
            }

            var returnView = this.usersViewsModelFactory.CreateEditUserView(user, companyList, appRoleCollection, message);

            return(returnView);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Creates the edit user view.
        /// </summary>
        /// <param name="userDetail">The user detail.</param>
        /// <param name="companyCollection">The company collection.</param>
        /// <param name="appRoleCollection">The application role collection.</param>
        /// <param name="processingMessage">The processing message.</param>
        /// <returns></returns>
        /// <exception cref="ArgumentNullException">
        /// userDetail
        /// or
        /// companyCollection
        /// or
        /// appRoleCollection
        /// </exception>
        public IUserViewModel CreateEditUserView(IUserViewModel userDetail, IList <ICompanyDetail> companyCollection,
                                                 IList <IAppRole> appRoleCollection, string processingMessage)
        {
            if (userDetail == null)
            {
                throw new ArgumentNullException(nameof(userDetail));
            }

            if (companyCollection == null)
            {
                throw new ArgumentNullException(nameof(companyCollection));
            }

            if (appRoleCollection == null)
            {
                throw new ArgumentNullException(nameof(appRoleCollection));
            }

            var companyDropDown = GetDropDownList.CompanyListItems(companyCollection, -1);

            var appRoleDropDown = GetDropDownList.AppRoleListItems(appRoleCollection, -1);

            userDetail.CompanyDropDown   = companyDropDown;
            userDetail.RoleDropDown      = appRoleDropDown;
            userDetail.ProcessingMessage = processingMessage;

            return(userDetail);
        }
        public Response BlockUser(IUserViewModel userModel)
        {
            var result = new Response();

            using (var context = ContextFactory())
            {
                try
                {
                    var user = context.Set <TEntity>().FirstOrDefault(w => w.Id == userModel.Id && !w.IsDeleted);
                    if (user != null)
                    {
                        user.IsBlock              = !userModel.IsActive;
                        user.EditDate             = DateTime.Now;
                        user.PasswordFailureCount = 0;
                        context.SaveChanges();

                        result.AddSucces(
                            $"Uzytkownik {user.Login} został {(userModel.IsActive ? "odblokowany" : "zablokowany")}");
                    }
                    else
                    {
                        result.AddError("Brak użytkownika");
                    }
                }
                catch (Exception e)
                {
                    //LoggerManager.Log(e);
                    //transaction.Rollback();
                    result.AddError("Bład zapisu");
                }
            }

            return(result);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Saves the edit user information.
        /// </summary>
        /// <param name="users">The users.</param>
        /// <returns></returns>
        /// <exception cref="ArgumentNullException">users</exception>
        public string SaveEditUserInfo(IUserViewModel users)
        {
            if (users == null)
            {
                throw new ArgumentNullException(nameof(users));
            }

            var result = string.Empty;

            try
            {
                using (
                    var dbContext = (HRMSEntities)this.dbContextFactory.GetDbContext(ObjectContextType.HRMS))
                {
                    var recordInfo = dbContext.Users.Find(users.UserId);

                    recordInfo.CompanyId = users.CompanyId;

                    dbContext.SaveChanges();
                }
            }
            catch (Exception e)
            {
                result = string.Format("SaveEditUserInfo - {0} , {1}", e.Message,
                                       e.InnerException != null ? e.InnerException.Message : "");
            }
            return(result);
        }
        public Response DeleteUser(IUserViewModel userModel)
        {
            var result = new Response();

            using (var context = ContextFactory())
            {
                try
                {
                    var user = context.Set <TEntity>().FirstOrDefault(w => w.Id == userModel.Id && !w.IsDeleted);
                    if (user != null)
                    {
                        user.IsDeleted  = true;
                        user.DeleteDate = DateTime.Now;

                        context.SaveChanges();

                        result.AddSucces($"Uzytkownik {user.Login} został skasowany");
                    }
                    else
                    {
                        result.AddError("Brak użytkownika");
                    }
                }
                catch (Exception e)
                {
                    //LoggerManager.Log(e);
                    //transaction.Rollback();
                    result.AddError("Bład zapisu");
                }
            }

            return(result);
        }
 public HomeController(IUserManager userManager, IUserViewModel userViewModel, IClassViewModel classViewModel, IUserClassManager userClassManager)
 {
     this.userManager      = userManager;
     this.userViewModel    = userViewModel;
     this.classViewModel   = classViewModel;
     this.userClassManager = userClassManager;
 }
Ejemplo n.º 7
0
 public ViewResult Index()
 {
     if (viewModelProp.sysUsers == null)
     {
         viewModelProp = getUserList();
     }
     return View(viewModelProp);
 }
Ejemplo n.º 8
0
 public ViewResult Index()
 {
     if (viewModelProp.sysUsers == null)
     {
         viewModelProp = getUserList();
     }
     return(View(viewModelProp));
 }
Ejemplo n.º 9
0
        public AdministrationWorkspaceViewModel(IEventAggregator eventAggregator,
                                                IUserViewModel userViewModel,
                                                IUserGroupWorkspaceViewModel userGroupWorkspaceViewModel) : base(eventAggregator)
        {
            _userViewModel = userViewModel;
            _userGroupWorkspaceViewModel = userGroupWorkspaceViewModel;

            DisplayName = "مدیریت";
        }
Ejemplo n.º 10
0
        public void IndexTest()
        {
            //Get a manual mock repository (IUserViewModel instance)
            //that includes two users, to be injected as a constructor parameter.
            IUserViewModel  viewModel = new myUserViewModel();
            UsersController target    = new UsersController(viewModel);

            ViewResult     actual = target.Index();
            IUserViewModel result = (IUserViewModel)actual.Model;

            Assert.AreEqual(result.sysUsers.Count, 2);
        }
Ejemplo n.º 11
0
 public UsersController(IHttpContextAccessor _httpContextAccessor,
                        AdminContext context,
                        IRbacService rbacService,
                        IUserViewModel userViewModel,
                        IUserForm userForm,
                        IStorageService storage)
 {
     httpContextAccessor = _httpContextAccessor;
     _context            = context;
     rbac      = rbacService;
     _userForm = userForm;
     _storage  = storage;
 }
Ejemplo n.º 12
0
        public GameViewModel(IGameModel gameModel, IUserViewModel userViewModel, IUserCollection userCollection)
        {
            this.gameModel                  = gameModel;
            this.userViewModel              = userViewModel;
            this.userCollection             = userCollection;
            this.gameModel.PropertyChanged += GameModel_PropertyChanged;
            this.User1.PropertyChanged     += User1_PropertyChanged;
            this.User2.PropertyChanged     += User1_PropertyChanged;
            if (User1.Army.Count() != 0)
            {
                int i = 0;
                foreach (var mage in User1.Army)
                {
                    var mageViewModel = new MageKnightBattleViewModel(mage, this.User1);
                    mageViewModel.PropertyChanged += MageViewModel_PropertyChanged;
                    double range  = mageViewModel.Range;
                    double speed  = mageViewModel.Dial.Click.Speed.Value;
                    double max    = Math.Max(range, speed);
                    double height = max * 100;
                    double x      = height - 50 - 1100;
                    double y      = height - 50 - 200;

                    mageViewModel.XCord = -x + 100 * i;
                    mageViewModel.YCord = -y;
                    i++;
                    userViewModel.ArmyViewModels.Add(mageViewModel);
                    activeMageKnights.Add(mageViewModel);
                }
            }
            if (User2.Army.Count() != 0 && User2.Id != User1.Id)
            {
                int i = 0;
                foreach (var mage in User2.Army)
                {
                    var    mageViewModel = new MageKnightBattleViewModel(mage, this.User2);
                    double range         = mageViewModel.Range;
                    double speed         = mageViewModel.Dial.Click.Speed.Value;
                    double max           = Math.Max(range, speed);
                    double height        = max * 100;
                    double x             = height - 50 - 1100;
                    double y             = height - 50 - 3700;

                    mageViewModel.XCord = -x + 100 * i;
                    mageViewModel.YCord = -y;
                    i++;
                    mageViewModel.PropertyChanged += MageViewModel_PropertyChanged;
                    userViewModel.ArmyViewModels.Add(mageViewModel);
                    activeMageKnights.Add(mageViewModel);
                }
            }
        }
Ejemplo n.º 13
0
 public void ShowAskPaymentMessageBox(IUserViewModel userVm)
 {
     AskPaymentCustomMessageBox messageBox =
                    new AskPaymentCustomMessageBox(userVm.Name)
                    {
                        BillStr = userVm.BillStr
                    };
     messageBox.Dismissed += (s1, e1) =>
     {
         if (e1.Result == CustomMessageBoxResult.LeftButton)
         {
             userVm.Bill -= messageBox.PaymentSum;
             if (userVm.Bill < 0) userVm.Bill = 0;
         }
     };
     messageBox.Show();
 }
        public MainViewModelCommand(ConnectionProperties connectionProperties,
                                    IPlayerViewModel playerViewModel,
                                    IFactionViewModel factionViewModel,
                                    IUserViewModel userViewModel)
        {
            _connectionProperties = connectionProperties;
            PlayerViewModel       = playerViewModel;
            FactionViewModel      = factionViewModel;
            UserViewModel         = userViewModel;

            _showRegisterNewUserWindowCommand = new RelayCommand(ShowRegisterNewUserWindow);
            _showPlayersWindowCommand         = new RelayCommand(ShowPlayersWindow);
            _showFactionsWindowCommand        = new RelayCommand(ShowFactionsWindow);
            _showAuthOptionsWindowCommand     = new RelayCommand(ShowAuthOptionsWindow);

            _exitCommand = new RelayCommand(Exit);
        }
Ejemplo n.º 15
0
        private IUserViewModel getUserList()
        {
            if (Session[SessionEnum.UserViewModel] != null)
            {
                viewModelProp = (UserViewModel)Session[SessionEnum.UserViewModel];
            }

            IList <Models.SysUser> userList = new List <Models.SysUser>();

            string      xmlFile = Server.MapPath("~/Domain/Users.xml");
            XmlDocument doc     = new XmlDocument();

            doc.Load(xmlFile);

            string emailAddress = string.Empty;
            string password     = string.Empty;
            string firstName    = string.Empty;
            string lastName     = string.Empty;

            Models.SysUser user = null;
            viewModelProp.sysUsers = userList;

            XmlNodeList nodes = doc.GetElementsByTagName("User");

            //Deserialize xml file into IList<Models.SysUser>
            foreach (XmlNode node in nodes)
            {
                //create user and add to users collection...
                emailAddress = node.Attributes["EmailAddress"].Value;
                password     = node.Attributes["Password"].Value;
                firstName    = node.Attributes["FirstName"].Value;
                lastName     = node.Attributes["LastName"].Value;

                user = new Models.SysUser
                {
                    EmailAddress = emailAddress,
                    Password     = password,
                    FirstName    = firstName,
                    LastName     = lastName
                };

                userList.Add(user);
            }
            return(viewModelProp);
        }
        public MainWindow(IDataService dataService, IUserViewModel userViewModel)
        {
            if (dataService == null)
            {
                throw new ArgumentNullException(string.Format($"Argument {nameof(dataService)} must not be null."));
            }

            if (userViewModel == null)
            {
                throw new ArgumentNullException(string.Format($"Argument {nameof(userViewModel)} must not be null."));
            }

            _dataService  = dataService;
            UserViewModel = userViewModel;

            this.DataContext = UserViewModel;

            InitializeComponent();
        }
Ejemplo n.º 17
0
 public void ShowAskPaymentMessageBox(IUserViewModel userVm, Action<double> okClickedAction)
 {
     Activity currentActivity = Mvx.Resolve<IMvxAndroidCurrentTopActivity>().Activity;
     EditText editText = new EditText(currentActivity)
     {
         Hint = AppResources.SumWithCurrencyUnit,
         InputType = InputTypes.NumberFlagDecimal
     };
     new AlertDialog.Builder(currentActivity)
         .SetTitle(AppResources.DecreaseBillOfUserPart1 + userVm.Name + AppResources.DecreaseBillOfUserPart2)
         .SetMessage(AppResources.DecreaseBillOfUserBillNow + " " + userVm.BillStr)
         .SetPositiveButton(AppResources.Ok, (s, e) =>
         {
             double result = 0;
             double.TryParse(editText.Text, NumberStyles.AllowDecimalPoint, CultureInfo.CurrentCulture, out result);
             okClickedAction(result);
         })
         .SetNegativeButton(AppResources.Cancel, (s, e) => { })
         .SetView(editText)
         .Show();
 }
Ejemplo n.º 18
0
        public void UserForm_AddUserDuplicateEmailTest()
        {
            IUserViewModel  viewModel = new myUserViewModel();
            UsersController target    = new UsersController(viewModel);
            SysUser         sysUser   = new MockUserAdmin.Models.SysUser
            {
                EmailAddress = "*****@*****.**",
                Password     = "******",
                FirstName    = "User1",
                LastName     = "Test"
            };

            int UserCountBefore = viewModel.sysUsers.Count;

            ViewResult     actual = target.UserForm(sysUser);
            IUserViewModel result = (IUserViewModel)actual.Model;

            int UserCountAfter = result.sysUsers.Count;

            Assert.AreEqual(UserCountAfter, UserCountBefore);
        }
Ejemplo n.º 19
0
        public void UserForm_AddUserTest()
        {
            IUserViewModel  viewModel = new myUserViewModel();
            UsersController target    = new UsersController(viewModel);
            SysUser         sysUser   = new MockUserAdmin.Models.SysUser
            {
                EmailAddress = "*****@*****.**",
                Password     = "******",
                FirstName    = "Unique",
                LastName     = "User"
            };

            int UserCountBefore = viewModel.sysUsers.Count;

            ViewResult     actual = target.UserForm(sysUser);
            IUserViewModel result = (IUserViewModel)actual.Model;

            int UserCountAfter = result.sysUsers.Count;

            //confirm a user was added...
            Assert.AreEqual(UserCountAfter, UserCountBefore + 1);
        }
Ejemplo n.º 20
0
        /// <summary>
        /// Processes the edit user.
        /// </summary>
        /// <param name="users">The users.</param>
        /// <returns></returns>
        /// <exception cref="ArgumentNullException">users</exception>
        public string ProcessEditUser(IUserViewModel users)
        {
            if (users == null)
            {
                throw new ArgumentNullException(nameof(users));
            }

            var processingMessage = string.Empty;
            var isDataOkay        = true;

            //validate User Entry

            //If user Data is not Valid
            if (!isDataOkay)
            {
                return(processingMessage);
            }

            //Store User Information to database
            processingMessage = this.usersRepository.SaveEditUserInfo(users);

            return(processingMessage);
        }
Ejemplo n.º 21
0
 public InsertCommand(IUserViewModel viewModel)
 {
     _viewModel = viewModel;
 }
Ejemplo n.º 22
0
 public UserDataModificationPage(MainWindow window, IUserViewModel user)
     : base(window)
 {
     InitializeComponent();
     m_ViewModel = user;
 }
Ejemplo n.º 23
0
        //private IWindow _window;


        //private ConnectionProperties _connectionProperties;



        //public IPlayerViewModel PlayerViewModel { get; }
        //public IFactionViewModel FactionViewModel { get; }

        public MainViewModel(ConnectionProperties connectionProperties, IPlayerViewModel playerViewModel, IFactionViewModel factionViewModel, IUserViewModel userViewModel) :
            base(connectionProperties, playerViewModel, factionViewModel, userViewModel)
        {
            //_connectionProperties = connectionProperties;
            //PlayerViewModel = playerViewModel;
            //FactionViewModel = factionViewModel;
        }
Ejemplo n.º 24
0
        PostProfileAsync(IUserViewModel uploadModel, RequestContext requestContext)
        {
            var profileResult        = new IdentityManagerResult <PostProfileResultState, (IUserViewModel, string)>();
            var userTitle            = Dependencies.LocalizationService.Localize("General.User");
            var userDoesntExistTitle = Dependencies.LocalizationService.Localize("Adm.User.NotExist");

            profileResult.Data = (uploadModel, userTitle);
            MedioClinicUser user = null;

            try
            {
                user = await UserManager.FindByIdAsync(uploadModel.CommonUserViewModel.Id);
            }
            catch (Exception ex)
            {
                HandlePostProfileException(ref profileResult, ex, PostProfileResultState.UserNotFound);
                profileResult.Data = (uploadModel, userDoesntExistTitle);

                return(profileResult);
            }

            var commonUserModelCustomMappings = new Dictionary <(string propertyName, Type propertyType), object>
            {
                { (nameof(MedioClinicUser.Email), typeof(string)), uploadModel.CommonUserViewModel.EmailViewModel.Email },
            };

            try
            {
                // Map the common user properties.
                user = UserModelService.MapToMedioClinicUser(uploadModel.CommonUserViewModel, user, commonUserModelCustomMappings);

                // Map all other potential properties of specific models (patient, doctor, etc.)
                user = UserModelService.MapToMedioClinicUser(uploadModel, user);
            }
            catch (Exception ex)
            {
                HandlePostProfileException(ref profileResult, ex, PostProfileResultState.UserNotMapped);

                return(profileResult);
            }

            try
            {
                // We need to use the user store directly due to the design of Microsoft.AspNet.Identity.Core.UserManager.UpdateAsync().
                await UserStore.UpdateAsync(user);

                var avatarFile = uploadModel.CommonUserViewModel.AvatarFile;

                if (avatarFile != null)
                {
                    var avatarBinary = FileManager.GetPostedFileBinary(avatarFile);
                    AvatarRepository.UploadUserAvatar(user, avatarBinary);
                }
            }
            catch (Exception ex)
            {
                HandlePostProfileException(ref profileResult, ex, PostProfileResultState.UserNotUpdated);

                return(profileResult);
            }

            (var model, var title) = GetViewModelByUserRoles(user, requestContext, true);

            if (model != null)
            {
                profileResult.Success     = true;
                profileResult.ResultState = PostProfileResultState.UserUpdated;
                profileResult.Data        = (model, title);
            }

            return(profileResult);
        }
Ejemplo n.º 25
0
 public DeleteCommand(IUserViewModel viewModel)
 {
     _viewModel = viewModel;
 }
        public Response EditUser(IUserViewModel userModel)
        {
            var result = new Response();

            using (var context = ContextFactory())
            {
                try
                {
                    if (
                        context.Set <TEntity>()
                        .Any(w => w.Login == userModel.Login && w.Id != userModel.Id && !w.IsDeleted))
                    {
                        result.AddError("Login nie jest unikalny");
                        return(result);
                    }


                    var user = context.Set <TEntity>().FirstOrDefault(w => w.Id == userModel.Id && !w.IsDeleted);
                    if (user == null)
                    {
                        SafeManager.HashString(userModel.Password, out var hash, out var salt);

                        user = new TEntity
                        {
                            Nazwisko = userModel.Nazwisko,
                            Imie     = userModel.Imie,
                            IsBlock  = !userModel.IsActive,
                            Rola     = userModel.Rola,
                            EditDate = DateTime.Now,
                            AddDate  = DateTime.Now,
                            Email    = userModel.Email,
                            Login    = userModel.Login,
                            Password = hash,
                            Salt     = salt
                        };
                        context.Set <TEntity>().Add(user);
                        result.AddSucces($"Użytkownik {userModel.Login} został dodany.");
                    }
                    else
                    {
                        user.Nazwisko = userModel.Nazwisko;
                        user.Imie     = userModel.Imie;
                        user.IsBlock  = !userModel.IsActive;
                        user.Rola     = userModel.Rola;
                        user.EditDate = DateTime.Now;
                        user.Email    = userModel.Email;
                        user.Login    = userModel.Login;
                        result.AddSucces($"Użytkownik {userModel.Login} został zedytowany.");
                    }

                    context.SaveChanges();
                }
                catch (Exception e)
                {
                    //LoggerManager.Log(e);
                    //transaction.Rollback();
                    result.AddError("Bład zapisu");
                }
            }

            return(result);
        }
Ejemplo n.º 27
0
 public UserDisplay(IUserViewModel model)
 {
     this.model = model;
 }
Ejemplo n.º 28
0
 //Constructor dependency injection...
 public UsersController(IUserViewModel viewModel)
 {
     viewModelProp = viewModel;
 }
Ejemplo n.º 29
0
 public UserCenter(IUserViewModel viewModel) : base(viewModel)
 {
 }
Ejemplo n.º 30
0
        public ViewResult UserForm(SysUser sysUser)
        {
            // INSERT SYSUSER...
            //   VALIDATED by ModelState:
            //   * Values exist for each required field.
            //   * EmailAddress is correct format.
            //   VALIDATED in code, following:
            //   * EmailAddress is unique in the data.
            if (ModelState.IsValid)
            {
                string emailAddress = sysUser.EmailAddress;
                string password = sysUser.Password;
                string firstName = sysUser.FirstName;
                string lastName = sysUser.LastName;

                if (viewModelProp.sysUsers == null)
                {
                    //Not a test...
                    viewModelProp = getUserList();
                }

                IList<Models.SysUser> userList = viewModelProp.sysUsers;

                //Validate uniqueness of new user's email address...
                var match = from u in userList
                            where u.EmailAddress == emailAddress
                            select u;

                if (match.Count() > 0)
                {
                    // EmailAddress not unique in data.  Return to sender.
                    ViewBag.Message = "You already have a login.  No need to register again.";
                    return View("Index", viewModelProp);
                }
                else
                {
                    //Add user to the list...
                    userList.Add(sysUser);

                    //Sort records by email address, into a new collection...
                    IEnumerable<SysUser> orderedList = from u in userList
                                                    orderby u.EmailAddress
                                                    select u;
                    IList<SysUser> newIList = new List<SysUser>();

                    // Serialize list to XML...
                    XmlDocument xmlUsers = new XmlDocument();
                    XmlDeclaration dec = xmlUsers.CreateXmlDeclaration("1.0", null, null);
                    xmlUsers.AppendChild(dec);
                    XmlElement root = xmlUsers.CreateElement("Users");
                    xmlUsers.AppendChild(root);

                    foreach (Models.SysUser u in orderedList)
                    {
                        XmlElement nextUser = xmlUsers.CreateElement("User");
                        nextUser.SetAttribute("EmailAddress", u.EmailAddress);
                        nextUser.SetAttribute("Password", u.Password);
                        nextUser.SetAttribute("FirstName", u.FirstName);
                        nextUser.SetAttribute("LastName", u.LastName);

                        root.AppendChild(nextUser);
                        //add sorted member to new collection...
                        newIList.Add((Models.SysUser)u);
                    }
                    // replace unsorted List<> with new sorted one...
                    viewModelProp.sysUsers = newIList;

                    //Persist the updated Model:
                    PersistUsers(xmlUsers);
                }
                return View("Index", viewModelProp);
            }
            else
            {
                //Invalid, based on model field validation
                //performed in MockUserAdmin.Models.sysUsers.
                return View(viewModelProp.sysUsers);
            }
        }
Ejemplo n.º 31
0
 //Constructor dependency injection...
 public UsersController(IUserViewModel viewModel)
 {
     viewModelProp = viewModel;
 }
Ejemplo n.º 32
0
 public LoginWindow(IUserViewModel viewModel)
 {
     DataContext = viewModel;
     InitializeComponent();
 }
Ejemplo n.º 33
0
 public LoginView()
 {
     ViewModel = AddinContext.Container.Resolve <IUserViewModel>();
     InitializeComponent();
 }
Ejemplo n.º 34
0
        public ViewResult UserForm(SysUser sysUser)
        {
            // INSERT SYSUSER...
            //   VALIDATED by ModelState:
            //   * Values exist for each required field.
            //   * EmailAddress is correct format.
            //   VALIDATED in code, following:
            //   * EmailAddress is unique in the data.
            if (ModelState.IsValid)
            {
                string emailAddress = sysUser.EmailAddress;
                string password     = sysUser.Password;
                string firstName    = sysUser.FirstName;
                string lastName     = sysUser.LastName;

                if (viewModelProp.sysUsers == null)
                {
                    //Not a test...
                    viewModelProp = getUserList();
                }

                IList <Models.SysUser> userList = viewModelProp.sysUsers;

                //Validate uniqueness of new user's email address...
                var match = from u in userList
                            where u.EmailAddress == emailAddress
                            select u;

                if (match.Count() > 0)
                {
                    // EmailAddress not unique in data.  Return to sender.
                    ViewBag.Message = "You already have a login.  No need to register again.";
                    return(View("Index", viewModelProp));
                }
                else
                {
                    //Add user to the list...
                    userList.Add(sysUser);

                    //Sort records by email address, into a new collection...
                    IEnumerable <SysUser> orderedList = from u in userList
                                                        orderby u.EmailAddress
                                                        select u;
                    IList <SysUser> newIList = new List <SysUser>();

                    // Serialize list to XML...
                    XmlDocument    xmlUsers = new XmlDocument();
                    XmlDeclaration dec      = xmlUsers.CreateXmlDeclaration("1.0", null, null);
                    xmlUsers.AppendChild(dec);
                    XmlElement root = xmlUsers.CreateElement("Users");
                    xmlUsers.AppendChild(root);

                    foreach (Models.SysUser u in orderedList)
                    {
                        XmlElement nextUser = xmlUsers.CreateElement("User");
                        nextUser.SetAttribute("EmailAddress", u.EmailAddress);
                        nextUser.SetAttribute("Password", u.Password);
                        nextUser.SetAttribute("FirstName", u.FirstName);
                        nextUser.SetAttribute("LastName", u.LastName);

                        root.AppendChild(nextUser);
                        //add sorted member to new collection...
                        newIList.Add((Models.SysUser)u);
                    }
                    // replace unsorted List<> with new sorted one...
                    viewModelProp.sysUsers = newIList;

                    //Persist the updated Model:
                    PersistUsers(xmlUsers);
                }
                return(View("Index", viewModelProp));
            }
            else
            {
                //Invalid, based on model field validation
                //performed in MockUserAdmin.Models.sysUsers.
                return(View(viewModelProp.sysUsers));
            }
        }
Ejemplo n.º 35
0
        private IUserViewModel getUserList()
        {
            if (Session[SessionEnum.UserViewModel] != null)
            {
                viewModelProp = (UserViewModel)Session[SessionEnum.UserViewModel];
            }

            IList<Models.SysUser> userList = new List<Models.SysUser>();

            string xmlFile = Server.MapPath("~/Domain/Users.xml");
            XmlDocument doc = new XmlDocument();
            doc.Load(xmlFile);

            string emailAddress = string.Empty;
            string password = string.Empty;
            string firstName = string.Empty;
            string lastName = string.Empty;

            Models.SysUser user = null;
            viewModelProp.sysUsers = userList;

            XmlNodeList nodes = doc.GetElementsByTagName("User");

            //Deserialize xml file into IList<Models.SysUser>
            foreach (XmlNode node in nodes)
            {
                //create user and add to users collection...
                emailAddress = node.Attributes["EmailAddress"].Value;
                password = node.Attributes["Password"].Value;
                firstName = node.Attributes["FirstName"].Value;
                lastName = node.Attributes["LastName"].Value;

                user = new Models.SysUser
                {
                    EmailAddress = emailAddress,
                    Password = password,
                    FirstName = firstName,
                    LastName = lastName
                };

                userList.Add(user);
            }
            return viewModelProp;
        }
Ejemplo n.º 36
0
 public RegisterWindow(IUserViewModel viewModel)
 {
     DataContext = viewModel;
     InitializeComponent();
 }