Esempio n. 1
0
        protected override IAsyncResult BeginExecute(AsyncCodeActivityContext context, AsyncCallback callback, object state)
        {
            var property           = context.DataContext.GetProperties()[Salesforce_Marketing_Cloud_Scope.SalesForcePropertyTag];
            var salesForceProperty = property.GetValue(context.DataContext) as SalesForceProperty;

            String id = ListID.Get(context);

            var task = (new CmdRestAPI(salesForceProperty.AuthToken, salesForceProperty.ServiceURL, salesForceProperty.SoapClient, null, "List", id, "", Type_of_Command.DeleteList)).ExecuteAsync();
            var tcs  = new TaskCompletionSource <CmdRestAPI>(state);

            task.ContinueWith(t =>
            {
                if (t.IsFaulted)
                {
                    tcs.TrySetException(t.Exception.InnerExceptions);
                }
                else if (t.IsCanceled)
                {
                    tcs.TrySetCanceled();
                }
                else
                {
                    tcs.TrySetResult(t.Result);
                }
                if (callback != null)
                {
                    callback(tcs.Task);
                }
            });

            return(tcs.Task);
        }
 public async Task ClearList()
 {
     if (CacheEnabled)
     {
         Terms.Clear();
     }
     await API.DeleteAllTermsAsync(ListID.ToString(), Language);
 }
Esempio n. 3
0
            public override XElement GenerateDelRq()
            {
                XElement xElement = new XElement("ListDelRq");

                xElement.Add(ListType.ToQBXML("ListDelType"));
                xElement.Add(ListID.ToQBXML(nameof(ListID)));
                return(xElement);
            }
Esempio n. 4
0
            public XElement ToQBXML(string name)
            {
                XElement xElement = new XElement(name);

                xElement.Add(ListID?.ToQBXML(nameof(ListID)));
                xElement.Add(FullName?.ToQBXML(nameof(FullName)));
                return(xElement);
            }
Esempio n. 5
0
            public override XElement GenerateDelRq()
            {
                XElement Del = new XElement("ListDelRq");

                Del.Add(ListType.ToQBXML(nameof(ListType)));
                Del.Add(ListID.ToQBXML(nameof(ListID)));
                return(Del);
            }
 public async Task DeleteTerm(string term)
 {
     if (CacheEnabled)
     {
         Terms.Remove(term);
     }
     await API.AddTermToTermListAsync(ListID.ToString(), term, Language);
 }
Esempio n. 7
0
        protected override CmdRestAPI EndExecute(AsyncCodeActivityContext context, IAsyncResult result)
        {
            CmdRestAPI temp = ((Task <CmdRestAPI>)result).Result;

            Response.Set(context, temp.Response);
            ListID.Set(context, temp.ID);
            ValidConnection.Set(context, temp.ValidConnection);
            return(temp);
        }
Esempio n. 8
0
            public override XElement GenerateModRq()
            {
                XElement Mod = new XElement("CustomerMod");

                Mod.Add(ListID?.ToQBXML(nameof(ListID)));
                Mod.Add(EditSequence?.ToQBXML(nameof(EditSequence)));
                Mod.Add(Name?.ToQBXML(nameof(Name)));
                Mod.Add(IsActive.ToQBXML(nameof(IsActive)));
                Mod.Add(ClassRef?.ToQBXML(nameof(ClassRef)));
                Mod.Add(ParentRef?.ToQBXML(nameof(ParentRef)));
                Mod.Add(CompanyName?.ToQBXML(nameof(CompanyName)));
                Mod.Add(Salutation?.ToQBXML(nameof(Salutation)));
                Mod.Add(FirstName?.ToQBXML(nameof(FirstName)));
                Mod.Add(MiddleName?.ToQBXML(nameof(MiddleName)));
                Mod.Add(LastName?.ToQBXML(nameof(LastName)));
                Mod.Add(JobTitle?.ToQBXML(nameof(JobTitle)));
                Mod.Add(BillAddress?.ToQBXML(nameof(BillAddress)));
                Mod.Add(ShipAddress?.ToQBXML(nameof(ShipAddress)));
                Mod.Add(ShipToAddress?.ToQBXML(nameof(ShipToAddress)));
                Mod.Add(Phone?.ToQBXML(nameof(Phone)));
                Mod.Add(AltPhone?.ToQBXML(nameof(AltPhone)));
                Mod.Add(Fax?.ToQBXML(nameof(Fax)));
                Mod.Add(Email?.ToQBXML(nameof(Email)));
                Mod.Add(Cc?.ToQBXML(nameof(Cc)));
                Mod.Add(Contact?.ToQBXML(nameof(Contact)));
                Mod.Add(AltContact?.ToQBXML(nameof(AltContact)));
                Mod.Add(AdditionalContactRef?.ToQBXML(nameof(AdditionalContactRef)));
                // TODO: ContactsMod
                Mod.Add(CustomerTypeRef?.ToQBXML(nameof(CustomerTypeRef)));
                Mod.Add(TermsRef?.ToQBXML(nameof(TermsRef)));
                Mod.Add(SalesRepRef?.ToQBXML(nameof(SalesRepRef)));
                Mod.Add(SalesTaxCodeRef?.ToQBXML(nameof(SalesTaxCodeRef)));
                Mod.Add(ItemSalesTaxRef?.ToQBXML(nameof(ItemSalesTaxRef)));
                Mod.Add(ResaleNumber?.ToQBXML(nameof(ResaleNumber)));
                Mod.Add(AccountNumber?.ToQBXML(nameof(AccountNumber)));
                Mod.Add(CreditLimit?.ToQBXML(nameof(CreditLimit)));
                Mod.Add(PreferredPaymentMethodRef?.ToQBXML(nameof(PreferredPaymentMethodRef)));
                Mod.Add(CreditCardInfo?.ToQBXML(nameof(CreditCardInfo)));
                Mod.Add(JobStatus.ToQBXML(nameof(JobStatus)));
                Mod.Add(JobStartDate?.ToQBXML(nameof(JobStartDate)));
                Mod.Add(JobProjectedEndDate?.ToQBXML(nameof(JobProjectedEndDate)));
                Mod.Add(JobEndDate?.ToQBXML(nameof(JobEndDate)));
                Mod.Add(JobDesc?.ToQBXML(nameof(JobDesc)));
                Mod.Add(JobTypeRef?.ToQBXML(nameof(JobTypeRef)));
                Mod.Add(Notes?.ToQBXML(nameof(Notes)));
                // TODO: AdditionalNotesMod
                Mod.Add(PreferredDeliveryMethod.ToQBXML(nameof(PreferredDeliveryMethod)));
                Mod.Add(PriceLevelRef?.ToQBXML(nameof(PriceLevelRef)));
                Mod.Add(CurrencyRef?.ToQBXML(nameof(CurrencyRef)));

                XElement ModRq = new XElement("CustomerModRq");

                ModRq.Add(Mod);
                ModRq.Add(IncludeRetElement?.ToQBXML(nameof(IncludeRetElement)));

                return(ModRq);
            }
Esempio n. 9
0
                public static XElement ByListID <T>(List <string> ListIDList)
                {
                    XElement xElement = new XElement(typeof(T).Name + "QueryRq");

                    foreach (string ListID in ListIDList)
                    {
                        xElement.Add(ListID.ToQBXML(nameof(ListID)));
                    }
                    return(xElement);
                }
Esempio n. 10
0
        protected override IAsyncResult BeginExecute(AsyncCodeActivityContext context, AsyncCallback callback, object state)
        {
            var property           = context.DataContext.GetProperties()[Salesforce_Marketing_Cloud_Scope.SalesForcePropertyTag];
            var salesForceProperty = property.GetValue(context.DataContext) as SalesForceProperty;

            String id = ListID.Get(context);

            var newDataTable = new System.Data.DataTable();

            newDataTable.TableName = "TableName";
            newDataTable.Columns.Add(new DataColumn("Parameter", typeof(string))
            {
                MaxLength = 200
            });
            newDataTable.Columns.Add(new DataColumn("Value", typeof(string))
            {
                MaxLength = 60000
            });
            newDataTable.Columns.Add(new DataColumn("isEnabled", typeof(Boolean))
            {
                DefaultValue = true
            });
            foreach (ParametersArgument item in Parameters)
            {
                var row = newDataTable.NewRow();
                row["Parameter"] = item.Parameter.Get(context);
                row["Value"]     = item.ValueData.Get(context);
                newDataTable.Rows.Add(row);
            }

            var task = (new CmdRestAPI(salesForceProperty.AuthToken, salesForceProperty.ServiceURL, salesForceProperty.SoapClient, newDataTable, "Location", id, "", cmdTYPE)).ExecuteAsync();
            var tcs  = new TaskCompletionSource <CmdRestAPI>(state);

            task.ContinueWith(t =>
            {
                if (t.IsFaulted)
                {
                    tcs.TrySetException(t.Exception.InnerExceptions);
                }
                else if (t.IsCanceled)
                {
                    tcs.TrySetCanceled();
                }
                else
                {
                    tcs.TrySetResult(t.Result);
                }
                if (callback != null)
                {
                    callback(tcs.Task);
                }
            });

            return(tcs.Task);
        }
Esempio n. 11
0
        public int CompareTo(Item other)
        {
            var result = System.String.Compare(Key, other.Key, System.StringComparison.Ordinal);

            if (result == 0)
            {
                return(ListID.CompareTo(other.ListID));
            }

            return(result);
        }
Esempio n. 12
0
            public override XElement GenerateAddRq()
            {
                XElement xElement = new XElement(nameof(BillingRate) + "Add");

                xElement.Add(ListID?.ToQBXML(nameof(ListID)));
                xElement.Add(TimeCreated?.ToQBXML(nameof(TimeCreated)));
                xElement.Add(TimeModified?.ToQBXML(nameof(TimeModified)));
                xElement.Add(EditSequence?.ToQBXML(nameof(EditSequence)));
                xElement.Add(Name?.ToQBXML(nameof(Name)));
                xElement.Add(BillingRateType.ToQBXML(nameof(BillingRateType)));
                xElement.Add(BillingRatePerItemList?.ToQBXML(nameof(BillingRatePerItem)));

                return(xElement);
            }
Esempio n. 13
0
            public XElement GenerateModRq(bool?ClearExpenseLines = null)
            {
                XElement xElement = new XElement(nameof(BillingRate) + "Mod");

                xElement.Add(ListID?.ToQBXML(nameof(ListID)));
                xElement.Add(TimeCreated?.ToQBXML(nameof(TimeCreated)));
                xElement.Add(TimeModified?.ToQBXML(nameof(TimeModified)));
                xElement.Add(EditSequence?.ToQBXML(nameof(EditSequence)));
                xElement.Add(Name?.ToQBXML(nameof(Name)));
                xElement.Add(BillingRateType.ToQBXML(nameof(BillingRateType)));
                xElement.Add(BillingRatePerItemList?.ToQBXML(nameof(BillingRatePerItem)));

                return(xElement);
            }
        public async Task <List <string> > GetAllTerms(bool resetCache = false)
        {
            if (resetCache || !CacheEnabled)
            {
                Terms = null;
            }

            if (Terms == null)
            {
                Terms = await API.GetAllTermsInTermListAsStringsAsync(ListID.ToString(), Language);
            }

            return(Terms);
        }
Esempio n. 15
0
                public virtual XElement GenerateQueryRq()
                {
                    XElement xElement = new XElement(typeof(T).Name + "QueryRq");

                    xElement.Add(ListID?.ToQBXML(nameof(ListID)));
                    xElement.Add(FullName?.ToQBXML(nameof(FullName)));
                    xElement.Add(MaxReturned?.ToQBXML(nameof(MaxReturned)));
                    xElement.Add(ActiveStatus?.ToQBXML(nameof(ActiveStatus)));
                    xElement.Add(FromModifiedDate?.ToQBXML(nameof(FromModifiedDate)));
                    xElement.Add(ToModifiedDate?.ToQBXML(nameof(ToModifiedDate)));
                    xElement.Add(NameFilter?.ToQBXML(nameof(NameFilter)));
                    xElement.Add(NameRangeFilter?.ToQBXML(nameof(NameRangeFilter)));
                    xElement.Add(IncludeRetElement?.ToQBXML(nameof(IncludeRetElement)));
                    return(xElement);
                }
        /// <summary>
        /// Возвращает словарь параметров.
        /// </summary>
        public override Dictionary <string, string> GetParameters()
        {
            var parameters = base.GetParameters();

            if (ListID > 0)
            {
                parameters["list_id"] = ListID.ToString();
            }
            if (UserID > 0)
            {
                parameters["user_id"] = UserID.ToString();
            }

            return(parameters);
        }
Esempio n. 17
0
 public override int GetHashCode()
 {
     unchecked
     {
         var hashCode = (ListID != null ? ListID.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (ListName != null ? ListName.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (ListAgencyID != null ? ListAgencyID.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (ListAgencyName != null ? ListAgencyName.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (ListVersionID != null ? ListVersionID.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (ListURI != null ? ListURI.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (ListSchemeURI != null ? ListSchemeURI.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (Name != null ? Name.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (LanguageID != null ? LanguageID.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (Value != null ? Value.GetHashCode() : 0);
         return(hashCode);
     }
 }
Esempio n. 18
0
            public XElement ToQBXML(string name)
            {
                XElement xElement = new XElement(name);

                xElement.Add(ListID.ToQBXML(nameof(ListID)));
                xElement.Add(TimeCreated.ToQBXML(nameof(TimeCreated)));
                xElement.Add(TimeModified.ToQBXML(nameof(TimeModified)));
                xElement.Add(EditSequence.ToQBXML(nameof(EditSequence)));
                xElement.Add(Contact.ToQBXML(nameof(Contact)));
                xElement.Add(Salutation.ToQBXML(nameof(Salutation)));
                xElement.Add(FirstName.ToQBXML(nameof(FirstName)));
                xElement.Add(MiddleName.ToQBXML(nameof(MiddleName)));
                xElement.Add(LastName.ToQBXML(nameof(LastName)));
                xElement.Add(JobTitle.ToQBXML(nameof(JobTitle)));
                xElement.Add(AdditionalContactRef?.ToQBXML(nameof(AdditionalContactRef)));
                return(xElement);
            }
        /// <summary>
        /// Adds a term to the list.  Adding a duplicate term will throw an exception from the API.
        /// If the TermCache is turned on, this error will be handled silently.
        /// </summary>
        public async Task AddTerm(string term)
        {
            if (CacheEnabled)
            {
                var cachedTerms = GetAllTerms(false).Result;
                if (cachedTerms.Contains(term))
                {
                    return;
                }
            }

            await API.AddTermToTermListAsync(ListID.ToString(), term, Language);

            if (CacheEnabled)
            {
                Terms.Add(term);
            }
        }
Esempio n. 20
0
 public override string ToString()
 {
     return("<Data>" +
            "<Param key=\"ParentWebID\">" + ParentWebID.ToString() + "</Param>" +
            "<Param key=\"LookupWebID\">" + LookupWebID.ToString() + "</Param>" +
            "<Param key=\"LookupListID\">" + LookupListID.ToString() + "</Param>" +
            "<Param key=\"LookupFieldInternalName\">" + LookupFieldInternalName + "</Param>" +
            "<Param key=\"LookupFieldID\">" + LookupFieldSourceFieldID.ToString() + "</Param>" +
            "<Param key=\"IsMultiSelect\">" + IsMultiSelect + "</Param>" +
            "<Param key=\"ListID\">" + ListID.ToString() + "</Param>" +
            "<Param key=\"ItemID\">" + ItemID.ToString() + "</Param>" +
            "<Param key=\"SourceControlID\">" + (!string.IsNullOrEmpty(SourceControlID) ? SourceControlID : string.Empty) + "</Param>" +
            "<Param key=\"SelectCandidateID\">" + (!string.IsNullOrEmpty(SelectCandidateID) ? SelectCandidateID : string.Empty) + "</Param>" +
            "<Param key=\"AddButtonID\">" + (!string.IsNullOrEmpty(AddButtonID) ? AddButtonID : string.Empty) + "</Param>" +
            "<Param key=\"RemoveButtonID\">" + (!string.IsNullOrEmpty(RemoveButtonID) ? RemoveButtonID : string.Empty) + "</Param>" +
            "<Param key=\"SelectResultID\">" + (!string.IsNullOrEmpty(SelectResultID) ? SelectResultID : string.Empty) + "</Param>" +
            "<Param key=\"Required\">" + Required.ToString() + "</Param>" +
            "</Data>");
 }
        /// <summary>
        /// Возвращает словарь параметров.
        /// </summary>
        public override Dictionary <string, string> GetParameters()
        {
            var parameters = base.GetParameters();

            parameters["list_id"] = ListID.ToString();
            if (UserIDs == null)
            {
                if (AddUserIDs != null)
                {
                    parameters["add_user_ids"] = String.Join(",", AddUserIDs);
                }
                if (DeleteUserIDs != null)
                {
                    parameters["delete_user_ids"] = String.Join(",", DeleteUserIDs);
                }
            }

            return(parameters);
        }
        /// <summary>
        /// Возвращет коллекцию параметров.
        /// </summary>
        public override Dictionary <string, string> GetParameters()
        {
            var parameters = base.GetParameters();

            parameters["title"] = Title;
            if (ListID != 0)
            {
                parameters["list_id"] = ListID.ToString();
            }
            if (SourceIDs != null && SourceIDs.Count != 0)
            {
                parameters["source_ids"] = String.Join(",", SourceIDs);
            }
            if (NoRepost == VKBoolean.True)
            {
                parameters["no_reposts"] = "1";
            }

            return(parameters);
        }
Esempio n. 23
0
            public XElement GenerateModRq(bool?ForceUOMChange = null, bool?ApplyIncomeAccountRefToExistingTxns = null, bool?ApplyCOGSAccountRefToExistingTxns = null)
            {
                XElement Mod = new XElement(typeof(ItemInventory).Name + "Mod");

                Mod.Add(ListID?.ToQBXML(nameof(ListID)));
                Mod.Add(EditSequence?.ToQBXML(nameof(EditSequence)));
                Mod.Add(Name?.ToQBXML(nameof(Name)));
                Mod.Add(BarCode?.ToQBXML(nameof(BarCode)));
                Mod.Add(IsActive.ToQBXML(nameof(IsActive)));
                Mod.Add(ClassRef?.ToQBXML(nameof(ClassRef)));
                Mod.Add(ParentRef?.ToQBXML(nameof(ParentRef)));
                Mod.Add(ManufacturerPartNumber?.ToQBXML(nameof(ManufacturerPartNumber)));
                Mod.Add(UnitOfMeasureSetRef?.ToQBXML(nameof(UnitOfMeasureSetRef)));
                Mod.Add(ForceUOMChange?.ToQBXML(nameof(ForceUOMChange)));
                Mod.Add(SalesTaxCodeRef?.ToQBXML(nameof(SalesTaxCodeRef)));
                Mod.Add(SalesDesc?.ToQBXML(nameof(SalesDesc)));
                Mod.Add(SalesPrice?.ToQBXML(nameof(SalesPrice)));
                Mod.Add(IncomeAccountRef?.ToQBXML(nameof(IncomeAccountRef)));
                Mod.Add(ApplyIncomeAccountRefToExistingTxns?.ToQBXML(nameof(ApplyIncomeAccountRefToExistingTxns)));
                Mod.Add(PurchaseDesc?.ToQBXML(nameof(PurchaseDesc)));
                Mod.Add(PurchaseCost?.ToQBXML(nameof(PurchaseCost)));
                Mod.Add(COGSAccountRef?.ToQBXML(nameof(COGSAccountRef)));
                Mod.Add(ApplyCOGSAccountRefToExistingTxns?.ToQBXML(nameof(ApplyCOGSAccountRefToExistingTxns)));
                Mod.Add(PrefVendorRef?.ToQBXML(nameof(PrefVendorRef)));
                Mod.Add(AssetAccountRef?.ToQBXML(nameof(AssetAccountRef)));
                Mod.Add(ReorderPoint?.ToQBXML(nameof(ReorderPoint)));
                Mod.Add(Max?.ToQBXML(nameof(Max)));

                XElement ModRq = new XElement(typeof(ItemInventory).Name + "ModRq", Mod);

                foreach (var value in IncludeRetElement)
                {
                    ModRq.Add(value.ToQBXML(nameof(IncludeRetElement)));
                }
                return(ModRq);
            }
Esempio n. 24
0
 public bool Equals(Item other)
 {
     return(Key.Equals(other.Key) && ListID.Equals(other.ListID));
 }
 public async Task Delete()
 {
     IsDeleted = true;
     await API.DeleteTermListAsync(ListID.ToString());
 }
 public async Task RefreshSearchIndexAsync()
 {
     await API.RefreshSearchIndexAsync(ListID.ToString(), Language);
 }
 public async Task UpdateNameAndDescription(string name, string desc)
 {
     await API.UpdateTermListDescriptionAsync(ListID.ToString(), name, desc);
 }