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; }
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; }
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); } }
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; }
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); } }
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; }
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!"); } } }
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!"); } } }
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!"); } } }
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!"); } } }
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!"); } } }
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!"); } } }
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!"); } }
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); } } }
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); }