public void InitForm() { populateListingTypeComboBox(); populateShippingServiceComboBox(); populateShipToLocationTable(); populatePaymentMethodTable(); ConditionEnabledCodeType condition = this.controller.CategoryFacade.ConditionEnabled; if (condition == ConditionEnabledCodeType.Enabled || condition == ConditionEnabledCodeType.Required) { this.conditionComboBox.Enabled = true; this.populateConditionComboBox(); } else { this.conditionComboBox.Enabled = false; } if (this.controller.ApiContext.Site != SiteCodeType.eBayMotors) { this.eBayMotorGroupBox.Enabled = false; } else { this.eBayMotorGroupBox.Enabled = true; } }
// //sync category features // private void SyncCategoryFeatures() { Hashtable catsTable = this.siteFacade.GetAllCategoriesTable(); Hashtable cfsTable = this.siteFacade.SiteCategoriesFeaturesTable[this.apiContext.Site] as Hashtable; SiteDefaultsType siteDefaults = this.siteFacade.SiteFeatureDefaultTable[this.apiContext.Site] as SiteDefaultsType; FeatureDefinitionsType featureDefinition = this.siteFacade.SiteFeatureDefinitionsTable[this.apiContext.Site] as FeatureDefinitionsType; CategoryFeatureType cf = cfsTable[this.CategoryID] as CategoryFeatureType; //get item SpecificsEnabled feature //workaround, if no CategoryFeature found, just use site defaults this.ItemSpecificEnabled = (cf == null) ? siteDefaults.ItemSpecificsEnabled : cf.ItemSpecificsEnabled; //get item ConditionEnabled feature //workaround, if Disabled, just check parent CategoryFeatureType conditionEnabledCategoryFeature = this.getConditionEnabledCategoryFeature(this.CategoryID, catsTable, cfsTable); if (conditionEnabledCategoryFeature != null) { this.conditionEnabled = conditionEnabledCategoryFeature.ConditionEnabled; this.conditionValues = conditionEnabledCategoryFeature.ConditionValues; } else { this.conditionEnabled = siteDefaults.ConditionEnabled; this.conditionValues = siteDefaults.ConditionValues; } if (cf != null && cf.ConditionValues != null) { this.conditionValues = cf.ConditionValues; } //this.conditionValues = (cf == null || cf.ConditionValues == null) ? siteDefaults.ConditionValues : cf.ConditionValues; //get returnPolicyEnabled feature //workaround, just use siteDefaults now //bool retPolicyEnabled = (cf == null)?siteDefaults.ReturnPolicyEnabled:cf.ReturnPolicyEnabled; this.ReturnPolicyEnabled = siteDefaults.ReturnPolicyEnabled; //listing types, recursively search ListingDurationReferenceTypeCollection listingTypes = getListingTypes(this.CategoryID, catsTable, cfsTable); if (listingTypes == null || listingTypes.Count == 0)//get site defaults { listingTypes = siteDefaults.ListingDuration; } //listing duration definitions ListingDurationDefinitionsType listingDurations = featureDefinition.ListingDurations; //get a mapping from listing type to duration this.ListingType2DurationMap = constructListingTypeDurationMapping(listingTypes, listingDurations); //payment methods BuyerPaymentMethodCodeTypeCollection paymentMethods = getPaymentMethods(this.CategoryID, catsTable, cfsTable); if (paymentMethods == null || paymentMethods.Count == 0)//get site defautls { paymentMethods = siteDefaults.PaymentMethod; } this.PaymentMethod = paymentMethods; }
//list to eBay private void addItem() { try { // ApiContext apiContext = this.controller.ApiContext; AddItemCall api = new AddItemCall(apiContext); // Create the item ItemType item = new ItemType(); item.Site = apiContext.Site; item.Country = CountryCodeType.US; item.ListingType = (ListingTypeCodeType)Enum.Parse(typeof(ListingTypeCodeType), (this.listingTypeComboBox.SelectedItem as ListItem).Value); if (item.ListingType.Equals(ListingTypeCodeType.LeadGeneration)) { item.ListingSubtype2 = ListingSubtypeCodeType.ClassifiedAd; } item.Title = this.titleTextBox.Text; item.Description = this.descriptionTextBox.Text; item.Currency = this.getCurrencyType(item.Site); if (this.startPriceTextBox.Text != string.Empty) { item.StartPrice = new AmountType(); item.StartPrice.currencyID = item.Currency; item.StartPrice.Value = Convert.ToDouble(this.startPriceTextBox.Text); } if (this.binTextBox.Text != string.Empty) { item.BuyItNowPrice = new AmountType(); item.BuyItNowPrice.currencyID = item.Currency; item.BuyItNowPrice.Value = Convert.ToDouble(this.binTextBox.Text); } item.Quantity = Int32.Parse(this.quantityTextBox.Text); item.Location = this.locationTextBox.Text; item.ListingDuration = (this.durationComboBox.SelectedItem as ListItem).Value; ListingEnhancementsCodeTypeCollection enhancements = new ListingEnhancementsCodeTypeCollection(); enhancements.Add(ListingEnhancementsCodeType.BoldTitle); item.ListingEnhancement = enhancements; // Set Item Condtion ConditionEnabledCodeType condition = this.controller.CategoryFacade.ConditionEnabled; if (condition == ConditionEnabledCodeType.Enabled || condition == ConditionEnabledCodeType.Required) { ListItem li = this.conditionComboBox.SelectedItem as ListItem; int conditionId = int.Parse(li.Value); item.ConditionID = conditionId; } // Set Attributes property. item.PrimaryCategory = new CategoryType(); item.PrimaryCategory.CategoryID = this.controller.CategoryFacade.CategoryID; if (this.controller.CategoryFacade.ItemSpecificEnabled == ItemSpecificsEnabledCodeType.Enabled && this.controller.CategoryFacade.ItemSpecificsCache != null) { item.ItemSpecifics = this.controller.CategoryFacade.ItemSpecificsCache; } // Motor if (this.controller.ApiContext.Site == SiteCodeType.eBayMotors && this.subTitleTextBox.Text.Length > 0) { MotorAttributeHelper mh = new MotorAttributeHelper(item.AttributeSetArray[0]); mh.Subtitle = this.subTitleTextBox.Text; if (this.depositAmountTextBox.Text.Length > 0) { mh.DepositAmount = Decimal.Parse(this.depositAmountTextBox.Text); } } if ((this.shippingServiceComboBox.SelectedItem as ListItem).Value != "None") { //add shipping information item.ShippingDetails = getShippingDetails((this.shippingServiceComboBox.SelectedItem as ListItem).Value); } //add handling time item.DispatchTimeMax = 1; SellerProfilesType sellerProfile = new SellerProfilesType(); //add return policy if (this.controller.CategoryFacade.ReturnPolicyEnabled) { if (this.controller.CategoryFacade.ReturnPolicyProfileCache != null) { sellerProfile.SellerReturnProfile = this.controller.CategoryFacade.ReturnPolicyProfileCache; } else if (this.controller.CategoryFacade.ReturnPolicyCache != null) { item.ReturnPolicy = this.controller.CategoryFacade.ReturnPolicyCache; } } if (paymentProfileIdTextBox.Text != "" || paymentProfileNameTextBox.Text != "") { sellerProfile.SellerPaymentProfile = new SellerPaymentProfileType(); if (this.paymentProfileIdTextBox.Text != "") { sellerProfile.SellerPaymentProfile.PaymentProfileID = Int64.Parse(paymentProfileIdTextBox.Text); sellerProfile.SellerPaymentProfile.PaymentProfileIDSpecified = true; } sellerProfile.SellerPaymentProfile.PaymentProfileName = paymentProfileNameTextBox.Text; } if (shippingProfileIdTextBox.Text != "" || shippingProfileNameTextBox.Text != "") { sellerProfile.SellerShippingProfile = new SellerShippingProfileType(); if (this.shippingProfileIdTextBox.Text != "") { sellerProfile.SellerShippingProfile.ShippingProfileID = Int64.Parse(shippingProfileIdTextBox.Text); sellerProfile.SellerShippingProfile.ShippingProfileIDSpecified = true; } sellerProfile.SellerShippingProfile.ShippingProfileName = shippingProfileNameTextBox.Text; } //get shipping locations item.ShipToLocations = getShppingLocations(); //set payments setPaymentMethods(item); // set seller profiles item.SellerProfiles = sellerProfile; FeeTypeCollection fees = api.AddItem(item); viewItemInfo(item); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error Message", MessageBoxButtons.OK, MessageBoxIcon.Error); } }