/// <summary> /// Initializes a new instance of the <see cref="PolicySharingSetting" /> class. /// </summary> /// <param name="isEnabled">isEnabled.</param> /// <param name="sharingCapabilities">sharingCapabilities.</param> /// <param name="turnOffForNonOwnerUserSharing">turnOffForNonOwnerUserSharing.</param> /// <param name="membersCanShare">membersCanShare.</param> /// <param name="allowMembersEditMembership">allowMembersEditMembership.</param> /// <param name="allowAccessRequests">allowAccessRequests.</param> /// <param name="requestAccessEmail">requestAccessEmail.</param> /// <param name="accessRequestType">accessRequestType.</param> /// <param name="accessRequestMessage">accessRequestMessage.</param> public PolicySharingSetting(bool isEnabled = default(bool), SharingCapabilities sharingCapabilities = default(SharingCapabilities), bool turnOffForNonOwnerUserSharing = default(bool), bool membersCanShare = default(bool), bool allowMembersEditMembership = default(bool), bool allowAccessRequests = default(bool), string requestAccessEmail = default(string), AccessRequestType accessRequestType = default(AccessRequestType), string accessRequestMessage = default(string)) { this.IsEnabled = isEnabled; this.SharingCapabilities = sharingCapabilities; this.TurnOffForNonOwnerUserSharing = turnOffForNonOwnerUserSharing; this.MembersCanShare = membersCanShare; this.AllowMembersEditMembership = allowMembersEditMembership; this.AllowAccessRequests = allowAccessRequests; this.RequestAccessEmail = requestAccessEmail; this.AccessRequestType = accessRequestType; this.AccessRequestMessage = accessRequestMessage; }
public async Task <ShipmentConfirmResponse> ConfirmShip(ConfirmShipParameter parameter) { if (parameter == null) { throw new ArgumentNullException(nameof(parameter)); } if (parameter.Credentials == null) { throw new ArgumentNullException(nameof(parameter.Credentials)); } var client = _httpClientFactory.GetHttpClient(); var security = new AccessRequestType { AccessLicenseNumber = parameter.Credentials.LicenseNumber, Password = parameter.Credentials.Password, UserId = parameter.Credentials.UserName }; var request = new ShipmentConfirmRequest { Request = new RequestType { RequestAction = "ShipConfirm", RequestOption = "validate", TransactionReferenceType = new TransactionReference { CustomerContext = "Your Test Case Summary Description", XpciVersion = "1.0014" } }, Shipment = new Shipment { PaymentInformation = new PaymentInformation { Prepaid = new Prepaid { BillShipper = new BillShipper { AlternatePaymentMethod = "01" } } }, Service = new TypeParameter { Code = _mappingServices.First(kvp => kvp.Key == parameter.UpsService).Value, Description = "UPS Access Point™ Economy" }, ShipmentIndicationType = new TypeParameter { Code = "02", Description = "UPS Access Point™ Delivery" }, ShipmentServiceOptions = new ShipmentServiceOptions { Notification = new List <Notification> { new Notification { NotificationCode = "012", EMailMessage = new EMailMessage { EMailAddress = parameter.EmailAddress }, Locale = new Locale { Language = "ENG", Dialect = "GB" } }, new Notification { NotificationCode = "013", EMailMessage = new EMailMessage { EMailAddress = parameter.EmailAddress }, Locale = new Locale { Language = "ENG", Dialect = "GB" } } } } }, LabelSpecification = new LabelSpecification { LabelPrintMethod = new TypeParameter { Code = "GIF", Description = "gif file" }, LabelImageFormat = new TypeParameter { Code = "GIF", Description = "gif file" } } }; if (parameter.AlternateDeliveryAddress != null) { request.Shipment.AlternateDeliveryAddress = new AlternateDeliveryAddress { Name = parameter.AlternateDeliveryAddress.Name }; if (parameter.AlternateDeliveryAddress.Address != null) { request.Shipment.AlternateDeliveryAddress.Address = new Address { AddressLine1 = parameter.AlternateDeliveryAddress.Address.AddressLine, City = parameter.AlternateDeliveryAddress.Address.City, CountryCode = parameter.AlternateDeliveryAddress.Address.Country, PostalCode = parameter.AlternateDeliveryAddress.Address.PostalCode }; } } if (parameter.Shipper != null) { request.Shipment.Shipper = new Shipper { Name = parameter.Shipper.Name, ShipperNumber = parameter.Shipper.ShipperNumber }; if (parameter.Shipper.Address != null) { request.Shipment.Shipper.Address = new Address { AddressLine1 = parameter.Shipper.Address.AddressLine, City = parameter.Shipper.Address.City, CountryCode = parameter.Shipper.Address.Country, PostalCode = parameter.Shipper.Address.PostalCode }; } } if (parameter.ShipTo != null) { request.Shipment.ShipTo = new Ship { Name = parameter.ShipTo.Name, AttentionName = parameter.ShipTo.AttentionName, CompanyName = parameter.ShipTo.CompanyName }; if (parameter.ShipTo.Address != null) { request.Shipment.ShipTo.Address = new Address { AddressLine1 = parameter.ShipTo.Address.AddressLine, City = parameter.ShipTo.Address.City, CountryCode = parameter.ShipTo.Address.Country, PostalCode = parameter.ShipTo.Address.PostalCode }; } } if (parameter.ShipFrom != null) { request.Shipment.ShipFrom = new Ship { Name = parameter.ShipFrom.Name, AttentionName = parameter.ShipFrom.AttentionName, CompanyName = parameter.ShipFrom.CompanyName }; if (parameter.ShipFrom.Address != null) { request.Shipment.ShipFrom.Address = new Address { AddressLine1 = parameter.ShipFrom.Address.AddressLine, City = parameter.ShipFrom.Address.City, CountryCode = parameter.ShipFrom.Address.Country, PostalCode = parameter.ShipFrom.Address.PostalCode }; } } if (parameter.Package != null) { request.Shipment.Package = new Package { PackagingType = new TypeParameter { Code = "02", Description = "Emballage personnalisé" }, Dimensions = new Dimensions { UnitOfMeasurement = new UnitOfMeasurement { Code = "CM", Description = "cm" }, Length = parameter.Package.Length, Height = parameter.Package.Height, Width = parameter.Package.Width }, PackageWeight = new PackageWeight { UnitOfMeasurement = new UnitOfMeasurement { Code = "KGS", Description = "kgs" }, Weight = parameter.Package.Weight } }; } if (parameter.PaymentInformation != null) { request.Shipment.PaymentInformation = new PaymentInformation { Prepaid = new Prepaid { BillShipper = new BillShipper { CreditCard = new CreditCard { ExpirationDate = parameter.PaymentInformation.ExpirationDate, Number = parameter.PaymentInformation.Number, SecurityCode = parameter.PaymentInformation.SecurityCode, Type = parameter.PaymentInformation.Type } } } }; if (parameter.PaymentInformation.Address != null) { request.Shipment.PaymentInformation.Prepaid.BillShipper.CreditCard.Address = new Address { AddressLine1 = parameter.PaymentInformation.Address.AddressLine, City = parameter.PaymentInformation.Address.City, CountryCode = parameter.PaymentInformation.Address.Country, PostalCode = parameter.PaymentInformation.Address.PostalCode }; } } var serializerSecurity = new XmlSerializer(typeof(AccessRequestType)); var serializerBody = new XmlSerializer(typeof(ShipmentConfirmRequest)); var xmlSecurity = ""; var xmlBody = ""; using (var sww = new StringWriter()) { using (var writer = XmlWriter.Create(sww)) { serializerSecurity.Serialize(writer, security); xmlSecurity = sww.ToString(); } } using (var sww = new StringWriter()) { using (var writer = XmlWriter.Create(sww)) { serializerBody.Serialize(writer, request); xmlBody = sww.ToString(); } } var xml = xmlSecurity + "" + xmlBody; var body = new StringContent(xml); var req = new HttpRequestMessage { Method = HttpMethod.Post, Content = body, RequestUri = new Uri(_shipConfirmUrl) }; var serializedContent = await client.SendAsync(req).ConfigureAwait(false); var res = await serializedContent.Content.ReadAsStringAsync(); var deserializer = new XmlSerializer(typeof(ShipmentConfirmResponse)); using (TextReader reader = new StringReader(res)) { return((ShipmentConfirmResponse)deserializer.Deserialize(reader)); } }
public async Task <TrackResponse> Track(string trackingNumber, UpsCredentials credentials) { if (string.IsNullOrWhiteSpace(trackingNumber)) { throw new ArgumentNullException(nameof(trackingNumber)); } if (credentials == null) { throw new ArgumentNullException(nameof(credentials)); } var client = _httpClientFactory.GetHttpClient(); var security = new AccessRequestType { AccessLicenseNumber = credentials.LicenseNumber, Password = credentials.Password, UserId = credentials.UserName }; var request = new TrackRequest { Request = new RequestType { RequestAction = "Track", RequestOption = "activity", TransactionReferenceType = new TransactionReference { CustomerContext = "Your Test Case Summary Description", XpciVersion = "1.0014" } }, TrackingNumber = trackingNumber }; var serializerSecurity = new XmlSerializer(typeof(AccessRequestType)); var serializerBody = new XmlSerializer(typeof(TrackRequest)); var xmlSecurity = ""; var xmlBody = ""; using (var sww = new StringWriter()) { using (var writer = XmlWriter.Create(sww)) { serializerSecurity.Serialize(writer, security); xmlSecurity = sww.ToString(); } } using (var sww = new StringWriter()) { using (var writer = XmlWriter.Create(sww)) { serializerBody.Serialize(writer, request); xmlBody = sww.ToString(); } } var xml = xmlSecurity + "" + xmlBody; var body = new StringContent(xml); var req = new HttpRequestMessage { Method = HttpMethod.Post, Content = body, RequestUri = new Uri(_trackUrl) }; var serializedContent = await client.SendAsync(req).ConfigureAwait(false); var res = await serializedContent.Content.ReadAsStringAsync(); var deserializer = new XmlSerializer(typeof(TrackResponse)); using (TextReader reader = new StringReader(res)) { return((TrackResponse)deserializer.Deserialize(reader)); } }
public async Task <RatingServiceSelectionResponse> GetRatings(GetUpsRatingsParameter parameter) { if (parameter == null) { throw new ArgumentNullException(nameof(parameter)); } if (parameter.Credentials == null) { throw new ArgumentNullException(nameof(parameter.Credentials)); } var client = _httpClientFactory.GetHttpClient(); var security = new AccessRequestType { AccessLicenseNumber = parameter.Credentials.LicenseNumber, Password = parameter.Credentials.Password, UserId = parameter.Credentials.UserName }; var request = new RatingServiceSelectionRequest { Request = new RatingServiceSelectionRequestBody { RequestAction = "Rate", RequestOption = "Rate", TransactionReference = new TransactionReference { CustomerContext = "Your Test Case Summary Description", XpciVersion = "1.0014" } }, Shipment = new Shipment { Service = new TypeParameter { Code = _mappingServices.First(kvp => kvp.Key == parameter.UpsService).Value }, ShipmentIndicationType = new TypeParameter { Code = "02", Description = "UPS Access Point™ Delivery" }, Package = new Package { PackagingType = new TypeParameter { Code = "02" } } } }; if (parameter.AlternateDeliveryAddress != null) { request.Shipment.AlternateDeliveryAddress = new AlternateDeliveryAddress { Name = parameter.AlternateDeliveryAddress.Name }; if (parameter.AlternateDeliveryAddress.Address != null) { request.Shipment.AlternateDeliveryAddress.Address = new Address { AddressLine1 = parameter.AlternateDeliveryAddress.Address.AddressLine, City = parameter.AlternateDeliveryAddress.Address.City, CountryCode = parameter.AlternateDeliveryAddress.Address.Country, PostalCode = parameter.AlternateDeliveryAddress.Address.PostalCode }; } } if (parameter.Shipper != null) { request.Shipment.Shipper = new Shipper { Name = parameter.Shipper.Name, ShipperNumber = parameter.Shipper.ShipperNumber }; if (parameter.Shipper.Address != null) { request.Shipment.Shipper.Address = new Address { AddressLine1 = parameter.Shipper.Address.AddressLine, City = parameter.Shipper.Address.City, CountryCode = parameter.Shipper.Address.Country, PostalCode = parameter.Shipper.Address.PostalCode }; } } if (parameter.ShipTo != null) { request.Shipment.ShipTo = new Ship { Name = parameter.Shipper.Name, }; if (parameter.ShipTo.Address != null) { request.Shipment.ShipTo.Address = new Address { AddressLine1 = parameter.ShipTo.Address.AddressLine, City = parameter.ShipTo.Address.City, CountryCode = parameter.ShipTo.Address.Country, PostalCode = parameter.ShipTo.Address.PostalCode }; } } if (parameter.ShipFrom != null) { request.Shipment.ShipFrom = new Ship { Name = parameter.Shipper.Name, }; if (parameter.ShipFrom.Address != null) { request.Shipment.ShipFrom.Address = new Address { AddressLine1 = parameter.ShipFrom.Address.AddressLine, City = parameter.ShipFrom.Address.City, CountryCode = parameter.ShipFrom.Address.Country, PostalCode = parameter.ShipFrom.Address.PostalCode }; } } if (parameter.Package != null) { request.Shipment.Package.Dimensions = new Dimensions { UnitOfMeasurement = new UnitOfMeasurement { Code = "CM", Description = "cm" }, Length = parameter.Package.Length, Height = parameter.Package.Height, Width = parameter.Package.Width }; request.Shipment.Package.PackageWeight = new PackageWeight { UnitOfMeasurement = new UnitOfMeasurement { Code = "KGS", Description = "kgs" }, Weight = parameter.Package.Weight }; } var serializerSecurity = new XmlSerializer(typeof(AccessRequestType)); var serializerBody = new XmlSerializer(typeof(RatingServiceSelectionRequest)); var xmlSecurity = ""; var xmlBody = ""; using (var sww = new StringWriter()) { using (var writer = XmlWriter.Create(sww)) { serializerSecurity.Serialize(writer, security); xmlSecurity = sww.ToString(); } } using (var sww = new StringWriter()) { using (var writer = XmlWriter.Create(sww)) { serializerBody.Serialize(writer, request); xmlBody = sww.ToString(); } } var xml = xmlSecurity + "" + xmlBody; var body = new StringContent(xml); var req = new HttpRequestMessage { Method = HttpMethod.Post, Content = body, RequestUri = new Uri(_rateUrl) }; var serializedContent = await client.SendAsync(req).ConfigureAwait(false); var res = await serializedContent.Content.ReadAsStringAsync(); var deserializer = new XmlSerializer(typeof(RatingServiceSelectionResponse)); using (TextReader reader = new StringReader(res)) { return((RatingServiceSelectionResponse)deserializer.Deserialize(reader)); } }