/// <summary> /// Восстанавливает коллекцию, записанную в файл /// </summary> public void OpenFile(string filename) { if (!System.IO.File.Exists(filename)) { throw new Exception("Файл не существует"); } if (carFiles.Count != 0) { DeleteAll(); } using (StreamReader sw = new StreamReader(filename)) { while (!sw.EndOfStream) { string str = sw.ReadLine(); String[] dataFromFile = str.Split(new String[] { "|" }, StringSplitOptions.RemoveEmptyEntries); ushort ID = (ushort)Convert.ToInt32(dataFromFile[0]); string Manuf = dataFromFile[1]; string Model = dataFromFile[2]; ushort Year = (ushort)Convert.ToInt32(dataFromFile[3]); string Body = dataFromFile[4]; CarFile carFile = new CarFile(ID, Manuf, Model, Year, Body); AddFile(carFile); } } }
private void AddButton_Click(object sender, EventArgs e) { try { string manuf = ManufTextBox.Text; string model = ModelTextBox.Text; ushort year = (ushort)Convert.ToInt32(YearTextBox.Text); string body = BodyTextBox.Text; ManufTextBox.Text = ""; ModelTextBox.Text = ""; YearTextBox.Text = ""; BodyTextBox.Text = ""; CarFile carFile = new CarFile(randID(), manuf, model, year, body); data.AddFile(carFile); int n = data.CarFiles.Count; CarFile car = (CarFile)data.CarFiles[n - 1]; dataGridView.Rows.Add(car.IDCar, manuf, model, year, body); BanChangeColumn(n - 1); if ((!timer1.Enabled) && (filename != "")) { timer1.Enabled = true; timer1.Start(); } } catch (Exception exception) { MessageBox.Show($"Ошибка: {exception.Message}"); } }
int IComparer.Compare(object x, object y) { CarFile car1 = (CarFile)x; CarFile car2 = (CarFile)y; return((this.m_direction == SortDirection.Ascending) ? car1.YearCar.CompareTo(car2.YearCar) : car2.YearCar.CompareTo(car1.YearCar)); }
/// <summary> /// Изменяет год издания авто у заданного элемента /// </summary> public void ChangeYearRelease(ushort year, int index) { CarFile car = (CarFile)carFiles[index]; if ((year < 1890) || (year > DateTime.Now.Year)) { throw new Exception("Год выпуска машины с 1890,не позднее " + DateTime.Now.Year); } car.YearCar = year; }
/// <summary> /// Поиск, -1 если элем не найден /// </summary> public List <int> SearchFile(string search) { List <int> count = new List <int>(); ushort numSearch; if (ushort.TryParse(search, out numSearch)) { for (int i = 0; i < carFiles.Count; i++) { CarFile car = (CarFile)carFiles[i]; if (car.IDCar == numSearch) { count.Add(i); break; } else { if (car.YearCar == numSearch) { count.Add(i); } } } if (count.Count == 0) { count.Add(-1); } return(count); } search = search.ToLower(); search = search.Replace(" ", ""); for (int i = 0; i < carFiles.Count; i++) { CarFile car = (CarFile)carFiles[i]; if (car.ManufCar.ToLower().Replace(" ", "").Contains(search)) { count.Add(i); } else if (car.ModelCar.ToLower().Replace(" ", "").Contains(search)) { count.Add(i); } else if (car.BodyCar.ToLower().Replace(" ", "").Contains(search)) { count.Add(i); } } if (count.Count == 0) { count.Add(-1); } return(count); }
private void WriteToDataGrid() { for (int i = 0; i < data.CarFiles.Count; i++) { CarFile car = (CarFile)data.CarFiles[i]; dataGridView.Rows.Add(car.IDCar, car.ManufCar, car.ModelCar, car.YearCar, car.BodyCar); BanChangeColumn(i); } // последнюю строку запрещаем редактировать dataGridView.Rows[data.CarFiles.Count].ReadOnly = true; }
public ushort randID() { Random r = new Random(); int id = r.Next(0, 1000); for (int i = 0; i < data.CarFiles.Count; i++) { CarFile car = (CarFile)data.CarFiles[i]; if (car.IDCar == id) { i = 0; id = r.Next(0, 1000); } } return((ushort)id); }
/// <summary> /// Изменяет кузов авто у заданного элемента /// </summary> public void ChangeBody(string body, int index) { CarFile car = (CarFile)carFiles[index]; car.BodyCar = body; }
/// <summary> /// Изменяет модель машины у заданного элемента /// </summary> public void ChangeModel(string model, int index) { CarFile car = (CarFile)carFiles[index]; car.ManufCar = model; }
/// <summary> /// Изменяет страну производителя у заданного элемента /// </summary> public void ChangeManuf(string manuf, int index) { CarFile car = (CarFile)carFiles[index]; car.ManufCar = manuf; }
/// <summary> /// Добавление данные в коллекцию /// </summary> public void AddFile(CarFile carFile) { carFiles.Add(carFile); }