Exemplo n.º 1
0
        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");
            }
        }
Exemplo n.º 2
0
        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("Загрузка выполнена");
            }
        }