コード例 #1
0
        void App_Startup(object sender, StartupEventArgs ev)
        {
            DatabaseDataContext DBC = new DatabaseDataContext();

            if (!DBC.DatabaseExists())
            {
                DBC.PrepareDatabase();
            }
            if (DBC.DatabaseExists())
            {
                Storage.LoginWindow.Instance.Show();
            }
        }
コード例 #2
0
ファイル: Database.cs プロジェクト: Konovalenko-Vlada/pr
        public void CalculateProductCounts()
        {
            DatabaseDataContext      DBC             = new DatabaseDataContext();
            IQueryable <ProductList> OrderedProducts = (
                from c in DBC.ProductList
                where c.Order_id == this.Id
                select c);

            foreach (ProductList OrderedProduct in OrderedProducts)
            {
                OrderedProduct.Product.Count -= OrderedProduct.Count;
            }
            DBC.SubmitChanges();
        }
コード例 #3
0
        private void LoginButton_Click(object sender, RoutedEventArgs ev)
        {
            DatabaseDataContext DBC = new DatabaseDataContext();
            String Username         = LoginName.Text;
            MD5    MD5Handler       = MD5.Create();

            MD5Handler.ComputeHash(Encoding.Default.GetBytes(LoginPassword.Password));
            byte[] Password = MD5Handler.Hash;

            var query = (from c in DBC.GetTable <User>()
                         where c.Login == Username
                         select c);

            if (query.Count() == 0)
            {
                MessageBox.Show(
                    "Пользователя с таким именем не существует", "Вход",
                    MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }

            User DBUser = query.Single();

            if (!StructuralComparisons.StructuralEqualityComparer.Equals(DBUser.Password, Password))
            {
                MessageBox.Show(
                    "Введенный пароль неверен! \r\n" +
                    "Проверьте правильность ввода пароля и повторите попытку",
                    "Вход", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }

            if (IsStoreLoginData.IsChecked ?? true)
            {
                StoreLoginData();
            }

            Instance.Hide();
            CurrentView = new UserWindow(DBUser);
            CurrentView.Show();
        }
コード例 #4
0
        private void RegisterButton_Click(object sender, RoutedEventArgs e)
        {
            DatabaseDataContext DBC = new DatabaseDataContext();
            MD5    MD5Handler       = MD5.Create();
            String Login            = RegisterName.Text;

            byte[] Password;

            if (RegisterPassword.Password.Length < PreferredPasswordLength)
            {
                MessageBox.Show(
                    "Пароль сликом короткий! Предпочтительная длинна: " + PreferredPasswordLength + " символов.",
                    "Регистрация", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }

            if (!RegisterPassword.Password.Equals(RegisterPasswordRetype.Password))
            {
                MessageBox.Show(
                    "Пароли не совпадают!", "Регистрация",
                    MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }

            MD5Handler.ComputeHash(Encoding.Default.GetBytes(RegisterPassword.Password));
            Password = MD5Handler.Hash;

            IQueryable <User> query = (from c in DBC.GetTable <User>()
                                       where c.Login == Login
                                       select c);

            if (query.Count() != 0)
            {
                MessageBox.Show(
                    "Пользователь с таким именем уже существует", "Регистрация",
                    MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }

            Role UserRole = (from c in DBC.GetTable <Role>()
                             where c.Flags == RoleFlags.User
                             select c).SingleOrDefault();

            User NewUser = new User();

            NewUser.Login    = Login;
            NewUser.Password = Password;
            NewUser.Role     = UserRole;
            DBC.User.InsertOnSubmit(NewUser);

            Meta NewUserMeta = new Meta();

            NewUserMeta.Address = "";
            NewUserMeta.Name    = "";
            NewUser.Meta        = NewUserMeta;
            DBC.Meta.InsertOnSubmit(NewUserMeta);


            DBC.SubmitChanges();

            ShowLoginForm();
        }