protected override void readCSVFile(CachedCsvReader csv) { _Data = new Dictionary <string, ImportFileTimeData>(); while (csv.ReadNextRecord()) { csvDataNextRow(); string persID = csv[_PersIDIndex]; string charID = csv[_AbsenceCharIDIndex]; DateTime date = DateTime.ParseExact(csv[_DateIndex], "yyyyMMdd", null); short begin = getTimeInMinutes(csv[_BeginIndex]); short end = getTimeInMinutes(csv[_EndIndex]); string key = persID.ToString() + charID + csv[_DateIndex] + begin.ToString() + end.ToString(); if (!_Data.ContainsKey(key)) { ImportTimeData awp = new ImportTimeData(); awp.PersID = persID; awp.CharID = charID; awp.Date = date; awp.Begin = begin; awp.End = end; _Data.Add(key, new ImportFileTimeData(_CurrentRow, awp)); } else { message( string.Format(GetLocalized("TimePlanningExists"), _CurrentRow, persID, date, charID, begin, end)); } } csvDataEndRead(); List <ImportTimeData> list = new List <ImportTimeData>(_Data.Count); foreach (ImportFileTimeData value in _Data.Values) { list.Add(value.Data); } _EmployeeTimeService.OperationComplete += new OperationCompleteDelegate(employeeTimeService_OnOperationComplete); try { _EmployeeTimeService.ImportTime(list, _ImportTimeType); while (_ImportRunning) { Thread.Sleep(1000); } } finally { _EmployeeTimeService.OperationComplete -= new OperationCompleteDelegate(employeeTimeService_OnOperationComplete); } }
internal ImportFileTimeData(int recordNumber, ImportTimeData data) { RecordNumber = recordNumber; Data = data; }