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); }
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); }
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); }
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); }