public int ReadFile(string filename, out JFile jfile, out string msg) { int ret = 0; msg = null; jfile = new JFile(); // container = new List<UPRow>(); // UPRow item; string text; try { string FilePath = Path.Combine(m_app.PathIN, filename); if (File.Exists(FilePath)) { // using (StreamReader r = new StreamReader(FilePath)) // { // string json = r.ReadToEnd(); // List<UPRow> items = JsonConvert.DeserializeObject<List<UPRow>>(json); // } DataContractJsonSerializer formatter = new DataContractJsonSerializer(typeof(JFile)); // открываем поток (json файл) using (FileStream fs = new FileStream(FilePath, FileMode.OpenOrCreate)) { // десериализация (создание объекта из потока) jfile = (JFile)formatter.ReadObject(fs); } } } catch (Exception ex) { msg = ex.Message; return(-1); } return(ret); }
private int load_file2(object sender, DoWorkEventArgs e, JFile jfile, string filename, out string msg) { msg = null; try { OracleConnection connection = new OracleConnection(config.connectionstring); connection.Open(); lst_filedata = change_status_file(curr_file.filename, 3, "запись файла ..."); backgroundWorker1.ReportProgress(0); int pc = 0; int i = 0; int cnt = jfile.rows.Count; if (cnt <= 0) { msg = "Пустой файл"; return(1); } clUP.DeleteFile(filename, out msg); int cntrows = 0; foreach (UPRow item in jfile.rows) { if (backgroundWorker1.CancellationPending) { e.Cancel = true; backgroundWorker1.ReportProgress(0); return(3); } clUP.InsertRow(connection, item, jfile.orderNumber, filename, out msg); i += 1; double d = ((i * 1.0) / cnt) * 100; if (d < 100) { backgroundWorker1.ReportProgress((int)d); } cntrows++; } lst_filedata = change_status_file(curr_file.filename, 2, string.Format("ок ({0} rows)", cntrows)); backgroundWorker1.ReportProgress(100); } catch (Exception ex) { msg = ex.Message; return(-1); } return(0); }
private void StartProc(object sender, DoWorkEventArgs e) { string msg = null; try { cr = 0; foreach (STFileData file in lst_filedata) { if (file.status == 0 || (file.status == 2 && reloadflag)) { curr_file = file; //c_date = getfiledate(curr_file.filename); switch (m_app.Code) { case 300: { List <STRowAssistDataCsv> container1 = new List <STRowAssistDataCsv>(); if (clAssist.ReadFile(file.filename, out container1, out msg) != 0) { log.LogLine(msg); lst_filedata = change_status_file(file.filename, 1, msg); } else if (load_file1(sender, e, container1, file.filename, out msg) != 0) { log.LogLine(msg); } } break; case 305: { List <BGPBmobileRow> container3 = new List <BGPBmobileRow>(); if (clBGPBmobile.ReadFile(file.filename, out container3, out msg) != 0) { log.LogLine(msg); lst_filedata = change_status_file(file.filename, 1, msg); } else if (load_file3(sender, e, container3, out msg) != 0) { log.LogLine(msg); } } break; case 306: { JFile jfile = new JFile(); if (clUP.ReadFile(file.filename, out jfile, out msg) != 0) { log.LogLine(msg); lst_filedata = change_status_file(file.filename, 1, msg); } else if (load_file2(sender, e, jfile, file.filename, out msg) != 0) { log.LogLine(msg); } } break; } } cr++; } if (moveflag) { MoveFiles(m_app.PathIN, m_app.PathArch); } } catch (Exception ex) { MessageBox.Show(ex.TargetSite + " " + ex.Message, "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error); } }