Example #1
0
        public void FromDto(OptionDTO dto)
        {
            if (dto == null)
            {
                return;
            }

            this.Bvin      = dto.Bvin ?? string.Empty;
            this.IsShared  = dto.IsShared;
            this.IsVariant = dto.IsVariant;
            this.Items.Clear();
            this.Name         = dto.Name ?? string.Empty;
            this.NameIsHidden = dto.NameIsHidden;
            this.StoreId      = dto.StoreId;

            OptionTypes typeCode = OptionTypes.DropDownList;

            typeCode = (OptionTypes)dto.OptionType;
            this.SetProcessor(typeCode);

            foreach (OptionItemDTO oi in dto.Items)
            {
                OptionItem opt = new OptionItem();
                opt.FromDto(oi);
                this.AddItem(opt);
            }
            this.Settings = new OptionSettings();
            foreach (OptionSettingDTO set in dto.Settings)
            {
                this.Settings.AddOrUpdate(set.Key, set.Value);
            }
        }
Example #2
0
        public bool AddItem(string itemName)
        {
            OptionItem oi = new OptionItem();

            oi.Name = itemName;
            return(AddItem(oi));
        }
Example #3
0
 public bool AddItem(OptionItem item)
 {
     if (item == null)
     {
         return(false);
     }
     item.OptionBvin = this.Bvin;
     this.Items.Add(item);
     return(true);
 }
Example #4
0
        public OptionItem Clone()
        {
            OptionItem result = new OptionItem();

            result.Bvin = string.Empty;
            result.IsLabel = this.IsLabel;
            result.Name = this.Name;
            result.OptionBvin = this.OptionBvin;
            result.PriceAdjustment = this.PriceAdjustment;
            result.SortOrder = this.SortOrder;
            result.StoreId = this.StoreId;
            result.WeightAdjustment = this.WeightAdjustment;

            return result;
        }
        private string RenderSingleItem(OptionItem oi)
        {
            StringBuilder sb = new StringBuilder();

            sb.Append("<div class=\"dragitem\" id=\"" + oi.Bvin + "\"><table class=\"formtable\" width=\"100%\"><tr>");
            sb.Append("<td width=\"50%\" class=\"namefield\">" + oi.Name + "</td>");
            sb.Append("<td width=\"20%\" class=\"pricefield\">Price: " + oi.PriceAdjustment.ToString("c") + "</td>");
            sb.Append("<td width=\"20%\" class=\"weightfield\">Weight: " + Math.Round(oi.WeightAdjustment, 3).ToString() + "</td>");
            sb.Append("<td width=\"75\"><a href=\"#\" class=\"dragitemedit\" id=\"edit" + oi.Bvin + "\"><img src=\"../images/buttons/edit.png\" alt=\"edit\" /></a></td>");
            sb.Append("<td><a href=\"#\" class=\"trash\" id=\"rem" + oi.Bvin + "\"><img src=\"../../images/system/trashcan.png\" alt=\"Delete\" /></a></td>");
            sb.Append("<td><a href=\"#\" class=\"handle\"><img src=\"../../images/system/draghandle.png\" alt=\"Move\" /></a></td>");
            sb.Append("</tr></table></div>");

            return sb.ToString();
        }
Example #6
0
        public OptionItem Clone()
        {
            OptionItem result = new OptionItem();

            result.Bvin             = string.Empty;
            result.IsLabel          = this.IsLabel;
            result.Name             = this.Name;
            result.OptionBvin       = this.OptionBvin;
            result.PriceAdjustment  = this.PriceAdjustment;
            result.SortOrder        = this.SortOrder;
            result.StoreId          = this.StoreId;
            result.WeightAdjustment = this.WeightAdjustment;

            return(result);
        }
Example #7
0
 public bool OptionItemUpdate(OptionItem item)
 {
     return(this.itemRepository.Update(item));
 }
        // Create or Update
        public override string PostAction(string parameters, System.Collections.Specialized.NameValueCollection querystring, string postdata)
        {
            string data = string.Empty;
            string bvin = FirstParameter(parameters);

            string isProducts = GetParameterByIndex(1, parameters);
            string productBvin = GetParameterByIndex(2, parameters);

            if (isProducts.Trim().ToLower() == "generateonly")
            {
                // Generate Variants Only
                ApiResponse<bool> response = new ApiResponse<bool>();
                Product p = MTApp.CatalogServices.Products.Find(productBvin);
                if (p == null | p.Bvin == string.Empty)
                {
                    data = MerchantTribe.Web.Json.ObjectToJson(response);
                    return data;
                }
                MTApp.CatalogServices.VariantsGenerateAllPossible(p);
                response.Content = true;
                data = MerchantTribe.Web.Json.ObjectToJson(response);
            }
            else if (isProducts.Trim().ToLower() == "products")
            {

                string generatevariants = querystring["generatevariants"];

                // Assign to Products
                ApiResponse<bool> response = new ApiResponse<bool>();
                Product p = MTApp.CatalogServices.Products.Find(productBvin);
                if (p == null || p.Bvin == string.Empty)
                {
                    data = MerchantTribe.Web.Json.ObjectToJson(response);
                    return data;
                }
                MTApp.CatalogServices.ProductsAddOption(p, bvin);
                if (generatevariants.Trim() == "1")
                {
                    MTApp.CatalogServices.VariantsGenerateAllPossible(p);
                }
                response.Content = true;
                data = MerchantTribe.Web.Json.ObjectToJson(response);
            }
            else
            {
                ApiResponse<OptionDTO> response = new ApiResponse<OptionDTO>();

                OptionDTO postedItem = null;
                try
                {
                    postedItem = MerchantTribe.Web.Json.ObjectFromJson<OptionDTO>(postdata);
                }
                catch (Exception ex)
                {
                    response.Errors.Add(new ApiError("EXCEPTION", ex.Message));
                    return MerchantTribe.Web.Json.ObjectToJson(response);
                }

                Option existing = MTApp.CatalogServices.ProductOptions.Find(postedItem.Bvin);

                if (existing == null || existing.Bvin == string.Empty)
                {
                    postedItem.StoreId = MTApp.CurrentStore.Id;

                    // Create
                    Option op = new Option();
                    if (op == null)
                    {
                        response.Errors.Add(new ApiError("NULL FACTORY", "Option Factory returned a null object"));
                        return MerchantTribe.Web.Json.ObjectToJson(response);
                    }

                    op.FromDto(postedItem);

                    bool createResult = MTApp.CatalogServices.ProductOptions.Create(op);

                    Option created = MTApp.CatalogServices.ProductOptions.Find(postedItem.Bvin);
                    if (postedItem.Items != null)
                    {
                        foreach (OptionItemDTO oi in postedItem.Items)
                        {
                            OptionItem i = new OptionItem();
                            oi.OptionBvin = created.Bvin;
                            i.FromDto(oi);
                            created.Items.Add(i);
                        }
                        MTApp.CatalogServices.ProductOptions.Update(created);
                    }
                    response.Content = ((Option)created).ToDto();
                }
                else
                {
                    response.Content = ((Option)existing).ToDto();
                }

                data = MerchantTribe.Web.Json.ObjectToJson(response);
            }

            return data;
        }
Example #9
0
        public void FromDto(OptionDTO dto)
        {
            if (dto == null) return;

            this.Bvin = dto.Bvin ?? string.Empty;
            this.IsShared = dto.IsShared;
            this.IsVariant = dto.IsVariant;
            this.Items.Clear();
            this.Name = dto.Name ?? string.Empty;
            this.NameIsHidden = dto.NameIsHidden;                        
            this.StoreId = dto.StoreId;
            
            OptionTypes typeCode = OptionTypes.DropDownList;
            typeCode = (OptionTypes)dto.OptionType;
            this.SetProcessor(typeCode);

            foreach (OptionItemDTO oi in dto.Items)
            {
                OptionItem opt = new OptionItem();
                opt.FromDto(oi);
                this.AddItem(opt);                
            }
            this.Settings = new OptionSettings();
            foreach (OptionSettingDTO set in dto.Settings)
            {
                this.Settings.AddOrUpdate(set.Key, set.Value);
            }           
        }
Example #10
0
 public bool AddItem(OptionItem item)
 {
     if (item == null) return false;
     item.OptionBvin = this.Bvin;
     this.Items.Add(item);
     return true;
 }      
Example #11
0
 public bool AddItem(string itemName)
 {
     OptionItem oi = new OptionItem();
     oi.Name = itemName;
     return AddItem(oi);
 }