internal static void SetServiceEnabledToServiceEnabledViewModel(EnabledService model, ServicesEnabledViewModel viewModel) { viewModel.Code = model.Code; viewModel.Description = model.Description; viewModel.Icon = model.IconApp; viewModel.Message = model.Message; viewModel.Name = model.Name; viewModel.ServiceType = model.ServiceType; viewModel.EstimatedTime = model.EstimatedTime; viewModel.EstimatedTimeText = model.ServiceType.Equals(ServiceType.Urgency) ? AppResources.EstimatedTimeZone : AppResources.EstimatedTime; }
private List <ShippingOption> ParseResponseMessage(string response) { string serviceTag = "Service"; string serviceNameTag = "SvcDescription"; string rateTag = "Postage"; if (_isDomenic) { serviceTag = "Postage"; serviceNameTag = "MailService"; rateTag = "Rate"; } var shippingOptions = new List <ShippingOption>(); using (var sr = new StringReader(response)) using (var tr = new XmlTextReader(sr)) { do { tr.Read(); if ((tr.Name == serviceTag) && (tr.NodeType == XmlNodeType.Element)) { string serviceCode = string.Empty; string postalRate = string.Empty; do { tr.Read(); if ((tr.Name == serviceNameTag) && (tr.NodeType == XmlNodeType.Element)) { serviceCode = tr.ReadString().Replace("**", ""); int idx1 = serviceCode.IndexOf("<sup>"); int idx2 = serviceCode.IndexOf("</sup>") + 12; if (idx1 >= 0) { serviceCode = serviceCode.Remove(idx1, idx2 - idx1); } tr.ReadEndElement(); if ((tr.Name == serviceNameTag) && (tr.NodeType == XmlNodeType.EndElement)) { break; } } if ((tr.Name == rateTag) && (tr.NodeType == XmlNodeType.Element)) { postalRate = tr.ReadString(); tr.ReadEndElement(); if ((tr.Name == rateTag) && (tr.NodeType == XmlNodeType.EndElement)) { break; } } }while (!((tr.Name == serviceTag) && (tr.NodeType == XmlNodeType.EndElement))); if ((EnabledService.Contains(serviceCode)) && (shippingOptions.Find(s => s.Name == serviceCode) == null)) { var shippingRate = (Rate > 0) ? postalRate.TryParseFloat() * Rate + Extracharge : postalRate.TryParseFloat() + Extracharge; //if (Rate > 0) //{ // shippingRate *= Rate; //} var shippingOption = new ShippingOption { Rate = shippingRate, Name = serviceCode }; shippingOptions.Add(shippingOption); } } }while (!tr.EOF); } return(shippingOptions); }