Ejemplo n.º 1
0
        public void ReadExcelFile(BackgroundWorker bw, string FileName = "VASPVScrap.xls")
        {
            if (!File.Exists(path + FileName))
            {
                return;
            }
            if (Data.Count > 0)
            {
                Data = new List <ExcelLicencija>();
            }
            bw.ReportProgress(10);

            //Open file
            Application xlApp = new Application();

            xlApp.DisplayAlerts = false;
            var xlWb    = xlApp.Workbooks.Open(path + FileName);
            var xlSheet = xlApp.ActiveSheet as Worksheet;

            bw.ReportProgress(40);

            //Finding last row
            var last = xlSheet.Cells.SpecialCells(XlCellType.xlCellTypeLastCell, Type.Missing);

            //reading values
            var range   = xlSheet.get_Range("A2", "K" + last.Row);
            var values  = (object[, ])range.Value2;
            var lastRow = last.Row;

            bw.ReportProgress(60);

            //Closing excel
            xlWb.Close();
            xlApp.Application.Quit();
            xlApp.Quit();
            bw.ReportProgress(80);

            //Filling data
            for (var i = 1; i < lastRow; i++)
            {
                var licencija = new ExcelLicencija();
                licencija.Spaudo_Nr                = Convert.ToString(values[i, 1]);
                licencija.Spaudo_tipas             = Convert.ToString(values[i, 2]);
                licencija.Vardas                   = Convert.ToString(values[i, 3]);
                licencija.Pavardė                  = Convert.ToString(values[i, 4]);
                licencija.Licencijos_Nr            = Convert.ToString(values[i, 5]);
                licencija.Profesinė_kvalifikacija  = Convert.ToString(values[i, 6]);
                licencija.Licencijos_išdavimo_data = DateTime.FromOADate(Convert.ToDouble(values[i, 7]));
                licencija.Licencijos_būsena        = Convert.ToString(values[i, 8]);
                licencija.Įsakymo_data_ir_Nr       = Convert.ToString(values[i, 9]);
                licencija.Priežiūros_data          = DateTime.FromOADate(Convert.ToDouble(values[i, 10]));
                licencija.Priežiūros_įsakymo_Nr    = Convert.ToString(values[i, 11]);
                if (licencija.Spaudo_Nr != "")
                {
                    Data.Add(licencija);
                }
            }

            bw.ReportProgress(90);
        }
Ejemplo n.º 2
0
        public void UpdateData(ExcelData newData, BackgroundWorker bw)
        {
            NeedToBeUpdated = new List <ExcelLicencija>();
            bw.ReportProgress(10);
            //Update changed records
            for (var i = 0; i < Data.Count; i++)
            {
                var newLicencija = newData.Data.Find(x => x.Spaudo_Nr == Data[i].Spaudo_Nr);
                if (newLicencija != null)
                {
                    if (!newLicencija.Equals(Data[i]))
                    {
                        Data[i] = newLicencija;
                    }
                }
                else
                {
                    NeedToBeUpdated.Add(Data[i]);
                }
            }

            bw.ReportProgress(40);

            //Add new records
            newData.Data.ForEach(x =>
            {
                if (!Data.Contains(x))
                {
                    Data.Add(x);
                }
            });

            bw.ReportProgress(60);
            //Update NeedToBeUpdated
            for (var i = 0; i < NeedToBeUpdated.Count; i++)
            {
                var scrap        = new Scrap();
                var newLicencija = new ExcelLicencija(scrap.RequestRecord(NeedToBeUpdated[i].Spaudo_Nr.Trim()));
                if (newLicencija != null)
                {
                    Data[Data.IndexOf(NeedToBeUpdated[i])] = newLicencija;
                }
                bw.ReportProgress(i * 40 / NeedToBeUpdated.Count + 60);
            }

            NeedToBeUpdated = new List <ExcelLicencija>();

            //Negaliojančių licencijų panaikinimas
            Data = Data.FindAll(x => x.Licencijos_būsena == "Aktyvi").ToList();

            bw.ReportProgress(100);
        }