private void SaveVendors()
        {
            int _vendorId = AlwaysConvert.ToInt(HiddenVendorId.Value);

            _Vendor       = VendorDataSource.Load(_vendorId);
            _Vendor.Name  = VendorName.Text;
            _Vendor.Email = Email.Text.Replace(" ", "");
            _Vendor.Save();
        }
Beispiel #2
0
        protected void Page_InIt(object sender, EventArgs e)
        {
            _IconPath = AbleCommerce.Code.PageHelper.GetAdminThemeIconPath(this.Page);
            Manufacturers.DataSource = ManufacturerDataSource.LoadForStore(AbleContext.Current.StoreId);
            Manufacturers.DataBind();

            Vendors.DataSource = VendorDataSource.LoadForStore(AbleContext.Current.StoreId);
            Vendors.DataBind();
        }
        protected void Page_Init(object sender, EventArgs e)
        {
            //INITIALIZE VARIABLES
            _CategoryId = AbleCommerce.Code.PageHelper.GetCategoryId();
            _Category   = CategoryDataSource.Load(_CategoryId);
            _ProductId  = AlwaysConvert.ToInt(Request.QueryString["ProductId"]);
            _Product    = ProductDataSource.Load(_ProductId);
            if (_Product == null)
            {
                Response.Redirect(AbleCommerce.Code.NavigationHelper.GetAdminUrl("Catalog/Browse.aspx?CategoryId=" + _CategoryId.ToString()));
            }
            _KitComponentId = AlwaysConvert.ToInt(Request.QueryString["KitComponentId"]);
            _KitComponent   = KitComponentDataSource.Load(_KitComponentId);
            if (_KitComponent == null)
            {
                Response.Redirect("EditKit.aspx?CategoryId=" + _CategoryId.ToString() + "&ProductId=" + _ProductId.ToString());
            }
            CancelLink.NavigateUrl += "?CategoryId=" + _CategoryId.ToString() + "&ProductId=" + _ProductId.ToString();
            Caption.Text            = string.Format(Caption.Text, _KitComponent.Name);
            InstructionText.Text    = string.Format(InstructionText.Text, _KitComponent.Name, _Product.Name);

            int categoryCount             = CategoryDataSource.CountAll();
            StoreSettingsManager settings = AbleContext.Current.Store.Settings;

            _DisplayCategorySearch = settings.CategorySearchDisplayLimit > 0 && categoryCount >= settings.CategorySearchDisplayLimit;

            // INITIALIZE DROP DOWN LISTS
            if (!_DisplayCategorySearch)
            {
                InitializeCategoryTree();
            }
            else
            {
                // DISPLAY AUTO COMPLETE FOR CATEGORY SEARCH OPTION
                string js = PageHelper.GetAutoCompleteScript(Page.ResolveClientUrl("~/CategorySuggest.ashx"), CategoryAutoComplete, HiddenSelectedCategoryId, "Key", "Value");

                ScriptManager.RegisterStartupScript(PageAjax, this.GetType(), "CATEGORY_SUGGEST", js, true);
                CategoryAutoComplete.Visible = true;
                CategoryFilter.Visible       = false;
            }
            ManufacturerFilter.DataSource = ManufacturerDataSource.LoadAll("Name");
            ManufacturerFilter.DataBind();
            VendorFilter.DataSource = VendorDataSource.LoadAll("Name");
            VendorFilter.DataBind();

            // LOAD CUSTOM VIEWSTATE VARIABLES
            LoadCustomViewState();
            if (_SelectedProducts.Count > 0)
            {
                // REBIND THE REPEATER
                BindSelectedProducts(_SelectedProducts);
            }

            AbleCommerce.Code.PageHelper.SetDefaultButton(NameFilter, SearchButton.ClientID);
            AbleCommerce.Code.PageHelper.SetDefaultButton(SkuFilter, SearchButton.ClientID);
        }
        private void BindVendors()
        {
            IList <Vendor> vendors = VendorDataSource.LoadAll("Name");
            int            index   = vendors.IndexOf(_VendorId);

            if (index > -1)
            {
                vendors.RemoveAt(index);
            }
            VendorList.DataSource = vendors;
            VendorList.DataBind();
        }
 protected void Page_Init(object sender, System.EventArgs e)
 {
     _VendorId = AlwaysConvert.ToInt(Request.QueryString["VendorId"]);
     _Vendor   = VendorDataSource.Load(_VendorId);
     if (_Vendor == null)
     {
         Response.Redirect("Default.aspx");
     }
     Caption.Text         = string.Format(Caption.Text, _Vendor.Name);
     InstructionText.Text = string.Format(InstructionText.Text, _Vendor.Name);
     BindVendors();
 }
Beispiel #6
0
        private void UpdateVendorList(DropDownList VendorListCtrl)
        {
            IList <Vendor> vendors = VendorDataSource.LoadAll();

            VendorListCtrl.Items.Add(new ListItem("ANY", "0"));
            foreach (Vendor vendor in vendors)
            {
                VendorListCtrl.Items.Add(new ListItem(vendor.Name, vendor.Id.ToString()));
            }
            VendorListCtrl.SelectedIndex = 0;
            VendorListCtrl.DataBind();
        }
 protected void VendorGrid_RowCommand(object sender, GridViewCommandEventArgs e)
 {
     if (e.CommandName.Equals("EditVendor"))
     {
         string[] data = ((string)e.CommandArgument).Split(':');
         _VendorId            = AlwaysConvert.ToInt(data[0]);
         HiddenVendorId.Value = _VendorId.ToString();
         _Vendor         = VendorDataSource.Load(_VendorId);
         VendorName.Text = _Vendor.Name;
         Email.Text      = _Vendor.Email;
         ModalPopupExtender.Show();
         EditAjax.Update();
     }
 }
Beispiel #8
0
        protected void Page_Load(object sender, System.EventArgs e)
        {
            _VendorId = AlwaysConvert.ToInt(Request.QueryString["VendorId"]);
            _Vendor   = VendorDataSource.Load(_VendorId);
            if (_Vendor == null)
            {
                Response.Redirect("Default.aspx");
            }

            Caption.Text = string.Format(Caption.Text, _Vendor.Name);
            FindAssignProducts1.AssignmentValue  = _VendorId;
            FindAssignProducts1.OnAssignProduct += new AssignProductEventHandler(FindAssignProducts1_AssignProduct);
            FindAssignProducts1.OnLinkCheck     += new AssignProductEventHandler(FindAssignProducts1_LinkCheck);
            FindAssignProducts1.OnCancel        += new EventHandler(FindAssignProducts1_CancelButton);
        }
 protected void DeleteButton_Click(object sender, System.EventArgs e)
 {
     if (VendorList.SelectedIndex != 0)
     {
         int    newVendorId = AlwaysConvert.ToInt(VendorList.SelectedValue);
         Vendor newVendor   = VendorDataSource.Load(newVendorId);
         if (newVendor != null)
         {
             foreach (Product product in _Vendor.Products)
             {
                 product.VendorId = newVendorId;
             }
             _Vendor.Products.Save();
         }
     }
     _Vendor.Delete();
     Response.Redirect("Default.aspx");
 }
Beispiel #10
0
        /// <summary>
        /// Generates mail messages for this email template
        /// </summary>
        /// <returns>An array of MailMessage objects generated</returns>
        public MailMessage[] GenerateMailMessages()
        {
            //BUILD AN ARRAY OF MESSAGES TO BE SENT
            List <MailMessage> messages       = new List <MailMessage>();
            NVelocityEngine    velocityEngine = NVelocityEngine.Instance;

            //PARSE THE ADDRESSES
            bool hasVendor;
            List <MailAddress> addressList = this.ParseAddresses(this.ToAddress, out hasVendor);
            List <MailAddress> ccList      = this.ParseAddresses(this.CCList);
            List <MailAddress> bccList     = this.ParseAddresses(this.BCCList);

            //CHECK FOR TO ADDRESSES
            if (addressList.Count > 0)
            {
                //BUILD MESSAGE GOING TO SPECIFIC ADDRESSES
                MailMessage mailMessage = new MailMessage();
                //ADD TO ADDRESSES
                foreach (MailAddress item in addressList)
                {
                    mailMessage.To.Add(item);
                }
                //ADD CC ADDRESSES
                foreach (MailAddress item in ccList)
                {
                    mailMessage.CC.Add(item);
                }
                //ADD BCC ADDRESSES
                foreach (MailAddress item in bccList)
                {
                    mailMessage.Bcc.Add(item);
                }
                //SET FROM ADDRESS
                mailMessage.From = new MailAddress(this.FromAddress);
                //PROCESS THE SUBJECT AND BODY
                mailMessage.Subject    = velocityEngine.Process(this.Parameters, this.Subject);
                mailMessage.Body       = velocityEngine.Process(this.Parameters, this.Body);
                mailMessage.IsBodyHtml = this.IsHTML;
                messages.Add(mailMessage);
            }

            //PROCESS VENDOR MESSAGES IF WE HAVE AN ORDER CONTEXT
            if (hasVendor && this.Parameters.ContainsKey("order"))
            {
                Order order = (Order)this.Parameters["order"];
                //DECIDE WHICH VENDORS NEED TO HAVE MESSAGES COMPILED
                VendorCollection vendors = VendorDataSource.LoadForOrder(order.OrderId);
                if (vendors.Count > 0)
                {
                    //VENDORS ARE FOUND, WE MUST COMPILE ONE MESSAGE FOR EACH VENDOR
                    foreach (Vendor vendor in vendors)
                    {
                        List <string> emailList = GetValidEmailList(vendor.Email);
                        if (emailList != null && emailList.Count > 0)
                        {
                            //BUILD VENDOR SPECIFIC ITEM COLLECTIONS
                            OrderItemCollection vendorItems            = new OrderItemCollection();
                            OrderItemCollection vendorNonShippingItems = new OrderItemCollection();
                            foreach (OrderItem item in order.Items)
                            {
                                if (item.Product != null)
                                {
                                    //SEE IF THIS IS A PRODUCT THAT BELONGS TO THE VENDOR
                                    if (item.Product.VendorId == vendor.VendorId)
                                    {
                                        vendorItems.Add(item);
                                        if (item.OrderShipmentId == 0)
                                        {
                                            vendorNonShippingItems.Add(item);
                                        }
                                    }
                                }
                                else
                                {
                                    //SEE IF THIS IS A NON-PRODUCT ITEM THAT APPLIES
                                    //E.G. A DISCOUNT ON A VENDOR ITEM
                                    if (vendorItems.IndexOf(item.ParentItemId) > -1)
                                    {
                                        vendorItems.Add(item);
                                        if (item.OrderShipmentId == 0)
                                        {
                                            vendorNonShippingItems.Add(item);
                                        }
                                    }
                                }
                            }
                            //BUILD VENDOR SPECIFIC SHIPMENT COLLECTION
                            OrderShipmentCollection vendorShipments = new OrderShipmentCollection();
                            foreach (OrderItem item in vendorItems)
                            {
                                if ((item.OrderShipment != null) && (vendorShipments.IndexOf(item.OrderShipmentId) < 0))
                                {
                                    vendorShipments.Add(item.OrderShipment);
                                }
                            }
                            //CREATE VENDOR SPECIFIC PARAMETERS
                            Hashtable vendorParameters = new Hashtable(this.Parameters);
                            vendorParameters["Vendor"]                 = vendor;
                            vendorParameters["VendorShipments"]        = vendorShipments;
                            vendorParameters["VendorItems"]            = vendorItems;
                            vendorParameters["VendorNonShippingItems"] = vendorNonShippingItems;
                            //COMPILE VENDOR SPECIFIC MAIL MESSAGE
                            MailMessage mailMessage = new MailMessage();
                            //ADD TO ADDRESSES
                            foreach (string email in emailList)
                            {
                                mailMessage.To.Add(email);
                            }
                            //ADD CC ADDRESSES
                            foreach (MailAddress item in ccList)
                            {
                                mailMessage.CC.Add(item);
                            }
                            //ADD BCC ADDRESSES
                            foreach (MailAddress item in bccList)
                            {
                                mailMessage.Bcc.Add(item);
                            }
                            //SET FROM ADDRESS
                            mailMessage.From = new MailAddress(this.FromAddress);
                            //PROCESS THE SUBJECT AND BODY
                            mailMessage.Subject    = velocityEngine.Process(vendorParameters, this.Subject);
                            mailMessage.Body       = velocityEngine.Process(vendorParameters, this.Body);
                            mailMessage.IsBodyHtml = this.IsHTML;
                            messages.Add(mailMessage);
                        }
                        else
                        {
                            Logger.Warn("Could not process vendor notification for '" + vendor.Name + "'; email address is invalid.");
                        }
                    }
                }
            }
            else
            if (hasVendor && this.Parameters.ContainsKey("vendors"))
            {
                Vendor[]         vendors  = (Vendor[])this.Parameters["vendors"];
                Product[]        products = (Product[])this.Parameters["products"];
                ProductVariant[] variants = (ProductVariant[])this.Parameters["variants"];

                if (vendors != null && vendors.Length > 0)
                {
                    foreach (Vendor vendor in vendors)
                    {
                        List <string> emailList = GetValidEmailList(vendor.Email);
                        if (emailList != null && emailList.Count > 0)
                        {
                            List <Product>        vendorProducts = new List <Product>();
                            List <ProductVariant> vendorVariants = new List <ProductVariant>();

                            if (products != null)
                            {
                                foreach (Product product in products)
                                {
                                    if (product.Vendor != null && product.VendorId == vendor.VendorId)
                                    {
                                        vendorProducts.Add(product);
                                    }
                                }
                            }

                            if (variants != null)
                            {
                                foreach (ProductVariant variant in variants)
                                {
                                    if (variant.Product.Vendor != null && variant.Product.Vendor.VendorId == vendor.VendorId)
                                    {
                                        vendorVariants.Add(variant);
                                    }
                                }
                            }

                            //CREATE VENDOR SPECIFIC PARAMETERS
                            Hashtable vendorParameters = new Hashtable(this.Parameters);
                            vendorParameters["vendor"]   = vendor;
                            vendorParameters["products"] = vendorProducts;
                            vendorParameters["variants"] = vendorVariants;

                            //COMPILE VENDOR SPECIFIC MAIL MESSAGE
                            MailMessage mailMessage = new MailMessage();
                            //ADD TO ADDRESSES
                            foreach (string email in emailList)
                            {
                                mailMessage.To.Add(email);
                            }
                            //ADD CC ADDRESSES
                            foreach (MailAddress item in ccList)
                            {
                                mailMessage.CC.Add(item);
                            }
                            //ADD BCC ADDRESSES
                            foreach (MailAddress item in bccList)
                            {
                                mailMessage.Bcc.Add(item);
                            }
                            //SET FROM ADDRESS
                            mailMessage.From = new MailAddress(this.FromAddress);
                            //PROCESS THE SUBJECT AND BODY
                            mailMessage.Subject    = velocityEngine.Process(vendorParameters, this.Subject);
                            mailMessage.Body       = velocityEngine.Process(vendorParameters, this.Body);
                            mailMessage.IsBodyHtml = this.IsHTML;
                            messages.Add(mailMessage);
                        }
                        else
                        {
                            Logger.Warn("Could not process vendor notification for '" + vendor.Name + "'; email address is invalid.");
                        }
                    }
                }
            }

            //RETURN THE GENERATED MAIL MESSAGE
            if (messages.Count == 0)
            {
                return(null);
            }
            return(messages.ToArray());
        }