public Boolean ConvertToOrder(Boolean debugMode = false) { var itemList = GetCartItemList(); if (IsValidated() && itemList.Count > 0) { PurchaseTypeCode = "ORDER"; if (base.PurchaseInfo.GetXmlProperty("genxml/createddate") == "") { base.PurchaseInfo.SetXmlProperty("genxml/createddate", DateTime.Now.ToString(CultureInfo.GetCultureInfo(Utils.GetCurrentCulture())), TypeCode.DateTime); } if (base.PurchaseInfo.GetXmlProperty("genxml/ordernumber") == "") { base.PurchaseInfo.SetXmlProperty("genxml/ordernumber", StoreSettings.Current.Get("orderprefix") + DateTime.Today.Year.ToString("").Substring(2, 2) + DateTime.Today.Month.ToString("00") + DateTime.Today.Day.ToString("00") + _cartId); } Save(); var ordData = new OrderData(PortalId, base.PurchaseInfo.ItemID); ordData.OrderStatus = "010"; if (ordData.EditMode == "") // don't update if we are in edit mode, we dont; want manager email to be altered. { // if the client has updated the email address, link this back to DNN profile. (We assume they alway place there current email address on th order.) var objUser = UserController.GetUserById(PortalSettings.Current.PortalId, ordData.UserId); if (objUser != null && objUser.Email != ordData.EmailAddress) { var clientData = new ClientData(PortalId, ordData.UserId); clientData.UpdateEmail(ordData.EmailAddress); } var addrData = new AddressData(ordData.UserId.ToString()); var billAddr = ordData.GetBillingAddress(); var selectedbilladdrIdx = billAddr.GetXmlProperty("genxml/dropdownlist/selectaddress"); if (!Utils.IsNumeric(selectedbilladdrIdx)) { selectedbilladdrIdx = "-1"; } addrData.AddAddress(billAddr, Convert.ToInt32(selectedbilladdrIdx)); var shipAddr = ordData.GetShippingAddress(); var selectedShipaddrIdx = billAddr.GetXmlProperty("genxml/dropdownlist/selectaddress"); if (!Utils.IsNumeric(selectedShipaddrIdx)) { selectedShipaddrIdx = "-1"; } addrData.AddAddress(shipAddr, Convert.ToInt32(selectedShipaddrIdx)); } ordData.Save(); if (StoreSettings.Current.DebugModeFileOut) { OutputDebugFile("debug_convertedcart.xml"); } Exists = false; return(true); } return(false); }
protected override void OnInit(EventArgs e) { base.OnInit(e); if (ModSettings.Get("themefolder") == "") // if we don't have module setting jump out { rpPaymentGateways.ItemTemplate = new GenXmlTemplate("NO MODULE SETTINGS"); return; } try { var pluginData = new PluginData(PortalSettings.Current.PortalId); _provList = pluginData.GetPaymentProviders(); _cartInfo = new CartData(PortalId); var orderid = Utils.RequestQueryStringParam(Context, "orderid"); var templOk = ModSettings.Get("paymentoktemplate"); var templFail = ModSettings.Get("paymentfailtemplate"); var templHeader = ""; var templFooter = ""; var templText = ""; if ((_provList.Count == 0 || _cartInfo.PurchaseInfo.GetXmlPropertyDouble("genxml/appliedtotal") <= 0) && orderid == "") { #region "No Payment providers, so process as a ordering system" var displayTempl = templOk; if (!_cartInfo.IsValidated()) displayTempl = templFail; rpDetailDisplay.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(ModCtrl.GetTemplateData(ModSettings, displayTempl, Utils.GetCurrentCulture(), DebugMode), ModSettings.Settings(), PortalSettings.HomeDirectory); _templateHeader = (GenXmlTemplate) rpDetailDisplay.ItemTemplate; #endregion } else { #region "Payment Details" // display the payment method by default templHeader = ModSettings.Get("paymentordersummary"); templFooter = ModSettings.Get("paymentfooter"); var templPaymentText = ""; var msg = ""; if (Utils.IsNumeric(orderid)) { // orderid exists, so must be return from bank; Process it!! _orderData = new OrderData(PortalId, Convert.ToInt32(orderid)); _prov = PaymentsInterface.Instance(_orderData.PaymentProviderKey); msg = _prov.ProcessPaymentReturn(Context); if (msg == "") // no message so successful { _orderData = new OrderData(PortalId, Convert.ToInt32(orderid)); // get the updated order. _orderData.PaymentOk("050"); templText = templOk; } else { _orderData = new OrderData(PortalId, Convert.ToInt32(orderid)); // reload the order, becuase the status and typecode may have changed by the payment provider. _orderData.AddAuditMessage(msg, "paymsg", "payment.ascx", "False"); _orderData.Save(); templText = templFail; } templFooter = ""; // return from bank, hide footer } else { // not returning from bank, so display list of payment providers. rpPaymentGateways.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(GetPaymentProviderTemplates(), ModSettings.Settings(), PortalSettings.HomeDirectory); } if (templText == "") templText = templHeader; // if we are NOT returning from bank, then display normal header summary template templPaymentText = ModCtrl.GetTemplateData(ModSettings, templText, Utils.GetCurrentCulture(), DebugMode); rpDetailDisplay.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(templPaymentText, ModSettings.Settings(), PortalSettings.HomeDirectory); _templateHeader = (GenXmlTemplate) rpDetailDisplay.ItemTemplate; if (templFooter != "") { var templPaymentFooterText = ModCtrl.GetTemplateData(ModSettings, templFooter, Utils.GetCurrentCulture(), DebugMode); rpDetailFooter.ItemTemplate = NBrightBuyUtils.GetGenXmlTemplate(templPaymentFooterText, ModSettings.Settings(), PortalSettings.HomeDirectory); } #endregion } // insert page header text NBrightBuyUtils.IncludePageHeaders(ModCtrl, ModuleId, Page, _templateHeader, ModSettings.Settings(), null, DebugMode); } catch (Exception exc) { //display the error on the template (don;t want to log it here, prefer to deal with errors directly.) var l = new Literal(); l.Text = exc.ToString(); phData.Controls.Add(l); } }
public Boolean ConvertToOrder(Boolean debugMode = false) { var itemList = GetCartItemList(); if (IsValidated() && itemList.Count > 0) { PurchaseTypeCode = "ORDER"; if (base.PurchaseInfo.GetXmlProperty("genxml/createddate") == "") { base.PurchaseInfo.SetXmlProperty("genxml/createddate", DateTime.Now.ToString("O"), TypeCode.DateTime); } if (base.PurchaseInfo.GetXmlProperty("genxml/ordernumber") == "") { base.PurchaseInfo.SetXmlProperty("genxml/ordernumber", StoreSettings.Current.Get("orderprefix") + DateTime.Today.Year.ToString("").Substring(2, 2) + DateTime.Today.Month.ToString("00") + DateTime.Today.Day.ToString("00") + _cartId); } Save(); var orderPortalId = PortalId; if (StoreSettings.Current.GetBool("shareorders")) { orderPortalId = -1; } var ordData = new OrderData(orderPortalId, base.PurchaseInfo.ItemID); if (orderPortalId == -1) { // shared order, so save the orginal portal ordData.PurchaseInfo.SetXmlProperty("genxml/createdportalid", PortalId.ToString("")); } ordData.OrderStatus = "010"; if (ordData.EditMode == "") // don't update if we are in edit mode, we dont; want manager email to be altered. { // if the client has updated the email address, link this back to DNN profile. (We assume they alway place there current email address on th order.) //var objUser = UserController.GetUserById(PortalSettings.Current.PortalId, ordData.UserId); //if (objUser != null && objUser.Email != ordData.EmailAddress) //{ // var clientData = new ClientData(PortalId, ordData.UserId); // clientData.UpdateEmail(ordData.EmailAddress); //} // ++++++ Assumption Wrong!!! never assume!! ++++++++++ // This also leads to problem is using the email form the username, // people don;t understand why their login isn't working when they haven't specificlly change the email address on the site!! var addrData = new AddressData(ordData.UserId.ToString()); var billAddr = ordData.GetBillingAddress(); var selectedbilladdrIdx = billAddr.GetXmlProperty("genxml/dropdownlist/selectaddress"); if (!Utils.IsNumeric(selectedbilladdrIdx)) { selectedbilladdrIdx = "-1"; } addrData.AddAddress(billAddr, Convert.ToInt32(selectedbilladdrIdx)); var shipAddr = ordData.GetShippingAddress(); var selectedShipaddrIdx = shipAddr.GetXmlProperty("genxml/dropdownlist/selectshipaddress"); if (!Utils.IsNumeric(selectedShipaddrIdx)) { selectedShipaddrIdx = "-1"; } addrData.AddAddress(shipAddr, Convert.ToInt32(selectedShipaddrIdx)); } ordData.Save(); if (StoreSettings.Current.DebugModeFileOut) { OutputDebugFile("debug_convertedcart.xml"); } Exists = false; return(true); } return(false); }
public Boolean ConvertToOrder(Boolean debugMode = false) { var itemList = GetCartItemList(); if (IsValidated() && itemList.Count > 0) { PurchaseTypeCode = "ORDER"; if (base.PurchaseInfo.GetXmlProperty("genxml/createddate") == "") base.PurchaseInfo.SetXmlProperty("genxml/createddate", DateTime.Now.ToString(CultureInfo.GetCultureInfo(Utils.GetCurrentCulture())), TypeCode.DateTime); if (base.PurchaseInfo.GetXmlProperty("genxml/ordernumber") == "") base.PurchaseInfo.SetXmlProperty("genxml/ordernumber", StoreSettings.Current.Get("orderprefix") + DateTime.Today.Year.ToString("").Substring(2, 2) + DateTime.Today.Month.ToString("00") + DateTime.Today.Day.ToString("00") + _cartId); Save(); var ordData = new OrderData(PortalId, base.PurchaseInfo.ItemID); ordData.OrderStatus = "010"; if (ordData.EditMode == "") // don't update if we are in edit mode, we dont; want manager email to be altered. { // if the client has updated the email address, link this back to DNN profile. (We assume they alway place there current email address on th order.) var objUser = UserController.GetUserById(PortalSettings.Current.PortalId, ordData.UserId); if (objUser != null && objUser.Email != ordData.EmailAddress) { var clientData = new ClientData(PortalId, ordData.UserId); clientData.UpdateEmail(ordData.EmailAddress); } } ordData.Save(); if (StoreSettings.Current.DebugModeFileOut) OutputDebugFile("debug_convertedcart.xml"); Exists = false; return true; } return false; }
private NotifyCode Update(String emailoption = "") { // we don;t have the full field set on this form, so only update the fields we know are there. var trackingcode = GenXmlFunctions.GetField(rpDataF, "trackingcode"); var shippingdate = GenXmlFunctions.GetField(rpDataF, "shippingdate"); var orderstatus = GenXmlFunctions.GetField(rpDataF, "orderstatus"); var showtouser = GenXmlFunctions.GetField(rpDataF, "showtouser"); var notes = GenXmlFunctions.GetField(rpDataF, "notes"); var emailmsg = GenXmlFunctions.GetField(rpDataF, "emailmsg"); var strUpd = GenXmlFunctions.GetGenXml(rpDataF, "", StoreSettings.Current.FolderUploadsMapPath); var nbi = new NBrightInfo(true); nbi.XMLData = strUpd; if (!Utils.IsNumeric(_entryid)) return NotifyCode.error; var ordData = new OrderData(PortalId, Convert.ToInt32(_entryid)); if (ordData.PurchaseInfo.ItemID == -1) return NotifyCode.fail; ordData.ShippedDate = shippingdate; ordData.OrderStatus = orderstatus; ordData.TrackingCode = trackingcode; ordData.InvoiceFileName = nbi.GetXmlProperty("genxml/hidden/hidinvoicedoc"); ordData.InvoiceFileExt = Path.GetExtension(ordData.InvoiceFileName); ordData.InvoiceFilePath = StoreSettings.Current.FolderUploadsMapPath + "\\" + ordData.InvoiceFileName; ordData.AddAuditMessage(notes,"msg",UserInfo.Username,showtouser); if (emailoption != "") { ordData.AddAuditMessage(emailmsg, "email", UserInfo.Username, showtouser, emailoption); } if (ordData.OrderNumber == "") ordData.OrderNumber = StoreSettings.Current.Get("orderprefix") + ordData.PurchaseInfo.ModifiedDate.Year.ToString("").Substring(2, 2) + ordData.PurchaseInfo.ModifiedDate.Month.ToString("00") + ordData.PurchaseInfo.ModifiedDate.Day.ToString("00") + _entryid; ordData.InvoiceDownloadName = ordData.OrderNumber + ordData.InvoiceFileExt; ordData.Save(); return NotifyCode.ok; }
private String OrderAdminSave(HttpContext context) { try { if (NBrightBuyUtils.CheckManagerRights()) { var ajaxInfo = NBrightBuyUtils.GetAjaxFields(context); var itemId = ajaxInfo.GetXmlPropertyInt("genxml/hidden/itemid"); if (itemId > 0) { var ordData = new OrderData(itemId); if (ordData != null) { var newStatusOrder = ajaxInfo.GetXmlProperty("genxml/dropdownlist/orderstatus"); if (ordData.OrderStatus != newStatusOrder) { ordData.OrderStatus = newStatusOrder; } ordData.PurchaseInfo.SetXmlProperty("genxml/textbox/shippingdate", ajaxInfo.GetXmlProperty("genxml/textbox/shippingdate"), TypeCode.DateTime); ordData.PurchaseInfo.SetXmlProperty("genxml/textbox/trackingcode", ajaxInfo.GetXmlProperty("genxml/textbox/trackingcode")); // do audit notes if (ajaxInfo.GetXmlProperty("genxml/textbox/auditnotes") != "") { ordData.AddAuditMessage(ajaxInfo.GetXmlProperty("genxml/textbox/auditnotes"),"notes", UserController.Instance.GetCurrentUserInfo().Username,"False"); } // save relitive path also if (ajaxInfo.GetXmlProperty("genxml/hidden/optionfilelist") != "") { var fname = Path.GetFileName(ajaxInfo.GetXmlProperty("genxml/hidden/optionfilelist")); if (File.Exists(StoreSettings.Current.FolderTempMapPath.TrimEnd('\\') + "\\" + fname)) { var newfname = Utils.GetUniqueKey(); // save relitive path also if (File.Exists(ordData.PurchaseInfo.GetXmlProperty("genxml/hidden/invoicefilepath"))) { File.Delete(StoreSettings.Current.FolderUploadsMapPath.TrimEnd('\\') + "\\" + newfname); } File.Copy(StoreSettings.Current.FolderTempMapPath.TrimEnd('\\') + "\\" + fname, StoreSettings.Current.FolderUploadsMapPath.TrimEnd('\\') + "\\" + newfname); File.Delete(StoreSettings.Current.FolderTempMapPath.TrimEnd('\\') + "\\" + fname); ordData.PurchaseInfo.SetXmlProperty("genxml/hidden/invoicefilepath", StoreSettings.Current.FolderUploadsMapPath.TrimEnd('\\') + "\\" + newfname); ordData.PurchaseInfo.SetXmlProperty("genxml/hidden/invoicefilename", newfname); ordData.PurchaseInfo.SetXmlProperty("genxml/hidden/invoiceuploadname", fname); ordData.PurchaseInfo.SetXmlProperty("genxml/hidden/invoicefileext", Path.GetExtension(fname)); ordData.PurchaseInfo.SetXmlProperty("genxml/hidden/invoicefilerelpath", StoreSettings.Current.FolderUploads + "/" + newfname); ordData.PurchaseInfo.SetXmlProperty("genxml/hidden/invoicedownloadname", "NBS" + ordData.OrderNumber + Path.GetExtension(fname)); } } ordData.Save(); } } return ""; } return ""; } catch (Exception ex) { return ex.ToString(); } }
private String OrderAdminRemoveInvoice(HttpContext context) { try { if (NBrightBuyUtils.CheckManagerRights()) { var ajaxInfo = NBrightBuyUtils.GetAjaxFields(context); var itemId = ajaxInfo.GetXmlPropertyInt("genxml/hidden/itemid"); if (itemId > 0) { var ordData = new OrderData(itemId); if (ordData != null) { // save relitive path also if (File.Exists(ordData.PurchaseInfo.GetXmlProperty("genxml/hidden/invoicefilepath"))) { File.Delete(ordData.PurchaseInfo.GetXmlProperty("genxml/hidden/invoicefilepath")); } ordData.PurchaseInfo.SetXmlProperty("genxml/hidden/invoicefilepath",""); ordData.PurchaseInfo.SetXmlProperty("genxml/hidden/invoicefilename", ""); ordData.PurchaseInfo.SetXmlProperty("genxml/hidden/invoicefileext", ""); ordData.PurchaseInfo.SetXmlProperty("genxml/hidden/invoicefilerelpath", ""); ordData.PurchaseInfo.SetXmlProperty("genxml/hidden/invoicedownloadname", ""); ordData.AddAuditMessage(NBrightBuyUtils.ResourceKey("OrderAdmin.cmdDeleteInvoice"), "invremove", UserController.Instance.GetCurrentUserInfo().Username, "False"); ordData.Save(); } } return ""; } return ""; } catch (Exception ex) { return ex.ToString(); } }