/// <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);
         }
     }
 }
Example #2
0
 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);
        }
Example #6
0
 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;
 }
Example #7
0
        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);
 }