コード例 #1
0
        private void requests_LoadData()
        {
            DB db = new DB();

            db.openConnection();
            String query;

            query = "SELECT [Requests.Area_id],[Requests.Request_id],[Renters.Name], [Renters.Surname],[Areas.AreaName],[Areas.Rooms], " +
                    "[Areas.SpaceOfArea_squareMeter],[Areas.PricePerMonth],[Requests.Accept]   " +
                    "FROM ((Areas INNER JOIN Requests ON Areas.id=Requests.Area_id) INNER JOIN Renters ON Requests.Renter_id=Renters.id) " +
                    "WHERE Requests_initiatair=@role AND  Requests.Owner_id=@o_id AND ";

            OleDbCommand command = new OleDbCommand(query, db.getConnection());

            command.Parameters.Add("@role", OleDbType.VarChar).Value = Client1.role;
            command.Parameters.Add("@o_id", OleDbType.VarChar).Value = Client1.id;
            OleDbDataReader reader = command.ExecuteReader();

            List <string[]> data = new List <string[]>();

            while (reader.Read())
            {
                data.Add(new string[9]);

                data[data.Count - 1][0] = reader[0].ToString();
                data[data.Count - 1][1] = reader[1].ToString();
                data[data.Count - 1][2] = reader[2].ToString();
                data[data.Count - 1][3] = reader[3].ToString();
                data[data.Count - 1][4] = reader[4].ToString();
                data[data.Count - 1][5] = reader[5].ToString();
                data[data.Count - 1][6] = reader[6].ToString();
                data[data.Count - 1][7] = reader[7].ToString();
                data[data.Count - 1][8] = reader[8].ToString();
            }

            reader.Close();
            db.closeConnection();

            foreach (string[] s in data)
            {
                RequestsStatusDgv.Rows.Add(s);
            }
        }
コード例 #2
0
        private void buttonAddObj_Click(object sender, EventArgs e)
        {
            DB     db = new DB();
            String tableName, column_id, column_name;;

            if (Client1.role == "Owners")
            {
                column_id   = "Owner_id";
                tableName   = "Areas";
                column_name = "AreaName";
            }
            else
            {
                column_id   = "Renter_id";
                tableName   = "LeasingAppID";
                column_name = "LeasingAppName";
            }



            OleDbCommand command = new OleDbCommand("INSERT INTO " + tableName + " ([" + column_id + "], [" + column_name + "], [SpaceOfArea_squareMeter], [Rooms],[PricePerMonth],[Describe]) VALUES (@person_id, @obj_name, @space, @rooms,@price,@descr)", db.getConnection());

            command.Parameters.Add("@person_id", OleDbType.Integer).Value = Client1.id;
            command.Parameters.Add("@obj_name", OleDbType.VarChar).Value  = textBoxName.Text;
            command.Parameters.Add("@space", OleDbType.Integer).Value     = int.Parse(textBoxMetrs.Text);
            command.Parameters.Add("@rooms", OleDbType.Integer).Value     = int.Parse(textBoxRooms.Text);
            command.Parameters.Add("@price", OleDbType.VarChar).Value     = textBoxPrice.Text;
            command.Parameters.Add("@descr", OleDbType.VarChar).Value     = textBoxDescribe.Text;

            db.openConnection();

            if (command.ExecuteNonQuery() == 1)
            {
                MessageBox.Show("Объект успешно добавлен");
            }
            else
            {
                MessageBox.Show("Ошибка");
            }

            db.closeConnection();
        }
コード例 #3
0
        private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
            if (dataGridView1.Columns[e.ColumnIndex].Name == "Accept")
            {
                DB           db      = new DB();
                OleDbCommand command = new OleDbCommand("Update Requests SET Accept=true WHERE Request_id=@r_id", db.getConnection());
                command.Parameters.Add("@r_id", OleDbType.Integer).Value = dataGridView1.Rows[e.RowIndex].Cells["Rid"].Value;
                db.openConnection();

                if (command.ExecuteNonQuery() == 1)
                {
                    MessageBox.Show("Заявка принята. Ждите оплаты от клиента");
                }
                else
                {
                    MessageBox.Show("Error");
                }

                db.closeConnection();
            }
        }
コード例 #4
0
        //Определяем какие пользователи подали заявку клиенту
        //показываем их при выборе флага checkbox
        private void requests()
        {
            DB db = new DB();

            db.openConnection();

            String       query   = "SELECT [Area_id] FROM Requests  WHERE Renter_id=@r_id AND Requests_initiatair<>@role";
            OleDbCommand command = new OleDbCommand(query, db.getConnection());

            command.Parameters.Add("@r_id", OleDbType.Integer).Value = Client1.id;
            command.Parameters.Add("@role", OleDbType.VarChar).Value = Client1.role;
            OleDbDataReader reader = command.ExecuteReader();


            while (reader.Read())
            {
                data.Add(reader[0].ToString());
            }

            reader.Close();
            db.closeConnection();
        }
コード例 #5
0
        private void showContract()
        {
            DB db = new DB();

            db.openConnection();
            String query;

            query = "SELECT [Owners.Name],[Owners.Surname],[Areas.AreaName], [Areas.Rooms], " +
                    "[Areas.SpaceOfArea_squareMeter],[Contracts.Amount_of_money]  " +
                    "FROM ((Areas INNER JOIN Contracts ON Areas.id=Contracts.Area_id) INNER JOIN Owners ON Contracts.Owner_id=Owners.id) " +
                    "WHERE Contracts.Renter_id=@r_id";

            OleDbCommand command = new OleDbCommand(query, db.getConnection());

            command.Parameters.Add("@r_id", OleDbType.Integer).Value = Client1.id;
            OleDbDataReader reader = command.ExecuteReader();

            List <string[]> data = new List <string[]>();

            while (reader.Read())
            {
                data.Add(new string[6]);

                data[data.Count - 1][0] = reader[0].ToString();
                data[data.Count - 1][1] = reader[1].ToString();
                data[data.Count - 1][2] = reader[2].ToString();
                data[data.Count - 1][3] = reader[3].ToString();
                data[data.Count - 1][4] = reader[4].ToString();
                data[data.Count - 1][5] = reader[5].ToString();
            }

            reader.Close();
            db.closeConnection();

            foreach (string[] s in data)
            {
                ContractDataGridView.Rows.Add(s);
            }
        }
コード例 #6
0
        private void buttonRegister_Click(object sender, EventArgs e)
        {
            if (userNameField.Text == "Введите имя")
            {
                MessageBox.Show("Введите имя");
                return;
            }

            if (userSurnameField.Text == "Введите фамилию")
            {
                MessageBox.Show("Введите фамилию");
                return;
            }

            if (loginField.Text == "Введите логин")
            {
                MessageBox.Show("Введите логин");
                return;
            }
            if (passField.Text == "")
            {
                MessageBox.Show("Введите пароль");
                return;
            }

            String tableName;

            if (RenterRadioButton.Checked)
            {
                tableName = "Renters";
            }
            else if (OwnerRadioButton.Checked)
            {
                tableName = "Owners";
            }
            else
            {
                MessageBox.Show("Укажите какой стороной арендного договора вы являетесь");
                return;
            }

            if (isUserExists(tableName))
            {
                return;
            }



            DB           db      = new DB();
            OleDbCommand command = new OleDbCommand("INSERT INTO " + tableName + " ([Login], [Pass], [Name], [Surname]) VALUES (@login, @pass, @name, @surname)", db.getConnection());

            command.Parameters.Add("@login", OleDbType.VarChar).Value   = loginField.Text;
            command.Parameters.Add("@pass", OleDbType.VarChar).Value    = passField.Text;
            command.Parameters.Add("@name", OleDbType.VarChar).Value    = userNameField.Text;
            command.Parameters.Add("@surname", OleDbType.VarChar).Value = userSurnameField.Text;

            db.openConnection();

            if (command.ExecuteNonQuery() == 1)
            {
                MessageBox.Show("Аккаунт был создан");
            }
            else
            {
                MessageBox.Show("Аккаунт не был создан");
            }

            db.closeConnection();
        }
コード例 #7
0
        private void buttonSendRequest_Click(object sender, EventArgs e)
        {
            DB db = new DB();

            if (buttonSendRequest.Text == "Принять заявку и оплатить")
            {
                OleDbCommand command = new OleDbCommand("INSERT INTO Contracts ([Owner_id], [Renter_id], [Area_id], [Amount_of_money]) VALUES (@own_id, @rent_id, @area_id, @money)", db.getConnection());
                command.Parameters.Add("@own_id", OleDbType.Integer).Value  = SelectedArea.person_id;
                command.Parameters.Add("@rent_id", OleDbType.Integer).Value = Client1.id;
                command.Parameters.Add("@area_id", OleDbType.Integer).Value = SelectedArea.area_id;
                command.Parameters.Add("@money", OleDbType.Integer).Value   = SelectedArea.price;

                OleDbCommand commandCheck = new OleDbCommand("SELECT * FROM Contracts WHERE Owner_id=@own_id AND Renter_id=@rent_id AND Area_id=@area_id", db.getConnection());
                commandCheck.Parameters.Add("@own_id", OleDbType.Integer).Value  = SelectedArea.person_id;
                commandCheck.Parameters.Add("@rent_id", OleDbType.Integer).Value = Client1.id;
                commandCheck.Parameters.Add("@area_id", OleDbType.Integer).Value = SelectedArea.area_id;


                OleDbCommand commandUpdAccept = new OleDbCommand("Update Requests SET Accept=true WHERE Owner_id=@own_id AND Renter_id=@rent_id AND Area_id=@area_id", db.getConnection());
                commandUpdAccept.Parameters.Add("@own_id", OleDbType.Integer).Value  = SelectedArea.person_id;
                commandUpdAccept.Parameters.Add("@rent_id", OleDbType.Integer).Value = Client1.id;
                commandUpdAccept.Parameters.Add("@area_id", OleDbType.Integer).Value = SelectedArea.area_id;



                OleDbDataAdapter adapter = new OleDbDataAdapter();
                DataTable        table   = new DataTable();
                adapter.SelectCommand = commandCheck;
                adapter.Fill(table);



                if (table.Rows.Count > 0)
                {
                    MessageBox.Show("Вы уже оплатили данную площадь. Дождитесь когда с вами свяжется владелец");
                }
                else
                {
                    db.openConnection();
                    if (command.ExecuteNonQuery() == 1 && commandUpdAccept.ExecuteNonQuery() == 1)
                    {
                        MessageBox.Show("Площадь оплачена. Подождите пока с вами свяжется владелец");
                    }
                    else
                    {
                        MessageBox.Show("Error");
                    }
                    db.closeConnection();
                }
            }

            else

            {
                if (Client1.role == "Owners")
                {
                    String ClientRole = Client1.role;
                    int    objectId   = SelectedArea.area_id; // Если пользователь Owner, то objectId - ID запроса пользователя. Если пользователь renter, то object_id - id помещения
                    int    Role_Login = Client1.id;



                    //Проверяем подавал ли пользователь уже эту заявку
                    OleDbCommand command1 = new OleDbCommand("SELECT * FROM Requests WHERE Renter_id = @r_id AND Owner_id= @o_id AND Area_id=@a_id", db.getConnection());

                    command1.Parameters.Add("@r_id", OleDbType.Integer).Value = SelectedArea.person_id;
                    command1.Parameters.Add("@o_id", OleDbType.Integer).Value = Client1.id;
                    command1.Parameters.Add("@a_id", OleDbType.Integer).Value = data[AreasComboBox.SelectedIndex][0];
                    command1.Parameters.Add("@r_i", OleDbType.VarChar).Value  = Client1.role;

                    DataTable        table   = new DataTable();
                    OleDbDataAdapter adapter = new OleDbDataAdapter();
                    adapter.SelectCommand = command1; //выполняем команду
                    adapter.Fill(table);              //все полученные данные трансформируем внутрь объекта table

                    if (table.Rows.Count > 0)
                    {
                        MessageBox.Show("Данная заявка клиенту с данной площадью уже существует.");
                    }
                    else
                    {
                        OleDbCommand commandCheck2 = new OleDbCommand("SELECT * FROM Contracts WHERE Owner_id=@own_id AND Renter_id=@rent_id AND Area_id=@area_id", db.getConnection());
                        commandCheck2.Parameters.Add("@own_id", OleDbType.Integer).Value  = SelectedArea.person_id;
                        commandCheck2.Parameters.Add("@rent_id", OleDbType.Integer).Value = Client1.id;
                        commandCheck2.Parameters.Add("@area_id", OleDbType.Integer).Value = SelectedArea.area_id;
                        DataTable        table2   = new DataTable();
                        OleDbDataAdapter adapter2 = new OleDbDataAdapter();
                        adapter2.SelectCommand = command1; //выполняем команду
                        adapter2.Fill(table2);             //все полученные данные трансформируем внутрь объекта table

                        if (table2.Rows.Count > 0)
                        {
                            MessageBox.Show("У вас уже оплачен контракт на данную площадь");
                        }
                        else
                        {
                            OleDbCommand command2 = new OleDbCommand("INSERT INTO Requests ([Accept],[Area_id],[Renter_id],[Owner_id],[Requests_initiatair] ) VALUES (@accept, @a_id, @r_id, @o_id,@r_i)", db.getConnection());
                            command2.Parameters.Add("@accept", OleDbType.Boolean).Value = false;
                            command2.Parameters.Add("@a_id", OleDbType.Integer).Value   = data[AreasComboBox.SelectedIndex][0];
                            command2.Parameters.Add("@r_id", OleDbType.Integer).Value   = SelectedArea.person_id;
                            command2.Parameters.Add("@o_id", OleDbType.VarChar).Value   = Client1.id;
                            command2.Parameters.Add("@r_i", OleDbType.VarChar).Value    = Client1.role;

                            db.openConnection();

                            if (command2.ExecuteNonQuery() == 1)
                            {
                                MessageBox.Show("Ваша заявка отправлена. Дождитесь ответа от данного пользователя.");
                            }
                            else
                            {
                                MessageBox.Show("Произошла ошибка.");
                            }

                            db.closeConnection();
                        }
                    }
                }
                else
                {
                    String ClientRole = Client1.role;
                    int    objectId   = SelectedArea.area_id; // Если пользователь Owner, то objectId - ID запроса пользователя. Если пользователь renter, то object_id - id помещения
                    int    Role_Login = Client1.id;



                    //Проверяем подавал ли пользователь уже эту заявку
                    OleDbCommand command1 = new OleDbCommand("SELECT * FROM Requests WHERE Renter_id = @r_id AND Owner_id= @o_id AND Area_id=@a_id AND Requests_initiatair=@r_i", db.getConnection());

                    command1.Parameters.Add("@r_id", OleDbType.Integer).Value = Client1.id;
                    command1.Parameters.Add("@o_id", OleDbType.Integer).Value = SelectedArea.person_id;
                    command1.Parameters.Add("@a_id", OleDbType.Integer).Value = SelectedArea.area_id;
                    command1.Parameters.Add("@r_i", OleDbType.VarChar).Value  = Client1.role;

                    DataTable        table   = new DataTable();
                    OleDbDataAdapter adapter = new OleDbDataAdapter();
                    adapter.SelectCommand = command1; //выполняем команду
                    adapter.Fill(table);              //все полученные данные трансформируем внутрь объекта table

                    if (table.Rows.Count > 0)
                    {
                        MessageBox.Show("Вы уже подавали заявку на данный объект!");
                    }
                    else
                    {
                        OleDbCommand command2 = new OleDbCommand("INSERT INTO Requests ([Accept],[Area_id],[Renter_id],[Owner_id],[Requests_initiatair] ) VALUES (@accept, @a_id, @r_id, @o_id,@r_i)", db.getConnection());
                        command2.Parameters.Add("@accept", OleDbType.Boolean).Value = false;
                        command2.Parameters.Add("@a_id", OleDbType.Integer).Value   = SelectedArea.area_id;
                        command2.Parameters.Add("@r_id", OleDbType.Integer).Value   = Client1.id;
                        command2.Parameters.Add("@o_id", OleDbType.VarChar).Value   = SelectedArea.person_id;
                        command2.Parameters.Add("@r_i", OleDbType.VarChar).Value    = Client1.role;

                        db.openConnection();

                        if (command2.ExecuteNonQuery() == 1)
                        {
                            MessageBox.Show("Ваша заявка отправлена. Дождитесь ответа от данного пользователя.");
                        }
                        else
                        {
                            MessageBox.Show("Произошла ошибка.");
                        }

                        db.closeConnection();
                    }
                }
            }
        }