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(); }
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); }
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(); }
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("В таблице нет записи"); } }
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); } }
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); }
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(); }