Exemple #1
0
        void UpdateSecretary()
        {
            Models.AuthenticatedUser Secretary = (Models.AuthenticatedUser)TaxiDbContext.Instance.Users.Single(d => d.Id == BizObject.Id);

            Secretary.FullName = BizObject.FullName;
            Secretary.Mobile   = BizObject.Mobile;

            DialogResult dr = MessageBoxRTL.Ask("آیا مایل به ویرایش کلمه عبور هستید؟", string.Empty);

            if (dr == DialogResult.OK)
            {
                Secretary.Password = EasyHash.Hash(BizObject.Password);
            }

            Secretary.Role             = Roles.Secretary;
            Secretary.SecurityQuestion = string.Empty;
            Secretary.SecurityAnswer   = string.Empty;
            Secretary.TaxiName         = TaxiDbContext.Instance.AuthenticatedUsers.Where(u => u.Role == Roles.Admin).First().TaxiName;

            BizObject.IsDeleted = false;
            TaxiDbContext.Instance.SaveChanges();
            BizObject = null;
            MessageBoxRTL.Info(".منشی با موفقیت ویرایش شد", string.Empty);
            UpdateGrid();
        }
Exemple #2
0
 private void btnRegister_Click(object sender, EventArgs e)
 {
     if (string.IsNullOrEmpty(txtSecurityQuestion.Text) || string.IsNullOrEmpty(txtSecurityAnswer.Text))
     {
         MessageBoxRTL.Error("وارد کردن سوال امنیتی و پاسخ آن ضروری است", string.Empty);
         return;
     }
     if (!TaxiDbContext.Instance.AuthenticatedUsers.Any())
     {
         AuthenticatedUser user = new AuthenticatedUser()
         {
             FullName         = txtFullName.Text,
             Mobile           = txtMobile.Text.PersianToEnglish(),
             Username         = txtUsername.Text,
             Password         = EasyHash.Hash(txtPassword.Text),
             Role             = Roles.Admin,
             SecurityQuestion = txtSecurityQuestion.Text,
             SecurityAnswer   = EasyHash.Hash(txtSecurityAnswer.Text),
             DateJoined       = DateTime.Today
         };
         if (Validation.Validate(user) & Validation.ValidatePassword(txtPassword.Text))
         {
             TaxiDbContext.Instance.AuthenticatedUsers.Add(user);
             TaxiDbContext.Instance.SaveChanges();
             Utility.MessageBoxRTL.Info("ثبت نام مدیر با موفقیت انجام شد.اکنون می‌توانید وارد حساب کاربری‌تان شوید.", "ثبت نام");
             this.Hide();
             new Login();
             Session.RecentlyLogedIn = true;
         }
     }
 }
Exemple #3
0
        public void Should_throw_initialization_exception_during_hashing()
        {
            EasyHash <Foo> .Register(r => { throw new ApplicationException(); });

            Action action = () => new Foo().GetHashCode();

            action.ShouldThrow <ApplicationException>();
        }
 private void btnVerify_Click(object sender, EventArgs e)
 {
     if (txtSecurityAnswer.Text != string.Empty)
     {
         if (user.SecurityAnswer == EasyHash.Hash(txtSecurityAnswer.Text))
         {
             btnChangePassword.Enabled = true;
         }
     }
 }
Exemple #5
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            BizObject.TaxiName = TaxiDbContext.Instance.AuthenticatedUsers.Where(u => u.Role == Roles.Admin).First().TaxiName;
            if (BizObject != null && Validation.Validate(BizObject))
            {
                try
                {
                    if (BizObject.Id != 0)
                    {
                        UpdateSecretary();
                    }
                    else if (BizObject.Id == 0)
                    {
                        //avoid repeating Secretary Mobile
                        if (TaxiDbContext.Instance.Users.Any(u => u.Mobile == BizObject.Mobile &&
                                                             u.FullName != BizObject.FullName))
                        {
                            MessageBoxRTL.Error("شماره همراه قبلا ثبت شده است. لطفا شماره دیگری وارد کنید", string.Empty);
                            return;
                        }

                        if (TaxiDbContext.Instance.Users.Any(u => u.Mobile == BizObject.Mobile &&
                                                             u.FullName == BizObject.FullName))
                        {
                            DialogResult dr = MessageBoxRTL.Ask("این منشی قبلا ثبت شده است. آیا مایل به ویرایش آن هستید؟", string.Empty);
                            if (dr == DialogResult.OK)
                            {
                                Models.AuthenticatedUser CheckExistingSecretary = TaxiDbContext.Instance.Users
                                                                                  .OfType <Models.AuthenticatedUser>().Single(u => u.Mobile == BizObject.Mobile &&
                                                                                                                              u.FullName == BizObject.FullName);
                                BizObject = null;
                                BizObject = CheckExistingSecretary;
                                UpdateSecretary();
                                return;
                            }
                            return;
                        }
                        BizObject.Role     = Roles.Secretary;
                        BizObject.TaxiName = TaxiDbContext.Instance.AuthenticatedUsers.Where(u => u.Role == Roles.Admin).First().TaxiName;
                        BizObject.Password = EasyHash.Hash(txtSecretaryPassword.Text);
                        TaxiDbContext.Instance.Users.Add(BizObject);
                        TaxiDbContext.Instance.SaveChanges();
                        MessageBoxRTL.Info(".منشی با موفقیت افزوده شد", string.Empty);
                        UpdateGrid();
                        BizObject = null;
                    }
                }
                catch
                {
                    MessageBoxRTL.Error("ذخیره سازی منشی با خطا روبرو شد.", string.Empty);
                }
            }
        }
Exemple #6
0
        public void Should_not_allow_register_type_twice()
        {
            EasyHash <Foo> .Reset();

            EasyHash <Foo> .Register(r => { });

            EasyHash <Foo> .Register(r => { });

            Action action = () => new Foo().GetHashCode();

            action.ShouldThrow <InvalidOperationException>();
        }
Exemple #7
0
        public void Should_use_custom_hashing_if_registered()
        {
            var foo = new Foo();

            EasyHash <Foo> .Reset();

            int defaultHashCode = foo.GetHashCode();

            EasyHash <Foo> .Register(r => r.WithPrimes(23, 31));

            int customHashCode = foo.GetHashCode();

            defaultHashCode.Should().NotBe(customHashCode);
        }
Exemple #8
0
        public void Should_generate_the_same_code_when_have_the_same_data()
        {
            EasyHash <Foo> .Reset();

            EasyHash <Foo> .Register(r => { });

            var one = new Foo()
            {
                Text = "some text"
            };
            var two = one.Clone();

            one.GetHashCode().Should().Be(two.GetHashCode());
        }
Exemple #9
0
        public void Should_generate_different_code_when_have_different_data()
        {
            EasyHash <Foo> .Reset();

            EasyHash <Foo> .Register(r => { });

            var one = new Foo()
            {
                Text = "some text"
            };
            var two = new Foo()
            {
                Text = "another text"
            };

            one.GetHashCode().Should().NotBe(two.GetHashCode());
        }
 private void btnChangePassword_Click(object sender, EventArgs e)
 {
     if (txtPassword.Text == txtPasswordRepeation.Text && Validation.ValidatePassword(txtPassword.Text))
     {
         user.Password = EasyHash.Hash(txtPassword.Text);
         try
         {
             TaxiDbContext.Instance.AuthenticatedUsers.AddOrUpdate(user);
             TaxiDbContext.Instance.SaveChanges();
             MessageBoxRTL.Info("کلمه عبور شما با موفقیت تغییر یافت.", string.Empty);
             this.Close();
         }
         catch
         {
             MessageBoxRTL.Error("عملیات تغییر کلمه عبور موفقیت آمیز نبود. لطفا مجددا تلاش نمایید.", "خطا");
         }
     }
     else
     {
         MessageBoxRTL.Error("کلمه عبور باید حداقل 8 کاراکتر شامل حداقل یک حرف بزرگ، یک حرف کوچک و یک عدد باشد", "خطا");
     }
 }
Exemple #11
0
        public override void btnLogin_Click(object sender, EventArgs e)
        {
            if (txtUsername.Text != string.Empty && txtPassword.Text != string.Empty)
            {
                string Password = EasyHash.Hash(txtPassword.Text);
                Session.CurrentUser = TaxiDbContext.Instance.AuthenticatedUsers.FirstOrDefault(au => au.Username == txtUsername.Text && au.Password == Password);
                if (Session.CurrentUser != null)
                {
                    MessageBoxRTL.Info(string.Format("کاربر گرامی، {0} خوش آمدید", Session.CurrentUser.Username), "");

                    Session.RecentlyLogedIn = true;
                    new frmDashboard();
                    Utility.Session.LoginForm = this;
                    this.Hide();
                    //checking Role
                    //switch (Session.CurrentUser.Role)
                    //{
                    //    case Roles.Admin:
                    //        new ManagerPanel();
                    //        break;
                    //    case Roles.Secretary:
                    //        new SecretaryPanel();
                    //        break;
                    //}
                }
                else
                {
                    MessageBoxRTL.Info("کاربری با این مشخصات یافت نشد. لطفا از صحت نام کاربری و کلمه عبور خود اطمینان حاصل نمایید", "");
                }
            }
            else
            {
                MessageBoxRTL.Info("نام کاربری و کلمه عبور نمی‌تواند خالی باشد", "");
            }

            base.btnLogin_Click(sender, e);
        }
Exemple #12
0
 public override bool Equals(object obj) => EasyHash <Foo> .Equals(this, obj);
Exemple #13
0
        public void Should_use_default_hashing_if_have_no_registration()
        {
            EasyHash <Foo> .Reset();

            new Foo().GetHashCode().Should().NotBe(0);
        }
Exemple #14
0
 public override int GetHashCode() => EasyHash <HashedWithEasyHash> .GetHashCode(this);
Exemple #15
0
        public void Should_not_throw_during_registration()
        {
            Action action = () => EasyHash <Foo> .Register(r => { throw new Exception(); });

            action.ShouldNotThrow();
        }
Exemple #16
0
 public override bool Equals(object obj) => EasyHash <HashedWithEasyHash> .Equals(this, obj);
Exemple #17
0
 public override int GetHashCode() => EasyHash <Foo> .GetHashCode(this);