public bool SaveFromStream(Image img, int width, int height, string filePath) { try { Size size = new Size(width, height); Image oTargetImg = new Bitmap(width, height); Graphics oGraphic = Graphics.FromImage(oTargetImg); oGraphic.CompositingQuality = CompositingQuality.HighQuality; oGraphic.SmoothingMode = SmoothingMode.HighQuality; oGraphic.InterpolationMode = InterpolationMode.HighQualityBicubic; Rectangle oRectangle = new Rectangle(0, 0, size.Width, size.Height); oGraphic.DrawImage(img, oRectangle); // Encoder parameter for image quality EncoderParameter qualityParam = new EncoderParameter(Encoder.Quality, JPG_QUALITY); ImageCodecInfo jpegCodec = GetEncoderInfo("image/jpeg"); EncoderParameters encoderParams = new EncoderParameters(1); encoderParams.Param[0] = qualityParam; //Save File oTargetImg.Save(filePath, jpegCodec, encoderParams); oGraphic.Dispose(); return(true); } catch (Exception e) { _logger.InsertLog(LogLevel.Error, string.Format("{0}, File path={{{1}}}", e.Message, filePath), e); return(false); } }
public virtual async Task <(bool success, Dictionary <string, string> values)> VerifyIpn(string formString) { var formContent = new StringContent($"cmd=_notify-validate&{formString}", Encoding.UTF8, "application/x-www-form-urlencoded"); var response = await _client.PostAsync(GetIpnPaypalUrl(), formContent); var content = string.Empty; try { response.EnsureSuccessStatusCode(); content = await response.Content.ReadAsStringAsync(); } catch (Exception ex) { await _logger.InsertLog(Grand.Domain.Logging.LogLevel.Error, "VerifyIpn", ex.Message); } var success = content.Trim().Equals("VERIFIED", StringComparison.OrdinalIgnoreCase); var values = new Dictionary <string, string>(StringComparer.OrdinalIgnoreCase); foreach (var l in formString.Split('&')) { var line = l.Trim(); var equalPox = line.IndexOf('='); if (equalPox >= 0) { values.Add(line.Substring(0, equalPox), line.Substring(equalPox + 1)); } } return(success, values); }
/// <summary> /// Save a value indicating whether some file (thumb) already exists /// </summary> /// <param name="thumbFileName">Thumb file name</param> /// <param name="binary">Picture binary</param> protected virtual Task SaveThumb(string thumbFileName, byte[] binary) { try { var dirThumb = _mediaFileStore.GetDirectoryInfo(_thumbPath); if (dirThumb == null) { var result = _mediaFileStore.TryCreateDirectory(_thumbPath); if (result) { dirThumb = _mediaFileStore.GetDirectoryInfo(_thumbPath); } } if (dirThumb != null) { var file = _mediaFileStore.Combine(dirThumb.PhysicalPath, thumbFileName); File.WriteAllBytes(file, binary ?? Array.Empty <byte>()); } else { _logger.InsertLog(Domain.Logging.LogLevel.Error, "Directory thumb not exist."); } } catch (Exception ex) { _logger.InsertLog(Domain.Logging.LogLevel.Error, ex.Message); } return(Task.CompletedTask); }
private void ApplyApcCallback(string requestMessage) { var apcMessage = ParseApcMessage(requestMessage); if (apcMessage == null) { _logger.InsertLog(LogLevel.Warning, "Nochex APC Message is invalid", requestMessage); return; } var orderGuid = apcMessage["custom"]; var transactionId = apcMessage["transaction_id"]; var status = apcMessage["status"]; if (orderGuid == null || transactionId == null || status == null) { _logger.InsertLog(LogLevel.Warning, "Nochex APC: Missing required data", requestMessage); return; } var order = _orderService.GetOrderByGuid(new Guid(orderGuid)); if (order == null) { _logger.InsertLog(LogLevel.Warning, "Nochex APC: Order not found: " + orderGuid, requestMessage); return; } var orderNote = new OrderNote { Note = "Nochex APC Message Received: \r\n\r\n" + BuildFriendlyApcMessage(apcMessage), DisplayToCustomer = false, CreatedOnUtc = DateTime.UtcNow }; order.OrderNotes.Add(orderNote); _orderService.UpdateOrder(order); var currentStatus = _settings.UseTestMode ? "test" : "live"; if (!string.Equals(status, currentStatus, StringComparison.InvariantCultureIgnoreCase)) { _logger.InsertLog(LogLevel.Warning, "Nochex APC: Received wrong status " + status, requestMessage); return; } if (!_orderProcessingService.CanMarkOrderAsPaid(order)) { _logger.InsertLog(LogLevel.Warning, "Nochex APC: Cannot mark order as paid: " + orderGuid, requestMessage); return; } order.AuthorizationTransactionId = transactionId; _orderService.UpdateOrder(order); _orderProcessingService.MarkOrderAsPaid(order); }
public EditorData GetEditor(string title) { var editor = GetAllEditors().FirstOrDefault(x => x.Title == title); if (editor != null) { return(editor); } _logger.InsertLog(LogLevel.Error, string.Format("GetEditor: Editor file not found. Title: {0}", title)); throw new Exception("Editor file not found"); }
protected virtual void LogError(Exception ex, LogLevel logLevel = LogLevel.Error, Customer customer = null) { try { _logger.InsertLog(logLevel, ex.Message, ex.StackTrace, customer ?? _baseService.WorkContext.CurrentCustomer); _baseService.Commit(); } catch (Exception e) { string errorMsg = e.Message; } }
public string ProcessItemQuantityUpdate(int profileId, string shippingCountryCode, int cartItemId, int quantity) { var message = string.Empty; try { var cartItem = _cartItemRepository.Return(cartItemId); if (cartItem == null) { throw new ApolloException(string.Format("Cart item could not be loaded. Cart Item ID={{{0}}}", cartItemId)); } cartItem = _cartItemBuilder.Build(cartItem); // Validate cart item first message = _cartValidator.ValidateCartItem( profileId, cartItem.ProductId, cartItem.Product.BrandId, shippingCountryCode, cartItem.Product.IsPharmaceutical, cartItem.Product.Discontinued, cartItem.ProductPrice.Stock, cartItem.Product.Name, cartItem.Product.EnforceStockCount, cartItem.Product.Brand.EnforceStockCount, cartItem.Product.Enabled, cartItem.ProductPrice.Enabled, cartItem.Quantity, quantity, cartItem.Product.StepQuantity, cartItem.Product.IsPhoneOrder, cartItem.ProductPrice.OfferPriceInclTax); // Empty message is ok status from cart item validation if (string.IsNullOrEmpty(message)) { cartItem.Quantity = quantity; cartItem.UpdatedOnDate = DateTime.Now; _cartItemRepository.Update(cartItem); ProcessCartOfferByProfileId(profileId, shippingCountryCode); } } catch (Exception ex) { message = "Failed to update quantity. Please try to delete and add the item again."; _logger.InsertLog(LogLevel.Error, "Error occurred while updating cart item quantity. " + ex.Message, ex); } return(message); }
/// <summary> /// Upload image to S3 /// </summary> /// <param name="fileName"></param> /// <param name="pictureBinary"></param> /// <param name="mimeType"></param> public void S3UploadImage(string fileName, byte[] pictureBinary, string mimeType) { try { var client = GetS3Client(); var putRequest = new PutObjectRequest { BucketName = GetS3ImagePath(), Key = fileName, InputStream = new MemoryStream(pictureBinary), ContentType = mimeType, }; putRequest.CannedACL = S3CannedACL.PublicRead; putRequest.Headers.Expires = DateTime.UtcNow.AddDays(_mediaSettings.ExpiresDays); PutObjectResponse response = client.PutObject(putRequest); } catch (AmazonS3Exception ex) { if (ex.ErrorCode != null && (ex.ErrorCode.Equals("InvalidAccessKeyId") || ex.ErrorCode.Equals("InvalidSecurity"))) { _logger.InsertLog(Core.Domain.Logging.LogLevel.Error, ex.Message + " ## Check Crendentials", ex.StackTrace); } else { _logger.InsertLog(Core.Domain.Logging.LogLevel.Error, $"Error occurred. Message:{ex.Message} when writing an object", ex.StackTrace); } } }
public IViewComponentResult Invoke(string widgetZone, object additionalData) { var script = ""; var routeData = Url.ActionContext.RouteData; try { var controller = routeData.Values["controller"]; var action = routeData.Values["action"]; if (controller == null || action == null) { return(Content("")); } //Special case, if we are in last step of checkout, we can use order total for conversion value var isOrderCompletedPage = controller.ToString().Equals("checkout", StringComparison.InvariantCultureIgnoreCase) && action.ToString().Equals("completed", StringComparison.InvariantCultureIgnoreCase); if (isOrderCompletedPage && _googleAnalyticsSettings.UseJsToSendEcommerceInfo) { var lastOrder = GetLastOrder(); script += GetEcommerceScript(lastOrder); } else { script += GetEcommerceScript(null); } } catch (Exception ex) { _logger.InsertLog(Core.Domain.Logging.LogLevel.Error, "Error creating scripts for Google eCommerce tracking", ex.ToString()); } return(View("~/Plugins/Widgets.GoogleAnalytics/Views/PublicInfo.cshtml", script)); }
public ActionResult PublicInfo(string widgetZone, object additionalData = null) { string globalScript = ""; var routeData = ((System.Web.UI.Page)HttpContext.CurrentHandler).RouteData; try { var controller = routeData.Values["controller"]; var action = routeData.Values["action"]; if (controller == null || action == null) { return(Content("")); } //Special case, if we are in last step of checkout, we can use order total for conversion value if (controller.ToString().Equals("checkout", StringComparison.InvariantCultureIgnoreCase) && action.ToString().Equals("completed", StringComparison.InvariantCultureIgnoreCase)) { var lastOrder = GetLastOrder(); globalScript += GetEcommerceScript(lastOrder); } else { globalScript += GetTrackingScript(); } } catch (Exception ex) { _logger.InsertLog(LogLevel.Error, "Error creating scripts for Google Analytics tracking", ex.ToString()); } return(Content(globalScript)); }
private void TestLogger() { _logger.InsertLog(LogLevel.Information, "index visit"); _userActivityService.InsertActivity(ActivityLogTypeEnum.AddUser, "添加用户{0},{1}", new string[2] { "aaaa", "bbb" }); }
private bool Call(string entity) { string storeFrontRefreshCacheLink = _cacheSettings.StoreFrontRefreshCacheLink; if (string.IsNullOrEmpty(storeFrontRefreshCacheLink)) { throw new ApolloException("Setting for storeFrontRefreshCacheURL is empty."); } string storeFrontToken = _cacheSettings.StoreFrontToken; if (string.IsNullOrEmpty(storeFrontToken)) { throw new ApolloException("Setting StoreFrontToken is empty."); } try { string requestUriString = string.Format(storeFrontRefreshCacheLink + "/{0}/{1}", entity, storeFrontToken); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(requestUriString); ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; request.Method = WebRequestMethods.Http.Get; //request.Timeout = 30000; HttpWebResponse response = (HttpWebResponse)request.GetResponse(); return(true); } catch (Exception ex) { _logger.InsertLog(LogLevel.Error, string.Format("Failed to call store front refresh cache URL. Store Front Refresh Cache URL={{{0}}}, Entity={{{1}}}, Token={{{2}}}", storeFrontRefreshCacheLink, entity, storeFrontToken), ex); return(false); } }
/// <summary> /// Error handling /// </summary> /// <param name="statusCode"></param> /// <param name="propertyKey"></param> /// <param name="errorMessage"></param> /// <returns></returns> protected IActionResult Error(HttpStatusCode statusCode = (HttpStatusCode)422, string propertyKey = "", string errorMessage = "") { _logger.InsertLog(LogLevel.Error, errorMessage); //Return the view. return(View()); }
private void ErrorNotifierOnErrorOccured(object sender, NoodleEventArgs <Exception> errorEventArgs) { if (errorEventArgs.Item == null) { return; } if (!LogStore.IsErrorLoggable(errorEventArgs.Item)) { return; } try { if (errorEventArgs.Item is LogException) { _logger.InsertLog((errorEventArgs.Item as LogException).LogLevel, (errorEventArgs.Item as LogException).ShortMessage, (errorEventArgs.Item as LogException).FullMessage, errorEventArgs.Item); } else { _logger.Error("IErrorNotifier", errorEventArgs.Item); } }catch (Exception ex) { new Logger <ErrorNotifierLogger>().Error("There was a problem logging an exception from IErrorNotifier. " + ex.Message); } }
public ActionResult PublicInfo(string widgetZone, object additionalData = null) { string globalScript = ""; var routeData = ((Page)this.HttpContext.CurrentHandler).RouteData; try { var controller = routeData.Values["controller"]; var action = routeData.Values["action"]; if (controller == null || action == null) { return(Content("")); } //Special case, if we are in last step of checkout, we can use order total for conversion value if (controller.ToString().Equals("checkout", StringComparison.InvariantCultureIgnoreCase) && action.ToString().Equals("completed", StringComparison.InvariantCultureIgnoreCase)) { var lastOrderTotal = _orderService.CalculateLastValidOrderTotalByProfileId(_workContext.CurrentProfile.Id, useDefaultCurrency: true); globalScript += GetTrackingScript(lastOrderTotal); } } catch (Exception ex) { _logger.InsertLog(LogLevel.Error, "Error creating scripts for Google Adwords tracking", ex.ToString()); } return(Content(globalScript)); }
public string ProcessSubmitButton(IList <ShoppingCartItem> cart, TempDataDictionary tempData) { using (var payPalApiaaInterface = _payPalInterfaceService.GetAAService()) { var customSecurityHeaderType = _payPalSecurityService.GetRequesterCredentials(); var setExpressCheckoutResponse = payPalApiaaInterface.SetExpressCheckout( ref customSecurityHeaderType, _payPalRequestService.GetSetExpressCheckoutRequest(cart)); var result = new ProcessPaymentResult(); var redirectUrl = string.Empty; setExpressCheckoutResponse.HandleResponse(result, (paymentResult, type) => { var token = setExpressCheckoutResponse.Token; redirectUrl = _payPalUrlService.GetExpressCheckoutRedirectUrl(token); }, (paymentResult, type) => { _logger.InsertLog(LogLevel.Error, "Error passing cart to PayPal", string.Join(", ", setExpressCheckoutResponse.Errors.Select( errorType => errorType.ErrorCode + ": " + errorType.LongMessage))); tempData["paypal-ec-error"] = "An error occurred setting up your cart for PayPal."; redirectUrl = _webHelper.GetUrlReferrer(); }, Guid.Empty); return(redirectUrl); } }
private async Task <AnalyticsReportingService> _analyticsReportingService() { try { var scopes = new[] { AnalyticsReportingService.Scope.Analytics }; var temp = new ServiceAccountCredential.Initializer(_googleAnalyticsSettings.gaserviceAccountEmail) { Scopes = scopes }; string privateKey = _googleAnalyticsSettings.gaprivateKey.Replace("\\n", "\n"); var credential = new ServiceAccountCredential(temp.FromPrivateKey(privateKey)); return(new AnalyticsReportingService(new BaseClientService.Initializer() { HttpClientInitializer = credential, ApplicationName = "GrandNode", })); } catch (Exception ex) { await _logger.InsertLog(Domain.Logging.LogLevel.Error, "GoogleAnalytics", ex.Message); return(await Task.FromResult <AnalyticsReportingService>(null)); } }
/// <summary> /// Executes a task /// </summary> public void Execute() { lock (_lock) { var auctionsToEnd = _auctionService.GetAuctionsToEnd(); foreach (var auctionToEnd in auctionsToEnd) { var bid = _auctionService.GetBidsByProductId(auctionToEnd.Id).OrderByDescending(x => x.Amount).FirstOrDefault(); if (bid == null) { throw new ArgumentNullException("bid"); } var warnings = _shoppingCartService.AddToCart(_customerService.GetCustomerById(bid.CustomerId), bid.ProductId, Core.Domain.Orders.ShoppingCartType.Auctions, bid.StoreId, customerEnteredPrice: bid.Amount); if (!warnings.Any()) { bid.Win = true; _auctionService.UpdateBid(bid); _workflowMessageService.SendAuctionEndedStoreOwnerNotification(auctionToEnd, _localizationSettings.DefaultAdminLanguageId, bid); _workflowMessageService.SendAuctionEndedCustomerNotificationWin(auctionToEnd, null, bid); _workflowMessageService.SendAuctionEndedCustomerNotificationLost(auctionToEnd, null, bid); _auctionService.UpdateAuctionEnded(auctionToEnd, true); } else { _logger.InsertLog(Core.Domain.Logging.LogLevel.Error, $"EndAuctionTask - Product {auctionToEnd.Name}", string.Join(",", warnings.ToArray())); throw new ArgumentNullException($"EndAuctionTask - Product: {auctionToEnd.Name} - {string.Join(", ", warnings.ToArray())}"); } } } }
public async Task <IActionResult> PublicInfo(string widgetZone, object additionalData = null) { string globalScript = ""; var routeData = Url.ActionContext.RouteData; try { var controller = routeData.Values["controller"]; var action = routeData.Values["action"]; if (controller == null || action == null) { return(Content("")); } //Special case, if we are in last step of checkout, we can use order total for conversion value if (controller.ToString().Equals("checkout", StringComparison.OrdinalIgnoreCase) && action.ToString().Equals("completed", StringComparison.OrdinalIgnoreCase)) { var lastOrder = await GetLastOrder(); globalScript += await GetEcommerceScript(lastOrder); } else { globalScript += GetTrackingScript(); } } catch (Exception ex) { await _logger.InsertLog(Core.Domain.Logging.LogLevel.Error, "Error creating scripts for google ecommerce tracking", ex.ToString()); } return(Content(globalScript)); }
public ActionResult PublicInfo(string widgetZone) { string globalScript = ""; var routeData = ((System.Web.UI.Page) this.HttpContext.CurrentHandler).RouteData; try { //Special case, if we are in last step of checkout, we can use order total for conversion value if (routeData.Values["controller"].ToString().Equals("checkout", StringComparison.InvariantCultureIgnoreCase) && routeData.Values["action"].ToString().Equals("completed", StringComparison.InvariantCultureIgnoreCase)) { var lastOrder = GetLastOrder(); globalScript += GetEcommerceScript(lastOrder); } else { globalScript += GetTrackingScript(); } } catch (Exception ex) { _logger.InsertLog(Core.Domain.Logging.LogLevel.Error, "Error creating scripts for google ecommerce tracking", ex.ToString()); } return(Content(globalScript)); //return View("Nop.Plugin.Widgets.GoogleAnalytics.Views.WidgetsGoogleAnalytics.PublicInfo", model); }
/// <summary> /// Post process payment (used by payment gateways that require redirecting to a third-party URL) /// </summary> /// <param name="postProcessPaymentRequest">Payment info required for an order processing</param> public void PostProcessPayment(PostProcessPaymentRequest postProcessPaymentRequest) { //create common query parameters for the request var queryParameters = CreateOxipayRequestPost(postProcessPaymentRequest); AddOrderTotalParameters(queryParameters, postProcessPaymentRequest); var hmacSignature = GenerateHMAC(queryParameters); var order = postProcessPaymentRequest.Order; var gatewayUrl = new Uri(GetOxipayUrl()); var remotePostHelper = new RemotePost { Url = gatewayUrl.ToString(), Method = "POST", FormName = "OxipayForm" }; //queryParameters foreach (KeyValuePair <string, string> record in queryParameters) { remotePostHelper.Add(record.Key, record.Value); } ; // Add HMAC Signature to the request remotePostHelper.Add("x_signature", hmacSignature); _logger.InsertLog(LogLevel.Warning, remotePostHelper.Url, remotePostHelper.Method); remotePostHelper.Post(); }
public IViewComponentResult Invoke(string widgetZone, object additionalData) { string script = ""; var routeData = Url.ActionContext.RouteData; try { var controller = routeData.Values["controller"]; var action = routeData.Values["action"]; if (controller == null || action == null) { return(Content("")); } if (_sendInBlueSettings.UseMarketingAutomation) { script += GetEcommerceScript(); } } catch (Exception ex) { _logger.InsertLog(Core.Domain.Logging.LogLevel.Error, "Error creating scripts for SendinBlue tracking", ex.ToString()); } return(View("~/Plugins/Misc.SendinBlue/Views/PublicInfo.cshtml", script)); }
private static void WriteLog(ILogger logger, LogLevel level, string source, string message, Exception ex = null, string reference = null) { if (ex is ThreadAbortException) { return; } var fullMessage = string.Empty; if (ex != null) { fullMessage = ex.ToString(); } logger.InsertLog(new Log { Message = message, FullMessage = fullMessage, Reference = reference, Source = source, LogLevel = level, CreatedOnUtd = DateTime.UtcNow }); }
/// <summary> /// Process a payment /// </summary> /// <param name="processPaymentRequest">Payment info required for an order processing</param> /// <returns>Process payment result</returns> public ProcessPaymentResult ProcessPayment(ProcessPaymentRequest processPaymentRequest) { var result = new ProcessPaymentResult(); try { result.AllowStoringCreditCardNumber = false; var customer = _customerService.GetCustomerById(processPaymentRequest.CustomerId); var order = _orderService.GetOrderByGuid(processPaymentRequest.OrderGuid); string currency = _currencyService.GetCurrencyById(_currencySettings.PrimaryStoreCurrencyId).CurrencyCode; PaymentModel pm = new PaymentModel(); pm = getPayment("?token=" + processPaymentRequest.CustomValues["paymenttoken"]); string paymentid = pm.id; string amount = processPaymentRequest.OrderTotal.ToString(); amount = Regex.Replace(amount, @"[^\d]", ""); //string urlappend = "?payment=" + payment + "&amount=" + amount + "¤cy=" + currency + "&description=" + description; string urlbuilder = "?payment=" + paymentid + "&amount=" + amount + "¤cy=" + currency + "&description=Order from Store ID: " + processPaymentRequest.StoreId.ToString() + " PaymentID: " + pm.id; TransactionModel trans = new TransactionModel(); //_logger.InsertLog(Core.Domain.Logging.LogLevel.Information, "url for transaction", urlbuilder); trans = getTransaction(urlbuilder, pm); string responsecode = trans.response_code; string transactionid = trans.id; //set the transaction variables if (responsecode == "20000") { //successful response result.AuthorizationTransactionCode = transactionid; result.AuthorizationTransactionResult = responsecode; result.NewPaymentStatus = PaymentStatus.Paid; //_logger.InsertLog(Core.Domain.Logging.LogLevel.Information, "success at paymill proceessorder" + responsecode + urlbuilder + paymentid, trans.status + urlbuilder + paymentid, null); } else { //failed transaction _logger.InsertLog(Core.Domain.Logging.LogLevel.Information, "failure at paymill proceessorder" + responsecode, trans.status, null); result.AddError(getErrorcodes(responsecode, trans.status)); } } catch (Exception ex) { _logger.InsertLog(Core.Domain.Logging.LogLevel.Error, ex.Message, ex.ToString()); result.AddError(ex.ToString()); } return(result); }
private static void FilteredLog(ILogger logger, LogLevel level, string message, Exception exception = null, Customer customer = null) { if (logger.IsEnabled(level)) { string fullMessage = exception == null ? string.Empty : exception.ToString(); logger.InsertLog(level, message, fullMessage, customer); } }
/// <summary> /// Returns boolean indicating whether payment has been accepted by zarinpal /// </summary> /// <param name="authority">36digit long code</param> /// <param name="status">status code</param> /// <returns>true - accepted; false - not accepted.</returns> public bool VerifyPayment(string authority, string status) { try { var query = from or in _orderRepository.Table where or.AuthorizationTransactionCode == authority select or; _logger.InsertLog(LogLevel.Debug, "in verify1 :" + query.Count()); ZarinPalService.PaymentGatewayImplementationService zps = new ZarinPalService.PaymentGatewayImplementationService(); _logger.InsertLog(LogLevel.Debug, "in verify2 : merch code: " + _zarinPalPaymentSettings.MerchantCode + " %% authority code: " + authority + " %% order total: " + query.FirstOrDefault().OrderTotal); if (zps.PaymentVerification(_zarinPalPaymentSettings.MerchantCode, authority, Convert.ToInt32(query.FirstOrDefault().OrderTotal / 10), out long RefID).Equals(100)) { _logger.InsertLog(LogLevel.Debug, "in verify3"); query.FirstOrDefault().AuthorizationTransactionResult = RefID.ToString(); _logger.InsertLog(LogLevel.Debug, "in verify4"); _orderRepository.Update(query.FirstOrDefault()); _logger.InsertLog(LogLevel.Debug, "in verify5"); return(true); } else { _logger.InsertLog(LogLevel.Debug, "in verify: verification failed"); return(false); } } catch (Exception ex) { _logger.InsertLog(LogLevel.Debug, "in verify: " + ex.Message); return(false); } }
private static void FilteredLog(ILogger logger, LogLevel level, string message, Exception exception = null, UserProfile customer = null) { //don't log thread abort exception if ((exception != null) && (exception is System.Threading.ThreadAbortException)) return; string fullMessage = exception == null ? string.Empty : exception.ToString(); logger.InsertLog(level, message, fullMessage, customer); }
public override void OnException(HttpActionExecutedContext actionExecutedContext) { if (actionExecutedContext.Exception != null) { var exception = actionExecutedContext.Exception; logger.InsertLog(LogLevel.Error, exception.Message, exception.StackTrace, Thread.CurrentPrincipal.Identity.Name); actionExecutedContext.Response = actionExecutedContext.Request.CreateErrorResponse(HttpStatusCode.InternalServerError, exception.Message, exception); } }
public void Can_insert_log() { // setup _ipAddress = "ipaddress"; _referrerUrl = "referrer"; _currentUrl = "http://domain.com/?query=something"; // act _testLog = _logger.InsertLog(LogLevel.Information, "short", "full", null, "user"); // assert var logs = _logger.GetAllLogs(); logs.Count.ShouldEqual(1); logs[0].LogLevel.ShouldEqual(LogLevel.Information); logs[0].ShortMessage.ShouldEqual("short"); logs[0].FullMessage.ShouldEqual("full"); }
/// <summary> /// Post process payment (used by payment gateways that require redirecting to a third-party URL) /// </summary> /// <param name="postProcessPaymentRequest">Payment info required for an order processing</param> //[HttpPost] //public void PostProcessPayment(PostProcessPaymentRequest postProcessPaymentRequest) //{ // //create common query parameters for the request // var queryParameters = CreateQueryParameters(postProcessPaymentRequest); // //remove null values from parameters // queryParameters = queryParameters.Where(parameter => !string.IsNullOrEmpty(parameter.Value)) // .ToDictionary(parameter => parameter.Key, parameter => parameter.Value); // var url = QueryHelpers.AddQueryString(GetGTPayUrl(), queryParameters); // if (_GTPayPaymentSettings.UseSandbox) { _logger.Information(url.Trim()); } // _httpContextAccessor.HttpContext.Response.Redirect(url.Trim()); //} public void PostProcessPayment(PostProcessPaymentRequest postProcessPaymentRequest) { string customorderid = postProcessPaymentRequest.Order.CustomOrderNumber; //_logger.InsertLog(LogLevel.Information, customorderid); string url = $"{_webHelper.GetStoreLocation()}Plugins/PaymentGTPay/SubmitPaymentInfo?customorderid={customorderid}"; _logger.InsertLog(LogLevel.Information, url); _httpContextAccessor.HttpContext.Response.Redirect(url); }
/// <summary> /// Executes a task /// </summary> public virtual void Execute() { try { var products = _productService.SearchProducts(); _logger.InsertLog(Core.Domain.Logging.LogLevel.Information, "Fetch products start"); //_logger.ClearLog(); var filePath = _fileProvider.Combine(_fileProvider.MapPath("~/wwwroot/files/"), "GMCFetch.txt"); using (var fileStream = new FileStream(filePath, FileMode.Create)) { string domain = "https://arrowwarehousing.co.nz/"; Core.Domain.Media.Picture picture; string pictureUrl; string seName; string availability; string price; StringBuilder sb = new StringBuilder(); string row = "ID" + "\t" + "title" + "\t" + "description" + "\t" + "link" + "\t" + "image_link" + "\t" + "availability" + "\t" + "price" + "\t" + "google_product_category" + "\t" + "identifier_exists"; sb.AppendLine(row); for (int i = 0; i < products.Count; i++) { availability = products[i].StockQuantity > 0 ? "in stock" : "out of stock"; seName = string.Format("{0}{1}", domain, _urlRecordService.GetSeName(products[i])); picture = _pictureService.GetPicturesByProductId(products[i].Id).FirstOrDefault(); pictureUrl = _pictureService.GetPictureUrl(picture.Id); price = string.Format("{0:0.00} NZD", products[i].Price); row = string.Format("{0}" + "\t" + "{1}" + "\t" + "{2}" + "\t" + "{3}" + "\t" + "{4}" + "\t" + "{5}" + "\t" + "{6}" + "\t" + "{7}" + "\t" + "false", products[i].Id, products[i].Name, products[i].ShortDescription, seName, pictureUrl, availability, price, products[i].ProductCategories.FirstOrDefault().Category.Name); sb.AppendLine(row); } byte[] bdata = Encoding.Default.GetBytes(sb.ToString()); fileStream.Write(bdata, 0, bdata.Length); fileStream.Close(); } _logger.InsertLog(Core.Domain.Logging.LogLevel.Information, "Fetch products end"); } catch (Exception ex) { _logger.Error("Fetch products exception: ", ex); } }
private static void FilteredLog(ILogger logger, LogLevel level, string message, Exception exception = null, Customer customer = null) { //don't log thread abort exception if (exception is System.Threading.ThreadAbortException) return; if (logger.IsEnabled(level)) { string fullMessage = exception == null ? string.Empty : exception.ToString(); logger.InsertLog(level, message, fullMessage, customer); } }
private static void FilteredLog(ILogger logger, LogLevel level, string message, Exception exception = null, User user = null) { //No se guarda el registro cuando es de un hilo de una excepcion de abort if (exception is ThreadAbortException) return; if (logger.IsEnabled(level)) { var fullMessage = exception == null ? string.Empty : exception.ToString(); logger.InsertLog(level, message, fullMessage, user); } }
private static void FilteredLog(ILogger logger, LogLevel level, string message, Exception exception = null, Customer customer = null, bool stopException = true) { // không log thông điệp khi ngoại lệ là ThreadAbortException if (exception is ThreadAbortException) return; try { if (logger.IsEnabled(level)) // nếu cho phép ghi log với kiểu level { string fullMessage = exception == null ? string.Empty : exception.ToString(); logger.InsertLog(level, message, fullMessage, customer); } } catch (Exception) { if (!stopException) throw; } }
private static void FilteredLog(ILogger logger, LogLevel level, string message, Exception exception = null, string user = null) { logger.InsertLog(level, message, string.Empty, exception, user); }