/// <summary> /// 初始化表格,并对数据进行校验 /// </summary> /// <param name="aggregateExcelMessage"></param> public virtual void InitAndCheck(TaskManagerInfoArg taskManagerInfoArg) { try { AggregateExcelMessage aggregateExcelMessage = taskManagerInfoArg.AggregateExcelMessage; BeforeInit(taskManagerInfoArg); if (hasErrorOrException(aggregateExcelMessage)) { return; } initCheck(taskManagerInfoArg); if (hasErrorOrException(aggregateExcelMessage)) { return; } initMgExcel(taskManagerInfoArg); if (hasErrorOrException(aggregateExcelMessage)) { return; } AfterInit(taskManagerInfoArg); if (hasErrorOrException(aggregateExcelMessage)) { return; } CheckMgRow(taskManagerInfoArg); if (hasErrorOrException(aggregateExcelMessage)) { return; } Dtos = ConvertToDto(taskManagerInfoArg); if (hasErrorOrException(aggregateExcelMessage)) { return; } CheckDto(taskManagerInfoArg); } catch (AggregateErrorException aggregateErrorException) { //Excel表格校验失败 taskManagerInfoArg.AggregateExcelMessage.AddRange(aggregateErrorException.ErrorMessages, ExcelMessageType.Exception, FileExcelTaskTypeInfo); } catch (MgException mgException) { log.Error(mgException.Message); taskManagerInfoArg.AggregateExcelMessage.Add(new ExcelMessage(mgException.Message, "", ExcelMessageType.Exception, FileExcelTaskTypeInfo)); } catch (Exception exception) { log.Error(exception.Message + "\n" + exception.StackTrace); taskManagerInfoArg.AggregateExcelMessage.Add(exception.Message, exception.StackTrace, ExcelMessageType.Exception, FileExcelTaskTypeInfo); } }
private void import(FileExcelTaskTypeInfo fileExcelTaskType, AggregateExcelMessage aggregateExcelMessage) { //var excelTaskManager = lifetimeScope.ResolveNamed<IExcelTaskManager>(fileExcelTaskType.TaskManagerName); var excelTaskManager = fileExcelTaskType.TaskManager; TaskManagerInfoArg taskManagerInfoArg = new TaskManagerInfoArg(excelTaskManager.MgExcel, fileExcelTaskType, aggregateExcelMessage); excelTaskManager.Do(taskManagerInfoArg); }
private void writeExceptionLog(AggregateExcelMessage result) { var exceptionMessage = result.ExcelMessages.Where(p => p.MessageType == ExcelMessageType.Exception).ToList(); foreach (var message in exceptionMessage) { log.Error(message.Message + "\r\n" + message.Detail); } }
public virtual AggregateExcelMessage Import(List <FileExcelTaskTypeInfo> fileExcelTaskTypes) { AggregateExcelMessage aggregateExcelMessage = new AggregateExcelMessage(); foreach (var fileExcelTaskType in fileExcelTaskTypes) { import(fileExcelTaskType, aggregateExcelMessage); } return(aggregateExcelMessage); }
public AggregateExcelMessage InitAndCheck(List <FileExcelTaskTypeInfo> fileExcelTaskTypes) { AggregateExcelMessage result = new AggregateExcelMessage(); foreach (var fileExcelTaskType in fileExcelTaskTypes) { AggregateExcelMessage aggregateExcelMessage = new AggregateExcelMessage(); TaskManagerInfoArg taskManagerInfoArg = new TaskManagerInfoArg(null, fileExcelTaskType, aggregateExcelMessage); var socpe = lifetimeScope.BeginLifetimeScope(); var excelTaskManager = socpe.ResolveNamed <IExcelTaskManager>(taskManagerInfoArg.FileExcelTaskTypeInfo.TaskManagerName); fileExcelTaskType.SetTaskManagerInstance(excelTaskManager); excelTaskManager.InitAndCheck(taskManagerInfoArg); result.Add(aggregateExcelMessage); } //把错误日志写入到日志 writeExceptionLog(result); return(result); }
protected TaskManagerInfoArg GetTaskManagerInfoArg(AggregateExcelMessage aggregateExcelMessage) { return(new TaskManagerInfoArg(MgExcel, FileExcelTaskTypeInfo, aggregateExcelMessage)); }
private bool hasErrorOrException(AggregateExcelMessage aggregateExcelMessage) { return(aggregateExcelMessage.HasError() || aggregateExcelMessage.HasException()); }
public abstract void DoTaskManagers(List <FileExcelTaskTypeInfo> fileExcelTaskTypes, AggregateExcelMessage aggregateExcelMessage);