/// <summary> /// Performs an inventory check for all items in the shopping cart and show message if required. /// </summary> /// <returns>True if all items are available in sufficient quantities, otherwise false</returns> private bool CheckShoppingCart() { // Remove error message before reevaluation lblError.Text = string.Empty; if (ShoppingCart.IsEmpty) { lblError.Visible = true; lblError.Text = ResHelper.GetString("com.checkout.cartisempty"); return(false); } var validationErrors = ShoppingCartInfoProvider.ValidateShoppingCart(ShoppingCart); // Try to show message through Message Panel web part if (validationErrors.Any() || orderChanged) { CMSEventArgs <string> args = new CMSEventArgs <string>(); args.Parameter = validationErrors .Select(e => HTMLHelper.HTMLEncode(e.GetMessage())) .Join("<br />"); ComponentEvents.RequestEvents.RaiseEvent(this, args, MESSAGE_RAISED); // If Message Panel web part is not present (Parameter is cleared by web part after successful handling), show error message in error label if (!string.IsNullOrEmpty(args.Parameter) && validationErrors.Any()) { lblError.Visible = true; lblError.Text = validationErrors .Select(e => HTMLHelper.HTMLEncode(e.GetMessage())) .Join("<br />"); } } return(!validationErrors.Any()); }
/// <summary> /// Performs an inventory check for all items in the shopping cart and show message if required. /// </summary> /// <returns>True if all items are available in sufficient quantities, otherwise false</returns> private bool CheckShoppingCart() { // Remove error message before reevaluation lblError.Text = string.Empty; if (ShoppingCart.IsEmpty) { lblError.Visible = true; lblError.Text = ResHelper.GetString("com.checkout.cartisempty"); return(false); } ShoppingCartCheckResult checkResult = ShoppingCartInfoProvider.CheckShoppingCart(ShoppingCart); // Try to show message through Message Panel web part if (checkResult.CheckFailed || orderChanged) { CMSEventArgs <string> args = new CMSEventArgs <string>(); args.Parameter = checkResult.GetHTMLFormattedMessage(); ComponentEvents.RequestEvents.RaiseEvent(this, args, MESSAGE_RAISED); // If Message Panel web part is not present (Parameter is cleared by web part after successful handling), show error message in error label if (!string.IsNullOrEmpty(args.Parameter) && checkResult.CheckFailed) { lblError.Visible = true; lblError.Text = checkResult.GetHTMLFormattedMessage(); } } return(!checkResult.CheckFailed); }
/// <summary> /// OnGetSelectionDialogScript event handler /// </summary> protected void OnGetSelectionDialogScript_Execute(object sender, CMSEventArgs <GetSelectionDialogScriptEventArgs> e) { if (StopProcessing) { return; } // Replace update script e.Parameter.Script = $"if(!CheckChanges()) {{ return false; }}; {e.Parameter.Script}"; }
protected override void StepFinished(object sender, StepEventArgs e) { base.StepFinished(sender, e); // We are on last step and we don't have order yet if (e.IsLastStep && (e.GetValue(ORDER_CREATED_KEY) == null)) { if (FinalizeCheckout()) { int orderId = ShoppingCart.OrderId; string orderHash = ShoppingCart.GetHashCode().ToString(); WindowHelper.Add(orderHash, orderId); // Create URL for payment page with order id hidden in hash e.FinalStepUrl = URLHelper.AddParameterToUrl(e.FinalStepUrl, "o", orderHash); } else { // Log events created in transaction foreach (Tuple <string, string> error in loggedErrors) { EventLogProvider.LogEvent(EventType.ERROR, EVENT_SOURCE, error.Item2, error.Item1); } foreach (Exception ex in loggedExceptions) { EventLogProvider.LogException(EVENT_SOURCE, EVENT_CODE_EXCEPTION, ex); } e.CancelEvent = true; // Get error text string errorMessage = HTMLHelper.HTMLEncode(ResHelper.GetString("ecommerce.orderpreview.errorordersave")); if (!string.IsNullOrEmpty(registrationBanned)) { errorMessage += HTMLHelper.HTMLEncode(Environment.NewLine + registrationBanned); } // Try to show message through Message Panel web part CMSEventArgs <string> args = new CMSEventArgs <string>(); args.Parameter = errorMessage; ComponentEvents.RequestEvents.RaiseEvent(this, args, MESSAGE_RAISED); // If Message Panel web part is not present (Parameter is cleared by web part after successful handling), show message through alert script if (!string.IsNullOrEmpty(args.Parameter)) { ScriptHelper.Alert(Page, errorMessage); } } CleanUpShoppingCart(); DocumentWizardManager.ResetWizard(); e.SetValue(ORDER_CREATED_KEY, true); } }
/// <summary> /// Handle incoming message. /// </summary> protected void HandleMessage(object sender, EventArgs e) { CMSEventArgs <string> args = e as CMSEventArgs <string>; if (args != null) { string message = args.Parameter; lblMessage.Text = message; lblMessage.Visible = true; // Clear parameter to tag this message as handled args.Parameter = string.Empty; } }
private void ShowError(string errorMessage) { // Try to show message through Message Panel web part CMSEventArgs <string> args = new CMSEventArgs <string>(); args.Parameter = errorMessage; ComponentEvents.RequestEvents.RaiseEvent(this, args, MESSAGE_RAISED); // If Message Panel web part is not present (Parameter is cleared by web part after successful handling), show message through alert script if (!string.IsNullOrEmpty(args.Parameter)) { errorMessage = errorMessage.Replace(HTML_SEPARATOR, Environment.NewLine); ScriptHelper.Alert(Page, errorMessage); } }
/// <summary> /// Handle incoming message. /// </summary> protected void HandleMessage(object sender, EventArgs e) { CMSEventArgs <string> args = e as CMSEventArgs <string>; if (args != null) { string message = args.Parameter; if (!String.IsNullOrEmpty(message)) { lblMessage.Text = message; messageWrapper.Visible = true; } else { messageWrapper.Visible = false; } // Clear parameter to tag this message as handled args.Parameter = string.Empty; } }
/// <summary> /// Performs an inventory check for all items in the shopping cart and show message if required. /// </summary> /// <returns>True if all items are available in sufficient quantities, otherwise false</returns> private bool CheckShoppingCart() { // Remove error message before reevaluation lblError.Text = string.Empty; if (ShoppingCart.IsEmpty) { lblError.Visible = true; lblError.Text = ResHelper.GetString("com.checkout.cartisempty"); return false; } ShoppingCartCheckResult checkResult = ShoppingCartInfoProvider.CheckShoppingCart(ShoppingCart); // Try to show message through Message Panel web part if (checkResult.CheckFailed || orderChanged) { CMSEventArgs<string> args = new CMSEventArgs<string>(); args.Parameter = checkResult.GetHTMLFormattedMessage(); ComponentEvents.RequestEvents.RaiseEvent(this, args, MESSAGE_RAISED); // If Message Panel web part is not present (Parameter is cleared by web part after successful handling), show error message in error label if (!string.IsNullOrEmpty(args.Parameter) && checkResult.CheckFailed) { lblError.Visible = true; lblError.Text = checkResult.GetHTMLFormattedMessage(); } } return !checkResult.CheckFailed; }
/// <summary> /// OnGetSelectionDialogScript event handler /// </summary> protected void OnGetSelectionDialogScript_Execute(object sender, CMSEventArgs<GetSelectionDialogScriptEventArgs> e) { if (StopProcessing) { return; } // Replace update script e.Parameter.Script = String.Format("if(!CheckChanges()) {{ return false; }}; {0}", e.Parameter.Script); }
private void ShowError(string errorMessage) { // Try to show message through Message Panel web part CMSEventArgs<string> args = new CMSEventArgs<string>(); args.Parameter = errorMessage; ComponentEvents.RequestEvents.RaiseEvent(this, args, MESSAGE_RAISED); // If Message Panel web part is not present (Parameter is cleared by web part after successful handling), show message through alert script if (!string.IsNullOrEmpty(args.Parameter)) { errorMessage = errorMessage.Replace(HTML_SEPARATOR, Environment.NewLine); ScriptHelper.Alert(Page, errorMessage); } }
private void ContactMerge_Execute(object sender, CMSEventArgs <ContactMergeModel> e) { var service = Service.Resolve <IContactMergeProcessor>(); service.Process(e.Parameter.SourceContact, e.Parameter.TargetContact); }
protected override void StepFinished(object sender, StepEventArgs e) { base.StepFinished(sender, e); // We are on last step and we don't have order yet if (e.IsLastStep && (e.GetValue(ORDER_CREATED_KEY) == null)) { if (FinalizeCheckout()) { int orderId = ShoppingCart.OrderId; string orderHash = ShoppingCart.GetHashCode().ToString(); WindowHelper.Add(orderHash, orderId); // Create URL for payment page with order id hidden in hash e.FinalStepUrl = URLHelper.AddParameterToUrl(e.FinalStepUrl, "o", orderHash); } else { // Log events created in transaction foreach (Tuple<string, string> error in loggedErrors) { EventLogProvider.LogEvent(EventType.ERROR, EVENT_SOURCE, error.Item2, error.Item1); } foreach (Exception ex in loggedExceptions) { EventLogProvider.LogException(EVENT_SOURCE, EVENT_CODE_EXCEPTION, ex); } e.CancelEvent = true; // Get error text string errorMessage = HTMLHelper.HTMLEncode(ResHelper.GetString("ecommerce.orderpreview.errorordersave")); if (!string.IsNullOrEmpty(registrationBanned)) { errorMessage += HTMLHelper.HTMLEncode(Environment.NewLine + registrationBanned); } // Try to show message through Message Panel web part CMSEventArgs<string> args = new CMSEventArgs<string>(); args.Parameter = errorMessage; ComponentEvents.RequestEvents.RaiseEvent(this, args, MESSAGE_RAISED); // If Message Panel web part is not present (Parameter is cleared by web part after successful handling), show message through alert script if (!string.IsNullOrEmpty(args.Parameter)) { ScriptHelper.Alert(Page, errorMessage); } } CleanUpShoppingCart(); DocumentWizardManager.ResetWizard(); e.SetValue(ORDER_CREATED_KEY, true); } }