Exemple #1
0
        private void DelButton_Click(object sender, System.EventArgs e)
        {
            IntercityCallModel model;
            var elements = reqester.GetReqest();

            foreach (IntercityCallModel element in elements)
            {
                if (
                    IntercityDataView.SelectedRows[0].Cells[1].Value.ToString() == element.Surname &&
                    IntercityDataView.SelectedRows[0].Cells[2].Value.ToString() == element.Phone &&
                    int.Parse(IntercityDataView.SelectedRows[0].Cells[5].Value.ToString()) == element.Duration
                    )
                {
                    model = new IntercityCallModel(element.ID);
                    reqester.DeleateReqest(model);
                    Console.WriteLine($"Deleated element in {element.ID} ID");
                }
                else
                {
                    Console.WriteLine($"{element.ID}" +
                                      $"{element.Phone}" +
                                      $"{element.Duration}" +
                                      $"{element.Surname}");
                    Console.WriteLine($"{IntercityDataView.SelectedRows[0].Cells[0].Value}" +
                                      $"{IntercityDataView.SelectedRows[0].Cells[1].Value}" +
                                      $"{IntercityDataView.SelectedRows[0].Cells[4].Value}");
                }
            }
            UpdateAllView();
        }
Exemple #2
0
        private List <IDataModel> GetRange(DateTime startDate, DateTime endDate)
        {
            var getRangeReq = "SELECT * FROM IntercityCalls WHERE DateOfCall " +
                              "BETWEEN @startDate AND @endDate";

            connection.Open();

            OleDbCommand getReq = new OleDbCommand(getRangeReq, connection);

            getReq.Parameters.Add(new OleDbParameter("@startDate", OleDbType.Date));
            getReq.Parameters.Add(new OleDbParameter("@endDate", OleDbType.Date));
            getReq.Parameters["@startDate"].Value = startDate.Date;
            getReq.Parameters["@endDate"].Value   = endDate.Date;

            OleDbDataReader   reader = getReq.ExecuteReader();
            List <IDataModel> Ranged = new List <IDataModel>();

            while (reader.Read())
            {
                IntercityCallModel model = new IntercityCallModel((int)(reader[0]),
                                                                  (string)reader[1], (string)reader[2], (DateTime)reader[3],
                                                                  (int)reader[4], (double)reader[5]);
                Ranged.Add(model);
            }
            connection.Close();

            return(Ranged);
        }
Exemple #3
0
        private void ChangeButton_Click(object sender, EventArgs e)
        {
            int row = RowIndex;
            IntercityCallModel model = new IntercityCallModel(
                IntercityDataView.Rows[row].Cells[1].Value.ToString(),
                IntercityDataView.Rows[row].Cells[2].Value.ToString(),
                DateTime.Parse(IntercityDataView.Rows[row].Cells[3].Value.ToString()),
                int.Parse(IntercityDataView.Rows[row].Cells[5].Value.ToString()),
                double.Parse(IntercityDataView.Rows[row].Cells[6].Value.ToString())
                );
            var elements = reqester.GetReqest();
            int ID       = 0;

            foreach (IntercityCallModel element in elements)
            {
                if (element.Phone.Equals(model.Phone) ||
                    element.Surname.Equals(model.Surname) ||
                    element.Price.Equals(model.Price) ||
                    element.Duration.Equals(model.Duration)
                    )
                {
                    ID = element.ID;
                }
            }
            model = new IntercityCallModel(int.Parse(IntercityDataView.Rows[row].Cells[0].Value.ToString()),      //id
                                           IntercityDataView.Rows[row].Cells[1].Value.ToString(),                 //sur
                                           IntercityDataView.Rows[row].Cells[2].Value.ToString(),                 //phone
                                           DateTime.Parse(IntercityDataView.Rows[row].Cells[3].Value.ToString()), //date
                                           int.Parse(IntercityDataView.Rows[row].Cells[5].Value.ToString()),      //dur
                                           double.Parse(IntercityDataView.Rows[row].Cells[6].Value.ToString())    //cost
                                           );

            reqester.UpdateReqest(model);
            UpdateAllView();
        }
Exemple #4
0
        public void AddCallTest1()
        {
            DateTime date;

            date = DateTime.Today;

            IntercityCallModel model = new IntercityCallModel("Smith", "(495)111221", date, 60, 0.40);
            AddIntercityCall   call  = new AddIntercityCall();

            call.Add(model, connection);

            string price = model.Price.ToString().Replace(",", ".");

            var cmdText = $"SELECT * FROM IntercityCalls WHERE [Phone] = '{model.Phone}' " +
                          $"AND [Surname] = '{model.Surname}' " +
                          $"AND [Duration] = {model.Duration}" +
                          $"AND [Price] = {price}";

            connection.Open();
            OleDbCommand TestCommand = new OleDbCommand(cmdText, connection);

            if (TestCommand.ExecuteReader().HasRows)
            {
                connection.Close();
                Assert.Pass();
            }
            else
            {
                connection.Close();
                Assert.Fail("В таблице нет записи");
            }
        }
Exemple #5
0
        public void Setup()
        {
            connection.Open();
            OleDbCommand TruncateCommand = new OleDbCommand("DELETE FROM IntercityCalls", connection);

            TruncateCommand.ExecuteNonQuery();
            connection.Close();
            AddIntercityCall   call = new AddIntercityCall();
            IntercityCallModel model;
            DateTime           date = DateTime.Today;

            for (int Item = 0; Item < 100; Item++)
            {
                model = new IntercityCallModel($"TestSur{Item}", $"{Item}", date, 60, 0.4);
                call.Add(model, connection);
            }
        }
Exemple #6
0
        public void DeleateInterCityTest1()
        {
            DeleateIntercityCall deleateEvent = new DeleateIntercityCall();
            GetIntercityCalls    allCalls     = new GetIntercityCalls();
            DateTime             date         = DateTime.Today;

            var  calls    = allCalls.Get(connection);
            int  ID       = 0;
            bool passFlag = false;

            foreach (IntercityCallModel call in calls)
            {
                if (call.Surname.Equals("TestSur99") && calls.Count == 100)
                {
                    ID       = call.ID;
                    passFlag = true;
                }
            }


            IntercityCallModel model = new IntercityCallModel(ID);

            deleateEvent.Deleate(model, connection);

            allCalls = new GetIntercityCalls();
            calls    = allCalls.Get(connection);

            foreach (IntercityCallModel call in calls)
            {
                if (call.Surname.Equals("TestSur99") && calls.Count != 99)
                {
                    passFlag = false;
                }
            }

            if (passFlag)
            {
                Assert.Pass("Элемент отсутсвует в БД");
            }

            else
            {
                Assert.Fail("Ошибка удаления");
            }
        }
        public void Add(IDataModel model, OleDbConnection connection)
        {
            IntercityCallModel call  = (IntercityCallModel)model;
            string             price = call.Price.ToString().Replace(",", ".");

            string AppendQuery = $"INSERT INTO IntercityCalls (Surname, Phone, DateOfCall, Duration, Price) " +
                                 $"VALUES('{call.Surname}'" +
                                 $",'{call.Phone}'" +
                                 $",'{call.DateOfCall}'" +
                                 $",{call.Duration}" +
                                 $",{price})";

            connection.Open();
            OleDbCommand query = new OleDbCommand(AppendQuery, connection);

            query.ExecuteNonQuery();
            connection.Close();
        }
        public List <IDataModel> Get(OleDbConnection connection)
        {
            List <IDataModel> events = new List <IDataModel>();

            connection.Open();
            string          ReqText = $"SELECT * FROM IntercityCalls";
            OleDbCommand    getReq  = new OleDbCommand(ReqText, connection);
            OleDbDataReader reader  = getReq.ExecuteReader();

            while (reader.Read())
            {
                IntercityCallModel model = new IntercityCallModel((int)(reader[0]),
                                                                  (string)reader[1], (string)reader[2], (DateTime)reader[3],
                                                                  (int)reader[4], (double)reader[5]);
                events.Add(model);
            }
            connection.Close();
            return(events);
        }
Exemple #9
0
        private void AddButton_Click(object sender, EventArgs e)
        {
            if (AddSurname.Text.Length != 0 &&
                AddPhone.Text.Length != 0 &&
                AddPrice.Text.Length != 0 &&
                AddDuration.Text.Length != 0
                )
            {
                if (!Regex.IsMatch(AddPrice.Text, "^[0-9,.]+$"))
                {
                    MessageBox.Show("В поле цена должно быть указано число с запятой или точкой в формате 0,00 либо 0.00",
                                    "Ошибка ввода");
                }
                else
                {
                    var    priceT   = AddPrice.Text.Contains(".") ? AddPrice.Text.Replace('.', ',') : AddPrice.Text;
                    double price    = Convert.ToDouble(priceT);
                    var    duration = int.Parse(AddDuration.Text);


                    //проверить!!
                    IntercityCallModel model = new IntercityCallModel
                                                   (AddSurname.Text,
                                                   AddPhone.Text,
                                                   AddDatePicker.Value.Date,
                                                   duration,
                                                   price
                                                   );

                    Reqester req = new Reqester();
                    req.setAddRequest(new AddIntercityCall());
                    req.setGetRequest(new GetIntercityCalls());
                    req.AddReqest(model);

                    IntercityCallsForm form = Application.OpenForms.OfType <IntercityCallsForm>().Single();
                    form.UpdateAllView();
                }
            }
            else
            {
                MessageBox.Show("Заполните все поля и повторите попытку", "Ошибка");
            }
        }
        public void Update(IDataModel model, OleDbConnection connection)
        {
            IntercityCallModel callModel = (IntercityCallModel)model;
            string             updQue    = $"UPDATE IntercityCalls SET " +
                                           $"Surname = '{callModel.Surname}'," +
                                           $"Phone = '{callModel.Phone}'," +
                                           $"DateOfCall = @dateOfCall," +
                                           $"Duration = {callModel.Duration}," +
                                           $"Price = @price" +
                                           $" WHERE ID = {model.ID}";
            OleDbCommand updCommand = new OleDbCommand(updQue, connection);

            updCommand.Parameters.Add(new OleDbParameter("@dateOfCall", OleDbType.Date));
            updCommand.Parameters["@dateOfCall"].Value = callModel.DateOfCall.ToShortDateString();
            updCommand.Parameters.Add(new OleDbParameter("@price", OleDbType.Double));
            updCommand.Parameters["@price"].Value = callModel.Price;
            connection.Open();
            updCommand.ExecuteNonQuery();
            connection.Close();
        }