Пример #1
0
        public static DataRow D2AAddRow(DataTable dataTable, D2A d2a)
        {
            DataRow newRow = dataTable.NewRow();

            newRow["driver"] = d2a.Driver.Id;
            newRow["Auto"]   = d2a.Auto.Id;

            return(newRow);
        }
Пример #2
0
 /// <summary>
 /// Конструктор экземпляра заказа
 /// </summary>
 /// <param name="ID">ID заказа</param>
 /// <param name="price">Сумма заказа</param>
 /// <param name="way">Экземпляр класса пути</param>
 /// <param name="customer">Экземпляр класса заказчик</param>
 /// <param name="d2a">Экземпляр класса водитель</param>
 /// <param name="x">xml заказа</param>
 public Order(int ID, decimal price, Way way, Customer customer, D2A d2a, string x = "")
 {
     this.Id       = ID;
     this.Price    = price;
     this.Way      = way;
     this.d2a      = d2a;
     this.Customer = customer;
     this.xml      = x;
 }
Пример #3
0
        protected void addD2AToBD(D2A d2a)
        {
            using (var adapter = new SqlDataAdapter())
            {
                DataTable d2aTable = TableInit.D2AInit();
                DataRow   dr       = TableInit.D2AAddRow(d2aTable, d2a);
                d2aTable.Rows.Add(dr);
                adapter.InsertCommand = QueryGenerator.D2AGenerateInsertQuery(ConfigurationManager.ConnectionStrings["tpDb"].ConnectionString);

                adapter.Update(d2aTable);
            }
        }
Пример #4
0
        public static D2A D2AGetRow(DataRow dr, List <Car> cl, List <Driver> dl)
        {
            int driver = int.Parse(dr["Driver"].ToString());
            int auto   = int.Parse(dr["Auto"].ToString());
            D2A newd2a = new D2A()
            {
                Driver = dl.Where(v => v.Id == driver).SingleOrDefault(),
                Auto   = cl.Where(v => v.Id == auto).SingleOrDefault(),
                Date   = DateTime.Parse(dr["Date"].ToString()),
                Id     = int.Parse(dr["Id"].ToString())
            };

            return(newd2a);
        }
Пример #5
0
        protected void btnAddNewD2A(object sender, EventArgs e)
        {
            D2A d2a = new D2A()
            {
                Driver = driverList.Where(d => d.Id.ToString() == DriverId.SelectedValue).First(),
                Auto   = carList.Where(c => c.Id.ToString() == AutoId.SelectedValue).First()
            };

            if (d2aList.Where(x => x.Date == DateTime.Today && (x.Driver == d2a.Driver || x.Auto == d2a.Auto)).Count() > 0)
            {
                Response.Write("<script>window.alert('Кажется данная машина или водитель уже работают сегодня... Жалко что нельзя заставить работать человека сразу в двух местах');</script>");
            }
            else
            {
                addD2AToBD(d2a);
            }
        }
Пример #6
0
        //public static Order OrderGetRow0(DataRow dataRow)
        //{
        //	decimal Price;
        //	Way newway = new Way()
        //	{
        //		From = dataRow["From"].ToString().ToLower(),
        //		To = dataRow["To"].ToString().ToLower()
        //	};
        //	Customer newcust = new Customer()
        //	{
        //		Phone = dataRow["Customer Phone"].ToString(),
        //		Name = dataRow["CUstomer Name"].ToString()
        //	};
        //	Car newcar = null;
        //	Driver newdriver = null;
        //	DateTime dt = DateTime.Today;
        //	if (decimal.TryParse(dataRow["Price"].ToString(), out Price))
        //	{
        //		string comflvl = dataRow["ComName"].ToString().ToLower();
        //		newcar = new Car()
        //		{
        //			comfLevel = comflvl == "база" ? Comfort.Base : (comflvl == "комфорт" ? Comfort.Comfort : Comfort.Business),
        //			Model = dataRow["Model"].ToString().ToLower(),
        //			Mark = dataRow["Mark"].ToString().ToLower()
        //		};
        //		newdriver = new Driver()
        //		{
        //			Phone = dataRow["Driver Phone"].ToString(),
        //			Name = dataRow["Driver Name"].ToString()
        //		};
        //		dt = DateTime.Parse(dataRow["Date"].ToString());
        //	}

        //	Order neworder = new Order(int.Parse(dataRow["Id"].ToString()), Price, newway, newcar, newcust, newdriver, dt);
        //	return neworder;
        //}

        public static Order OrderGetRow(DataRow dataRow, List <D2A> d2, List <Address> al, List <Customer> cl)
        {
            decimal vPrice;

            decimal.TryParse(dataRow["Price"].ToString(), out vPrice);
            var      From     = int.Parse(dataRow["AdressFrom"].ToString());
            var      To       = int.Parse(dataRow["AdressTo"].ToString());
            int      d        = int.Parse(dataRow["D2A"].ToString());
            string   s        = dataRow["for_driver"].ToString();
            Way      newway   = new Way(al.Where(a => a.id == From).FirstOrDefault(), al.Where(a => a.id == To).FirstOrDefault());
            D2A      da2      = d2.Where(a => a.Id == d).SingleOrDefault();
            string   p        = dataRow["Phone"].ToString();
            Customer cu       = cl.Where(a => a.Phone == p).FirstOrDefault();
            Order    neworder = new Order(int.Parse(dataRow["Id"].ToString()), vPrice, newway, cu, da2, dataRow["for_driver"].ToString());

            return(neworder);
        }
Пример #7
0
        /// <summary>
        /// Заполняем списки разными способами
        /// </summary>
        /// <param name="take"></param>
        /// <param name="skip"></param>
        private void fillLists(int take, int skip)
        {
            void littleFiller <cl>(TableInit.Init a, TableInit.GetRow <cl> b, List <cl> lst, string c, SqlDataAdapter adapter, string connectionString1)
            {
                var Table = a();

                adapter.SelectCommand = QueryGenerator.GenerateSelectQuery(c, connectionString1);
                adapter.Fill(Table);
                foreach (DataRow row in Table.Rows)
                {
                    lst.Add(b(row));
                }
            }

            var connectionString = ConfigurationManager.ConnectionStrings["tpDb"].ConnectionString;

            using (var adapter = new SqlDataAdapter())
            {
                //Используя специальную функцию
                littleFiller(TableInit.CustomerInit, TableInit.CustomerGetRow, custList, "Customer", adapter, connectionString);
                //Испольхуя встроенные методы
                driverList = Driver.GetDrivers(connectionString, adapter);
                adList     = Address.GetAddresses(connectionString, adapter);
                carList    = Car.GetCars(connectionString, adapter);

                d2aList = D2A.GetD2As(connectionString, adapter, carList, driverList);
                //Ещё 1 метод
                var Table = TableInit.OrderInit();
                adapter.SelectCommand = QueryGenerator.GenerateSelectQuery("Orders", connectionString);
                adapter.Fill(Table);
                foreach (DataRow row in Table.Rows)
                {
                    ordList.Add(TableInit.OrderGetRow(row, d2aList, adList, custList));
                }


                Table = TableInit.WayInit();
                adapter.SelectCommand = QueryGenerator.GenerateSelectQuery("Metrics", connectionString);
                adapter.Fill(Table);
                foreach (DataRow row in Table.Rows)
                {
                    wayList.Add(TableInit.WayGetRow(row, adList));
                }

                //Сортировка
                switch (sortType.Value)
                {
                case "2":
                    ordList = ordList.OrderBy(o => o.Customer.Name).ToList();
                    break;

                case "3":
                    ordList = ordList.OrderBy(o => o.d2a.Auto.Mark).ToList();
                    break;

                case "4":
                    ordList = ordList.OrderBy(o => o.d2a.Driver.Name).ToList();
                    break;

                case "5":
                    ordList = ordList.OrderBy(o => o.Way.From.street).ToList();
                    break;

                case "6":
                    ordList = ordList.OrderBy(o => o.d2a.Date).ToList();
                    break;

                case "7":
                    ordList = ordList.OrderBy(o => o.Price).ToList();
                    break;

                default:
                    break;
                }
                ordList = ordList
                          .Skip(skip)
                          .Take(take)
                          .ToList();
            }
            //Используя LINQ-To-SQL
            DataContext db = new DataContext(connectionString);

            rsList = db.GetTable <RadioStation>().ToList();
        }
Пример #8
0
 private void fillLists()
 {
     using (var adapter = new SqlDataAdapter())
         (d2aList, carList, driverList) = D2A.GetD2As(ConfigurationManager.ConnectionStrings["tpDb"].ConnectionString, adapter);
     d2aList = d2aList.OrderByDescending(x => x.Date).ToList();
 }