public Trip(string fileName) { string stringUnit = ""; int lineNumber = 0; List <string> unitsFromLine = new List <string>(); Lines = new TripLines(); IEnumerable <string> fileStrings = File.ReadAllLines(fileName); foreach (var line in fileStrings) { lineNumber += 1; if (lineNumber == 2 || lineNumber > 3) { for (int i = 0; i < line.Length; i++) { char symbol = line[i]; if (symbol == ';') { unitsFromLine.Add(stringUnit); stringUnit = ""; } else if (i == line.Length - 1) { stringUnit += line[i]; unitsFromLine.Add(stringUnit); stringUnit = ""; } else { stringUnit += line[i]; } } if (lineNumber == 2) { Header = new TripHeader(unitsFromLine); unitsFromLine.Clear(); } else { Lines.Add(new Order(unitsFromLine)); } } } }
public static void Lines(System.Int64 gatewayId, TripLines lines) { foreach (var order in lines.Orders) { //try //{ SqlConnection connection = new SqlConnection("context connection=true"); using (connection) { connection.Open(); using (var sqlTrans = connection.BeginTransaction()) { var cmdText = @"INSERT INTO [dbo].[_1s_TMS_Import_ЗаявкаТЭП_т] ([КодШапки] ,[ДокументРасхода] ,[ДатаПрибытия] ,[ВремяРасчетное] ,[ДатаПрибытияФакт] ,[ВремяФактическое] ,[ДатаУбытия] ,[ВремяУбытияСтр] ,[ДатаУбытияФакт] ,[ВремяУбытияФактСтр] ,[ВидОтгрузкиЗаявкиТЭП] ,[Порядок] ,[Км]) VALUES (@КодШапки ,@ДокументРасхода ,getdate() --@ДатаПрибытия ,'14:12' --@ВремяРасчетное ,getdate() --@ДатаПрибытияФакт ,'14:12' --@ВремяФактическое ,getdate() --@ДатаУбытия ,'14:12' --@ВремяУбытияСтр ,getdate() --@ДатаУбытияФакт ,'14:12' --@ВремяУбытияФактСтр ,@ВидОтгрузкиЗаявкиТЭП ,@Порядок ,@Км)"; using (var cmd = new SqlCommand(cmdText, connection, sqlTrans)) { var КодШапки = cmd.Parameters.Add("@КодШапки", SqlDbType.BigInt); var ДокументРасхода = cmd.Parameters.Add("@ДокументРасхода", SqlDbType.Char, 13); //var ДатаПрибытия = cmd.Parameters.Add("@ДатаПрибытия", SqlDbType.DateTime); //var ВремяРасчетное = cmd.Parameters.Add("@ВремяРасчетное", SqlDbType.NVarChar, 5); //var ДатаПрибытияФакт = cmd.Parameters.Add("@ДатаПрибытияФакт", SqlDbType.DateTime); //var ВремяФактическое = cmd.Parameters.Add("@ВремяФактическое", SqlDbType.NVarChar, 5); //var ДатаУбытия = cmd.Parameters.Add("@ДатаУбытия", SqlDbType.DateTime); //var ВремяУбытияСтр = cmd.Parameters.Add("@ВремяУбытияСтр", SqlDbType.NVarChar, 5); //var ДатаУбытияФакт = cmd.Parameters.Add("@ДатаУбытияФакт", SqlDbType.DateTime); //var ВремяУбытияФактСтр = cmd.Parameters.Add("@ВремяУбытияФактСтр", SqlDbType.NVarChar, 5); var ВидОтгрузкиЗаявкиТЭП = cmd.Parameters.Add("@ВидОтгрузкиЗаявкиТЭП", SqlDbType.Char, 9); var Порядок = cmd.Parameters.Add("@Порядок", SqlDbType.Int); var Км = cmd.Parameters.Add("@Км", SqlDbType.Decimal); КодШапки.Value = gatewayId; ДокументРасхода.Value = order.OrderId; //ДатаПрибытия.Value = order.DateOfArrivalPlan; //ВремяРасчетное.Value = order.TimeOfArrivalPlan; //ДатаПрибытияФакт.Value = order.DateOfArrivalRealise; //ВремяФактическое.Value = order.TimeOfArrivalRealise; //ДатаУбытия.Value = order.DateOfDeparturePlan; //ВремяУбытияСтр.Value = order.TimeOfDeparturePlan; //ДатаУбытияФакт.Value = order.DateOfDepartureRealise; //ВремяУбытияФактСтр.Value = order.TimeOfDepartureRealise; ВидОтгрузкиЗаявкиТЭП.Value = order.LoadForm; Порядок.Value = order.OrderVisitation; Км.Value = order.Distance; cmd.ExecuteNonQuery(); sqlTrans.Commit(); } connection.Close(); } } //} //catch //{ //} } }
public void Test(string fileName) { string stringUnit = ""; char symbol = new char(); int lineNumber = 0; List <string> unitsFromLine = new List <string>(); IEnumerable <string> fileStrings = File.ReadAllLines(fileName); TripLines tripLines = new TripLines(); foreach (var line in fileStrings) { lineNumber += 1; if (lineNumber == 2) // || lineNumber > 3) { //Console.WriteLine(line); for (int i = 0; i < line.Length; i++) { symbol = line[i]; //Console.WriteLine($"symbol = {symbol}, line.Length = {line.Length}, i = {i}"); if (symbol == ';') { unitsFromLine.Add(stringUnit); stringUnit = ""; } else if (i == line.Length - 1) { stringUnit += line[i]; unitsFromLine.Add(stringUnit); stringUnit = ""; } else { stringUnit += line[i]; } } TripHeader header = new TripHeader(unitsFromLine); SaveHeader(header); } else if (lineNumber > 3) { unitsFromLine.Clear(); //Console.WriteLine(line.Count()); //Console.WriteLine(line); for (int i = 0; i < line.Length; i++) { symbol = line[i]; //Console.WriteLine($"symbol = {symbol}, line.Length = {line.Length}, i = {i}"); if (symbol == ';') { //Console.WriteLine(stringUnit); unitsFromLine.Add(stringUnit); stringUnit = ""; } else if (i == line.Length - 1) { stringUnit += line[i]; //Console.WriteLine(stringUnit); unitsFromLine.Add(stringUnit); stringUnit = ""; } else { stringUnit += line[i]; } } tripLines.Add(new Order(unitsFromLine)); } } }