示例#1
0
        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);
            }
        }
示例#2
0
 internal ImportFileTimeData(int recordNumber, ImportTimeData data)
 {
     RecordNumber = recordNumber;
     Data         = data;
 }