Exemplo n.º 1
0
 public static Country TranslateCountry(string connectionString, string countryCode)
 {
     Country result = new Country();
     data.bvc2004Entities db = new data.bvc2004Entities(connectionString);
     var old = db.bvc_Country.Where(y => y.Code == countryCode).FirstOrDefault();
     if (old == null) return Country.FindByISOCode("US");
     result = Country.FindByISOCode(old.UPSCode);
     return result;
 }
Exemplo n.º 2
0
 public static string TranslateRegionBvinToAbbreviation(string connString, string stateCode)
 {
     string result = string.Empty;
     int stateId = 0;
     int.TryParse(stateCode, out stateId);
     data.bvc2004Entities db = new data.bvc2004Entities(connString);
     var old = db.bvc_Region.Where(y => y.ID == stateId).FirstOrDefault();
     if (old == null) return result;
     result = old.Abbreviation;
     return result;
 }
Exemplo n.º 3
0
        private void ImportAffiliateReferrals(int oldId, long newId)
        {
            wl(" - Migrating Referrals...");

            data.bvc2004Entities db = new data.bvc2004Entities(EFConnString(settings.SourceConnectionString()));

            var referrals = db.bvc_Referral.Where(y => y.AffID == oldId);
            if (referrals == null) return;

            foreach (data.bvc_Referral r in referrals)
            {
                AffiliateReferralDTO rnew = new AffiliateReferralDTO();
                rnew.AffiliateId = newId;
                rnew.TimeOfReferralUtc = r.TimeOfReferral;
                rnew.ReferrerUrl = r.ReferrerURL;

                Api bv6proxy = GetBV6Proxy();
                var res = bv6proxy.AffiliateReferralsCreate(rnew);
            }

        }
Exemplo n.º 4
0
        private List<ProductPropertyChoiceDTO> GetPropertyChoices(int propertyId)
        {
            List<ProductPropertyChoiceDTO> result = new List<ProductPropertyChoiceDTO>();

            data.bvc2004Entities db = new data.bvc2004Entities(EFConnString(settings.SourceConnectionString()));
            var choices = db.bvc_ProductPropertyChoice.Where(y => y.PropertyID == propertyId)
                            .OrderBy(y => y.SortOrder);
            if (choices == null) return result;

            foreach (data.bvc_ProductPropertyChoice ppc in choices)
            {
                ProductPropertyChoiceDTO dto = new ProductPropertyChoiceDTO();
                dto.ChoiceName = ppc.ChoiceName;
                dto.LastUpdated = DateTime.UtcNow;
                //dto.PropertyId = ppc.PropertyBvin;
                dto.SortOrder = ppc.SortOrder;
                result.Add(dto);
            }

            return result;
        }
Exemplo n.º 5
0
        private void MigratePropertiesForType(int typeID)
        {
            wl("Migrating Properties to Type...");

            data.bvc2004Entities db = new data.bvc2004Entities(EFConnString(settings.SourceConnectionString()));
            var crosses = db.bvc_ProductTypeProperty.Where(y => y.ProductTypeID == typeID).OrderBy(y => y.SortOrder);
            if (crosses == null) return;

            foreach (data.bvc_ProductTypeProperty cross in crosses)
            {
                int sort = cross.SortOrder;
                int oldPropertyBvin = cross.ProductPropertyID;
                long newId = 0;
                if (ProductPropertyMapper.ContainsKey(oldPropertyBvin))
                {
                    newId = ProductPropertyMapper[oldPropertyBvin];
                }
                if (newId <= 0) continue;
                wl("Mapping " + oldPropertyBvin + " to " + newId.ToString());
                Api bv6proxy = GetBV6Proxy();
                bv6proxy.ProductTypesAddProperty(typeID.ToString(), newId, sort);
            }
        }
Exemplo n.º 6
0
        private List<OptionItemDTO> LoadOptionItemsChoice(int choiceID)
        {
            List<OptionItemDTO> result = new List<OptionItemDTO>();

            data.bvc2004Entities db = new data.bvc2004Entities(EFConnString(settings.SourceConnectionString()));
            var items = db.bvc_ProductChoices_Item.Where(y => y.ChoiceID == choiceID).OrderBy(y => y.SortOrder);
            if (items == null) return result;

            foreach (data.bvc_ProductChoices_Item item in items)
            {
                OptionItemDTO dto = new OptionItemDTO();
                dto.Bvin = item.ID.ToString();
                dto.IsLabel = item.NullItem == 1;
                dto.Name = item.DisplayText;
                dto.OptionBvin = choiceID.ToString();
                dto.PriceAdjustment = (decimal)item.PriceAdjustment;
                dto.SortOrder = item.SortOrder;
                dto.WeightAdjustment = (decimal)item.WeightAdjustment;
                result.Add(dto);
            }

            return result;
        }
Exemplo n.º 7
0
        private void MigrateProductCategoryLinks(string bvin)
        {
            wl(" - Migrating Category Links");

            data.bvc2004Entities db = new data.bvc2004Entities(EFConnString(settings.SourceConnectionString()));
            Api proxy = GetBV6Proxy();

            var itemMain = db.bvc_Product.Where(y => y.ID == bvin).FirstOrDefault();
            if (itemMain == null) return;

            var items = itemMain.bvc_Category;
            if (items == null) return;
            foreach (data.bvc_Category item in items)
            {
                wl("To Category: " + item.ID.ToString());
                var res = proxy.CategoryProductAssociationsQuickCreate(bvin, item.ID.ToString());
                if (res != null)
                {
                    if (res.Errors.Count > 0)
                    {
                        DumpErrors(res.Errors);
                        wl("FAILED");
                    }
                }
                else
                {
                    wl("FAILED! EXCEPTION!");
                }
            }
        }
Exemplo n.º 8
0
        private void MigrateProductReviews(string bvin)
        {
            wl(" - Migrating Reviews...");

            data.bvc2004Entities db = new data.bvc2004Entities(EFConnString(settings.SourceConnectionString()));
            Api proxy = GetBV6Proxy();

            var items = db.bvc_ProductReview.Where(y => y.ProductID == bvin);
            if (items == null) return;
            foreach (data.bvc_ProductReview item in items)
            {
                ProductReviewDTO r = new ProductReviewDTO();
                r.Approved = item.Approved == 1;
                r.Bvin = item.ID.ToString();
                r.Description = item.Description;
                r.Karma = item.Karma;
                r.ProductBvin = item.ProductID;
                switch (item.Rating)
                {
                    case 0:
                        r.Rating = ProductReviewRatingDTO.ZeroStars;
                        break;
                    case 1:
                        r.Rating = ProductReviewRatingDTO.OneStar;
                        break;
                    case 2:
                        r.Rating = ProductReviewRatingDTO.TwoStars;
                        break;
                    case 3:
                        r.Rating = ProductReviewRatingDTO.ThreeStars;
                        break;
                    case 4:
                        r.Rating = ProductReviewRatingDTO.FourStars;
                        break;
                    case 5:
                        r.Rating = ProductReviewRatingDTO.FiveStars;
                        break;
                }
                r.ReviewDateUtc = item.ReviewDate;
                r.UserID = item.UserID.ToString();

                wl("Review [" + r.Bvin + "]");
                var res = proxy.ProductReviewsCreate(r);
                if (res != null)
                {
                    if (res.Errors.Count > 0)
                    {
                        DumpErrors(res.Errors);
                        wl("FAILED");
                    }
                }
                else
                {
                    wl("FAILED! EXCEPTION!");
                }
            }
        }
Exemplo n.º 9
0
        private void MigrateProductVolumePrices(string bvin)
        {
            wl(" - Migrating Volume Prices...");

            data.bvc2004Entities db = new data.bvc2004Entities(EFConnString(settings.SourceConnectionString()));
            Api proxy = GetBV6Proxy();

            var itemMain = db.bvc_Product.Where(y => y.ID == bvin).FirstOrDefault();
            if (itemMain == null) return;

            var items = db.bvc_ProductVolumeDiscounts.Where(y => y.ProductID == bvin);
            if (items == null) return;
            foreach (data.bvc_ProductVolumeDiscounts item in items)
            {
                ProductVolumeDiscountDTO v = new ProductVolumeDiscountDTO();

                v.Bvin = item.ProductID;

                v.Amount = (decimal)item.Price;
                v.DiscountType = ProductVolumeDiscountTypeDTO.Amount;

                v.LastUpdated = DateTime.UtcNow;
                v.ProductId = item.ProductID;
                v.Qty = item.Qty;

                wl("Discount for qty: " + v.Qty + " [" + v.Bvin + "]");
                var res = proxy.ProductVolumeDiscountsCreate(v);
                if (res != null)
                {
                    if (res.Errors.Count > 0)
                    {
                        DumpErrors(res.Errors);
                        wl("FAILED");
                    }
                }
                else
                {
                    wl("FAILED! EXCEPTION!");
                }
            }
        }
Exemplo n.º 10
0
        private void MigrateProductFileDownloads()
        {
            Header("Migrating File Downloads");

            data.bvc2004Entities db = new data.bvc2004Entities(EFConnString(settings.SourceConnectionString()));
            Api proxy = GetBV6Proxy();

            var items = db.bvc_ProductFile;
            if (items == null) return;
            foreach (data.bvc_ProductFile old in items)
            {
                wl("File: " + old.FileName);

                string safeFileName = "\\files\\" + old.FileID.ToString() + "_" + old.FileName + ".config";

                byte[] bytes = GetBytesForLocalImage(safeFileName);
                if (bytes == null)
                {
                    wl("Missing File: " + old.FileName);
                    continue;
                }
                else
                {
                    wl("Found File: " + old.FileName + " [" + FriendlyFormatBytes(bytes.Length) + "]");
                }

                int totalChunks = 0;
                byte[] partial = null;
                if (bytes != null && bytes.Length > 0)
                {
                    double ChunkCount = 0;
                    ChunkCount = (double)bytes.Length / (double)CHUNKSIZE;
                    ChunkCount = Math.Ceiling(ChunkCount);
                    totalChunks = (int)ChunkCount;
                    if (totalChunks > 0)
                    {
                        partial = GetAChunkFromFullBytes(bytes, 0);
                    }
                }

                var res = proxy.ProductFilesDataUploadFirstPart(old.FileID.ToString(), old.FileName, old.Title, partial);
                if (res != null)
                {
                    if (res.Errors.Count > 0)
                    {
                        DumpErrors(res.Errors);
                        wl("FAILED");
                    }

                    wl("File Created");
                    if (totalChunks > 1)
                    {
                        wl("Uploading: ");
                        for (int i = 1; i < totalChunks; i++)
                        {
                            partial = GetAChunkFromFullBytes(bytes, i);
                            wl("+ " + old.FileName + " [" + FriendlyFormatBytes(bytes.Length) + "] part " + (i + 1) + " of " + totalChunks.ToString());
                            var res2 = proxy.ProductFilesDataUploadAdditionalPart(old.FileID.ToString(), old.FileName, partial);
                        }
                    }
                    wl("File Done Uploading!");
                }
                else
                {
                    wl("FAILED! EXCEPTION!");
                }
            }
        }
Exemplo n.º 11
0
        private void AssignFileDownloadsToProduct(string bvin)
        {
            data.bvc2004Entities db = new data.bvc2004Entities(EFConnString(settings.SourceConnectionString()));
            Api proxy = GetBV6Proxy();

            var itemMain = db.bvc_Product.Where(y => y.ID == bvin).FirstOrDefault();
            if (itemMain == null) return;

            var crosses = itemMain.bvc_ProductFile.OrderBy(y => y.FileID);
            if (crosses == null) return;
            foreach (data.bvc_ProductFile x in crosses)
            {
                wl("Linking Product " + bvin + " to " + x.FileID.ToString());
                var res2 = proxy.ProductFilesAddToProduct(bvin, x.FileID.ToString(), x.AvailableMinutes, x.MaxDownloads);
                if (res2 != null)
                {
                    if (res2.Errors.Count > 0)
                    {
                        DumpErrors(res2.Errors);
                        wl("FAILED");
                    }
                    else
                    {
                        wl("SUCCESS");
                    }
                }
                else
                {
                    wl("FAILED! EXCEPTION!");
                }
            }
        }
Exemplo n.º 12
0
        private void MigrateProductAdditionalImages(string bvin)
        {
            wl(" - Migrating AdditionalImages...");

            data.bvc2004Entities db = new data.bvc2004Entities(EFConnString(settings.SourceConnectionString()));
            Api proxy = GetBV6Proxy();

            var items = db.bvc_ProductImage.Where(y => y.ProductID == bvin);
            if (items == null) return;
            foreach (data.bvc_ProductImage old in items)
            {
                ProductImageDTO img = new ProductImageDTO();
                img.AlternateText = old.Caption;
                img.Bvin = old.ImageID.ToString();
                img.Caption = old.Caption;
                img.FileName = TextHelper.CleanFileName(System.IO.Path.GetFileName(old.FileName));
                img.LastUpdatedUtc = DateTime.UtcNow;
                img.ProductId = old.ProductID;
                img.SortOrder = 0;

                byte[] bytes = GetBytesForLocalImage(old.FileName);
                if (bytes == null) return;
                wl("Found Image: " + img.FileName + " [" + bytes.Length + " bytes]");

                var res = proxy.ProductImagesCreate(img, bytes);
                if (res != null)
                {
                    if (res.Errors.Count > 0)
                    {
                        DumpErrors(res.Errors);
                        wl("FAILED");
                    }
                }
                else
                {
                    wl("FAILED! EXCEPTION!");
                }
            }
        }
Exemplo n.º 13
0
        private void MigrateProductInventory(string bvin)
        {
            wl(" - Migrating Inventory...");

            data.bvc2004Entities db = new data.bvc2004Entities(EFConnString(settings.SourceConnectionString()));
            Api proxy = GetBV6Proxy();

            var itemMain = db.bvc_Product.Where(y => y.ID == bvin).FirstOrDefault();
            if (itemMain == null) return;

            var old = itemMain.bvc_ProductInventory.FirstOrDefault();
            if (old == null) return;

            ProductInventoryDTO inv = new ProductInventoryDTO();
            inv.LowStockPoint = 0;
            inv.ProductBvin = bvin;
            inv.QuantityOnHand = old.Qty;
            inv.QuantityReserved = 0;

            var res = proxy.ProductInventoryCreate(inv);
            if (res != null)
            {
                if (res.Errors.Count > 0)
                {
                    DumpErrors(res.Errors);
                    wl("FAILED");
                }
            }
            else
            {
                wl("FAILED! EXCEPTION!");
            }
        }
Exemplo n.º 14
0
        private void AssignProductPropertyValues(string bvin)
        {
            wl(" - Migrating Property Values...");

            data.bvc2004Entities db = new data.bvc2004Entities(EFConnString(settings.SourceConnectionString()));
            Api proxy = GetBV6Proxy();

            var itemMain = db.bvc_Product.Where(y => y.ID == bvin).FirstOrDefault();
            if (itemMain == null) return;

            var items = itemMain.bvc_ProductPropertyValue;
            if (items == null) return;
            foreach (data.bvc_ProductPropertyValue item in items)
            {
                long newId = 0;
                if (ProductPropertyMapper.ContainsKey(item.PropertyID)) newId = ProductPropertyMapper[item.PropertyID];
                if (newId > 0)
                {
                    proxy.ProductPropertiesSetValueForProduct(newId, bvin, item.PropertyValue, -1);
                }
            }
        }
Exemplo n.º 15
0
        private void AssignOptionsToProduct(string bvin)
        {
            wl(" - Migrating Options...");

            data.bvc2004Entities db = new data.bvc2004Entities(EFConnString(settings.SourceConnectionString()));

            var item = db.bvc_Product.Where(y => y.ID == bvin).FirstOrDefault();
            if (item == null) return;

            Api proxy = GetBV6Proxy();

            var choices = item.bvc_ProductXProductChoices.OrderBy(y => y.SortOrder);
            if (choices == null) return;
            foreach (data.bvc_ProductXProductChoices choice in choices)
            {
                proxy.ProductOptionsAssignToProduct(choice.ProductChoiceID.ToString(), bvin, false);
            }

            // Only generate variants after all options are added. Saves Time
            proxy.ProductOptionsGenerateAllVariants(bvin);
        }