Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
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); }
        }