public static CustomerBeneficiary Get(int?customerId, int?customerBeneficiaryId, Connection connection = null, object userDefinedObjectForLogging = null)
        {
            var cb = new CustomerBeneficiary(customerId);

            cb.CustomerBeneficiaryId = customerBeneficiaryId;
            return(cb.Get(connection, userDefinedObjectForLogging));
        }
        public async static Task <CustomerBeneficiary> GetAsync(CancellationToken cancellationToken, int?customerId, int?customerBeneficiaryId, Connection connection = null, object userDefinedObjectForLogging = null)
        {
            var cb = new CustomerBeneficiary(customerId);

            cb.CustomerBeneficiaryId = customerBeneficiaryId;
            return(await cb.GetAsync(cancellationToken, connection, userDefinedObjectForLogging));
        }
        /// <summary>
        /// Creates a customer beneficiary using properties from the current object.
        /// </summary>
        /// <param name="connection"></param>
        /// <returns></returns>
        public async virtual Task <CustomerBeneficiary> UpdateAsync(CancellationToken cancellationToken, Connection connection = null, object userDefinedObjectForLogging = null)
        {
            connection = connection ?? Connection.CreateFromConfig();
            var rv1 = await Requestor.PostAsync <CustomerBeneficiary>(cancellationToken, "customerBeneficiary/update", connection, this, userDefinedObjectForLogging);

            this.RequestId = rv1.RequestId;
            var rv = await CustomerBeneficiary.GetAsync(cancellationToken, this.CustomerId, (int)this.CustomerBeneficiaryId, connection, userDefinedObjectForLogging);

            rv.RequestId = rv1.RequestId;
            return(rv);
        }
        /// <summary>
        /// Creates a customer beneficiary using properties from the current object.
        /// </summary>
        /// <param name="connection"></param>
        /// <returns></returns>
        public virtual CustomerBeneficiary Update(Connection connection = null, object userDefinedObjectForLogging = null)
        {
            connection = connection ?? Connection.CreateFromConfig();
            var rv1 = Requestor.Post <CustomerBeneficiary>("customerBeneficiary/update", connection, this, userDefinedObjectForLogging);

            this.RequestId = rv1.RequestId;
            var rv = CustomerBeneficiary.Get(this.CustomerId, (int)this.CustomerBeneficiaryId, connection, userDefinedObjectForLogging);

            rv.RequestId = rv1.RequestId;
            return(rv);
        }
        public static CustomerBeneficiary Create(int?customerId, string firstName = null, string middleName                  = null, string lastName = null, string taxId = null, DateTimeOffset?birthDate = null,
                                                 Connection connection            = null, object userDefinedObjectForLogging = null)
        {
            var cb = new CustomerBeneficiary(customerId);

            cb.FirstName  = firstName;
            cb.MiddleName = middleName;
            cb.LastName   = lastName;
            cb.TaxId      = taxId;
            cb.BirthDate  = birthDate;
            return(cb.Create(connection, userDefinedObjectForLogging));
        }
        public async static Task <CustomerBeneficiary> CreateAsync(CancellationToken cancellationToken, int?customerId, string firstName = null, string middleName = null, string lastName = null, string taxId = null, DateTimeOffset?birthDate = null,
                                                                   Connection connection = null, object userDefinedObjectForLogging = null)
        {
            var cb = new CustomerBeneficiary(customerId);

            cb.FirstName  = firstName;
            cb.MiddleName = middleName;
            cb.LastName   = lastName;
            cb.TaxId      = taxId;
            cb.BirthDate  = birthDate;
            return(await cb.CreateAsync(cancellationToken, connection, userDefinedObjectForLogging));
        }
        public static bool Deactivate(int?customerId, int?customerBeneficiaryId, Connection connection = null, object userDefinedObjectForLogging = null)
        {
            var cb = new CustomerBeneficiary(customerId, customerBeneficiaryId);

            return(cb.Deactivate(connection, userDefinedObjectForLogging));
        }