private static UniformsPack CreatePackWithPointerUniform(EPropElevationPointer elevationId)
        {
            var uniformsPack = new UniformsPack();

            uniformsPack.SetUniform("_Pointer", CastUtils.BitwiseCastUIntToFloat(elevationId.Value));
            return(uniformsPack);
        }
    public static int RightSideOfAssignmentCount(ISymbol variable,
                                                 BlockSyntax block,
                                                 SemanticModel semanticModel,
                                                 CancellationToken cancellationToken)
    {
        int count = 0;

        using (var walker = AssignmentWalker.Borrow(block, Search.TopLevel, semanticModel, cancellationToken))
        {
            foreach (AssignmentExpressionSyntax assignment in walker.Assignments)
            {
                var right = semanticModel.GetSymbolSafe(CastUtils.UnWrapCast(assignment.Right), cancellationToken);
                if (right != null && right.Equals(variable))
                {
                    count++;
                }
            }
        }

        using (var walker = VariableDeclarationWalker.Borrow(block, Search.TopLevel, semanticModel, cancellationToken))
        {
            foreach (VariableDeclaratorSyntax delc in walker.Declarations)
            {
                var rightSymbol = semanticModel.GetSymbolSafe(CastUtils.UnWrapCast(delc.Initializer.Value), cancellationToken);
                if (SymbolComparer.Equals(variable, rightSymbol))
                {
                    count++;
                }
            }
        }
        return(count);
    }
        /// <summary>
        /// <see ref="UnknownDiscountApplication" /> Accepts deserialized json data.
        /// <see ref="UnknownDiscountApplication" /> Will further parse passed in data.
        /// </summary>
        /// <param name="dataJSON">Deserialized JSON data for DiscountApplication</param>
        public UnknownDiscountApplication(Dictionary <string, object> dataJSON)
        {
            DataJSON = dataJSON;
            Data     = new Dictionary <string, object>();

            foreach (string key in dataJSON.Keys)
            {
                string fieldName  = key;
                Regex  regexAlias = new Regex("^(.+)___.+$");
                Match  match      = regexAlias.Match(key);

                if (match.Success)
                {
                    fieldName = match.Groups[1].Value;
                }

                switch (fieldName)
                {
                case "allocationMethod":

                    Data.Add(
                        key,

                        CastUtils.GetEnumValue <DiscountApplicationAllocationMethod>(dataJSON[key])
                        );

                    break;

                case "targetSelection":

                    Data.Add(
                        key,

                        CastUtils.GetEnumValue <DiscountApplicationTargetSelection>(dataJSON[key])
                        );

                    break;

                case "targetType":

                    Data.Add(
                        key,

                        CastUtils.GetEnumValue <DiscountApplicationTargetType>(dataJSON[key])
                        );

                    break;

                case "value":

                    Data.Add(
                        key,

                        UnknownPricingValue.Create((Dictionary <string, object>)dataJSON[key])
                        );

                    break;
                }
            }
        }
Пример #4
0
        /// <summary>
        /// <see ref="Fulfillment" /> Accepts deserialized json data.
        /// <see ref="Fulfillment" /> Will further parse passed in data.
        /// </summary>
        /// <param name="dataJSON">Deserialized JSON data for Fulfillment</param>
        public Fulfillment(Dictionary <string, object> dataJSON)
        {
            DataJSON = dataJSON;
            Data     = new Dictionary <string, object>();

            foreach (string key in dataJSON.Keys)
            {
                string fieldName  = key;
                Regex  regexAlias = new Regex("^(.+)___.+$");
                Match  match      = regexAlias.Match(key);

                if (match.Success)
                {
                    fieldName = match.Groups[1].Value;
                }

                switch (fieldName)
                {
                case "fulfillmentLineItems":

                    Data.Add(
                        key,

                        new FulfillmentLineItemConnection((Dictionary <string, object>)dataJSON[key])
                        );

                    break;

                case "trackingCompany":

                    if (dataJSON[key] == null)
                    {
                        Data.Add(key, null);
                    }
                    else
                    {
                        Data.Add(
                            key,

                            (string)dataJSON[key]
                            );
                    }

                    break;

                case "trackingInfo":

                    Data.Add(
                        key,

                        CastUtils.CastList <List <FulfillmentTrackingInfo> >((IList)dataJSON[key])
                        );

                    break;
                }
            }
        }
Пример #5
0
        public string ToSqlString()
        {
            var propId   = Property.Id;
            var tenantId = Tenant.Id;
            var price    = MonthlyPrice.ToString(CultureInfo.InvariantCulture);

            return($"{propId}, {tenantId}, {price}, " +
                   $"{CastUtils.FormatSqlDate(StartDate)}, {CastUtils.FormatSqlDate(EndDate)}");
        }
Пример #6
0
        /// <summary>
        /// <see ref="CheckoutLineItemsAddPayload" /> Accepts deserialized json data.
        /// <see ref="CheckoutLineItemsAddPayload" /> Will further parse passed in data.
        /// </summary>
        /// <param name="dataJSON">Deserialized JSON data for CheckoutLineItemsAddPayload</param>
        public CheckoutLineItemsAddPayload(Dictionary <string, object> dataJSON)
        {
            DataJSON = dataJSON;
            Data     = new Dictionary <string, object>();

            foreach (string key in dataJSON.Keys)
            {
                string fieldName  = key;
                Regex  regexAlias = new Regex("^(.+)___.+$");
                Match  match      = regexAlias.Match(key);

                if (match.Success)
                {
                    fieldName = match.Groups[1].Value;
                }

                switch (fieldName)
                {
                case "checkout":

                    if (dataJSON[key] == null)
                    {
                        Data.Add(key, null);
                    }
                    else
                    {
                        Data.Add(
                            key,

                            new Checkout((Dictionary <string, object>)dataJSON[key])
                            );
                    }

                    break;

                case "checkoutUserErrors":

                    Data.Add(
                        key,

                        CastUtils.CastList <List <CheckoutUserError> >((IList)dataJSON[key])
                        );

                    break;

                case "userErrors":

                    Data.Add(
                        key,

                        CastUtils.CastList <List <UserError> >((IList)dataJSON[key])
                        );

                    break;
                }
            }
        }
Пример #7
0
        public void TestCastStringListWithNull()
        {
            List <object> list = new List <object> {
                "Mikko", null, "Teppo"
            };

            List <string> castList = CastUtils.CastList <List <string> >(list);

            CollectionAssert.AreEqual(list, castList);
        }
Пример #8
0
        public void TestCastClassList()
        {
            List <object> list = new List <object> {
                1, 2, 3
            };

            List <TestClass> castList = CastUtils.CastList <List <TestClass> >(list);

            Assert.AreEqual(1, castList[0].Value);
            Assert.AreEqual(2, castList[1].Value);
            Assert.AreEqual(3, castList[2].Value);
            Assert.AreEqual(3, castList.Count);
        }
Пример #9
0
        public void TestCastStringList2D()
        {
            List <List <object> > list = new List <List <object> > {
                new List <object>()
                {
                    "Toronto", "Seinäjoki", "Vancouver"
                }
            };

            List <List <string> > castList = CastUtils.CastList <List <List <string> > >(list);

            CollectionAssert.AreEqual(list, castList);
        }
Пример #10
0
        public void ProcessLocaleChanges(List <EPropIdChange> propLocaleChanges)
        {
            foreach (var change in propLocaleChanges)
            {
                Debug.Log("Instancing PROCESSING CHANGE");
                var idx = _elevationToIndexDict[change.OldId];
                _elevationToIndexDict.Remove(change.OldId);
                _elevationToIndexDict[change.NewId] = idx;

                _localeBufferScopeIndexArray[idx] = CastUtils.BitwiseCastUIntToFloat(change.NewId.LocaleBufferScopeIndex);
                _inScopeIndexArray[idx]           = CastUtils.BitwiseCastUIntToFloat(change.NewId.InScopeIndex);
            }
        }
Пример #11
0
        /// <summary>
        /// <see ref="ProductOption" /> Accepts deserialized json data.
        /// <see ref="ProductOption" /> Will further parse passed in data.
        /// </summary>
        /// <param name="dataJSON">Deserialized JSON data for ProductOption</param>
        public ProductOption(Dictionary <string, object> dataJSON)
        {
            DataJSON = dataJSON;
            Data     = new Dictionary <string, object>();

            foreach (string key in dataJSON.Keys)
            {
                string fieldName  = key;
                Regex  regexAlias = new Regex("^(.+)___.+$");
                Match  match      = regexAlias.Match(key);

                if (match.Success)
                {
                    fieldName = match.Groups[1].Value;
                }

                switch (fieldName)
                {
                case "id":

                    Data.Add(
                        key,

                        (string)dataJSON[key]
                        );

                    break;

                case "name":

                    Data.Add(
                        key,

                        (string)dataJSON[key]
                        );

                    break;

                case "values":

                    Data.Add(
                        key,

                        CastUtils.CastList <List <string> >((IList)dataJSON[key])
                        );

                    break;
                }
            }
        }
Пример #12
0
        public void TestCastEnumList()
        {
            List <object> list = new List <object> {
                "MIKKO", "IDONTEXIST", "TEPPO"
            };

            List <TestEnum> castList = CastUtils.CastList <List <TestEnum> >(list);

            CollectionAssert.AreEqual(new List <TestEnum>()
            {
                TestEnum.MIKKO,
                TestEnum.UNKNOWN,
                TestEnum.TEPPO
            }, castList);
        }
Пример #13
0
        /// <summary>
        /// <see ref="AvailableShippingRates" /> Accepts deserialized json data.
        /// <see ref="AvailableShippingRates" /> Will further parse passed in data.
        /// </summary>
        /// <param name="dataJSON">Deserialized JSON data for AvailableShippingRates</param>
        public AvailableShippingRates(Dictionary <string, object> dataJSON)
        {
            DataJSON = dataJSON;
            Data     = new Dictionary <string, object>();

            foreach (string key in dataJSON.Keys)
            {
                string fieldName  = key;
                Regex  regexAlias = new Regex("^(.+)___.+$");
                Match  match      = regexAlias.Match(key);

                if (match.Success)
                {
                    fieldName = match.Groups[1].Value;
                }

                switch (fieldName)
                {
                case "ready":

                    Data.Add(
                        key,

                        (bool)dataJSON[key]
                        );

                    break;

                case "shippingRates":

                    if (dataJSON[key] == null)
                    {
                        Data.Add(key, null);
                    }
                    else
                    {
                        Data.Add(
                            key,

                            CastUtils.CastList <List <ShippingRate> >((IList)dataJSON[key])
                            );
                    }

                    break;
                }
            }
        }
        /// <summary>
        /// <see ref="UnknownDisplayableError" /> Accepts deserialized json data.
        /// <see ref="UnknownDisplayableError" /> Will further parse passed in data.
        /// </summary>
        /// <param name="dataJSON">Deserialized JSON data for DisplayableError</param>
        public UnknownDisplayableError(Dictionary <string, object> dataJSON)
        {
            DataJSON = dataJSON;
            Data     = new Dictionary <string, object>();

            foreach (string key in dataJSON.Keys)
            {
                string fieldName  = key;
                Regex  regexAlias = new Regex("^(.+)___.+$");
                Match  match      = regexAlias.Match(key);

                if (match.Success)
                {
                    fieldName = match.Groups[1].Value;
                }

                switch (fieldName)
                {
                case "field":

                    if (dataJSON[key] == null)
                    {
                        Data.Add(key, null);
                    }
                    else
                    {
                        Data.Add(
                            key,

                            CastUtils.CastList <List <string> >((IList)dataJSON[key])
                            );
                    }

                    break;

                case "message":

                    Data.Add(
                        key,

                        (string)dataJSON[key]
                        );

                    break;
                }
            }
        }
Пример #15
0
        public static Texture CreateDummyHeightTextureDependentOnPixelPosition(SegmentInformation segmentInformation, float offset, float stepMultiplier)
        {
            var tex = new Texture2D(240, 240, TextureFormat.RFloat, false);

            float[] rawTextureData = new float[tex.width * tex.height];
            for (int x = 0; x < tex.width; x++)
            {
                for (int y = 0; y < tex.height; y++)
                {
                    rawTextureData[x + y * tex.width] = offset + ((x + y * 4) / 400f) * stepMultiplier;
                }
            }

            tex.LoadRawTextureData(CastUtils.ConvertFloatArrayToByte(rawTextureData));

            tex.Apply();
            return(tex);
        }
Пример #16
0
        private string BuildFilter()
        {
            var city  = PropCityCBox.SelectedIndex == -1 ? SqlNull : $"N'{PropCityCBox.SelectedItem}'";
            var today = CastUtils.FormatSqlDate(DateTime.Now);

            var rented    = SqlNull;
            var available = SqlNull;

            if (RentedChBox.IsChecked == true)
            {
                rented = SqlTrue;
            }
            else if (RentedChBox.IsChecked == false)
            {
                available = SqlTrue;
            }

            var res = ResidentialChBox.IsChecked == null ? SqlNull :
                      ResidentialChBox.IsChecked == true ? SqlTrue : SqlFalse;
            var furn = FurnishedChBox.IsChecked == null ? SqlNull :
                       FurnishedChBox.IsChecked == true ? SqlTrue : SqlFalse;
            var park = ParkingChBox.IsChecked == null ? SqlNull :
                       ParkingChBox.IsChecked == true ? SqlTrue : SqlFalse;

            var minArea = string.IsNullOrEmpty(MinAreaTextBox.Text) ? SqlNull : MinAreaTextBox.Text;
            var maxArea = string.IsNullOrEmpty(MaxAreaTextBox.Text) ? SqlNull : MaxAreaTextBox.Text;

            var checkedRb = RoomsCount.Children.OfType <RadioButton>()
                            .FirstOrDefault(r => r.IsChecked.GetValueOrDefault());
            var rooms    = BuildRoomCountString(checkedRb);
            var maxRooms = checkedRb?.Name == "Rooms5RButton" ? "5" : SqlNull;

            return
                ($"(({city} is null) or city = {city}) and " +
                 $"(({rented} is null) or lease.end_date >= {today}) and " +
                 $"(({available} is null) or (lease.end_date < {today} or lease.id is null)) and " +
                 $"(({res} is null) or residential = {res}) and " +
                 $"(({furn} is null) or furnished = {furn}) and " +
                 $"(({park} is null) or has_parking = {park}) and " +
                 $"(({minArea} is null) or area >= {minArea}) and " +
                 $"(({maxArea} is null) or area <= {maxArea}) and " +
                 $"(({rooms} is null) or room_count = {rooms}) and " +
                 $"(({maxRooms} is null) or room_count >= {maxRooms})");
        }
Пример #17
0
        public void AddProps(DebugFlatPositionWithEPropPointerAndId[] newPropIds)
        {
            for (var i = 0; i < newPropIds.Length; i++)
            {
                var eProp    = newPropIds[i];
                var newIndex = _currentObjectsCount + i;
                _localeBufferScopeIndexArray[newIndex] = CastUtils.BitwiseCastUIntToFloat(eProp.PointerWithId.Id.LocaleBufferScopeIndex);
                _inScopeIndexArray[newIndex]           = CastUtils.BitwiseCastUIntToFloat(eProp.PointerWithId.Id.InScopeIndex);
                _maticesArray[newIndex] = Matrix4x4.TRS(new Vector3(eProp.FlatPosition.x, 0, eProp.FlatPosition.y),
                                                        Quaternion.identity, new Vector3(1, 1, 1));
                _pointersArray[newIndex] = CastUtils.BitwiseCastUIntToFloat(newPropIds[i].PointerWithId.Pointer.Value);
                _elevationToIndexDict[eProp.PointerWithId.Id] = newIndex;
            }

            _propertyBlock.SetFloatArray("_LocaleBufferScopeIndexArray", _localeBufferScopeIndexArray);
            _propertyBlock.SetFloatArray("_InScopeIndexArray", _inScopeIndexArray);
            _propertyBlock.SetFloatArray("_Pointer", _pointersArray);
            _currentObjectsCount += newPropIds.Length;
        }
Пример #18
0
        public static Texture CreateDummyHeightTextureDependentOnWorldSpacePosition(MyRectangle worldSpaceRectangle, float repreatLength)
        {
            var tex = new Texture2D(240, 240, TextureFormat.RFloat, false);

            float[] rawTextureData = new float[tex.width * tex.height];
            for (int x = 0; x < tex.width; x++)
            {
                for (int y = 0; y < tex.height; y++)
                {
                    var uvInTexture        = new Vector2(x / 240f, y / 240f);
                    var worldSpacePosition = worldSpaceRectangle.SampleByUv(uvInTexture);
                    rawTextureData[x + y * tex.width] = Mathf.Repeat(worldSpacePosition.x + worldSpacePosition.y * 4, repreatLength) / repreatLength;
                }
            }

            tex.LoadRawTextureData(CastUtils.ConvertFloatArrayToByte(rawTextureData));

            tex.Apply();
            return(tex);
        }
        /// <summary>
        /// <see ref="MoneyV2" /> Accepts deserialized json data.
        /// <see ref="MoneyV2" /> Will further parse passed in data.
        /// </summary>
        /// <param name="dataJSON">Deserialized JSON data for MoneyV2</param>
        public MoneyV2(Dictionary <string, object> dataJSON)
        {
            DataJSON = dataJSON;
            Data     = new Dictionary <string, object>();

            foreach (string key in dataJSON.Keys)
            {
                string fieldName  = key;
                Regex  regexAlias = new Regex("^(.+)___.+$");
                Match  match      = regexAlias.Match(key);

                if (match.Success)
                {
                    fieldName = match.Groups[1].Value;
                }

                switch (fieldName)
                {
                case "amount":

                    Data.Add(
                        key,

                        (decimal)dataJSON[key]
                        );

                    break;

                case "currencyCode":

                    Data.Add(
                        key,

                        CastUtils.GetEnumValue <CurrencyCode>(dataJSON[key])
                        );

                    break;
                }
            }
        }
Пример #20
0
        private string BuildFilter()
        {
            var today   = CastUtils.FormatSqlDate(DateTime.Now);
            var current = SqlNull;
            var expired = SqlNull;

            if (CurrentChBox.IsChecked == true)
            {
                current = SqlTrue;
            }
            else if (CurrentChBox.IsChecked == false)
            {
                expired = SqlTrue;
            }

            var sd = string.IsNullOrEmpty(StartDatePicker.Text)
                ? SqlNull
                : CastUtils.FormatSqlDate(Convert.ToDateTime(StartDatePicker.Text));
            var ed = string.IsNullOrEmpty(EndDatePicker.Text)
                ? SqlNull
                : CastUtils.FormatSqlDate(Convert.ToDateTime(EndDatePicker.Text));

            var city = CityCBox.SelectedIndex == -1 ? SqlNull : $"N'{CityCBox.SelectedItem}'";
            var tId  = SqlNull;

            if (TenantCBox.SelectedIndex != -1)
            {
                tId = (Tenant)TenantCBox.SelectedItem == null
                    ? SqlNull
                    : ((Tenant)TenantCBox.SelectedItem).Id.ToString();
            }

            return
                ($"(({current} is null) or end_date >= {today}) and " +
                 $"(({expired} is null) or end_date < {today}) and " +
                 $"(({sd} is null) or start_date = {sd}) and " +
                 $"(({ed} is null) or end_date = {ed}) and " +
                 $"(({city} is null) or property.city = {city}) and " +
                 $"(({tId} is null) or tenant.id = {tId})");
        }
Пример #21
0
        /// <summary>
        /// <see ref="CustomerRecoverPayload" /> Accepts deserialized json data.
        /// <see ref="CustomerRecoverPayload" /> Will further parse passed in data.
        /// </summary>
        /// <param name="dataJSON">Deserialized JSON data for CustomerRecoverPayload</param>
        public CustomerRecoverPayload(Dictionary <string, object> dataJSON)
        {
            DataJSON = dataJSON;
            Data     = new Dictionary <string, object>();

            foreach (string key in dataJSON.Keys)
            {
                string fieldName  = key;
                Regex  regexAlias = new Regex("^(.+)___.+$");
                Match  match      = regexAlias.Match(key);

                if (match.Success)
                {
                    fieldName = match.Groups[1].Value;
                }

                switch (fieldName)
                {
                case "customerUserErrors":

                    Data.Add(
                        key,

                        CastUtils.CastList <List <CustomerUserError> >((IList)dataJSON[key])
                        );

                    break;

                case "userErrors":

                    Data.Add(
                        key,

                        CastUtils.CastList <List <UserError> >((IList)dataJSON[key])
                        );

                    break;
                }
            }
        }
Пример #22
0
        /// <summary>
        /// <see ref="MetafieldConnection" /> Accepts deserialized json data.
        /// <see ref="MetafieldConnection" /> Will further parse passed in data.
        /// </summary>
        /// <param name="dataJSON">Deserialized JSON data for MetafieldConnection</param>
        public MetafieldConnection(Dictionary <string, object> dataJSON)
        {
            DataJSON = dataJSON;
            Data     = new Dictionary <string, object>();

            foreach (string key in dataJSON.Keys)
            {
                string fieldName  = key;
                Regex  regexAlias = new Regex("^(.+)___.+$");
                Match  match      = regexAlias.Match(key);

                if (match.Success)
                {
                    fieldName = match.Groups[1].Value;
                }

                switch (fieldName)
                {
                case "edges":

                    Data.Add(
                        key,

                        CastUtils.CastList <List <MetafieldEdge> >((IList)dataJSON[key])
                        );

                    break;

                case "pageInfo":

                    Data.Add(
                        key,

                        new PageInfo((Dictionary <string, object>)dataJSON[key])
                        );

                    break;
                }
            }
        }
Пример #23
0
        /// <summary>
        /// <see ref="PaymentSettings" /> Accepts deserialized json data.
        /// <see ref="PaymentSettings" /> Will further parse passed in data.
        /// </summary>
        /// <param name="dataJSON">Deserialized JSON data for PaymentSettings</param>
        public PaymentSettings(Dictionary <string, object> dataJSON)
        {
            DataJSON = dataJSON;
            Data     = new Dictionary <string, object>();

            foreach (string key in dataJSON.Keys)
            {
                string fieldName  = key;
                Regex  regexAlias = new Regex("^(.+)___.+$");
                Match  match      = regexAlias.Match(key);

                if (match.Success)
                {
                    fieldName = match.Groups[1].Value;
                }

                switch (fieldName)
                {
                case "acceptedCardBrands":

                    Data.Add(
                        key,

                        CastUtils.CastList <List <CardBrand> >((IList)dataJSON[key])
                        );

                    break;

                case "cardVaultUrl":

                    Data.Add(
                        key,

                        (string)dataJSON[key]
                        );

                    break;

                case "countryCode":

                    Data.Add(
                        key,

                        CastUtils.GetEnumValue <CountryCode>(dataJSON[key])
                        );

                    break;

                case "currencyCode":

                    Data.Add(
                        key,

                        CastUtils.GetEnumValue <CurrencyCode>(dataJSON[key])
                        );

                    break;

                case "enabledPresentmentCurrencies":

                    Data.Add(
                        key,

                        CastUtils.CastList <List <CurrencyCode> >((IList)dataJSON[key])
                        );

                    break;

                case "shopifyPaymentsAccountId":

                    if (dataJSON[key] == null)
                    {
                        Data.Add(key, null);
                    }
                    else
                    {
                        Data.Add(
                            key,

                            (string)dataJSON[key]
                            );
                    }

                    break;

                case "supportedDigitalWallets":

                    Data.Add(
                        key,

                        CastUtils.CastList <List <DigitalWallet> >((IList)dataJSON[key])
                        );

                    break;
                }
            }
        }
Пример #24
0
        /// <summary>
        /// <see ref="MailingAddress" /> Accepts deserialized json data.
        /// <see ref="MailingAddress" /> Will further parse passed in data.
        /// </summary>
        /// <param name="dataJSON">Deserialized JSON data for MailingAddress</param>
        public MailingAddress(Dictionary <string, object> dataJSON)
        {
            DataJSON = dataJSON;
            Data     = new Dictionary <string, object>();

            foreach (string key in dataJSON.Keys)
            {
                string fieldName  = key;
                Regex  regexAlias = new Regex("^(.+)___.+$");
                Match  match      = regexAlias.Match(key);

                if (match.Success)
                {
                    fieldName = match.Groups[1].Value;
                }

                switch (fieldName)
                {
                case "address1":

                    if (dataJSON[key] == null)
                    {
                        Data.Add(key, null);
                    }
                    else
                    {
                        Data.Add(
                            key,

                            (string)dataJSON[key]
                            );
                    }

                    break;

                case "address2":

                    if (dataJSON[key] == null)
                    {
                        Data.Add(key, null);
                    }
                    else
                    {
                        Data.Add(
                            key,

                            (string)dataJSON[key]
                            );
                    }

                    break;

                case "city":

                    if (dataJSON[key] == null)
                    {
                        Data.Add(key, null);
                    }
                    else
                    {
                        Data.Add(
                            key,

                            (string)dataJSON[key]
                            );
                    }

                    break;

                case "company":

                    if (dataJSON[key] == null)
                    {
                        Data.Add(key, null);
                    }
                    else
                    {
                        Data.Add(
                            key,

                            (string)dataJSON[key]
                            );
                    }

                    break;

                case "country":

                    if (dataJSON[key] == null)
                    {
                        Data.Add(key, null);
                    }
                    else
                    {
                        Data.Add(
                            key,

                            (string)dataJSON[key]
                            );
                    }

                    break;

                case "countryCode":

                    if (dataJSON[key] == null)
                    {
                        Data.Add(key, null);
                    }
                    else
                    {
                        Data.Add(
                            key,

                            (string)dataJSON[key]
                            );
                    }

                    break;

                case "countryCodeV2":

                    if (dataJSON[key] == null)
                    {
                        Data.Add(key, null);
                    }
                    else
                    {
                        Data.Add(
                            key,

                            CastUtils.GetEnumValue <CountryCode>(dataJSON[key])
                            );
                    }

                    break;

                case "firstName":

                    if (dataJSON[key] == null)
                    {
                        Data.Add(key, null);
                    }
                    else
                    {
                        Data.Add(
                            key,

                            (string)dataJSON[key]
                            );
                    }

                    break;

                case "formatted":

                    Data.Add(
                        key,

                        CastUtils.CastList <List <string> >((IList)dataJSON[key])
                        );

                    break;

                case "formattedArea":

                    if (dataJSON[key] == null)
                    {
                        Data.Add(key, null);
                    }
                    else
                    {
                        Data.Add(
                            key,

                            (string)dataJSON[key]
                            );
                    }

                    break;

                case "id":

                    Data.Add(
                        key,

                        (string)dataJSON[key]
                        );

                    break;

                case "lastName":

                    if (dataJSON[key] == null)
                    {
                        Data.Add(key, null);
                    }
                    else
                    {
                        Data.Add(
                            key,

                            (string)dataJSON[key]
                            );
                    }

                    break;

                case "latitude":

                    if (dataJSON[key] == null)
                    {
                        Data.Add(key, null);
                    }
                    else
                    {
                        Data.Add(
                            key,

                            (double)dataJSON[key]
                            );
                    }

                    break;

                case "longitude":

                    if (dataJSON[key] == null)
                    {
                        Data.Add(key, null);
                    }
                    else
                    {
                        Data.Add(
                            key,

                            (double)dataJSON[key]
                            );
                    }

                    break;

                case "name":

                    if (dataJSON[key] == null)
                    {
                        Data.Add(key, null);
                    }
                    else
                    {
                        Data.Add(
                            key,

                            (string)dataJSON[key]
                            );
                    }

                    break;

                case "phone":

                    if (dataJSON[key] == null)
                    {
                        Data.Add(key, null);
                    }
                    else
                    {
                        Data.Add(
                            key,

                            (string)dataJSON[key]
                            );
                    }

                    break;

                case "province":

                    if (dataJSON[key] == null)
                    {
                        Data.Add(key, null);
                    }
                    else
                    {
                        Data.Add(
                            key,

                            (string)dataJSON[key]
                            );
                    }

                    break;

                case "provinceCode":

                    if (dataJSON[key] == null)
                    {
                        Data.Add(key, null);
                    }
                    else
                    {
                        Data.Add(
                            key,

                            (string)dataJSON[key]
                            );
                    }

                    break;

                case "zip":

                    if (dataJSON[key] == null)
                    {
                        Data.Add(key, null);
                    }
                    else
                    {
                        Data.Add(
                            key,

                            (string)dataJSON[key]
                            );
                    }

                    break;
                }
            }
        }
Пример #25
0
        /// <summary>
        /// <see ref="Customer" /> Accepts deserialized json data.
        /// <see ref="Customer" /> Will further parse passed in data.
        /// </summary>
        /// <param name="dataJSON">Deserialized JSON data for Customer</param>
        public Customer(Dictionary <string, object> dataJSON)
        {
            DataJSON = dataJSON;
            Data     = new Dictionary <string, object>();

            foreach (string key in dataJSON.Keys)
            {
                string fieldName  = key;
                Regex  regexAlias = new Regex("^(.+)___.+$");
                Match  match      = regexAlias.Match(key);

                if (match.Success)
                {
                    fieldName = match.Groups[1].Value;
                }

                switch (fieldName)
                {
                case "acceptsMarketing":

                    Data.Add(
                        key,

                        (bool)dataJSON[key]
                        );

                    break;

                case "addresses":

                    Data.Add(
                        key,

                        new MailingAddressConnection((Dictionary <string, object>)dataJSON[key])
                        );

                    break;

                case "createdAt":

                    Data.Add(
                        key,

                        Convert.ToDateTime(dataJSON[key])
                        );

                    break;

                case "defaultAddress":

                    if (dataJSON[key] == null)
                    {
                        Data.Add(key, null);
                    }
                    else
                    {
                        Data.Add(
                            key,

                            new MailingAddress((Dictionary <string, object>)dataJSON[key])
                            );
                    }

                    break;

                case "displayName":

                    Data.Add(
                        key,

                        (string)dataJSON[key]
                        );

                    break;

                case "email":

                    if (dataJSON[key] == null)
                    {
                        Data.Add(key, null);
                    }
                    else
                    {
                        Data.Add(
                            key,

                            (string)dataJSON[key]
                            );
                    }

                    break;

                case "firstName":

                    if (dataJSON[key] == null)
                    {
                        Data.Add(key, null);
                    }
                    else
                    {
                        Data.Add(
                            key,

                            (string)dataJSON[key]
                            );
                    }

                    break;

                case "id":

                    Data.Add(
                        key,

                        (string)dataJSON[key]
                        );

                    break;

                case "lastIncompleteCheckout":

                    if (dataJSON[key] == null)
                    {
                        Data.Add(key, null);
                    }
                    else
                    {
                        Data.Add(
                            key,

                            new Checkout((Dictionary <string, object>)dataJSON[key])
                            );
                    }

                    break;

                case "lastName":

                    if (dataJSON[key] == null)
                    {
                        Data.Add(key, null);
                    }
                    else
                    {
                        Data.Add(
                            key,

                            (string)dataJSON[key]
                            );
                    }

                    break;

                case "orders":

                    Data.Add(
                        key,

                        new OrderConnection((Dictionary <string, object>)dataJSON[key])
                        );

                    break;

                case "phone":

                    if (dataJSON[key] == null)
                    {
                        Data.Add(key, null);
                    }
                    else
                    {
                        Data.Add(
                            key,

                            (string)dataJSON[key]
                            );
                    }

                    break;

                case "tags":

                    Data.Add(
                        key,

                        CastUtils.CastList <List <string> >((IList)dataJSON[key])
                        );

                    break;

                case "updatedAt":

                    Data.Add(
                        key,

                        Convert.ToDateTime(dataJSON[key])
                        );

                    break;
                }
            }
        }
Пример #26
0
        /// <summary>
        /// <see ref="Shop" /> Accepts deserialized json data.
        /// <see ref="Shop" /> Will further parse passed in data.
        /// </summary>
        /// <param name="dataJSON">Deserialized JSON data for Shop</param>
        public Shop(Dictionary <string, object> dataJSON)
        {
            DataJSON = dataJSON;
            Data     = new Dictionary <string, object>();

            foreach (string key in dataJSON.Keys)
            {
                string fieldName  = key;
                Regex  regexAlias = new Regex("^(.+)___.+$");
                Match  match      = regexAlias.Match(key);

                if (match.Success)
                {
                    fieldName = match.Groups[1].Value;
                }

                switch (fieldName)
                {
                case "articles":

                    Data.Add(
                        key,

                        new ArticleConnection((Dictionary <string, object>)dataJSON[key])
                        );

                    break;

                case "blogs":

                    Data.Add(
                        key,

                        new BlogConnection((Dictionary <string, object>)dataJSON[key])
                        );

                    break;

                case "collectionByHandle":

                    if (dataJSON[key] == null)
                    {
                        Data.Add(key, null);
                    }
                    else
                    {
                        Data.Add(
                            key,

                            new Collection((Dictionary <string, object>)dataJSON[key])
                            );
                    }

                    break;

                case "collections":

                    Data.Add(
                        key,

                        new CollectionConnection((Dictionary <string, object>)dataJSON[key])
                        );

                    break;

                case "currencyCode":

                    Data.Add(
                        key,

                        CastUtils.GetEnumValue <CurrencyCode>(dataJSON[key])
                        );

                    break;

                case "description":

                    if (dataJSON[key] == null)
                    {
                        Data.Add(key, null);
                    }
                    else
                    {
                        Data.Add(
                            key,

                            (string)dataJSON[key]
                            );
                    }

                    break;

                case "moneyFormat":

                    Data.Add(
                        key,

                        (string)dataJSON[key]
                        );

                    break;

                case "name":

                    Data.Add(
                        key,

                        (string)dataJSON[key]
                        );

                    break;

                case "paymentSettings":

                    Data.Add(
                        key,

                        new PaymentSettings((Dictionary <string, object>)dataJSON[key])
                        );

                    break;

                case "primaryDomain":

                    Data.Add(
                        key,

                        new Domain((Dictionary <string, object>)dataJSON[key])
                        );

                    break;

                case "privacyPolicy":

                    if (dataJSON[key] == null)
                    {
                        Data.Add(key, null);
                    }
                    else
                    {
                        Data.Add(
                            key,

                            new ShopPolicy((Dictionary <string, object>)dataJSON[key])
                            );
                    }

                    break;

                case "productByHandle":

                    if (dataJSON[key] == null)
                    {
                        Data.Add(key, null);
                    }
                    else
                    {
                        Data.Add(
                            key,

                            new Product((Dictionary <string, object>)dataJSON[key])
                            );
                    }

                    break;

                case "productTags":

                    Data.Add(
                        key,

                        new StringConnection((Dictionary <string, object>)dataJSON[key])
                        );

                    break;

                case "productTypes":

                    Data.Add(
                        key,

                        new StringConnection((Dictionary <string, object>)dataJSON[key])
                        );

                    break;

                case "products":

                    Data.Add(
                        key,

                        new ProductConnection((Dictionary <string, object>)dataJSON[key])
                        );

                    break;

                case "refundPolicy":

                    if (dataJSON[key] == null)
                    {
                        Data.Add(key, null);
                    }
                    else
                    {
                        Data.Add(
                            key,

                            new ShopPolicy((Dictionary <string, object>)dataJSON[key])
                            );
                    }

                    break;

                case "shipsToCountries":

                    Data.Add(
                        key,

                        CastUtils.CastList <List <CountryCode> >((IList)dataJSON[key])
                        );

                    break;

                case "shopifyPaymentsAccountId":

                    if (dataJSON[key] == null)
                    {
                        Data.Add(key, null);
                    }
                    else
                    {
                        Data.Add(
                            key,

                            (string)dataJSON[key]
                            );
                    }

                    break;

                case "termsOfService":

                    if (dataJSON[key] == null)
                    {
                        Data.Add(key, null);
                    }
                    else
                    {
                        Data.Add(
                            key,

                            new ShopPolicy((Dictionary <string, object>)dataJSON[key])
                            );
                    }

                    break;
                }
            }
        }
Пример #27
0
        /// <summary>
        /// <see ref="CheckoutLineItem" /> Accepts deserialized json data.
        /// <see ref="CheckoutLineItem" /> Will further parse passed in data.
        /// </summary>
        /// <param name="dataJSON">Deserialized JSON data for CheckoutLineItem</param>
        public CheckoutLineItem(Dictionary <string, object> dataJSON)
        {
            DataJSON = dataJSON;
            Data     = new Dictionary <string, object>();

            foreach (string key in dataJSON.Keys)
            {
                string fieldName  = key;
                Regex  regexAlias = new Regex("^(.+)___.+$");
                Match  match      = regexAlias.Match(key);

                if (match.Success)
                {
                    fieldName = match.Groups[1].Value;
                }

                switch (fieldName)
                {
                case "customAttributes":

                    Data.Add(
                        key,

                        CastUtils.CastList <List <Attribute> >((IList)dataJSON[key])
                        );

                    break;

                case "discountAllocations":

                    Data.Add(
                        key,

                        CastUtils.CastList <List <DiscountAllocation> >((IList)dataJSON[key])
                        );

                    break;

                case "id":

                    Data.Add(
                        key,

                        (string)dataJSON[key]
                        );

                    break;

                case "quantity":

                    Data.Add(
                        key,

                        (long)dataJSON[key]
                        );

                    break;

                case "title":

                    Data.Add(
                        key,

                        (string)dataJSON[key]
                        );

                    break;

                case "variant":

                    if (dataJSON[key] == null)
                    {
                        Data.Add(key, null);
                    }
                    else
                    {
                        Data.Add(
                            key,

                            new ProductVariant((Dictionary <string, object>)dataJSON[key])
                            );
                    }

                    break;
                }
            }
        }
Пример #28
0
        /// <summary>
        /// <see ref="Metafield" /> Accepts deserialized json data.
        /// <see ref="Metafield" /> Will further parse passed in data.
        /// </summary>
        /// <param name="dataJSON">Deserialized JSON data for Metafield</param>
        public Metafield(Dictionary <string, object> dataJSON)
        {
            DataJSON = dataJSON;
            Data     = new Dictionary <string, object>();

            foreach (string key in dataJSON.Keys)
            {
                string fieldName  = key;
                Regex  regexAlias = new Regex("^(.+)___.+$");
                Match  match      = regexAlias.Match(key);

                if (match.Success)
                {
                    fieldName = match.Groups[1].Value;
                }

                switch (fieldName)
                {
                case "description":

                    if (dataJSON[key] == null)
                    {
                        Data.Add(key, null);
                    }
                    else
                    {
                        Data.Add(
                            key,

                            (string)dataJSON[key]
                            );
                    }

                    break;

                case "id":

                    Data.Add(
                        key,

                        (string)dataJSON[key]
                        );

                    break;

                case "key":

                    Data.Add(
                        key,

                        (string)dataJSON[key]
                        );

                    break;

                case "namespace":

                    Data.Add(
                        key,

                        (string)dataJSON[key]
                        );

                    break;

                case "parentResource":

                    Data.Add(
                        key,

                        UnknownMetafieldParentResource.Create((Dictionary <string, object>)dataJSON[key])
                        );

                    break;

                case "value":

                    Data.Add(
                        key,

                        (string)dataJSON[key]
                        );

                    break;

                case "valueType":

                    Data.Add(
                        key,

                        CastUtils.GetEnumValue <MetafieldValueType>(dataJSON[key])
                        );

                    break;
                }
            }
        }
Пример #29
0
        private static int?ParseApartmentNumber(Match match)
        {
            var numGroup = match.Groups[1].ToString();

            return(CastUtils.ToNullableInt(numGroup));
        }
Пример #30
0
 public string ToSqlString()
 {
     return($"N'{Surname}', N'{Name}', N'{Patronym}', {CastUtils.FormatSqlDate(DateOfBirth)}");
 }