public SpriteRenderer GetLine(LineOption option, LineColour colour)
        {
            Sprite sprite = null;

            switch (option)
            {
            case LineOption.HalfLine:
                sprite = _spriteCache.GetSprite(String.Format("halfLine{0}", Enum.GetName(typeof(LineColour), colour)));
                break;

            case LineOption.FullLine:
                sprite = _spriteCache.GetSprite(String.Format("fullLine{0}", Enum.GetName(typeof(LineColour), colour)));
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
            var spriteRendererObj = new GameObject();

            spriteRendererObj.AddComponent <SpriteRenderer>();
            var spriteRenderer = spriteRendererObj.GetComponent <SpriteRenderer>();

            spriteRenderer.sprite = sprite;
            return(spriteRenderer);
        }
Пример #2
0
 public static T GetLine <T>(this List <T> list, LineOption <T> lineOption, bool useThreadLocker = false, bool throwExceptionIfListIsEmptyOrNull = false)
 {
     if (list is null || list.Count == 0)
     {
         if (throwExceptionIfListIsEmptyOrNull)
         {
             throw new Exception("Список пуст");
         }
         return(default);
Пример #3
0
        private void DeserializeInOutput(string str, Uri uri)
        {
            if (string.IsNullOrEmpty(str) || string.IsNullOrWhiteSpace(str))
            {
                return;
            }
            var uriString = uri.ToString();

            if (uriString.Contains("LineSummary"))
            {
                var obj = JsonConvert.DeserializeObject <JsonTrafficSummary>(str);
                //ROPZ4150 All inclusive Europa e USA
                LineOption lo = new LineOption {
                    BonusInfoDetails = new BonusInfoDetails()
                    {
                        Expiry = null
                    }
                };


                if (obj.LineOptions != null)
                {
                    foreach (var lop in obj.LineOptions.Reverse().Where(x => x.OptionCode != "ROPZ4150"))
                    {
                        if (lop.BonusInfoDetails != null)
                        {
                            CopyValues(lo.BonusInfoDetails, lop.BonusInfoDetails);
                        }
                    }
                }

                if (obj.LineTariffplan.CheckIncludedTrafficInfoDetails != null && AllNull(lo.BonusInfoDetails))
                {
                    lo.BonusInfoDetails = obj.LineTariffplan.CheckIncludedTrafficInfoDetails;
                }

                if (obj.ShapingDetails == null)
                {
                    obj.ShapingDetails = new ShapingDetails {
                        PercVolTot = "-1", PeriodEndDate = null
                    }
                }
                ;

                var ni = new NumberInfo
                {
                    Credit         = -1,
                    Number         = obj.LineTariffplan.Msisdn,
                    Minutes        = string.IsNullOrEmpty(lo.BonusInfoDetails.ResiduoMin) ? -1 : int.Parse(lo.BonusInfoDetails.ResiduoMin.Trim().Split(' ')[0]),
                    MinutesTotal   = (string.IsNullOrEmpty(lo.BonusInfoDetails.ResiduoMin) || string.IsNullOrEmpty(lo.BonusInfoDetails.ConsumoMin)) ? -1 : int.Parse(lo.BonusInfoDetails.ResiduoMin.Trim().Split(' ')[0]) + int.Parse(lo.BonusInfoDetails.ConsumoMin.Trim().Split(' ')[0]),
                    Gigabytes      = (int)(100 * float.Parse(obj.ShapingDetails.PercVolTot, new NumberFormatInfo {
                        CurrencyDecimalSeparator = ".", NumberDecimalSeparator = "."
                    })),
                    GigabytesTotal = 100,
                    SMS            = string.IsNullOrEmpty(lo.BonusInfoDetails.ResiduoSms) ? -1 : int.Parse(lo.BonusInfoDetails.ResiduoSms),
                    SMSTotal       = string.IsNullOrEmpty(lo.BonusInfoDetails.ResiduoSms) || string.IsNullOrEmpty(lo.BonusInfoDetails.ConsumoSms) ? -1 : int.Parse(lo.BonusInfoDetails.ResiduoSms.Trim()) + int.Parse(lo.BonusInfoDetails.ConsumoSms.Trim()),
                    LastUpdate     = DateTime.Now,
                    ExpirationDate = DateTime.MinValue
                };

                float    fTmp;
                DateTime dTmp;
                if (float.TryParse(obj.CreditBalanceValue, NumberStyles.Number, new NumberFormatInfo {
                    CurrencyDecimalSeparator = ",", NumberDecimalSeparator = ","
                }, out fTmp))
                {
                    ni.Credit = fTmp;
                }

                if (DateTime.TryParseExact(obj.ShapingDetails.PeriodEndDate, "yyyyMMddhhmmss", CultureInfo.InvariantCulture, DateTimeStyles.None, out dTmp) || DateTime.TryParseExact(lo.BonusInfoDetails.Expiry, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out dTmp))
                {
                    ni.ExpirationDate = dTmp;
                }


                cr.NumberInfos.Add(ni);
            }
        }