Пример #1
0
        private static void SendMailTask(ExportAFSTaskResponse result)
        {
            _mailSender = TaskMailSender.GetTaskMailSender();

            if (Constants.StatusResponse.Failed.Equals(result.StatusResponse.Status))
            {
                _mailSender.NotifyExportActivityFailed(WebConfig.GetTaskEmailToAddress(), result.SchedDateTime, result.StatusResponse.Description);
            }

            Thread.Sleep(5000);
        }
Пример #2
0
        public static void ExportFileAFSJobAsync()
        {
            try
            {
                Logger.Info("I:--START--");

                Task <ExportAFSTaskResponse> task;
                using (var client = new CSMFileServiceClient())
                {
                    task = client.ExportFileAFSAsync(WebConfig.GetTaskUsername(), WebConfig.GetTaskPassword());
                }

                while (!task.IsCompleted)
                {
                    Thread.Sleep(1000);
                }

                if (task.Exception != null)
                {
                    Logger.InfoFormat("O:--FAILED--:Exception/{0}", task.Exception);
                    Logger.Error("Exception occur:\n", task.Exception);

                    // Send mail to system administrator
                    _mailSender = TaskMailSender.GetTaskMailSender();
                    _mailSender.NotifyExportActivityFailed(WebConfig.GetTaskEmailToAddress(), DateTime.Now, task.Exception);
                    Thread.Sleep(5000);
                }
                else
                {
                    var result = task.GetAwaiter().GetResult();
                    Logger.InfoFormat("O:--SUCCESS--:Task Result/{0}", result);

                    // Send mail to system administrator
                    SendMailTask(result);
                }
            }
            catch (Exception ex)
            {
                Logger.InfoFormat("O:--FAILED--:Exception/{0}", ex.Message);
                Logger.Error("Exception occur:\n", ex);

                // Send mail to system administrator
                _mailSender = TaskMailSender.GetTaskMailSender();
                _mailSender.NotifyExportActivityFailed(WebConfig.GetTaskEmailToAddress(), DateTime.Now, new AggregateException(ex));
                Thread.Sleep(5000);
            }
        }