protected int RunCommand() { IEnumerable <ExcelRosterFileInfo> rosters; if (_arg.Values.Count == 0) { Out.WriteLine("No table name specified - default to All"); rosters = Storage.GetRosters(); } else if (_allOption.Equals(_arg.Values[0], StringComparison.InvariantCultureIgnoreCase)) { rosters = Storage.GetRosters(); } else { var r = new List <ExcelRosterFileInfo>(_arg.Values.Count); foreach (var v in _arg.Values) { var rfi = Storage.Find(v); if (rfi == null) { Out.WriteLine("Unknown roster " + v); return(1); } r.Add(rfi); } rosters = r; } foreach (var r in rosters) { if (r.RosterType == ExcelRosterFileInfo.RosterTypes.ImplicitNames) { var sheetName = new TypeMap <ColumnMap>().SheetName; using (var mapSS = new XLWorkbook(r.MapPath, XLEventTracking.Disabled)) { var sheet = mapSS.Worksheets.FirstOrDefault(s => s.Name.Equals(sheetName, StringComparison.InvariantCultureIgnoreCase)); var map = FromSheet.DictionaryFromSheet(sheet, "Column", "ShiftCode"); IEnumerable <Appointment> roster; if (r.MapPath == r.RosterPath) { roster = GetRows.FromInitialDict(mapSS, map, r.DateColumn); } else { using (var rosterSS = new XLWorkbook(r.RosterPath, XLEventTracking.Disabled)) { roster = GetRows.FromInitialDict(rosterSS, map, r.DateColumn); } } SendEntities.PostRosterUpsert(r.RosterId, r.Base64Secret, roster, Out, Error); } } } return(0); }
protected int RunCommand() { if (string.IsNullOrEmpty(_arg.Value)) { Error.WriteLine("no roster specified. Syntax: " + Syntax); return(1); } var rosterInfo = Storage.Find(_arg.Value); if (rosterInfo == null) { Error.WriteLine("unknown roster - use syntax " + Syntax); return(1); } string tableName = _tableOption.Value(); if (string.IsNullOrEmpty(tableName)) { Out.WriteLine("No table name specified - default to " + _allOption + " option"); tableName = _allOption; } IEnumerable <TypeMap> selectedTypes = tableName.Equals(_allOption, StringComparison.InvariantCultureIgnoreCase) ? selectedTypes = App._typeMaps :App._typeMaps.Where(e => e.SheetName.Equals(tableName, StringComparison.InvariantCultureIgnoreCase)).ToList(); if (!selectedTypes.Any()) { Error.Write("An entity with that name was not found - use syntax " + Syntax); return(1); } try { /* * using (var document = SpreadsheetDocument.Open(rosterInfo.MapPath, false)) * { * var sheets = document.WorkbookPart.Workbook.Descendants<Sheet>(); * foreach (var s in selectedTypes) * { * var data = s.FromSheets(sheets); * SendEntities.PostRosterUpsert(rosterInfo.RosterId, rosterInfo.Base64Secret, data, Out, Error); * } * } */ using (var wb = new XLWorkbook(rosterInfo.MapPath, XLEventTracking.Disabled)) { foreach (var s in selectedTypes) { var data = s.FromXLWorkbook(wb, rosterInfo.RosterId); SendEntities.PostRosterUpsert(rosterInfo.RosterId, rosterInfo.Base64Secret, data, Out, Error); } } } catch (IOException e) { Error.WriteLine(e.Message); return(1); } return(0); }