Beispiel #1
0
        public static PartnerServPkg FromString(string prodServPkgString)
        {
            PartnerServPkg partServPkg = null;
            int            index, index2;

            if (prodServPkgString.IndexOf("ParentProduct = [") > 0)
            {
                return(FromStringNew(prodServPkgString));
            }

            if (prodServPkgString.StartsWith("PartnerServPkg:"))
            {
                partServPkg         = new PartnerServPkg();
                index               = prodServPkgString.IndexOf("PartnerServPkg:");
                partServPkg.Partner = PartnerKeyWeb.FromString(prodServPkgString.Substring(29, index - 29));

                prodServPkgString = prodServPkgString.Substring(index + 18);
                // todo: write code for Services here

                index  = prodServPkgString.IndexOf(",IsValid =");
                index2 = prodServPkgString.IndexOf(",ErrorString =");
                partServPkg.IsValid     = bool.Parse(prodServPkgString.Substring(index + 11, index2 - index - 11));
                partServPkg.ErrorString = prodServPkgString.Substring(index2 + 15);
            }

            return(partServPkg);
        }
        public void AddRules(PartnerKeyWeb key)
        {
            var rules = OffnetServiceRuleParser.GetRules(OffnetBiz.GetPartnerServiceConfig(key).ServiceRule, Utility.ConvertToMountain(key.EffectiveDate));

            if (rules != null)
            {
                foreach (var r in rules)
                {
                    AddRule(r, key, this);
                }
            }
        }
 public void FromWeb(PartnerKeyWeb Key)
 {
     VendorId           = Key.VendorId;
     Name               = Key.VendorName;
     Request            = Key.RequestType;
     PartnerFormat      = Key.PartnerOrderFormat;
     Action             = Key.OrderAction;
     Family             = Key.ProductFamily;
     PartnerId          = Key.PartnerOrderId;
     Partner            = Key.PartnerOrderName;
     Source             = Key.Source;
     PreOrderValidation = Key.PreOrderValidation;
 }
        public void AddRule(OffnetServiceMappingRule sr, PartnerKeyWeb key, ResolveOffnetServiceSet rss)
        {
            var rule = sr as PartnerTagServiceRule;

            if (rule != null)
            {
                var ptsr = rule;
                _partnerTags.Add(rss.GetTagName(ptsr.TagName), key);
                return;
            }
            else if (sr != null)
            {
                //If the "key" is in there already, replace it.
                _serviceRules.RemoveAll(r => r.CompareString().Equals(sr.CompareString()));
                _serviceRules.Add(sr);
            }
        }
Beispiel #5
0
        public PartnerServiceConfig Get(PartnerKeyWeb Key)
        {
            PartnerServiceConfig config;

            config = _Cache.CheckCache(Key.PartnerOrderId.ToString());
            if (config == null)
            {
                try
                {
                    config = OffnetDataAccess.GetPartnerServiceConfig(Key.PartnerOrderId);
                }
                catch (Exception e)
                {
                    throw new ApplicationException("Error Fetching the PartnerServiceConfig :" + e.Message);
                }
            }
            _Cache.StoreCache(Key.PartnerOrderId.ToString(), config);
            return(config);
        }
        public void PomResolveServices()
        {
            //Making a call to get service for vendor at&t and vendor id 1
            Startup.LoadSettings();
            var Package = new PartnerServPkg();
            var partner = new PartnerKeyWeb();

            Package.EffectiveDate  = DateTime.Now;
            Package.IsValid        = true;
            partner.VendorId       = 1;
            partner.VendorName     = "AT&T";
            partner.PartnerOrderId = 0;
            partner.Source         = "CPO,SWIFT";
            Package.Partner        = partner;
            var url = FscApplication.Current.Settings.FscUrls.FSCMediation + MediationEndPoints.pomResolveServices;
            var pkg = ApiClient.Post <PartnerServPkg, PartnerServPkg>(HttpTargetType.FSCMediation, "FSC Mediation Pom Resolve", url, Package, ApiClient.ContentType.Json, ApiClient.HeaderType.FSCMediation);

            Assert.IsNotNull(pkg);
            Assert.IsNull(pkg.ErrorString);
        }
Beispiel #7
0
        public static PartnerServPkg FromStringNew(string prodServPkgString)
        {
            PartnerServPkg partServPkg = null;
            int            index1, index2;

            if (prodServPkgString.StartsWith("PartnerServPkg:"))
            {
                partServPkg = new PartnerServPkg();

                PartnerKeyWeb key = null;
                index1       = prodServPkgString.IndexOf("VendorId");
                key.VendorId = Convert.ToInt32(prodServPkgString.Substring(index1 + 13, index1 - 13));

                index2         = prodServPkgString.IndexOf("VendorName =", index1);
                index1         = prodServPkgString.IndexOf(",", index2 + 2);
                key.VendorName = prodServPkgString.Substring(index2 + 8, index1 - index2 - 8);

                index2         = prodServPkgString.IndexOf("RequestType =", index1);
                index1         = prodServPkgString.IndexOf(",", index2 + 2);
                key.VendorName = prodServPkgString.Substring(index2 + 8, index1 - index2 - 8);

                index2         = prodServPkgString.IndexOf("PartnerOrderFormat =", index1);
                index1         = prodServPkgString.IndexOf(",", index2 + 2);
                key.VendorName = prodServPkgString.Substring(index2 + 8, index1 - index2 - 8);

                index2         = prodServPkgString.IndexOf("OrderAction =", index1);
                index1         = prodServPkgString.IndexOf(",", index2 + 2);
                key.VendorName = prodServPkgString.Substring(index2 + 8, index1 - index2 - 8);

                index2         = prodServPkgString.IndexOf("ProductFamily =", index1);
                index1         = prodServPkgString.IndexOf(",", index2 + 2);
                key.VendorName = prodServPkgString.Substring(index2 + 8, index1 - index2 - 8);

                index2         = prodServPkgString.IndexOf("PartnerOrderId =", index1);
                index1         = prodServPkgString.IndexOf(",", index2 + 2);
                key.VendorName = prodServPkgString.Substring(index2 + 8, index1 - index2 - 8);

                index2         = prodServPkgString.IndexOf("PartnerOrderName =", index1);
                index1         = prodServPkgString.IndexOf(",", index2 + 2);
                key.VendorName = prodServPkgString.Substring(index2 + 8, index1 - index2 - 8);

                partServPkg.Partner = key;
                //Need to add the logic for extracting services from string
                OffnetServKeyPair[] ServkeyPair = null;
                OffnetServiceKeyWeb ServKey     = null;
                int servIndex;
                servIndex = prodServPkgString.IndexOf("ServKey:");
                string servKeyString = prodServPkgString.Substring(servIndex, servIndex + prodServPkgString.IndexOf("]"));

                index1            = prodServPkgString.IndexOf("Service ID =");
                ServKey.ServiceID = long.Parse(prodServPkgString.Substring(index1 + 13, index1 - 13));

                index2       = prodServPkgString.IndexOf(",Date =", index1);
                index1       = prodServPkgString.IndexOf(',', index2 + 2);
                ServKey.Date = DateTime.Parse(prodServPkgString.Substring(index2 + 8, index1 - index2 - 8));

                index1 = prodServPkgString.IndexOf(",Attributes = [", index1);
                if (index1 > 0)
                {
                    index2 = prodServPkgString.IndexOf(']', index1);
                    string[] instances = prodServPkgString.Substring(index1 + 15, index2 - index1 - 16).Split(',');
                    List <OffnetAttrInstanceWeb> instanceList = new List <OffnetAttrInstanceWeb>();
                    foreach (string instance in instances)
                    {
                        instanceList.Add(OffnetAttrInstanceWeb.FromString(instance));
                    }
                    ServKey.Attributes = instanceList.ToArray();
                }

                index1          = prodServPkgString.IndexOf(",ErrorString = ", index2);
                ServKey.IsValid = bool.Parse(prodServPkgString.Substring(index2 + 11, index1 - index2 - 11));

                ServKey.ErrorString = prodServPkgString.Substring(index1 + 15);

                partServPkg.Services = ServkeyPair;
            }

            return(partServPkg);
        }
Beispiel #8
0
        public static PartnerServiceConfig GetPartnerServiceConfig(PartnerKeyWeb key)
        {
            var config = new PartnerServiceConfig();

            return(config.Get(key));
        }