Пример #1
0
        private void ReadData(string number, string station, string dept_time, string travel_time, string ticket)
        {
            int    numb  = Convert.ToInt32(number);
            string stat  = station;
            string dtime = dept_time;

            string[] arr = dtime.Split(':');

            string ttime = trav_time.Text;

            string[] mas  = ttime.Split(':');
            int      tick = Convert.ToInt32(tickets.Text);

            try
            {
                if (numb <= 0 || Convert.ToInt32(arr[0]) < 0 || Convert.ToInt32(arr[0]) > 23 || tick < 0 || Convert.ToInt32(mas[0]) < 0 || Convert.ToInt32(mas[0]) > 23 || Convert.ToInt32(mas[1]) < 0 || Convert.ToInt32(arr[1]) < 0 || Convert.ToInt32(arr[1]) > 59 || Convert.ToInt32(mas[1]) > 59)
                {
                    MessageBox.Show("Номер повинен бути більшим за нуль\nЧас відправлення та прибуття повинні бути у такому форматі hh:mm(години від 0 до 23, хвилини від 0 до 59)\nКількість квитків повинна бути додатньою\nЧас в дорозі повинен бути додатнім \nВведіть коректні дані", "Некоректні вхідні дані", MessageBoxButton.OK, MessageBoxImage.Warning);
                }
                else
                {
                    TimeSpan time_of_dept   = Convert.ToDateTime(dept_time).TimeOfDay;
                    TimeSpan time_of_travel = TimeSpan.FromHours(
                        Convert.ToDouble(ttime.Split(':')[0])).
                                              Add(TimeSpan.FromMinutes(
                                                      Convert.ToDouble((ttime.Split(':')[1]))));
                    ClassTrip trip = new ClassTrip(Convert.ToUInt16(numb), stat, time_of_dept, time_of_travel, tick);
                    using (SqlConnection conn = DBUtils.GetDBConnection())
                    {
                        try
                        {
                            conn.Open();
                            int k = DBUtils.InsertDataTrip(conn, trip);
                            if (k == 0)
                            {
                                MessageBox.Show("Такий рейс вже присутній в списку");
                            }
                            conn.Close();
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show(ex.Message);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.StackTrace);
            }
        }
Пример #2
0
        public static int InsertDataTrip(SqlConnection conn, ClassTrip ins_trip)
        {
            string sql = $"INSERT INTO trips_info(number, station, dept_time, travel_time, tickets) VALUES (@number_param, @station_param, @dept_time_param, @travel_time_param, @tickets_param)";

            SqlCommand cmd = conn.CreateCommand();

            cmd.CommandText = sql;

            cmd.Parameters.Add("@number_param", SqlDbType.SmallInt).Value  = ins_trip.Number;
            cmd.Parameters.Add("@station_param", SqlDbType.NVarChar).Value = ins_trip.Station;
            cmd.Parameters.Add("@dept_time_param", SqlDbType.Time).Value   = ins_trip.Dept_time;
            cmd.Parameters.Add("@travel_time_param", SqlDbType.Time).Value = ins_trip.Travel_time;
            cmd.Parameters.Add("@tickets_param", SqlDbType.Int).Value      = ins_trip.Tickets;

            int rowCount = cmd.ExecuteNonQuery();

            return(rowCount);
        }
Пример #3
0
        public static int UpdateDataTrip(SqlConnection conn, ClassTrip ins_trip)
        {
            string sql = $"UPDATE trips_info SET station=@station_param, dept_time=@dept_time_param, travel_time=@travel_time_param, tickets=@tickets_param WHERE number=@number_param";

            SqlCommand cmd = new SqlCommand();

            cmd.Connection  = conn;
            cmd.CommandText = sql;

            cmd.Parameters.Add("@number_param", SqlDbType.SmallInt).Value  = ins_trip.Number;
            cmd.Parameters.Add("@station_param", SqlDbType.NVarChar).Value = ins_trip.Station;
            cmd.Parameters.Add("@dept_time_param", SqlDbType.Time).Value   = ins_trip.Dept_time;
            cmd.Parameters.Add("@travel_time_param", SqlDbType.Time).Value = ins_trip.Travel_time;
            cmd.Parameters.Add("@tickets_param", SqlDbType.Int).Value      = ins_trip.Tickets;

            int rowCount = cmd.ExecuteNonQuery();

            return(rowCount);
        }
Пример #4
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            int    numb  = Convert.ToInt32(number.Text);
            string stat  = station.Text;
            string dtime = dept_time.Text;

            string[] arr = dtime.Split(':');

            string ttime = travel_time.Text;

            string[] mas  = ttime.Split(':');
            int      tick = Convert.ToInt32(tickets.Text);

            if (numb <= 0 || Convert.ToInt32(arr[0]) < 0 || Convert.ToInt32(arr[0]) > 23 || tick < 0 || Convert.ToInt32(mas[0]) < 0 || Convert.ToInt32(mas[0]) > 23 || Convert.ToInt32(mas[1]) < 0 || Convert.ToInt32(arr[1]) < 0 || Convert.ToInt32(arr[1]) > 59 || Convert.ToInt32(mas[1]) > 59)
            {
                MessageBox.Show("Номер повинен бути більшим за нуль\nЧас відправлення та прибуття повинні бути у такому форматі hh:mm(години від 0 до 23, хвилини від 0 до 59)\nКількість квитків повинна бути додатньою\nЧас в дорозі повинен бути додатнім \nВведіть коректні дані", "Некоректні вхідні дані", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
            else
            {
                TimeSpan  time_of_dept   = Convert.ToDateTime(dept_time.Text).TimeOfDay;
                TimeSpan  time_of_travel = Convert.ToDateTime(travel_time.Text).TimeOfDay;
                ClassTrip trip           = new ClassTrip(Convert.ToUInt16(numb), stat, time_of_dept, time_of_travel, tick);
                using (SqlConnection conn = DBUtils.GetDBConnection())
                {
                    try
                    {
                        conn.Open();
                        int k = DBUtils.UpdateDataTrip(conn, trip);
                        if (k == 0)
                        {
                            MessageBox.Show("Даний запис відсутній");
                        }
                        conn.Close();
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                }
                this.Close();
            }
        }