Пример #1
0
        public bool  UpdateEntitlementLineItem(OrderEntitlementLineItem lineItem)
        {
            var fnoWs = new v1EntitlementOrderService();

            fnoWs.Url             = EndPointUrl + "EntitlementOrderService";
            fnoWs.PreAuthenticate = true;
            CredentialCache   credCache = new System.Net.CredentialCache();
            NetworkCredential netCred   = new NetworkCredential(UserName, Password);

            credCache.Add(new Uri(fnoWs.Url), "Basic", netCred);
            fnoWs.Credentials = credCache;

            var updateRq = new updateEntitlementLineItemDataType();

            updateRq.entitlementIdentifier = new entitlementIdentifierType {
                primaryKeys = new entitlementPKType {
                    entitlementId = lineItem.EntitlementId
                }
            };

            updateRq.autoDeploy          = true;
            updateRq.autoDeploySpecified = true;
            updateRq.lineItemData        = new updateLineItemDataType[] {
                new updateLineItemDataType {
                    activationId = new idType {
                        id                    = lineItem.ActivationId,
                        autoGenerate          = false,
                        autoGenerateSpecified = true
                    },
                    numberOfCopies = lineItem.Quantity.ToString(),
                    partNumber     = new partNumberIdentifierType
                    {
                        primaryKeys = new partNumberPKType
                        {
                            partId = lineItem.PartNumber
                        }
                    }
                }
            };

            var resp = fnoWs.updateEntitlementLineItem(new updateEntitlementLineItemDataType[] { updateRq });

            if (resp.statusInfo.status == Entitlement.StatusType.SUCCESS)
            {
                return(true);
            }
            return(false);
        }
Пример #2
0
        public string CreateEntitlement(
            string organizationId, string ProductFamily = "")
        {
            List <createSimpleEntitlementDataType> rqData = new List <createSimpleEntitlementDataType>();
            var entitlementId = string.Empty;

            var fnoWs = new v1EntitlementOrderService();

            fnoWs.Url = EndPointUrl + "EntitlementOrderService";

            fnoWs.PreAuthenticate = true;
            CredentialCache   credCache = new System.Net.CredentialCache();
            NetworkCredential netCred   = new NetworkCredential(UserName, Password);

            credCache.Add(new Uri(fnoWs.Url), "Basic", netCred);
            fnoWs.Credentials = credCache;

            var rqType = new createSimpleEntitlementRequestType();

            rqType.simpleEntitlement = new createSimpleEntitlementDataType[] {
                new createSimpleEntitlementDataType {
                    autoDeploy          = true,
                    autoDeploySpecified = true,
                    soldTo = organizationId,
                    entitlementAttributes = new Entitlement.attributeDescriptorType[] {
                        new Entitlement.attributeDescriptorType()
                        {
                            attributeName = "OCS_ProductFamily",
                            stringValue   = ProductFamily
                        }
                    },
                    entitlementId = new idType
                    {
                        autoGenerateSpecified = true,
                        autoGenerate          = true,
                    }
                }
            };
            var resp = fnoWs.createSimpleEntitlement(rqType);

            if (resp.statusInfo.status == Entitlement.StatusType.SUCCESS)
            {
                entitlementId = resp.responseData[0].entitlementId;
            }
            return(entitlementId);
        }
Пример #3
0
        public EntitlementLineItemResponse AddLineItemToEntitlement(string entitlementId, OrderEntitlementLineItem lineItem)
        {
            var lineItemResp = new EntitlementLineItemResponse();
            var fnoWs        = new v1EntitlementOrderService();

            fnoWs.Url = EndPointUrl + "EntitlementOrderService";

            fnoWs.PreAuthenticate = true;
            CredentialCache   credCache = new System.Net.CredentialCache();
            NetworkCredential netCred   = new NetworkCredential(UserName, Password);

            credCache.Add(new Uri(fnoWs.Url), "Basic", netCred);
            fnoWs.Credentials = credCache;
            var entLineItem = new addOnlyEntitlementLineItemRequestType();

            entLineItem.opType   = Entitlement.CreateOrUpdateOperationType.CREATE_OR_UPDATE;
            entLineItem.lineItem = new addEntitlementLineItemDataType[] {
                new addEntitlementLineItemDataType {
                    autoDeploy            = true,
                    autoDeploySpecified   = true,
                    entitlementIdentifier = new entitlementIdentifierType {
                        primaryKeys = new entitlementPKType
                        {
                            entitlementId = entitlementId
                        }
                    },

                    lineItems = new createEntitlementLineItemDataType[] {
                        new createEntitlementLineItemDataType {
                            activationId = new idType
                            {
                                autoGenerate          = true,
                                autoGenerateSpecified = true
                            },
                            isPermanent          = lineItem.IsPerpertual,
                            isPermanentSpecified = true,
                            orderId        = lineItem.ProductRatePlanChargeId,
                            numberOfCopies = lineItem.Quantity.ToString(),

                            partNumber = new partNumberIdentifierType
                            {
                                primaryKeys = new partNumberPKType {
                                    partId = lineItem.PartNumber
                                }
                            },
                            startDate               = lineItem.EffectiveDate,
                            expirationDate          = lineItem.ExpirationDate,
                            expirationDateSpecified = lineItem.IsPerpertual? false : true
                        }
                    }
                }
            };
            var resp = fnoWs.createEntitlementLineItem(entLineItem);

            if (resp.statusInfo.status == Entitlement.StatusType.SUCCESS)
            {
                lineItemResp.ActivationCode        = resp.responseData[0].lineItemIdentifiers[0].primaryKeys.activationId;
                lineItemResp.EntitlementId         = resp.responseData[0].entitlementIdentifier.primaryKeys.entitlementId;
                lineItemResp.EntitlementLineItemId = resp.responseData[0].lineItemIdentifiers[0].uniqueId;
                lineItemResp.PartNumber            = lineItem.PartNumber;
                lineItemResp.ProductRateChargeId   = lineItem.ProductRatePlanChargeId;
                lineItemResp.TotalQty = lineItem.Quantity;
            }

            return(lineItemResp);
        }
Пример #4
0
        public List <OrderEntitlement> GetEntitlements(string soldTo)
        {
            var entitlementList = new List <OrderEntitlement>();
            var searchQuery     = new searchEntitlementRequestType
            {
                entitlementSearchCriteria = new searchEntitlementDataType
                {
                    soldTo = new Entitlement.SimpleQueryType
                    {
                        searchType = Entitlement.simpleSearchType.CONTAINS,
                        value      = soldTo
                    },
                }
            };
            var fnoWs = new v1EntitlementOrderService();

            fnoWs.Url             = EndPointUrl + "EntitlementOrderService";
            fnoWs.PreAuthenticate = true;
            fnoWs.Credentials     = new NetworkCredential(UserName, Password);

            searchQuery.batchSize  = "100";
            searchQuery.pageNumber = "1";
            var resp = fnoWs.getEntitlementsQuery(searchQuery);

            if (resp.statusInfo.status == Entitlement.StatusType.SUCCESS)
            {
                if (resp.entitlement == null)
                {
                    return(new List <OrderEntitlement>());
                }

                foreach (var e in resp.entitlement)
                {
                    if (e.simpleEntitlement.soldTo != soldTo)
                    {
                        continue;
                    }

                    var entitlement = new OrderEntitlement();
                    entitlement.EntitlementId = e.simpleEntitlement.entitlementId.id;

                    if (e.simpleEntitlement.entitlementAttributes != null)
                    {
                        var productFamily = e.simpleEntitlement.entitlementAttributes.FirstOrDefault(j => j.attributeName == "OCS_ProductFamily");

                        if (productFamily != null)
                        {
                            entitlement.EntitlementFamily = productFamily.stringValue;
                        }
                    }

                    entitlement.LineItems = (from i in e.simpleEntitlement.lineItems
                                             select new OrderEntitlementLineItem
                    {
                        ActivationId = i.activationId.id,
                        EffectiveDate = i.startDate,
                        Quantity = int.Parse(i.numberOfCopies),
                        EntitlementId = e.simpleEntitlement.entitlementId.id,
                        ExpirationDate = i.expirationDate,
                        PartNumber = i.partNumber.primaryKeys.partId,
                        IsPerpertual = i.isPermanent
                    }).ToList();

                    entitlementList.Add(entitlement);
                }
            }
            return(entitlementList);
        }