示例#1
0
        private void ImportOutgoingCommuter()
        {
            string      fn  = CombineForRaw("Pendlerdaten_wohngemeinde_Burgdorf.xlsx");
            ExcelHelper eh  = new ExcelHelper(Services.Logger, MyStage);
            var         arr = eh.ExtractDataFromExcel2(fn, 1, "A1", "K115", out var _);
            var         headerToColumnDict = new Dictionary <string, int>();

            for (var i = 0; i < arr.GetLength(1); i++)
            {
                var o = arr[2, i];

                if (o == null)
                {
                    throw new Exception("was null");
                }

                if (!headerToColumnDict.ContainsKey(o.ToString()))
                {
                    headerToColumnDict.Add(o.ToString(), i);
                }
            }


            var db = Services.SqlConnectionPreparer.GetDatabaseConnection(Stage.Raw, Constants.PresentSlice);

            db.RecreateTable <OutgoingCommuterSummary>();
            db.BeginTransaction();
            for (var row = 3; row < arr.GetLength(0); row++)
            {
                if (arr[row, headerToColumnDict["WG Kanton Nr."]] == null)
                {
                    continue;
                }

                var a = new OutgoingCommuterSummary();
                TransferFieldsOutgoing(arr, headerToColumnDict, row, a);
                db.Save(a);
            }

            db.CompleteTransaction();
        }
示例#2
0
 // ReSharper disable once FunctionComplexityOverflow
 private static void TransferFieldsOutgoing([NotNull][ItemNotNull] object[,] arr, [NotNull] Dictionary <string, int> hdict, int row, [NotNull] OutgoingCommuterSummary a)
 {
     a.Arbeitsgemeinde = Helpers.GetStringNotNull(arr[row, hdict["AO Gemeinde Name"]]);
     a.Arbeitskanton   = Helpers.GetStringNotNull(arr[row, hdict["AO Kanton Kürzel"]]);
     a.Entfernung      = Helpers.GetDouble(arr[row, hdict["Entfernung"]]) ?? throw new Exception("Was null");
     a.Erwerbstätige   = Helpers.GetInt(arr[row, hdict["Erwerbstätige"]]) ?? throw new Exception("was null");
 }