public async Task InvokeAsync(HttpContext httpContext) { try { await _next(httpContext); } catch (Exception ex) { LogHelper.AddError(httpContext.GetCorrelationId(), ex); var statusCode = GetStatusCode(ex); var data = new ApiReturn <object>() { Code = (int)statusCode, Success = false, Message = ex.Message, InternalMessage = statusCode == HttpStatusCode.InternalServerError ? ex.StackTrace : string.Empty }; httpContext.Response.StatusCode = (int)statusCode; httpContext.Response.ContentType = "application/json"; await httpContext.Response.WriteAsync(data.ToJson()); } }
/// <summary> /// /// </summary> /// <param name="error"></param> /// <returns></returns> public bool HandleError(Exception error) { if (Enabled && !(error is BusinessException)) { //LOG ERROR logHelper.AddError(Messages.Message_error, _identificador, error); } return(true); }
public static void FetchSqlDataFile(string uploadPath, bool isNxs, Guid campaignId, string orderNumber, string zipCodeFile, long dataQuantity) { using (var db = new WfpictContext()) { LogHelper.AddLog(db, LogType.DataProcessing, orderNumber, $"SQL Data files processing started at {DateTime.Now}"); try { // Zip file processing List <string> list = ProcessZipFile(db, uploadPath, zipCodeFile, orderNumber); // SQL Data file try { var data = SegmentDataManager.FetchSegmentsData(db, new SegmentParameters { OrderNumber = orderNumber, DataQuantity = dataQuantity, CustomerCode = SegmentDataManager.CustomerCode, ZipCodes = list }); LogHelper.AddLog(db, LogType.DataProcessing, orderNumber, $"{data.Count} records feteched sucessfully."); // write data file WriteAndUploadDataFile(data, db, uploadPath, orderNumber, campaignId); if (isNxs) { // write opener data file WriteAndUploadDataFileOpener(data, db, uploadPath, orderNumber, campaignId); } // Generating Segment data files Campaign campaign = db.Campaigns.Include(x => x.Segments).FirstOrDefault(x => x.OrderNumber == orderNumber); foreach (var segment in campaign.Segments.OrderBy(x => x.SegmentNumber)) { WriteAndUploadSegmentDataFile(data, db, segment, uploadPath, orderNumber, campaignId); } db.SaveChanges(); LogHelper.AddLog(db, LogType.DataProcessing, orderNumber, $"SQL Data files generated sucessfully at {DateTime.Now}"); } catch (Exception ex) { LogHelper.AddError(db, LogType.DataProcessing, orderNumber, "Error fetching data from SQL Server " + ex.Message); } } catch (Exception ex) { LogHelper.AddError(db, LogType.DataProcessing, orderNumber, "Error processing " + zipCodeFile + " " + ex.Message); } } }
public override void Run() { List <tb_node_model> models = new List <tb_node_model>(); SqlHelper.ExcuteSql(Config.TaskConnectString, (c) => { Domain.Dal.tb_node_dal dal = new tb_node_dal(); models = dal.GetAllStopNodesWithNeedCheckState(c); }); foreach (var m in models) { LogHelper.AddError(new tb_error_model() { errorcreatetime = DateTime.Now, errortype = (int)XXF.BaseService.TaskManager.SystemRuntime.EnumTaskLogType.SystemError, msg = string.Format("当前节点:{0}【{1}】运行已经停止,请及时检查!", m.nodename, m.id), nodeid = m.id, taskid = 0 }); } }
public static void ProcessAssetUpdateUrls(string uploadPath, string orderNumber) { using (var db = new WfpictContext()) { var campaign = db.Campaigns.Include(x => x.Assets).FirstOrDefault(x => x.OrderNumber == orderNumber); var directory = $"{uploadPath}\\{campaign.OrderNumber}"; if (!Directory.Exists(directory)) { Directory.CreateDirectory(directory); } // HtmlImagesURL try { if (!string.IsNullOrEmpty(campaign.Assets.CreativeFiles)) { string filePath = Path.Combine(uploadPath, campaign.Assets.CreativeFiles); S3FileManager.Download(campaign.Assets.CreativeFiles, filePath); var result = FileManager.ProcessHtmlZip(uploadPath, filePath, campaign.OrderNumber, campaign.IsAddOptOut, campaign.IsAddViewInBrowser); campaign.Assets.CreativeUrl = result.FilePathLive; campaign.Assets.CreativeStatus = (int)result.Status; LogHelper.AddLog(db, LogType.FileProcessing, orderNumber, "CreativeFiles processed: " + campaign.Assets.CreativeUrl + ", Status: " + System.Enum.GetName(typeof(UploadFileStatus), campaign.Assets.CreativeStatus)); } } catch (Exception ex) { campaign.Assets.CreativeStatus = (int)UploadFileStatus.Failed; LogHelper.AddError(db, LogType.FileProcessing, orderNumber, "CreativeFiles processing failed, " + ex.Message + ", Status: " + System.Enum.GetName(typeof(UploadFileStatus), campaign.Assets.CreativeStatus)); } db.SaveChanges(); if (!string.IsNullOrEmpty(campaign.Assets.ZipCodeFile)) { campaign.Assets.ZipCodeUrl = FileManager.GetFilePathLive(UploadFileType.ZipFile, campaign.OrderNumber); campaign.Assets.ZipCodeStatus = (int)UploadFileStatus.Completed; LogHelper.AddLog(db, LogType.FileProcessing, orderNumber, "ZipCodeFile processed: " + campaign.Assets.ZipCodeUrl + ", Status: " + System.Enum.GetName(typeof(UploadFileStatus), campaign.Assets.ZipCodeStatus)); } // TestSeedList if (!string.IsNullOrEmpty(campaign.Assets.TestSeedFile)) { campaign.Assets.TestSeedUrl = FileManager.GetFilePathLive(UploadFileType.TestSeedFile, campaign.OrderNumber); campaign.Assets.TestSeedStatus = (int)UploadFileStatus.Completed; LogHelper.AddLog(db, LogType.FileProcessing, orderNumber, "TestSeedFile processed: " + campaign.Assets.TestSeedUrl + ", Status: " + System.Enum.GetName(typeof(UploadFileStatus), campaign.Assets.TestSeedStatus)); } // Final SeedList if (!string.IsNullOrEmpty(campaign.Assets.LiveSeedFile)) { campaign.Assets.LiveSeedUrl = FileManager.GetFilePathLive(UploadFileType.LiveSeedFile, campaign.OrderNumber); campaign.Assets.LiveSeedStatus = (int)UploadFileStatus.Completed; LogHelper.AddLog(db, LogType.FileProcessing, orderNumber, "LiveSeedFile processed: " + campaign.Assets.LiveSeedUrl + ", Status: " + System.Enum.GetName(typeof(UploadFileStatus), campaign.Assets.LiveSeedStatus)); } // Suppression if (!string.IsNullOrEmpty(campaign.Assets.SuppressionFile)) { campaign.Assets.SuppressionUrl = FileManager.GetFilePathLive(UploadFileType.SuppressionFile, campaign.OrderNumber); campaign.Assets.SuppressionStatus = (int)UploadFileStatus.Completed; LogHelper.AddLog(db, LogType.FileProcessing, orderNumber, "SuppressionFile processed: " + campaign.Assets.SuppressionUrl + ", Status: " + System.Enum.GetName(typeof(UploadFileStatus), campaign.Assets.SuppressionStatus)); } db.SaveChanges(); // Banner if (!string.IsNullOrEmpty(campaign.Assets.BannersFile)) { campaign.Assets.BannersUrl = FileManager.GetFilePathLive(UploadFileType.BannersFile, campaign.OrderNumber, Path.GetExtension(campaign.Assets.BannersFile)); campaign.Assets.BannersStatus = (int)UploadFileStatus.Completed; LogHelper.AddLog(db, LogType.FileProcessing, orderNumber, "BannersFile processed: " + campaign.Assets.BannersUrl + ", Status: " + System.Enum.GetName(typeof(UploadFileStatus), campaign.Assets.BannersStatus)); } // Banner Links if (!string.IsNullOrEmpty(campaign.Assets.BannerLinksFile)) { campaign.Assets.BannerLinksUrl = FileManager.GetFilePathLive(UploadFileType.BannersLinksFile, campaign.OrderNumber, Path.GetExtension(campaign.Assets.BannerLinksFile)); campaign.Assets.BannerLinksStatus = (int)UploadFileStatus.Completed; LogHelper.AddLog(db, LogType.FileProcessing, orderNumber, "BannerLinksFile processed: " + campaign.Assets.BannerLinksUrl + ", Status: " + System.Enum.GetName(typeof(UploadFileStatus), campaign.Assets.BannerLinksStatus)); } // Misc if (!string.IsNullOrEmpty(campaign.Assets.MiscFile)) { campaign.Assets.MiscUrl = FileManager.GetFilePathLive(UploadFileType.MiscFile, campaign.OrderNumber, Path.GetExtension(campaign.Assets.MiscFile)); campaign.Assets.MiscStatus = (int)UploadFileStatus.Completed; LogHelper.AddLog(db, LogType.FileProcessing, orderNumber, "MiscFile processed: " + campaign.Assets.MiscUrl + ", Status: " + System.Enum.GetName(typeof(UploadFileStatus), campaign.Assets.MiscStatus)); } } }