private void SendEntities <TEntity>(string clientId, EntityService <TEntity> entitySendService, IList <TEntity> entitiList) where TEntity : class { var serviceResponse = entitySendService.SendData(entitiList, clientId); if (serviceResponse != null) { LogServiceResponse(serviceResponse); var rejectedXmlFile = entitySendService.CreateXmlFile(serviceResponse.RejectedBatch); var xmlFileName = serviceResponse.RejectedBatchName; rejectedXmlFile.Save("rejected/" + xmlFileName); var xmlFilePath = "rejected/" + xmlFileName; var logAppender = _log.Logger.Repository.GetAppenders() .OfType <FileAppender>() .FirstOrDefault(); if (logAppender != null) { var logFilePath = logAppender.File; SendMailMessage(xmlFilePath, logFilePath, clientId); } } else { _log.Info("Send completed"); } }
private async Task SendEntitiesAsync <TEntity>(string clientId, EntityService <TEntity> entitySendService, IList <TEntity> entitiList) where TEntity : class { var serviceResponse = await entitySendService.SendDataAsync(entitiList, clientId); if (serviceResponse.RejectedBatch != null) { LogServiceResponse(serviceResponse); var xmlFilePath = $"{AppDomain.CurrentDomain.BaseDirectory}/rejected/{serviceResponse.RejectedBatchName}.xml"; try { var rejectedXmlFile = entitySendService.CreateXmlFile(serviceResponse.RejectedBatch); rejectedXmlFile.Save(xmlFilePath); } catch (IOException ex) { _log.Info(ex.Message); _log.Error(ex.ToString()); } var logAppender = _log.Logger.Repository.GetAppenders() .OfType <FileAppender>() .FirstOrDefault(); if (logAppender != null) { var logFilePath = logAppender.File; await SendMailMessageAsync(xmlFilePath, logFilePath, clientId); } } else { _log.Info("Загрузка выполнена"); } }