//Orders and Items public SystemOperationResult OrdersUpdateItemQuantity(long itemId, int quantity, Order o) { SystemOperationResult result = new SystemOperationResult(); result.Success = true; LineItem item = o.Items.Where(y => y.Id == itemId).SingleOrDefault(); if (item == null) { result.Success = false; result.Message = "Could not locate that item"; return(result); } if (item.Quantity == quantity) { result.Success = true; return(result); } if (quantity == 0) { result.Success = o.Items.Remove(item); } item.Quantity = quantity; result.Success = true; return(result); }
private SystemOperationResult ModifyQuantities(Order o) { SystemOperationResult result = new SystemOperationResult(true, ""); for (int i = 0; i < this.ItemsGridView.Rows.Count - 1; i++) { GridViewRow currentRow = ItemsGridView.Rows[i]; if (currentRow.RowType == DataControlRowType.DataRow) { long lineitemId = (long)ItemsGridView.DataKeys[currentRow.RowIndex].Value; var li = o.Items.Where(y => y.Id == lineitemId).FirstOrDefault(); if (li != null) { TextBox qty = (TextBox)currentRow.FindControl("QtyField"); if (qty != null) { string tempQty = qty.Text.Trim(); int actualQty = li.Quantity; int.TryParse(tempQty, out actualQty); li.Quantity = actualQty; } } } } return(result); }
private void RunOrderEditedWorkflow(SystemOperationResult saveResult) { MerchantTribe.Commerce.BusinessRules.OrderTaskContext c = new MerchantTribe.Commerce.BusinessRules.OrderTaskContext(MTApp); c.Order = MTApp.OrderServices.Orders.FindForCurrentStore(this.BvinField.Value); c.UserId = c.Order.UserID; if (!MerchantTribe.Commerce.BusinessRules.Workflow.RunByName(c, MerchantTribe.Commerce.BusinessRules.WorkflowNames.OrderEdited)) { foreach (MerchantTribe.Commerce.BusinessRules.WorkflowMessage msg in c.Errors) { EventLog.LogEvent("Order Edited Workflow", msg.Description, EventLogSeverity.Warning); } if (!String.IsNullOrEmpty(saveResult.Message)) { this.MessageBox1.ShowError(saveResult.Message + " Error Occurred. Please see event log."); } else { this.MessageBox1.ShowError("Error Occurred. Please see event log."); } } else { if (!String.IsNullOrEmpty(saveResult.Message)) { this.MessageBox1.ShowError(saveResult.Message); } else { this.MessageBox1.ShowOk("Changes Saved"); } } }
protected void btnSaveChanges_Click(object sender, System.Web.UI.ImageClickEventArgs e) { this.MessageBox1.ClearMessage(); SystemOperationResult saveResult = SaveOrder(); if (saveResult.Success) { RunOrderEditedWorkflow(saveResult); } else { this.MessageBox1.ShowError(saveResult.Message); } LoadOrder(); }
private bool CheckForStockOnItems(CartViewModel model) { Order Basket = model.CurrentOrder; SystemOperationResult result = MTApp.CheckForStockOnItems(Basket); if (result.Success) { return(true); } else { this.FlashFailure(result.Message); return(false); } }
private SystemOperationResult SaveOrder() { SystemOperationResult result = new SystemOperationResult(false, ""); Order o = MTApp.OrderServices.Orders.FindForCurrentStore(this.BvinField.Value); if (o == null) { result.Success = false; result.Message = "Unable to reload order."; return(result); } o.UserID = this.UserIdField.Value; o.UserEmail = this.UserPicker1.UserName; o.Instructions = this.InstructionsField.Text.Trim(); o.BillingAddress = this.BillingAddressEditor.GetAsAddress(); o.ShippingAddress = this.ShippingAddressEditor.GetAsAddress(); SystemOperationResult modifyResult = ModifyQuantities(o); if (!modifyResult.Success) { result.Message = modifyResult.Message; } // Save Shipping Selection string shippingRateKey = Request.Form["shippingrate"]; MTApp.OrderServices.OrdersRequestShippingMethodByUniqueKey(shippingRateKey, o); // Shipping Override if (this.ShippingOverride.Text.Trim().Length < 1) { o.TotalShippingBeforeDiscountsOverride = -1m; } else { decimal shipOverride = o.TotalShippingBeforeDiscountsOverride; decimal.TryParse(this.ShippingOverride.Text, System.Globalization.NumberStyles.Currency, System.Threading.Thread.CurrentThread.CurrentUICulture, out shipOverride); o.TotalShippingBeforeDiscountsOverride = shipOverride; } result.Success = MTApp.CalculateOrderAndSave(o); return(result); }
public SystemOperationResult ValidateUser(string email, string password) { var result = new SystemOperationResult(); var u = Customers.FindByEmail(email).FirstOrDefault(); if (u != null) { if (DoPasswordsMatchForCustomer(password, u)) { CustomerCheckLock(u); if (u.Locked == false) { // Reset Failed Login Count if (u.FailedLoginCount > 0) { u.FailedLoginCount = 0; UpdateCustomer(u); } result.Success = true; } else { result.Success = false; result.Message = GlobalLocalization.GetString("AccountLocked"); } } else { result.Message = GlobalLocalization.GetString("LoginIncorrect"); u.FailedLoginCount += 1; UpdateCustomer(u); CustomerCheckLock(u); } } else { result.Message = GlobalLocalization.GetString("LoginIncorrect"); } if (result.Success == false) { EventLog.LogEvent("Membership", "Login Failed for User: " + email, EventLogSeverity.Information); } return(result); }
public SystemOperationResult ValidateUser(string email, string password) { SystemOperationResult result = new SystemOperationResult(); CustomerAccount u = Customers.FindByEmail(email); if (u != null) { if (DoPasswordsMatchForCustomer(password, u) == true) { CustomerCheckLock(u); if (u.Locked == false) { // Reset Failed Login Count if (u.FailedLoginCount > 0) { u.FailedLoginCount = 0; UpdateCustomer(u); } result.Success = true; } else { result.Success = false; result.Message = Content.SiteTerms.GetTerm(Content.SiteTermIds.AccountLocked); } } else { result.Message = Content.SiteTerms.GetTerm(Content.SiteTermIds.LoginIncorrect); u.FailedLoginCount += 1; UpdateCustomer(u); CustomerCheckLock(u); } } else { result.Message = Content.SiteTerms.GetTerm(Content.SiteTermIds.LoginIncorrect); } if (result.Success == false) { EventLog.LogEvent("Membership", "Login Failed for User: " + email, EventLogSeverity.Information); } return(result); }
protected void btnUpdateQuantities_Click(object sender, System.Web.UI.ImageClickEventArgs e) { this.MessageBox1.ClearMessage(); for (int i = 0; i <= this.ItemsGridView.Rows.Count - 1; i++) { if (ItemsGridView.Rows[i].RowType == DataControlRowType.DataRow) { TextBox qty = (TextBox)ItemsGridView.Rows[i].FindControl("QtyField"); if (qty != null) { long itemId = (long)ItemsGridView.DataKeys[ItemsGridView.Rows[i].RowIndex].Value; LineItem li = o.GetLineItem(itemId); if (li == null) { li = new LineItem(); } if (ValidateInventoryForLineItem(li.ProductId, qty.Text.Trim())) { SystemOperationResult val = MTApp.OrderServices.OrdersUpdateItemQuantity(itemId, int.Parse(qty.Text.Trim()), o); if (val.Message != string.Empty) { MessageBox1.ShowError(val.Message); } } } //TextBox price = (TextBox)ItemsGridView.Rows[i].FindControl("PriceField"); //if (price != null) //{ // decimal temp; // if (decimal.TryParse(price.Text, System.Globalization.NumberStyles.Currency, System.Threading.Thread.CurrentThread.CurrentUICulture, out temp)) // { // string bvin = (string)ItemsGridView.DataKeys[ItemsGridView.Rows[i].RowIndex].Value; // string val = MTApp.OrderServices o.SetItemAdminPrice(bvin, decimal.Parse(price.Text, System.Globalization.NumberStyles.Currency)).Message; // if (val != string.Empty) // { // MessageBox1.ShowError(val); // } // } //} } } LoadOrder(); ClearShipping(); }
public bool LoginCustomer(string email, string password, ref string errorMessage, System.Web.HttpContextBase context, ref string userId, MerchantTribeApplication app) { bool result = false; try { SystemOperationResult op = ValidateUser(email, password); if (op.Success == false) { errorMessage = op.Message; return(false); } CustomerAccount u = Customers.FindByEmail(email); if (u == null) { errorMessage = "Please check your email address and password and try again."; return(false); } userId = u.Bvin; Cookies.SetCookieString(WebAppSettings.CookieNameAuthenticationTokenCustomer(app.CurrentStore.Id), u.Bvin, context, false, new EventLog()); result = true; } catch (Exception ex) { result = false; EventLog.LogEvent(ex); errorMessage = "Unknown login error. Contact administrator for assistance."; } return(result); }
public SystemOperationResult ValidateUser(string email, string password) { SystemOperationResult result = new SystemOperationResult(); CustomerAccount u = Customers.FindByEmail(email); if (u != null) { if (DoPasswordsMatchForCustomer(password, u) == true) { CustomerCheckLock(u); if (u.Locked == false) { // Reset Failed Login Count if (u.FailedLoginCount > 0) { u.FailedLoginCount = 0; UpdateCustomer(u); } result.Success = true; } else { result.Success = false; result.Message = Content.SiteTerms.GetTerm(Content.SiteTermIds.AccountLocked); } } else { result.Message = Content.SiteTerms.GetTerm(Content.SiteTermIds.LoginIncorrect); u.FailedLoginCount += 1; UpdateCustomer(u); CustomerCheckLock(u); } } else { result.Message = Content.SiteTerms.GetTerm(Content.SiteTermIds.LoginIncorrect); } if (result.Success == false) { EventLog.LogEvent("Membership", "Login Failed for User: " + email, EventLogSeverity.Information); } return result; }
//Orders and Items public SystemOperationResult OrdersUpdateItemQuantity(long itemId, int quantity, Order o) { SystemOperationResult result = new SystemOperationResult(); result.Success = true; LineItem item = o.Items.Where(y => y.Id == itemId).SingleOrDefault(); if (item == null) { result.Success = false; result.Message = "Could not locate that item"; return result; } if (item.Quantity == quantity) { result.Success = true; return result; } if (quantity == 0) { result.Success = o.Items.Remove(item); } item.Quantity = quantity; result.Success = true; return result; }