public static DataRow D2AAddRow(DataTable dataTable, D2A d2a) { DataRow newRow = dataTable.NewRow(); newRow["driver"] = d2a.Driver.Id; newRow["Auto"] = d2a.Auto.Id; return(newRow); }
/// <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; }
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); } }
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); }
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); } }
//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); }
/// <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(); }
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(); }