Example #1
0
 /// <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;
 }
Example #2
0
        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));
            }
        }
Example #3
0
        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));
            }
        }
Example #4
0
        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));
            }
        }