Beispiel #1
0
        public override void LoadPeriods()
        {
            DirectoryInfo dir = new DirectoryInfo(ConnectionString);

            // Get year directories
            foreach (DirectoryInfo subDir in dir.GetDirectories())
            {
                string year = subDir.Name;
                // Get months in the directory
                foreach (FileInfo file in subDir.GetFiles())
                {
                    int    startIndex = file.Name.LastIndexOf(file.Extension, StringComparison.CurrentCulture);
                    string month      = file.Name.Remove(startIndex);
                    Period period     = new XlPeriod(year, month, connectionString);
                    period.LoadBrews();
                    string periodName = year + "-" + month;
                    if (!periods.ContainsKey(periodName))
                    {
                        periods.Add(periodName, period);
                    }
                    else
                    {
                        periods[periodName] = period;
                    }
                }
            }
        }
 public WorkSheetSaver(XlPeriod xlPeriod)
 {
     period                      = xlPeriod;
     this.fileInfo               = xlPeriod.FileInfo;
     this.xlPackage              = new ExcelPackage(xlPeriod.FileInfo);
     this.xlRawDataWorksheet     = xlPackage.Workbook.Worksheets[xlPeriod.RawDataSheetName];
     this.xlBrewingFormWorksheet = xlPackage.Workbook.Worksheets[xlPeriod.BrewingFormSheetName];
 }
Beispiel #3
0
        private void DeletePeriodWorkBook(Period period)
        {
            XlPeriod xlPeriod = (XlPeriod)period;

            using (xlExcelPackage = new ExcelPackage(xlPeriod.FileInfo))
            {
                Byte[] bin = xlExcelPackage.GetAsByteArray();

                FileInfo file = xlPeriod.FileInfo;
                File.Delete(file.FullName);
            }
        }
Beispiel #4
0
        public override void DeletePeriod(Period period)
        {
            XlPeriod xlPeriod = (XlPeriod)period;

            using (xlExcelPackage = new ExcelPackage(xlPeriod.FileInfo))
            {
                if (periods.ContainsKey(period.PeriodName) && xlPeriod.FileInfo.Exists)
                {
                    DeletePeriodWorkBook(period);
                    periods.Remove(period.PeriodName);
                }
            }
        }
Beispiel #5
0
        public override void AddPeriod(Period period)
        {
            XlPeriod xlPeriod = (XlPeriod)period;

            using (xlExcelPackage = new ExcelPackage(xlPeriod.FileInfo))
            {
                if (!periods.ContainsKey(period.PeriodName))
                {
                    CreateNewPeriodWorkBook(period);
                    periods.Add(period.PeriodName, period);
                }
            }
        }
Beispiel #6
0
        private string CreateNewPeriodWorkBook(Period period)
        {
            XlPeriod xlPeriod = (XlPeriod)period;

            using (xlExcelPackage = new ExcelPackage(template, true))
            {
                Byte[] bin = xlExcelPackage.GetAsByteArray();

                FileInfo file = xlPeriod.FileInfo;
                // if year folder does not exist create it
                CheckOrCreatePeriodFolder(period);
                File.WriteAllBytes(file.FullName, bin);
                return(file.FullName);
            }
        }
Beispiel #7
0
        // TODO: Create LoadPeriod for lazy loading
        public override Period LoadPeriod(string year, string month)
        {
            Period period = new XlPeriod(year, month, connectionString);

            period.LoadBrews();
            string periodName = year + "-" + month;

            if (!periods.ContainsKey(periodName))
            {
                periods.Add(periodName, period);
            }
            else
            {
                periods[periodName] = period;
            }
            return(period);
        }
Beispiel #8
0
        public override Period CreatePeriod(string year, string month)
        {
            Period period = new XlPeriod(year, month, this.connectionString);

            return(period);
        }