Example #1
0
        public ResultHelper AddUserRole(UserRoleDto userRoleDto)
        {
            try
            {
                if (IsThere(userRoleDto))
                {
                    return(new ResultHelper(false, 0, ResultHelper.UnSuccessMessage + "\n" + ResultHelper.IsThereItem));
                }
                userrole item = new userrole();
                item.UserRoleID          = userRoleDto.UserRoleID;
                item.UserRoleName        = userRoleDto.UserRoleName;
                item.UserRoleDescription = userRoleDto.UserRoleDescription;
                item.Active = userRoleDto.Active;

                using (UnitOfWork unitOfWork = new UnitOfWork())
                {
                    unitOfWork.GetRepository <userrole>().Insert(item);
                    unitOfWork.saveChanges();
                    return(new ResultHelper(true, item.UserRoleID, ResultHelper.SuccessMessage));
                }
            }
            catch (Exception ex)
            {
                return(new ResultHelper(false, 0, ResultHelper.UnSuccessMessage));
            }
        }
        public void UserShouldNotBeLoggedInWhenInvalidLoginDetails()
        {
            EmailAddress = "*****@*****.**";
            Password     = "******";

            user loginUser = new user();

            loginUser.Name     = "userName";
            loginUser.Email    = "*****@*****.**";
            loginUser.Password = "******";
            loginUser.UserId   = 1;

            userrole newUserRole = new userrole();

            newUserRole.UserRoleId = 1;
            newUserRole.RoleId     = 1;
            newUserRole.UserId     = 1;

            serviceClient.Setup(s => s.GetUser(EmailAddress)).Returns(loginUser);
            serviceClient.Setup(s => s.GetUserRole(loginUser)).Returns(newUserRole);

            viewModel.ExecuteLoginUserCommand();

            serviceClient.Verify(s => s.GetUser(EmailAddress), Times.Exactly(1));
            serviceClient.Verify(s => s.GetUserRole(loginUser), Times.Exactly(1));

            //Message box appears to say incorrect. More of a UI test
        }
Example #3
0
        public void UserShouldBeLoggedInWhenValidLoginDetails()
        {
            EmailAddress = "*****@*****.**";
            Password     = "******";

            user loginUser = new user();

            loginUser.Name     = "userName";
            loginUser.Email    = "*****@*****.**";
            loginUser.Password = "******";
            loginUser.UserId   = 1;

            userrole newUserRole = new userrole();

            newUserRole.UserRoleId = 1;
            newUserRole.RoleId     = 1;
            newUserRole.UserId     = 1;

            serviceClient.Setup(s => s.GetUserAsync(It.IsAny <String>())).Returns(Task.FromResult(loginUser));
            serviceClient.Setup(s => s.GetUserRoleAsync(loginUser)).Returns(Task.FromResult(newUserRole));

            viewModel.ExecuteLoginUserCommand();

            serviceClient.Verify(s => s.GetUserAsync(It.IsAny <String>()), Times.Exactly(1));
            serviceClient.Verify(s => s.GetUserRoleAsync(It.IsAny <user>()), Times.Exactly(1));
        }
        public void UserShouldNotBeLoggedInIfWrongUserRole()
        {
            EmailAddress = "*****@*****.**";
            Password     = "******";

            user loginUser = new user();

            loginUser.Name     = "userName";
            loginUser.Email    = "*****@*****.**";
            loginUser.Password = "******";
            loginUser.UserId   = 1;

            userrole newUserRole = new userrole();

            newUserRole.UserRoleId = 1;
            newUserRole.RoleId     = 2;
            newUserRole.UserId     = 1;

            serviceClient.Setup(s => s.GetUser(EmailAddress)).Returns(loginUser);
            serviceClient.Setup(s => s.GetUserRole(loginUser)).Returns(newUserRole);

            viewModel.ExecuteLoginUserCommand();

            serviceClient.Verify(s => s.GetUser(EmailAddress), Times.Exactly(1));
            serviceClient.Verify(s => s.GetUserRole(loginUser), Times.Exactly(1));
        }
        public void ExecuteRegisterUserCommand()
        {
            user newUser = new user();

            newUser.Email    = this.emailAddress;
            newUser.Password = this.password;
            newUser.Name     = this.name;

            if (!DoesUserAlreadyExist(newUser.Email))
            {
                long userId = this.serviceClient.SaveUser(newUser);

                userrole newUserRole = new userrole();
                newUserRole.UserId = userId;
                newUserRole.RoleId = 1;

                this.serviceClient.SaveUserRole(newUserRole);

                MessageBoxResult messageBox = MessageBox.Show("You have successfully registered!", "Success");

                Messenger.Default.Send <UpdateViewMessage>(new UpdateViewMessage()
                {
                    UpdateViewTo = "LoginViewModel"
                });
            }
            else
            {
                //-http://www.c-sharpcorner.com/UploadFile/mahesh/messagebox-in-wpf/
                MessageBoxResult messageBox = MessageBox.Show("This email address already exists!", "Invalid details");
                EmailAddress = String.Empty;
            }
        }
Example #6
0
        public async Task <ResultCrmDb> AddRoleForLevelOrgAsync(RoleCreateArgs args)
        {
            var result = new ResultCrmDb();

            try
            {
                if ((await _crmDbContext.userrole.FirstOrDefaultAsync(r => r.LevelOrgId == args.IdLevelorg & r.Name == args.CaptionRole)) != null)
                {
                    result.AddError("", "Такая роль уже существует!");
                    return(result);
                }
                var role = new userrole();
                role.LevelOrgId = args.IdLevelorg;
                role.Name       = args.CaptionRole;
                role.Sysname    = args.CaptionRole;
                await _crmDbContext.userrole.AddAsync(role);

                await _crmDbContext.SaveChangesAsync();
            }
            catch (Exception e)
            {
                result.AddError("", e.Message);
            }
            return(result);
        }
Example #7
0
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            userrole userrole = await db.userroles.FindAsync(id);

            db.userroles.Remove(userrole);
            await db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
Example #8
0
 /// <summary>
 /// Method that saves new UserRole data into the 'userroles' table.
 /// </summary>
 /// <param name="newUserRole"></param>
 public void SaveUserRole(userrole newUserRole)
 {
     using (var context = new TreasureHuntEntities())
     {
         context.userroles.AddObject(newUserRole);
         context.SaveChanges();
         context.ObjectStateManager.ChangeObjectState(newUserRole, System.Data.EntityState.Added);
     }
 }
Example #9
0
        public async Task <ActionResult> Edit([Bind(Include = "userroleId,rolename,roledescription")] userrole userrole)
        {
            if (ModelState.IsValid)
            {
                db.Entry(userrole).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            return(View(userrole));
        }
Example #10
0
        public async Task <ActionResult> Create([Bind(Include = "userroleId,rolename,roledescription")] userrole userrole)
        {
            if (ModelState.IsValid)
            {
                db.userroles.Add(userrole);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            return(View(userrole));
        }
 protected void btnAddRole_Click(object sender, EventArgs e)
 {
     using (EnshineUnionDataContext db = new EnshineUnionDataContext())
     {
         userrole url = new userrole();
         url.rolename     = txtRoleName.Value.Trim();
         url.roledescribe = txtFckContent.Value.Trim();
         url.powerid      = hfRole.Value.Trim().TrimEnd(',');
         url.addTime      = DateTime.Now;;
         db.userrole.InsertOnSubmit(url);
         db.SubmitChanges();
     }
     Response.Redirect("UserRoleManager.aspx?mid=" + Request["mid"]);
 }
Example #12
0
        // GET: /Administration/userroles/Details/5
        public async Task <ActionResult> Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            userrole userrole = await db.userroles.FindAsync(id);

            if (userrole == null)
            {
                return(HttpNotFound());
            }
            return(View(userrole));
        }
Example #13
0
        //Change this to private and use reflection for testing
        public void ExecuteSaveHuntNameCommand()
        {
            if (!DoesHuntAlreadyExist(HuntName))
            {
                hunt newHunt = new hunt();
                newHunt.HuntName        = this.huntName;
                newHunt.Password        = this.Password;
                newHunt.HuntDescription = this.Description;
                long huntId = this.serviceClient.SaveNewHunt(newHunt);

                userrole newUserRole = this.serviceClient.GetUserRole(this.currentUser);

                userhunt newUserHunt = new userhunt();
                newUserHunt.HuntId     = huntId;
                newUserHunt.UserId     = this.currentUser.UserId;
                newUserHunt.UserRoleId = newUserRole.UserRoleId;

                this.serviceClient.SaveUserHunt(newUserHunt);

                //Grabs the correct hunt's ID and passes it into the view hunt view.
                //Ensures that the hunt has been saved to the database before it goes and grab's it
                hunt huntToView = serviceClient.GetHuntBasedOnName(newHunt.HuntName);

                Messenger.Default.Send <UpdateViewMessage>(new UpdateViewMessage()
                {
                    UpdateViewTo = "ViewHuntViewModel"
                });
                Messenger.Default.Send <SelectedHuntMessage>(new SelectedHuntMessage()
                {
                    CurrentHunt = huntToView
                });
                Messenger.Default.Send <ViewUpdatedMessage>(new ViewUpdatedMessage()
                {
                    UpdatedView = true
                });

                HuntName        = null;
                Password        = null;
                RetypedPassword = null;
                Description     = null;
            }
            else
            {
                String           messageBoxText = "This hunt already exists in the database.";
                String           caption        = "Hunt Already Exists";
                MessageBoxResult box            = MessageBox.Show(messageBoxText, caption);
                HuntName = null;
            }
        }
        /// <summary>
        /// Method that attempts to check if the email address supplied on screen exists in the database and is associated with
        /// an administrative user.
        /// </summary>
        public async void ExecuteCheckEmailAddressCommand()
        {
            if (connectionChecker.IsInternetConnected())
            {
                PopupDisplayed = true;

                //Grab the user associated with the given email address
                user emailUser = await this.serviceClient.GetUserAsync(EmailAddress);

                if (emailUser != null)
                {
                    //If the user exists, then check to see if it is an administrative type user.
                    userrole emailUserRole = await this.serviceClient.GetUserRoleAsync(emailUser);

                    if (emailUserRole.RoleId == 2)
                    {
                        PopupDisplayed = false;
                        MessageBoxResult messageBox = MessageBox.Show("You cannot reset a mobile user's login password on this application.", "Invalid user");
                        EmailAddress = String.Empty;
                    }
                    else
                    {
                        //If the user is an administrator then direct them to the Reset Password view.
                        PopupDisplayed = false;
                        Messenger.Default.Send <CurrentUserMessage>(new CurrentUserMessage()
                        {
                            CurrentUser = emailUser
                        });
                        Messenger.Default.Send <UpdateViewMessage>(new UpdateViewMessage()
                        {
                            UpdateViewTo = "ResetPasswordViewModel"
                        });
                        EmailAddress = String.Empty;
                    }
                }
                else
                {
                    PopupDisplayed = false;
                    MessageBoxResult messageBox = MessageBox.Show("This email address does not exist!", "Invalid email address");
                    EmailAddress = String.Empty;
                }
            }
            else
            {
                MessageBoxResult messageBox = MessageBox.Show(connectionChecker.ShowConnectionErrorMessage());
            }
        }
Example #15
0
        /// <summary>
        /// Method that will attempt to save the new admininistrator and their details into the datbase.
        /// </summary>
        /// <param name="newUser"></param>
        private async void SaveUser(user newUser)
        {
            //Save the new user in the database
            long userId = await this.serviceClient.SaveUserAsync(newUser);

            //Save their company details in the database
            companydetail newCompany = new companydetail();

            newCompany.UserId          = userId;
            newCompany.CompanyName     = this.companyName;
            newCompany.CompanyPassword = this.companyPassword;

            await this.serviceClient.saveCompanyAsync(newCompany);

            //Save this new user as an administrative user in the database
            userrole newUserRole = new userrole();

            newUserRole.UserId = userId;
            newUserRole.RoleId = 1;

            await this.serviceClient.SaveUserRoleAsync(newUserRole);

            //Saving their security question and answer in the database
            usersecurityquestion newSecurityQuestion = new usersecurityquestion();

            newSecurityQuestion.UserId             = userId;
            newSecurityQuestion.SecurityQuestionId = CurrentSecurityQuestion.SecurityQuestionId;
            newSecurityQuestion.Answer             = SecurityAnswer;
            await this.serviceClient.SaveUserSecurityQuestionAsync(newSecurityQuestion);

            PopupDisplayed = false;

            MessageBoxResult messageBox = MessageBox.Show("You have successfully registered!", "Success");

            Messenger.Default.Send <UpdateViewMessage>(new UpdateViewMessage()
            {
                UpdateViewTo = "LoginViewModel"
            });

            EmailAddress    = String.Empty;
            Password        = String.Empty;
            Name            = String.Empty;
            CompanyName     = String.Empty;
            CompanyPassword = String.Empty;
            securityAnswer  = String.Empty;
        }
Example #16
0
        public void ExecuteLoginUserCommand()
        {
            user user = this.serviceClient.GetUser(this.emailAddress);

            if (user == null)
            {
                MessageBoxResult messageBox = MessageBox.Show("User does not exist", "Invalid details");
                EmailAddress = String.Empty;
                Password     = String.Empty;
            }
            else
            {
                userrole userRole = this.serviceClient.GetUserRole(user);
                if (userRole.RoleId == 1)
                {
                    if (String.Equals(user.Password, this.password, StringComparison.OrdinalIgnoreCase))
                    {
                        EmailAddress = String.Empty;
                        Password     = String.Empty;
                        Messenger.Default.Send <CurrentUserMessage>(new CurrentUserMessage()
                        {
                            CurrentUser = user
                        });
                        Messenger.Default.Send <UpdateViewMessage>(new UpdateViewMessage()
                        {
                            UpdateViewTo = "SearchHuntViewModel"
                        });
                        Messenger.Default.Send <ViewUpdatedMessage>(new ViewUpdatedMessage()
                        {
                            UpdatedView = true
                        });
                    }
                    else
                    {
                        MessageBoxResult messageBox = MessageBox.Show("Incorrect username or password", "Incorrect Details");
                        Password = String.Empty;
                    }
                }
                else
                {
                    MessageBoxResult messageBox = MessageBox.Show("You cannot access this application with your email address", "Invalid user for this application");
                    EmailAddress = String.Empty;
                    Password     = String.Empty;
                }
            }
        }
        public void BindShowUpInfo(string strUpid)
        {
            if (!string.IsNullOrEmpty(strUpid))
            {
                if (EnshineUnionManager.model.SearchDataClass.IsNumber(strUpid) == true)
                {
                    using (EnshineUnionDataContext db = new EnshineUnionDataContext())
                    {
                        userrole getNot = db.userrole.Single(x => x.roleid == int.Parse(strUpid));
                        txtRoleName.Value   = getNot.rolename;
                        txtFckContent.Value = getNot.roledescribe;

                        hfRole.Value = getNot.powerid;
                    }
                }
            }
        }
        public void ShouldPreventUserFromResettingPasswordIfUserDoesNotExist()
        {
            #region Setup
            user nullUser = new user();

            userrole newUserRole = new userrole();
            newUserRole.UserId = 1;
            newUserRole.RoleId = 1;
            #endregion

            serviceClient.Setup(s => s.GetUserAsync(It.IsAny <string>())).Returns(Task.FromResult(nullUser));
            serviceClient.Setup(s => s.GetUserRoleAsync(It.IsAny <user>())).Returns(Task.FromResult(newUserRole));

            viewModel.ExecuteCheckEmailAddressCommand();

            serviceClient.Verify(s => s.GetUserAsync(It.IsAny <string>()), Times.Exactly(1));
        }
Example #19
0
        public async Task <ActionResult> Create([Bind(Include = "aksesId,aksesdescription,userroleId")] AksesForm akses)
        {
            if (ModelState.IsValid)
            {
                akses newakses = new Models.akses();
                newakses.aksesdescription = akses.aksesdescription;

                userrole refuserrole = db.userroles.Find(akses.userroleId);
                newakses.userrole = refuserrole;

                db.aksess.Add(newakses);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            return(View(akses));
        }
        public void ShouldSaveNewTreasureHuntIfDoesNotAlreadyExist()
        {
            #region Setup variables
            userrole userRole = new userrole();
            userRole.UserId     = 1;
            userRole.RoleId     = 1;
            userRole.UserRoleId = 1;

            hunt fakeHunt = new hunt();
            fakeHunt.HuntId   = 1;
            fakeHunt.HuntName = "this fake hunt";

            hunt fakeHuntTwo = new hunt();
            fakeHuntTwo.HuntId   = 2;
            fakeHuntTwo.HuntName = "my second fake hunt";

            user currentUser = new user();
            currentUser.Name   = "fake user";
            currentUser.UserId = 1;

            List <hunt> listOfHunts = new List <hunt>();
            listOfHunts.Add(fakeHuntTwo);

            this.HuntName    = "This fake hunt";
            this.CurrentUser = currentUser;
            this.Description = "Fake description";

            long resultId = 1;

            #endregion

            //-http://stackoverflow.com/questions/20859639/using-moq-to-mock-an-asynchronous-method-for-a-unit-test
            serviceClient.Setup(s => s.GetTreasureHuntsForParticularUserAsync(currentUser)).Returns(Task.FromResult(listOfHunts.ToArray()));
            serviceClient.Setup(s => s.SaveNewHuntAsync(It.IsAny <hunt>())).Returns(Task.FromResult(resultId));
            serviceClient.Setup(s => s.SaveUserHuntAsync(It.IsAny <userhunt>())).Returns(Task.FromResult(""));
            serviceClient.Setup(s => s.GetHuntBasedOnNameAsync(It.IsAny <string>(), It.IsAny <long>())).Returns(Task.FromResult(fakeHunt));

            viewModel.ExecuteSaveCommand();

            serviceClient.Verify(s => s.SaveNewHuntAsync(It.IsAny <hunt>()), Times.Exactly(1));
            serviceClient.Verify(s => s.GetTreasureHuntsForParticularUserAsync(currentUser), Times.Exactly(1));
            serviceClient.Verify(s => s.SaveUserHuntAsync(It.IsAny <userhunt>()), Times.Exactly(1));
            serviceClient.Verify(s => s.GetHuntBasedOnNameAsync(It.IsAny <String>(), It.IsAny <long>()), Times.Exactly(1));
        }
        protected void btnUpdateRole_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(Request["upid"]))
            {
                if (EnshineUnionManager.model.SearchDataClass.IsNumber(Request["upid"]) == true)
                {
                    using (EnshineUnionDataContext db = new EnshineUnionDataContext())
                    {
                        userrole upurl = db.userrole.Single(x => x.roleid == int.Parse(Request["upid"]));
                        upurl.rolename     = txtRoleName.Value.Trim();
                        upurl.roledescribe = txtFckContent.Value.Trim();
                        upurl.powerid      = hfRole.Value.Trim().TrimEnd(',');

                        db.SubmitChanges();
                    }
                }
                Response.Redirect("UserRoleManager.aspx?mid=" + Request["mid"]);
            }
        }
Example #22
0
        public void ShouldSaveNewTreasureHuntIfDoesNotAlreadyExist()
        {
            #region Setup variables
            userrole userRole = new userrole();
            userRole.UserId     = 1;
            userRole.RoleId     = 1;
            userRole.UserRoleId = 1;

            hunt fakeHunt = new hunt();
            fakeHunt.HuntId   = 1;
            fakeHunt.HuntName = "this fake hunt";

            hunt fakeHuntTwo = new hunt();
            fakeHuntTwo.HuntId   = 2;
            fakeHuntTwo.HuntName = "my second fake hunt";

            user currentUser = new user();
            currentUser.Name   = "fake user";
            currentUser.UserId = 1;

            List <hunt> listOfHunts = new List <hunt>();
            listOfHunts.Add(fakeHuntTwo);

            this.HuntName    = "This fake hunt";
            this.CurrentUser = currentUser;
            this.Password    = "******";
            this.Description = "Fake description";
            #endregion

            serviceClient.Setup(s => s.GetTreasureHunts()).Returns(listOfHunts.ToArray());
            serviceClient.Setup(s => s.SaveNewHunt(It.IsAny <hunt>())).Returns(1);
            serviceClient.Setup(s => s.GetUserRole(It.IsAny <user>())).Returns(userRole);
            serviceClient.Setup(s => s.SaveUserHunt(It.IsAny <userhunt>())).Verifiable();
            serviceClient.Setup(s => s.GetHuntBasedOnName(fakeHunt.HuntName)).Returns(fakeHunt);

            viewModel.ExecuteSaveHuntNameCommand();

            serviceClient.Verify(s => s.SaveNewHunt(It.IsAny <hunt>()), Times.Exactly(1));
            serviceClient.Verify(s => s.GetTreasureHunts(), Times.Exactly(1));
            serviceClient.Verify(s => s.GetUserRole(It.IsAny <user>()), Times.Exactly(1));
            serviceClient.Verify(s => s.SaveUserHunt(It.IsAny <userhunt>()), Times.Exactly(1));
            serviceClient.Verify(s => s.GetHuntBasedOnName(It.IsAny <String>()), Times.Exactly(1));
        }
Example #23
0
        public async Task <ResultCrmDb> AddRoleForLevelOrgAsync(RoleCreateArgs args)
        {
            var result = new ResultCrmDb();

            try
            {
                var role = new userrole();
                role.LevelOrgId = args.IdLevelorg;
                role.Name       = args.CaptionRole;
                role.Sysname    = args.CaptionRole;
                await _crmDbContext.userrole.AddAsync(role);

                await _crmDbContext.SaveChangesAsync();
            }
            catch (Exception e)
            {
                result.AddError("", e.Message);
            }
            return(result);
        }
        /// <summary>
        /// Method that will attempt to log an administrator into the application.
        /// </summary>
        public async void ExecuteLoginUserCommand()
        {
            if (connectionChecker.IsInternetConnected())
            {
                PopupDisplayed = true;

                //Retrieve the user associated with the given email address.
                user user = await this.serviceClient.GetUserAsync(this.emailAddress);

                //Check if this user exists in the database
                if (user == null)
                {
                    PopupDisplayed = false;
                    MessageBoxResult messageBox = MessageBox.Show("User does not exist!", "Invalid details");
                    EmailAddress = String.Empty;
                    Password     = String.Empty;
                }
                else
                {
                    //If this user does exist
                    userrole userRole = await this.serviceClient.GetUserRoleAsync(user);

                    //Check that they are an administrative type user as opposed to a participant type user.
                    if (userRole.RoleId == 1)
                    {
                        checkDetailsForValidAdministrator(user);
                    }
                    else
                    {
                        PopupDisplayed = false;
                        MessageBoxResult messageBox = MessageBox.Show("The submitted email address is associated with the mobile application. You cannot use this address to log into this application.", "Invalid user for this application");
                        EmailAddress = String.Empty;
                        Password     = String.Empty;
                    }
                }
            }
            else
            {
                MessageBoxResult messageBox = MessageBox.Show(connectionChecker.ShowConnectionErrorMessage());
            }
        }
Example #25
0
        public override ActionResult Update(user u)
        {
            string Rid = Request["Rid"];

            fileds = new[] { "LoginName", "Pwd" };
            Expression <Func <user, bool> > where = q => q.Id != u.Id;
            where = where.And(q => q.LoginName == u.LoginName.Trim());
            userrole urole = new userrole();

            try
            {
                if (dal.Exist(where))
                {
                    return(Error(new Exception("该记录已存在")));
                }
                else
                {
                    dal.Update(u, fileds);

                    urDal.ExecSqlCommand(string.Format("delete from {0}  WHERE uid = {1}", "userrole", u.Id));

                    Rid.Split(',').ToList().ForEach(
                        q =>
                    {
                        urole = new userrole()
                        {
                            Uid = u.Id, Rid = Convert.ToInt64(q)
                        };
                        urDal.Add(urole);
                    }
                        );

                    return(Success());
                }
            }
            catch (Exception e)
            {
                return(Error(e));
            }
            // return UpdateExpress(u, fileds, where);
        }
Example #26
0
        public void UserShouldNotBeLoggedInIfUserDoesNotExist()
        {
            EmailAddress = "*****@*****.**";
            Password     = "******";

            user loginUser = new user();

            userrole newUserRole = new userrole();

            newUserRole.UserRoleId = 1;
            newUserRole.RoleId     = 1;
            newUserRole.UserId     = 1;

            //I want to be able to return null - this doesnt work
            serviceClient.Setup(s => s.GetUserAsync(EmailAddress)).Returns(Task.FromResult(loginUser));
            serviceClient.Setup(s => s.GetUserRoleAsync(loginUser)).Returns(Task.FromResult(newUserRole));

            viewModel.ExecuteLoginUserCommand();

            serviceClient.Verify(s => s.GetUserAsync(EmailAddress), Times.Exactly(1));
        }
Example #27
0
        public override ActionResult Add(user u)
        {
            //有条件添加 判断 用户名是否存在
            Expression <Func <user, bool> > where = q => q.LoginName == u.LoginName.Trim();
            string   Rid   = Request["Rid"];
            userrole urole = new userrole();

            try
            {
                if (dal.Exist(where))
                {
                    return(Error(new Exception("该记录已存在")));
                }
                else
                {
                    long uid = dal.Add(u).Id;

                    Rid.Split(',').ToList().ForEach(
                        q =>
                    {
                        urole = new userrole()
                        {
                            Uid = uid, Rid = Convert.ToInt64(q)
                        };
                        urDal.Add(urole);
                    }
                        );

                    return(Success());
                }
            }
            catch (Exception e)
            {
                return(Error(e));
            }



            //return AddExpress(u, where);
        }
Example #28
0
        public ResultHelper SetUserRole(UserRoleDto userRoleDto)
        {
            try
            {
                userrole item = new userrole();
                item.UserRoleID          = userRoleDto.UserRoleID;
                item.UserRoleName        = userRoleDto.UserRoleName;
                item.UserRoleDescription = userRoleDto.UserRoleDescription;
                item.Active = userRoleDto.Active;

                using (UnitOfWork unitOfWork = new UnitOfWork())
                {
                    unitOfWork.GetRepository <userrole>().Update(item);
                    unitOfWork.saveChanges();
                    return(new ResultHelper(true, item.UserRoleID, ResultHelper.SuccessMessage));
                }
            }
            catch (Exception)
            {
                return(new ResultHelper(false, userRoleDto.UserRoleID, ResultHelper.UnSuccessMessage));
            }
        }
Example #29
0
        public UserRoleDto GetUserRole(int userRoleID)
        {
            try
            {
                using (UnitOfWork unitOfWork = new UnitOfWork())
                {
                    userrole item = new userrole();
                    item = unitOfWork.GetRepository <userrole>().GetById(x => x.UserRoleID == userRoleID);
                    UserRoleDto userRoleDto = new UserRoleDto();
                    userRoleDto.UserRoleID          = item.UserRoleID;
                    userRoleDto.UserRoleName        = item.UserRoleName;
                    userRoleDto.UserRoleDescription = item.UserRoleDescription;
                    userRoleDto.Active = Convert.ToBoolean(item.Active);

                    return(userRoleDto);
                }
            }
            catch (Exception)
            {
                return(null);
            }
        }
        public void ShouldNotSaveNewTreasureHuntIfItAlreadyExists()
        {
            #region Setup variables
            userrole userRole = new userrole();
            userRole.UserId     = 1;
            userRole.RoleId     = 1;
            userRole.UserRoleId = 1;

            hunt fakeHunt = new hunt();
            fakeHunt.HuntId   = 1;
            fakeHunt.HuntName = "This fake hunt";

            user currentUser = new user();
            currentUser.Name   = "fake user";
            currentUser.UserId = 1;

            List <hunt> listOfHunts = new List <hunt>();
            listOfHunts.Add(fakeHunt);

            this.HuntName    = fakeHunt.HuntName;
            this.CurrentUser = currentUser;
            //this.Password = "******";
            this.Description = "Fake description";

            long resultId = 1;
            #endregion

            serviceClient.Setup(s => s.GetTreasureHuntsForParticularUserAsync(currentUser)).Returns(Task.FromResult(listOfHunts.ToArray()));
            serviceClient.Setup(s => s.SaveNewHuntAsync(It.IsAny <hunt>())).Returns(Task.FromResult(resultId));
            serviceClient.Setup(s => s.SaveUserHuntAsync(It.IsAny <userhunt>())).Returns(Task.FromResult(""));
            serviceClient.Setup(s => s.GetHuntBasedOnNameAsync(It.IsAny <string>(), It.IsAny <long>())).Returns(Task.FromResult(fakeHunt));

            viewModel.ExecuteSaveCommand();

            serviceClient.Verify(s => s.SaveNewHuntAsync(It.IsAny <hunt>()), Times.Exactly(0));
            serviceClient.Verify(s => s.GetTreasureHuntsForParticularUserAsync(currentUser), Times.Exactly(1));
            serviceClient.Verify(s => s.SaveUserHuntAsync(It.IsAny <userhunt>()), Times.Exactly(0));
            serviceClient.Verify(s => s.GetHuntBasedOnNameAsync(It.IsAny <String>(), It.IsAny <long>()), Times.Exactly(0));
        }
        public void ShouldNotSaveNewTreasureHuntIfItAlreadyExists()
        {
            #region Setup variables
            userrole userRole = new userrole();
            userRole.UserId = 1;
            userRole.RoleId = 1;
            userRole.UserRoleId = 1;

            hunt fakeHunt = new hunt();
            fakeHunt.HuntId = 1;
            fakeHunt.HuntName = "This fake hunt";

            user currentUser = new user();
            currentUser.Name = "fake user";
            currentUser.UserId = 1;

            List<hunt> listOfHunts = new List<hunt>();
            listOfHunts.Add(fakeHunt);

            this.HuntName = fakeHunt.HuntName;
            this.CurrentUser = currentUser;
            this.Password = "******";
            this.Description = "Fake description";
            #endregion

            serviceClient.Setup(s => s.GetTreasureHunts()).Returns(listOfHunts.ToArray());
            serviceClient.Setup(s => s.SaveNewHunt(It.IsAny<hunt>())).Returns(1);
            serviceClient.Setup(s => s.GetUserRole(It.IsAny<user>())).Returns(userRole);
            serviceClient.Setup(s => s.SaveUserHunt(It.IsAny<userhunt>())).Verifiable();
            serviceClient.Setup(s => s.GetHuntBasedOnName(fakeHunt.HuntName)).Returns(fakeHunt);

            viewModel.ExecuteSaveHuntNameCommand();
        
            serviceClient.Verify(s => s.GetTreasureHunts(), Times.Exactly(1));
            serviceClient.Verify(s => s.SaveNewHunt(It.IsAny<hunt>()), Times.Exactly(0));
            serviceClient.Verify(s => s.GetUserRole(It.IsAny<user>()), Times.Exactly(0));
            serviceClient.Verify(s => s.SaveUserHunt(It.IsAny<userhunt>()), Times.Exactly(0));
            serviceClient.Verify(s => s.GetHuntBasedOnName(It.IsAny<String>()), Times.Exactly(0));
        }
        public void UserShouldBeLoggedInWhenValidLoginDetails()
        {
            EmailAddress = "*****@*****.**";
            Password = "******";

            user loginUser = new user();
            loginUser.Name = "userName";
            loginUser.Email = "*****@*****.**";
            loginUser.Password = "******";
            loginUser.UserId = 1;

            userrole newUserRole = new userrole();
            newUserRole.UserRoleId = 1;
            newUserRole.RoleId = 1;
            newUserRole.UserId = 1;

            serviceClient.Setup(s => s.GetUserAsync(It.IsAny<String>())).Returns(Task.FromResult(loginUser));
            serviceClient.Setup(s => s.GetUserRoleAsync(loginUser)).Returns(Task.FromResult(newUserRole));

            viewModel.ExecuteLoginUserCommand();

            serviceClient.Verify(s => s.GetUserAsync(It.IsAny<String>()), Times.Exactly(1));
            serviceClient.Verify(s => s.GetUserRoleAsync(It.IsAny<user>()), Times.Exactly(1));
        }
        public void ShouldSaveNewTreasureHuntIfDoesNotAlreadyExist()
        {
            #region Setup variables
            userrole userRole = new userrole();
            userRole.UserId = 1;
            userRole.RoleId = 1;
            userRole.UserRoleId = 1;

            hunt fakeHunt = new hunt();
            fakeHunt.HuntId = 1;
            fakeHunt.HuntName= "this fake hunt";

            hunt fakeHuntTwo = new hunt();
            fakeHuntTwo.HuntId = 2;
            fakeHuntTwo.HuntName = "my second fake hunt";

            user currentUser = new user();
            currentUser.Name = "fake user";
            currentUser.UserId = 1;

            List<hunt> listOfHunts = new List<hunt>();
            listOfHunts.Add(fakeHuntTwo);

            this.HuntName = "This fake hunt";
            this.CurrentUser = currentUser;
            this.Description = "Fake description";

            long resultId = 1;

            #endregion

            //-http://stackoverflow.com/questions/20859639/using-moq-to-mock-an-asynchronous-method-for-a-unit-test
            serviceClient.Setup(s => s.GetTreasureHuntsForParticularUserAsync(currentUser)).Returns(Task.FromResult(listOfHunts.ToArray()));
            serviceClient.Setup(s => s.SaveNewHuntAsync(It.IsAny<hunt>())).Returns(Task.FromResult(resultId));
            serviceClient.Setup(s => s.SaveUserHuntAsync(It.IsAny<userhunt>())).Returns(Task.FromResult(""));
            serviceClient.Setup(s => s.GetHuntBasedOnNameAsync(It.IsAny<string>(), It.IsAny<long>())).Returns(Task.FromResult(fakeHunt));

            viewModel.ExecuteSaveCommand();

            serviceClient.Verify(s => s.SaveNewHuntAsync(It.IsAny<hunt>()), Times.Exactly(1));
            serviceClient.Verify(s => s.GetTreasureHuntsForParticularUserAsync(currentUser), Times.Exactly(1));
            serviceClient.Verify(s => s.SaveUserHuntAsync(It.IsAny<userhunt>()), Times.Exactly(1));
            serviceClient.Verify(s => s.GetHuntBasedOnNameAsync(It.IsAny<String>(), It.IsAny<long>()), Times.Exactly(1));
        }
        public void ShouldNotSaveNewTreasureHuntIfItAlreadyExists()
        {
            #region Setup variables
            userrole userRole = new userrole();
            userRole.UserId = 1;
            userRole.RoleId = 1;
            userRole.UserRoleId = 1;

            hunt fakeHunt = new hunt();
            fakeHunt.HuntId = 1;
            fakeHunt.HuntName = "This fake hunt";

            user currentUser = new user();
            currentUser.Name = "fake user";
            currentUser.UserId = 1;

            List<hunt> listOfHunts = new List<hunt>();
            listOfHunts.Add(fakeHunt);

            this.HuntName = fakeHunt.HuntName;
            this.CurrentUser = currentUser;
            //this.Password = "******";
            this.Description = "Fake description";

            long resultId = 1;
            #endregion

            serviceClient.Setup(s => s.GetTreasureHuntsForParticularUserAsync(currentUser)).Returns(Task.FromResult(listOfHunts.ToArray()));
            serviceClient.Setup(s => s.SaveNewHuntAsync(It.IsAny<hunt>())).Returns(Task.FromResult(resultId));
            serviceClient.Setup(s => s.SaveUserHuntAsync(It.IsAny<userhunt>())).Returns(Task.FromResult(""));
            serviceClient.Setup(s => s.GetHuntBasedOnNameAsync(It.IsAny<string>(), It.IsAny<long>())).Returns(Task.FromResult(fakeHunt));

            viewModel.ExecuteSaveCommand();

            serviceClient.Verify(s => s.SaveNewHuntAsync(It.IsAny<hunt>()), Times.Exactly(0));
            serviceClient.Verify(s => s.GetTreasureHuntsForParticularUserAsync(currentUser), Times.Exactly(1));
            serviceClient.Verify(s => s.SaveUserHuntAsync(It.IsAny<userhunt>()), Times.Exactly(0));
            serviceClient.Verify(s => s.GetHuntBasedOnNameAsync(It.IsAny<String>(), It.IsAny<long>()), Times.Exactly(0));
        }
        public void UserShouldNotBeLoggedInIfUserDoesNotExist()
        {
            EmailAddress = "*****@*****.**";
            Password = "******";

            user loginUser = new user();

            userrole newUserRole = new userrole();
            newUserRole.UserRoleId = 1;
            newUserRole.RoleId = 1;
            newUserRole.UserId = 1;

            //I want to be able to return null - this doesnt work
            serviceClient.Setup(s => s.GetUser(EmailAddress)).Returns(loginUser);
            serviceClient.Setup(s => s.GetUserRole(loginUser)).Returns(newUserRole);

            viewModel.ExecuteLoginUserCommand();

            serviceClient.Verify(s => s.GetUser(EmailAddress), Times.Exactly(1));
            serviceClient.Verify(s => s.GetUserRole(loginUser), Times.Exactly(0));
        }
        /// <summary>
        /// Method that will attempt to save the new admininistrator and their details into the datbase.
        /// </summary>
        /// <param name="newUser"></param>
        private async void SaveUser(user newUser)
        { 
            //Save the new user in the database
            long userId = await this.serviceClient.SaveUserAsync(newUser);

            //Save their company details in the database
            companydetail newCompany = new companydetail();
            newCompany.UserId = userId;
            newCompany.CompanyName = this.companyName;
            newCompany.CompanyPassword = this.companyPassword;

            await this.serviceClient.saveCompanyAsync(newCompany);

            //Save this new user as an administrative user in the database
            userrole newUserRole = new userrole();
            newUserRole.UserId = userId;
            newUserRole.RoleId = 1;

            await this.serviceClient.SaveUserRoleAsync(newUserRole);

            //Saving their security question and answer in the database
            usersecurityquestion newSecurityQuestion = new usersecurityquestion();
            newSecurityQuestion.UserId = userId;
            newSecurityQuestion.SecurityQuestionId = CurrentSecurityQuestion.SecurityQuestionId;
            newSecurityQuestion.Answer = SecurityAnswer;
            await this.serviceClient.SaveUserSecurityQuestionAsync(newSecurityQuestion);

            PopupDisplayed = false;
         
            MessageBoxResult messageBox = MessageBox.Show("You have successfully registered!", "Success");

            Messenger.Default.Send<UpdateViewMessage>(new UpdateViewMessage() { UpdateViewTo = "LoginViewModel" });

            EmailAddress = String.Empty;
            Password = String.Empty;
            Name = String.Empty;
            CompanyName = String.Empty;
            CompanyPassword = String.Empty;
            securityAnswer = String.Empty ;
        }
        public void UserShouldNotBeLoggedInIfWrongUserRole()
        {
            EmailAddress = "*****@*****.**";
            Password = "******";

            user loginUser = new user();
            loginUser.Name = "userName";
            loginUser.Email = "*****@*****.**";
            loginUser.Password = "******";
            loginUser.UserId = 1;

            userrole newUserRole = new userrole();
            newUserRole.UserRoleId = 1;
            newUserRole.RoleId = 2;
            newUserRole.UserId = 1;

            serviceClient.Setup(s => s.GetUser(EmailAddress)).Returns(loginUser);
            serviceClient.Setup(s => s.GetUserRole(loginUser)).Returns(newUserRole);

            viewModel.ExecuteLoginUserCommand();

            serviceClient.Verify(s => s.GetUser(EmailAddress), Times.Exactly(1));
            serviceClient.Verify(s => s.GetUserRole(loginUser), Times.Exactly(1));
        }
        public void UserShouldNotBeLoggedInWhenInvalidLoginDetails()
        {
            EmailAddress = "*****@*****.**";
            Password = "******";

            user loginUser = new user();
            loginUser.Name = "userName";
            loginUser.Email = "*****@*****.**";
            loginUser.Password = "******";
            loginUser.UserId = 1;

            userrole newUserRole = new userrole();
            newUserRole.UserRoleId = 1;
            newUserRole.RoleId = 1;
            newUserRole.UserId = 1;

            serviceClient.Setup(s => s.GetUser(EmailAddress)).Returns(loginUser);
            serviceClient.Setup(s => s.GetUserRole(loginUser)).Returns(newUserRole);

            viewModel.ExecuteLoginUserCommand();

            serviceClient.Verify(s => s.GetUser(EmailAddress), Times.Exactly(1));
            serviceClient.Verify(s => s.GetUserRole(loginUser), Times.Exactly(1));

            //Message box appears to say incorrect. More of a UI test
        }
        public void ExecuteRegisterUserCommand()
        {
            user newUser = new user();
            newUser.Email = this.emailAddress;
            newUser.Password = this.password;
            newUser.Name = this.name;

            if (!DoesUserAlreadyExist(newUser.Email))
            {
                long userId = this.serviceClient.SaveUser(newUser);

                userrole newUserRole = new userrole();
                newUserRole.UserId = userId;
                newUserRole.RoleId = 1;

                this.serviceClient.SaveUserRole(newUserRole);

                MessageBoxResult messageBox = MessageBox.Show("You have successfully registered!", "Success");

                Messenger.Default.Send<UpdateViewMessage>(new UpdateViewMessage() { UpdateViewTo = "LoginViewModel" });
            }
            else 
            {
                //-http://www.c-sharpcorner.com/UploadFile/mahesh/messagebox-in-wpf/
                MessageBoxResult messageBox = MessageBox.Show("This email address already exists!", "Invalid details");
                EmailAddress = String.Empty;
            }

            
        }
        public void ShouldPreventUserFromResettingPasswordIfInvalidUserRole()
        {
            #region Setup
            user newUser = new user();
            newUser.UserId = 1;
            newUser.Name = "Emma";

            userrole newUserRole = new userrole();
            newUserRole.UserId = 1;
            newUserRole.RoleId = 2;
            #endregion

            serviceClient.Setup(s => s.GetUserAsync(It.IsAny<string>())).Returns(Task.FromResult(newUser));
            serviceClient.Setup(s => s.GetUserRoleAsync(It.IsAny<user>())).Returns(Task.FromResult(newUserRole));

            viewModel.ExecuteCheckEmailAddressCommand();

            serviceClient.Verify(s => s.GetUserAsync(It.IsAny<string>()), Times.Exactly(1));
            serviceClient.Verify(s => s.GetUserRoleAsync(It.IsAny<user>()), Times.Exactly(1));
        }