// Вносит данные в таблицу БД public void InsertTable(IConnDataBaseSQL obj) { Console.WriteLine(@"Insert Data to table ""Orders"" about " + Convert.ToString(this.GetType()).Substring(22)); StringBuilder sb = new StringBuilder(); sb.Append("USE LogisticsOVA; "); sb.Append("INSERT INTO Orders (customerID, weight, volume, from, to, " + "startDate, endDate, orderStatus) VALUES "); sb.Append($"('{customerID}', '{weight}', '{volume}', '{from}', '{to}'," + $" '{startDate}', '{endDate}', '{orderStatus}') "); string sqlQuery = sb.ToString(); obj.SaveData(sqlQuery); //public int customerID { get; set; } //public double weight { get; set; } //public double volume { get; set; } //public string from { get; set; } //public string to { get; set; } //public string startDate { get; set; } //public string endDate { get; set; } //public int orderStatus { get; set; } }
// Вносит данные в таблицу БД public void InsertTable(IConnDataBaseSQL obj) { Console.WriteLine(@"Insert Data to table ""Routes"" about " + Convert.ToString(this.GetType()).Substring(22)); StringBuilder sb = new StringBuilder(); sb.Append("USE LogisticsOVA; "); sb.Append("INSERT INTO Routes (routeStart, routeEnd, routeLength) VALUES "); // объявляем переменную счетчика для подсчета кол-ва итерации, чтобы в запросе на последний // ввод строки в таблицу не ставить "," (обеспечение правильности синтаксиса запроса SQL) int count = 0; string sqlQuery = null; foreach (Route i in routesList) { count++; sb.Append($"('{i.routeStart}', '{i.routeEnd}', '{i.routeLength}') "); if (routesList.Length != count) { sb.Append(", "); } } sqlQuery = sb.ToString(); obj.SaveData(sqlQuery); //throw new NotImplementedException(); }
// Вносит данные в таблицу БД public void InsertTable(IConnDataBaseSQL obj) { Console.WriteLine(@"Insert Data to table ""Orders"" about " + Convert.ToString(this.GetType()).Substring(22)); StringBuilder sb = new StringBuilder(); sb.Append("USE LogisticsOVA; "); sb.Append("INSERT INTO Orders (customerID, weight, volume, from, to, " + "startDate, endDate, orderStatus) VALUES "); // объявляем переменную счетчика для подсчета кол-ва итерации, чтобы в запросе на последний // ввод строки в таблицу не ставить "," (обеспечение правильности синтаксиса запроса SQL) int count = 0; string sqlQuery = null; foreach (Order i in ordersList) { count++; sb.Append($"('{i.customerID}', '{i.weight}', '{i.volume}', '{i.from}', '{i.to}'," + $" '{i.startDate}', '{i.endDate}', '{i.orderStatus}') "); if (ordersList.Count != count) { sb.Append(", "); } } sqlQuery = sb.ToString(); obj.SaveData(sqlQuery); //throw new NotImplementedException(); }
// Вносит данные в таблицу БД public void InsertTable(IConnDataBaseSQL obj) { Console.WriteLine(@"Insert Data to table ""Transports"" about " + Convert.ToString(this.GetType()).Substring(22)); StringBuilder sb = new StringBuilder(); sb.Append("USE LogisticsOVA; "); sb.Append("INSERT INTO Transports (transportType, carryingСapacity, " + "bodyVolume) VALUES "); // объявляем переменную счетчика для подсчета кол-ва итерации, чтобы в запросе на последний // ввод строки в таблицу не ставить "," (обеспечение правильности синтаксиса запроса SQL) int count = 0; string sqlQuery = null; foreach (Transport i in transportsList) { count++; sb.Append($"('{i.transportType}', '{i.bodyWeight}', " + $"'{i.bodyVolume}') "); if (transportsList.Length != count) { sb.Append(", "); } } sqlQuery = sb.ToString(); obj.SaveData(sqlQuery); //throw new NotImplementedException(); }
// Вносит данные в таблицу БД public void InsertTable(IConnDataBaseSQL obj) { Console.WriteLine(@"Insert Data to table ""Workers"" about " + Convert.ToString(this.GetType()).Substring(22)); StringBuilder sb = new StringBuilder(); sb.Append("USE LogisticsOVA; "); sb.Append("INSERT INTO Customers (lastName, firstName, middleName, " + "birthday, iin, orderID) VALUES "); // объявляем переменную счетчика для подсчета кол-ва итерации, чтобы в запросе на последний // ввод строки в таблицу не ставить "," (обеспечение правильности синтаксиса запроса SQL) int count = 0; string sqlQuery = null; foreach (Customer i in customersList) { count++; sb.Append($"('{i.LastName}', '{i.FirstName}', '{i.MiddleName}', " + $"'{i.birthday.Year}-{i.birthday.Month}-{i.birthday.Day}', '{i.iin}', '{i.orderID}') "); if (customersList.Count != count) { sb.Append(", "); } } sqlQuery = sb.ToString(); obj.SaveData(sqlQuery); //throw new NotImplementedException(); }
// Создает таблицу в БД public void CreateTable(IConnDataBaseSQL obj) { Console.WriteLine(@"Creating Table --- ""Customers"""); StringBuilder sb = new StringBuilder(); sb.Append("USE LogisticsOVA; "); sb.Append("CREATE TABLE Customers ("); sb.Append(" customerID INT IDENTITY(1,1) NOT NULL PRIMARY KEY, "); sb.Append(" lastName NVARCHAR(50), "); sb.Append(" firstName NVARCHAR(50), "); sb.Append(" middleName NVARCHAR(50), "); sb.Append(" birthday DATE, "); sb.Append(" iin DECIMAL, "); sb.Append(" orderID INT, "); sb.Append(" registrationDate DATE NOT NULL DEFAULT CONVERT(DATE, GETDATE()) "); sb.Append("); "); string sqlQuery = sb.ToString(); obj.SaveData(sqlQuery); if (CustomersAddedtoDB != null) { CustomersAddedtoDB("Данные о заказчиках внесены в таблицу Customers базы данных."); } //throw new NotImplementedException(); }
// Создает таблицу в БД public void CreateTable(IConnDataBaseSQL obj) { Console.WriteLine(@"Creating Table --- ""Employees"""); StringBuilder sb = new StringBuilder(); sb.Append("USE LogisticsOVA; "); sb.Append("CREATE TABLE Employees ("); sb.Append(" employeeID INT IDENTITY(1,1) NOT NULL PRIMARY KEY, "); sb.Append(" lastName NVARCHAR(50), "); sb.Append(" firstName NVARCHAR(50), "); sb.Append(" middleName NVARCHAR(50), "); sb.Append(" birthday DATE, "); sb.Append(" iin DECIMAL, "); sb.Append(" employmentDate DATE, "); sb.Append(" position NVARCHAR(50), "); sb.Append(" solary INT "); sb.Append("); "); string sqlQuery = sb.ToString(); obj.SaveData(sqlQuery); if (EmployeesAddedtoDB != null) { EmployeesAddedtoDB("Данные о сотрудниках внесены в таблицу Employees базы данных."); } //throw new NotImplementedException(); }
// Выполняет вывод таблицы в консоль public void ViewTable(IConnDataBaseSQL obj) { StringBuilder sb = new StringBuilder(); sb.Append("USE LogisticsOVA; "); sb.Append("SELECT * FROM Carriers "); string sqlQuery = sb.ToString(); obj.ReadData(sqlQuery); //throw new NotImplementedException(); }
// вывод в строку данных маршрута из таблицы Routes БД SQL по заданному routeID public string ViewTableOnRouteID(IConnDataBaseSQL obj, string routeID) { StringBuilder sb = new StringBuilder(); sb.Append("USE LogisticsOVA; "); sb.Append("SELECT * FROM Routes "); sb.Append($"WHERE routeID like '{routeID}'"); string sqlQuery = sb.ToString(); List <string> rowsStr = obj.ReadData(sqlQuery); return(rowsStr[0]); //throw new NotImplementedException(); }
// Устнавливает счетчик на цифру кол-ва ранее созданных объектов public void SetCountObj(IConnDataBaseSQL obj) { StringBuilder sb = new StringBuilder(); sb.Append("USE LogisticsOVA; "); sb.Append("SELECT COUNT(1) FROM Orders"); string sqlQuery = sb.ToString(); ordersCount = obj.ReadCountRowInTable(sqlQuery); Console.WriteLine("\n-------------------------------------------------------------------"); Console.WriteLine(@"Кол-во строк в tаблице ""Routes"" - " + ordersCount); Console.WriteLine("\n-------------------------------------------------------------------"); }
// Вставляет данные в таблицу БД public void InsertTable(IConnDataBaseSQL obj) { Console.WriteLine(@"Insert Data to table ""Routes"" about " + Convert.ToString(this.GetType()).Substring(22)); StringBuilder sb = new StringBuilder(); sb.Append("USE LogisticsOVA; "); sb.Append("INSERT INTO Routes (routeID, routeDistance) VALUES "); sb.Append($"('{routeID}', '{routeDistance}') "); string sqlQuery = sb.ToString(); obj.SaveData(sqlQuery); }
// Вносит данные в таблицу БД public void InsertTable(IConnDataBaseSQL obj) { Console.WriteLine(@"Insert Data to table ""Employees"" about " + Convert.ToString(this.GetType()).Substring(22)); StringBuilder sb = new StringBuilder(); sb.Append("USE LogisticsOVA; "); sb.Append("INSERT INTO Employees (lastName, firstName, middleName, birthday, iin, employmentDate, position, solary) VALUES "); sb.Append($"('{lastName}', '{firstName}', '{middleName}', '{birthday.Year}-{birthday.Month}-{birthday.Day}', '{iin}'," + $" '{employmentDate.Year}-{employmentDate.Month}-{employmentDate.Day}', '{position}', '{solary}') "); string sqlQuery = sb.ToString(); obj.SaveData(sqlQuery); }
// Вносит данные в таблицу БД public void InsertTable(IConnDataBaseSQL obj) { Console.WriteLine(@"Insert Data to table ""Carriers"" about " + Convert.ToString(this.GetType()).Substring(22)); StringBuilder sb = new StringBuilder(); sb.Append("USE LogisticsOVA; "); sb.Append("INSERT INTO Carriers (lastName, firstName, middleName, birthday, iin, " + "carrierRouteID, carrierTransportsIdList) VALUES "); sb.Append($"('{lastName}', '{firstName}', '{middleName}', '{birthday.Year}-{birthday.Month}-{birthday.Day}', '{iin}'," + $" '{carrierRoutesIdList}', '{carrierTransportsIdList}') "); string sqlQuery = sb.ToString(); obj.SaveData(sqlQuery); }
// Создание маршрутного листа перевозчику по запросу города A в город B в БД public void AddRouteToСarrierRouteListByCityNamesAB(IConnDataBaseSQL obj, string routeStart, string routeEnd) { StringBuilder sb = new StringBuilder(); sb.Append("USE LogisticsOVA; "); sb.Append("SELECT * FROM [Routes]"); sb.Append($"WHERE routeStart like '{routeStart}' and routeEnd like '{routeEnd}' "); string sqlQuery = sb.ToString(); List <string> rowsStr = obj.ReadData(sqlQuery); //проверяем есть ли в списках маршрутов маршрут с указанными городами routeStart и routeEnd, //который мы хотим добавить перевозчику try { if (rowsStr.Count == 0) { throw new Exception("Ошибка: маршрут с заданым номером не существует."); } if (rowsStr.Count > 1) { throw new Exception("Ошибка: Найдено более одной записи с таким маршрутом.\n" + "Проверьте корректность записей в таблице маршрутов"); } } catch (Exception ex) { Console.WriteLine(ex); return; } string routeID = rowsStr[0].Substring(0, rowsStr[0].IndexOf(';')); /* каждый отдельный маршрут должен быть связан с предыдущим и последующим * routeEnd(1) == routeStart(2) и routeEnd(2) == routeStart(3) * проверяем цепь маршрутов * !!! реализовать после..., по мере необходимости !!! * пока просто вносим маршруты соблюдая описанную выше логику - цепь маршрутов */ string[] tmp = new string[carrierRoutesIdList.Length + 1]; Array.Copy(carrierRoutesIdList, tmp, carrierRoutesIdList.Length); Array.Resize(ref carrierRoutesIdList, (carrierRoutesIdList.Length + 1)); Array.Copy(tmp, carrierRoutesIdList, carrierRoutesIdList.Length); carrierRoutesIdList[carrierRoutesIdList.Length - 1] = routeID; //Console.WriteLine($"маршрут {routeStart} - {routeEnd} добавлен, номер маршрута : {routeID}"); }
// Вносит данные в таблицу БД public void InsertTable(IConnDataBaseSQL obj) { Console.WriteLine(@"Insert Data to table ""Transports"" about " + Convert.ToString(this.GetType()).Substring(22)); StringBuilder sb = new StringBuilder(); sb.Append("USE LogisticsOVA; "); sb.Append("INSERT INTO Transports (transportType, bodyWeight, " + "bodyVolume) VALUES "); sb.Append($"('{transportType}', '{bodyWeight}', " + $"'{bodyVolume}') "); string sqlQuery = sb.ToString(); obj.SaveData(sqlQuery); }
public void ViewTableOnRouteID(IConnDataBaseSQL obj, int routeID) { StringBuilder sb = new StringBuilder(); sb.Append("USE LogisticsOVA; "); sb.Append("SELECT * FROM Routes "); sb.Append("WHERE routeID=" + routeID); string sqlQuery = sb.ToString(); List <string> rowsStr = obj.ReadData(sqlQuery); foreach (string i in rowsStr) { Console.WriteLine(i); } //throw new NotImplementedException(); }
// Выполняет вывод таблицы в консоль public void ViewTable(IConnDataBaseSQL obj) { StringBuilder sb = new StringBuilder(); sb.Append("USE LogisticsOVA; "); sb.Append("SELECT * FROM Routes "); string sqlQuery = sb.ToString(); // получаем массив из строк считанный из таблицы и выводим в консоль List <string> rowsStr = obj.ReadData(sqlQuery); foreach (string i in rowsStr) { Console.WriteLine(i); } //throw new NotImplementedException(); }
// Создает таблицу в БД public void CreateTable(IConnDataBaseSQL obj) { Console.WriteLine(@"Creating Table --- ""Transports"""); StringBuilder sb = new StringBuilder(); sb.Append("USE LogisticsOVA; "); sb.Append("CREATE TABLE Transports ("); sb.Append(" transportID INT IDENTITY(1,1) NOT NULL PRIMARY KEY, "); sb.Append(" transportType NVARCHAR(50), "); sb.Append(" carryingСapacity INT, "); sb.Append(" bodyVolume INT "); sb.Append("); "); string sqlQuery = sb.ToString(); obj.SaveData(sqlQuery); //throw new NotImplementedException(); }
// Создание списка транспортных средств перевозчика public void AddTransportToTransportsList(IConnDataBaseSQL obj, int transportID) { StringBuilder sb = new StringBuilder(); sb.Append("USE LogisticsOVA; "); sb.Append("SELECT transportID FROM [Transports]"); string sqlQuery = sb.ToString(); List <string> rowsStr = obj.ReadData(sqlQuery); //проверяем есть ли в списках транспортных средств транспорт под номером, //который мы хотим добавить перевозчику try { //foreach (string i in rowsStr) // Console.WriteLine((Convert.ToInt32(i.Substring(0, i.IndexOf(';'))))); int countMatch = 0; foreach (string i in rowsStr) { if ((Convert.ToInt32(i.Substring(0, i.IndexOf(';')))) == transportID) { countMatch++; } } if (countMatch == 0) { throw new Exception("Ошибка: транспорта с заданым номером не существует."); } } catch (Exception ex) { Console.WriteLine(ex); return; } int[] tmp = new int[carrierTransportsIdList.Length + 1]; Array.Copy(carrierTransportsIdList, tmp, carrierTransportsIdList.Length); Array.Resize(ref carrierTransportsIdList, (carrierTransportsIdList.Length + 1)); Array.Copy(tmp, carrierTransportsIdList, carrierTransportsIdList.Length); carrierTransportsIdList[carrierTransportsIdList.Length - 1] = transportID; //Console.WriteLine($"транспорт за номером {transportID} добавлен"); }
// Создает таблицу в БД public void CreateTable(IConnDataBaseSQL obj) { Console.WriteLine(@"Creating Table --- ""Routes"""); StringBuilder sb = new StringBuilder(); sb.Append("USE LogisticsOVA; "); sb.Append("CREATE TABLE Routes ("); sb.Append(" routeID INT IDENTITY(1,1) NOT NULL PRIMARY KEY, "); sb.Append(" routeStart NVARCHAR(50), "); sb.Append(" routeEnd NVARCHAR(50), "); sb.Append(" routeLength INT DEFAULT NULL "); sb.Append("); "); string sqlQuery = sb.ToString(); obj.SaveData(sqlQuery); //throw new NotImplementedException(); }
// Вносит данные в таблицу БД public void InsertTable(IConnDataBaseSQL obj) { Console.WriteLine(@"Insert Data to table ""Routes"" about " + Convert.ToString(this.GetType()).Substring(22)); StringBuilder sb = new StringBuilder(); sb.Append("USE LogisticsOVA; "); sb.Append("INSERT INTO Routes (routeID, routeStart, routeEnd, routeDistance) VALUES "); // объявляем переменную счетчика для подсчета кол-ва итерации, чтобы в запросе на последний // ввод строки в таблицу не ставить "," (обеспечение правильности синтаксиса запроса SQL) int count = 0; string sqlQuery = null; // === вариант через цикл foreach === foreach (Route i in arrRoutes) { count++; sb.Append($"('{i.routeID}', '{i.routeStart}', '{i.routeEnd}', '{i.routeDistance}') "); if (arrRoutes.Length != count) { sb.Append(", "); } } // === вариант через цикл for === //for (int i = 0; i < rowNum; i++) // { // for (int j = 0; j < columnNum; j++) // { // count++; // sb.Append($"('{arrRoutes[i, j].routeID}', '{arrRoutes[i, j].routeStart}', '{arrRoutes[i, j].routeEnd}', '{arrRoutes[i, j].routeDistance}') "); // if (arrRoutes.Length != count) sb.Append(", "); // } // } sqlQuery = sb.ToString(); obj.SaveData(sqlQuery); //throw new NotImplementedException(); }
// Создание маршрутного листа перевозчику по запросу routeID в БД public void AddRouteToСarrierRouteListByRouteID(IConnDataBaseSQL obj, string routeID) { StringBuilder sb = new StringBuilder(); sb.Append("USE LogisticsOVA; "); sb.Append("SELECT routeID FROM [Routes]"); string sqlQuery = sb.ToString(); List <string> rowsStr = obj.ReadData(sqlQuery); //проверяем есть ли в списках маршрутов маршрут под номером, //который мы хотим добавить перевозчику try { int countMatch = 0; foreach (string i in rowsStr) { if (i.Substring(0, i.IndexOf(';')) == routeID) { countMatch++; } } if (countMatch == 0) { throw new Exception("Ошибка: маршрут с заданым номером не существует."); } } catch (Exception ex) { Console.WriteLine(ex); return; } Console.WriteLine($"маршрут за номером {routeID} добавлен"); int[] tmp = new int[carrierRoutesIdList.Length + 1]; Array.Copy(carrierRoutesIdList, tmp, carrierRoutesIdList.Length); Array.Resize(ref carrierRoutesIdList, (carrierRoutesIdList.Length + 1)); Array.Copy(tmp, carrierRoutesIdList, carrierRoutesIdList.Length); carrierRoutesIdList[carrierRoutesIdList.Length - 1] = routeID; }
// Выполняет вывод таблицы в консоль public void ViewTable(IConnDataBaseSQL obj) { StringBuilder sb = new StringBuilder(); sb.Append("USE LogisticsOVA; "); sb.Append("SELECT * FROM Routes "); sb.Append("ORDER BY routeStart "); string sqlQuery = sb.ToString(); // получаем массив из строк считанный из таблицы и выводим в консоль List <string> rowsStr = obj.ReadData(sqlQuery); for (int i = 0; i != rowsStr.Count; i++) { Console.Write(rowsStr[i] + "\t\t\t\t"); if (i % 3 == 0) { Console.WriteLine(); } } //throw new NotImplementedException(); }
// Создает таблицу в БД public void CreateTable(IConnDataBaseSQL obj) { Console.WriteLine(@"Creating Table --- ""Carriers"""); StringBuilder sb = new StringBuilder(); sb.Append("USE LogisticsOVA; "); sb.Append("CREATE TABLE Carriers ("); sb.Append(" carrierID INT IDENTITY(1,1) NOT NULL PRIMARY KEY, "); sb.Append(" lastName NVARCHAR(50), "); sb.Append(" firstName NVARCHAR(50), "); sb.Append(" middleName NVARCHAR(50), "); sb.Append(" birthday DATE, "); sb.Append(" iin DECIMAL, "); sb.Append(" carrierRouteID INT DEFAULT NULL, "); sb.Append(" carrierTransportID INT DEFAULT NULL "); sb.Append("); "); string sqlQuery = sb.ToString(); obj.SaveData(sqlQuery); //throw new NotImplementedException(); }