public void PerformTestSetup()
        {
            MessageName = "Cancel";

            var contractEntity = EntityFactory.CreateContract();

            CancelContractRequest = new CancelContractRequest
            {
                ContractId = contractEntity.Id,
                CancelDate = DateTime.Now,
                Status     = new OptionSetValue(5)
            };
        }
Exemple #2
0
        /// <summary>
        /// Cancel a <c>Contract</c>.
        /// <para>
        /// For more information look at https://msdn.microsoft.com/en-us/library/microsoft.crm.sdk.messages.cancelcontractrequest(v=crm.8).aspx
        /// </para>
        /// </summary>
        /// <param name="id"><c>Conract</c> Id</param>
        /// <param name="cancellationDate">
        /// Contract cancellation date.
        /// You can pass <c>null</c> value, default value is <see cref="DateTime.UtcNow"/> or <see cref="DateTime.Now"/> depend on <c>useUtc</c> parameter on constructor.
        /// </param>
        /// <param name="status">
        /// <see cref="ContractCanceledStatusCode"/> status code
        /// </param>
        /// <param name="customStatusCode">If you're using your custom statuscodes set this, otherwise you can set "0 (zero)" or null</param>
        /// <returns>
        /// <see cref="CancelContractResponse"/>
        /// </returns>
        public CancelContractResponse Cancel(Guid id, DateTime?cancellationDate, ContractCanceledStatusCode status, int customStatusCode = 0)
        {
            ExceptionThrow.IfGuidEmpty(id, "id");

            DateTime now        = this._useUtc ? DateTime.UtcNow : DateTime.Now;
            int      statusCode = (int)status;

            if (status == ContractCanceledStatusCode.CustomStatusCode)
            {
                ExceptionThrow.IfNegative(customStatusCode, "customStatusCode");
                statusCode = customStatusCode;
            }

            CancelContractRequest request = new CancelContractRequest()
            {
                ContractId = id,
                Status     = new OptionSetValue(statusCode),
                CancelDate = cancellationDate.HasValue ? cancellationDate.Value : now
            };

            return((CancelContractResponse)this.OrganizationService.Execute(request));
        }