private IPromotionQualification GetCurrentQualification(Promotion p) { if (p == null) { return(null); } string itemId = this.itemid.Value; long temp = 0; long.TryParse(itemId, out temp); IPromotionQualification q = p.GetQualification(temp); return(q); }
private bool SaveEditor(Promotion p, IPromotionQualification q) { switch (q.TypeId.ToString().ToUpper()) { case PromotionQualificationBase.TypeIdAnyProduct: // all saved at time of edit, no extra save here case PromotionQualificationBase.TypeIdProductBvin: case PromotionQualificationBase.TypeIdProductCategory: case PromotionQualificationBase.TypeIdProductType: case PromotionQualificationBase.TypeIdUserIs: case PromotionQualificationBase.TypeIdUserIsInGroup: case PromotionQualificationBase.TypeIdOrderHasCoupon: case PromotionQualificationBase.TypeIdAnyShippingMethod: case PromotionQualificationBase.TypeIdShippingMethodIs: case PromotionQualificationBase.TypeIdAnyOrder: return(true); case PromotionQualificationBase.TypeIdOrderSubTotalIs: decimal ototal = ((OrderSubTotalIs)q).Amount; decimal parsedototal = 0; if (decimal.TryParse(this.OrderSubTotalIsField.Text, out parsedototal)) { ototal = parsedototal; } ((OrderSubTotalIs)q).Amount = ototal; return(MyPage.MTApp.MarketingServices.Promotions.Update(p)); case PromotionQualificationBase.TypeIdOrderHasProducts: int qty1 = ((OrderHasProducts)q).Quantity; int parsedqty1 = 1; if (int.TryParse(this.OrderProductQuantityField.Text, out parsedqty1)) { qty1 = parsedqty1; } QualificationSetMode setmode = ((OrderHasProducts)q).SetMode; int parsedsetmode = 1; if (int.TryParse(this.lstOrderProductSetMode.SelectedValue, out parsedsetmode)) { setmode = (QualificationSetMode)parsedsetmode; } ((OrderHasProducts)q).Quantity = qty1; ((OrderHasProducts)q).SetMode = setmode; return(MyPage.MTApp.MarketingServices.Promotions.Update(p)); } return(false); }
public bool SaveQualification() { Promotion p = GetCurrentPromotion(); if (p == null) { return(false); } IPromotionQualification q = GetCurrentQualification(p); if (q == null) { return(false); } return(SaveEditor(p, q)); }
public bool AddQualification(IPromotionQualification q) { long maxid = 0; if (_qualifications.Count > 0) { maxid = _qualifications.Max(y => y.Id); } if (maxid < 0) { maxid = 0; } q.Id = maxid + 1; _qualifications.Add(q); return(true); }
private IPromotionQualification QualificationFactory(IEnumerable <XElement> nodes) { if (nodes == null) { return(null); } XElement nodeTypeId = nodes.Where(y => y.Name == "TypeId").FirstOrDefault(); if (nodeTypeId == null) { return(null); } Guid typeId = new Guid(nodeTypeId.Value); IPromotionQualification result = PromotionQualificationBase.Factory(typeId.ToString().ToUpperInvariant()); if (result == null) { return(null); } XElement nodeId = nodes.Where(y => y.Name == "Id").FirstOrDefault(); if (nodeId != null) { long temp = 0; long.TryParse(nodeId.Value, out temp); result.Id = temp; } XElement nodeSettings = nodes.Where(y => y.Name == "Settings").FirstOrDefault(); if (nodeSettings != null) { foreach (XElement setting in nodeSettings.Descendants("Setting")) { string key = setting.Element("Key").Value; string value = setting.Element("Value").Value; result.Settings[key] = value; } } return(result); }
public bool AddQualification(IPromotionQualification q) { long maxid = 0; if (this._Qualifications.Count > 0) { maxid = this._Qualifications.Max(y => y.Id); } if (maxid < 0) maxid = 0; q.Id = maxid + 1; _Qualifications.Add(q); return true; }
private void LoadCorrectEditor() { Promotion p = GetCurrentPromotion(); IPromotionQualification q = GetCurrentQualification(p); if (q == null) { return; } this.MultiView1.Visible = true; switch (q.TypeId.ToString().ToUpper()) { case PromotionQualificationBase.TypeIdAnyProduct: this.MessageBox1.ShowInformation("This qualification does not have any configuration options."); this.MultiView1.Visible = false; break; case PromotionQualificationBase.TypeIdProductBvin: this.MultiView1.SetActiveView(this.viewProductBvin); break; case PromotionQualificationBase.TypeIdProductCategory: this.MultiView1.SetActiveView(this.viewProductCategory); LoadProductCategoryEditor((ProductCategory)q); break; case PromotionQualificationBase.TypeIdProductType: this.MultiView1.SetActiveView(this.viewProductType); LoadProductTypeEditor((ProductType)q); break; case PromotionQualificationBase.TypeIdOrderHasCoupon: this.MultiView1.SetActiveView(this.viewOrderHasCoupon); LoadOrderHasCouponEditor((OrderHasCoupon)q); break; case PromotionQualificationBase.TypeIdAnyOrder: this.MessageBox1.ShowInformation("This qualification does not have any configuration options."); this.MultiView1.Visible = false; break; case PromotionQualificationBase.TypeIdOrderSubTotalIs: this.MultiView1.SetActiveView(this.viewOrderSubTotalIs); LoadOrderSubTotalIsEditor((OrderSubTotalIs)q); break; case PromotionQualificationBase.TypeIdOrderHasProducts: this.MultiView1.SetActiveView(this.viewOrderHasProduct); LoadOrderProductEditor((OrderHasProducts)q); break; case PromotionQualificationBase.TypeIdUserIs: this.MultiView1.SetActiveView(this.viewUserId); LoadUserIsEditor((UserIs)q); break; case PromotionQualificationBase.TypeIdUserIsInGroup: this.MultiView1.SetActiveView(this.viewUserIsInGroup); LoadUserIsInGroupEditor((UserIsInGroup)q); break; case PromotionQualificationBase.TypeIdAnyShippingMethod: this.MessageBox1.ShowInformation("Any shipping method does not have any configuration options."); this.MultiView1.Visible = false; break; case PromotionQualificationBase.TypeIdShippingMethodIs: this.MultiView1.SetActiveView(viewShippingMethodIs); LoadShippingMethodIsEditor((ShippingMethodIs)q); break; } }
private bool SaveEditor(Promotion p, IPromotionQualification q) { switch (q.TypeId.ToString().ToUpper()) { case PromotionQualificationBase.TypeIdAnyProduct: // all saved at time of edit, no extra save here case PromotionQualificationBase.TypeIdProductBvin: case PromotionQualificationBase.TypeIdProductCategory: case PromotionQualificationBase.TypeIdProductType: case PromotionQualificationBase.TypeIdUserIs: case PromotionQualificationBase.TypeIdUserIsInGroup: case PromotionQualificationBase.TypeIdOrderHasCoupon: case PromotionQualificationBase.TypeIdAnyShippingMethod: case PromotionQualificationBase.TypeIdShippingMethodIs: case PromotionQualificationBase.TypeIdAnyOrder: return true; case PromotionQualificationBase.TypeIdOrderSubTotalIs: decimal ototal = ((OrderSubTotalIs)q).Amount; decimal parsedototal = 0; if (decimal.TryParse(this.OrderSubTotalIsField.Text, out parsedototal)) { ototal = parsedototal; } ((OrderSubTotalIs)q).Amount = ototal; return MyPage.MTApp.MarketingServices.Promotions.Update(p); case PromotionQualificationBase.TypeIdOrderHasProducts: int qty1 = ((OrderHasProducts)q).Quantity; int parsedqty1 = 1; if (int.TryParse(this.OrderProductQuantityField.Text, out parsedqty1)) { qty1 = parsedqty1; } QualificationSetMode setmode = ((OrderHasProducts)q).SetMode; int parsedsetmode = 1; if (int.TryParse(this.lstOrderProductSetMode.SelectedValue, out parsedsetmode)) { setmode = (QualificationSetMode)parsedsetmode; } ((OrderHasProducts)q).Quantity = qty1; ((OrderHasProducts)q).SetMode = setmode; return MyPage.MTApp.MarketingServices.Promotions.Update(p); } return false; }
public void LoadQualification(Promotion p, IPromotionQualification qualif) { PromotionId = p.Id; QualificationId = qualif.Id; mvQualifications.Visible = true; switch (qualif.TypeId.ToString().ToUpper()) { case PromotionQualificationBase.TypeIdAnyProduct: mvQualifications.Visible = false; break; case PromotionQualificationBase.TypeIdProductBvin: mvQualifications.SetActiveView(viewProductBvin); break; case PromotionQualificationBase.TypeIdProductCategory: mvQualifications.SetActiveView(viewProductCategory); break; case PromotionQualificationBase.TypeIdProductType: mvQualifications.SetActiveView(viewProductType); break; case PromotionQualificationBase.TypeIdOrderHasCoupon: mvQualifications.SetActiveView(viewOrderHasCoupon); break; case PromotionQualificationBase.TypeIdAnyOrder: ucMessageBox.ShowInformation("This qualification does not have any configuration options."); mvQualifications.Visible = false; break; case PromotionQualificationBase.TypeIdOrderSubTotalIs: mvQualifications.SetActiveView(viewOrderSubTotalIs); break; case PromotionQualificationBase.TypeIdOrderHasProducts: mvQualifications.SetActiveView(viewOrderHasProduct); break; case PromotionQualificationBase.TypeIdUserIs: mvQualifications.SetActiveView(viewUserId); break; case PromotionQualificationBase.TypeIdUserIsInGroup: mvQualifications.SetActiveView(viewUserIsInGroup); break; case UserIsInRole.TypeIdString: mvQualifications.SetActiveView(viewUserIsInRole); break; case PromotionQualificationBase.TypeIdAnyShippingMethod: ucMessageBox.ShowInformation("Any shipping method does not have any configuration options."); mvQualifications.Visible = false; break; case PromotionQualificationBase.TypeIdShippingMethodIs: mvQualifications.SetActiveView(viewShippingMethodIs); break; case PromotionQualificationBase.TypeIdLineItemCategory: mvQualifications.SetActiveView(viewLineItemCategory); break; case AffiliateApproved.TypeIdString: mvQualifications.SetActiveView(viewAffiliateApproved); break; case LineItemIsProduct.TypeIdString: mvQualifications.SetActiveView(viewLineItemIs); break; case SumOrCountOfProducts.TypeIdString: mvQualifications.SetActiveView(viewProductsSumCount); break; case ProductTypeIs.TypeIdString: mvQualifications.SetActiveView(viewProductTypeIsNot); break; case OrderHasNotProducts.TypeIdString: mvQualifications.SetActiveView(viewProductIsNot); break; case VendorOrManufacturerIs.TypeIdString: mvQualifications.SetActiveView(viewVendorManufacturer); break; } LoadQualificationEditor(true); }