Beispiel #1
0
        public void ToSvOrderLineItem()
        {
            const string quantity      = "32";
            long?        amount        = 21;
            var          unitPrice     = new Money(amount, "USD");
            var          orderLineItem = new OrderLineItem(null, null, Quantity: quantity)
            {
                BasePriceMoney = unitPrice
            };
            const string sku             = "testSku3";
            const string catalogObjectId = "asdfsdf";
            var          item            = new SquareItem
            {
                VariationId = catalogObjectId,
                Sku         = sku
            };
            Money totalTax = new Money(6, "SOS");

            orderLineItem.Discounts = new List <OrderLineItemDiscount>
            {
                new OrderLineItemDiscount(),
                new OrderLineItemDiscount()
            };
            orderLineItem.TotalTaxMoney = totalTax;

            var result = orderLineItem.ToSvOrderLineItem(item);

            result.Sku.Should().Be(sku);
            result.Quantity.Should().Be(quantity);
            result.UnitPrice.Should().Be(orderLineItem.BasePriceMoney.ToNMoney());
            result.Discounts.Count().Should().Be(orderLineItem.Discounts.Count());
            result.TotalTax.Should().Be(totalTax.ToNMoney());
        }
 public void MoveCircle(SquareItem item, Vector2 newPos)
 {
     if (CircleObject.Squares.Contains(item))
     {
         CircleObject.MoveTowardPos(newPos);
     }
 }
 public RowObject(int length)
 {
     Length      = length;
     Items       = new SquareItem[length];
     Occupied    = 0;
     MergedTiles = new List <int>(2);
 }
 public void InitGrid()
 {
     for (int i = 0; i < 6; i++)
     {
         for (int j = 0; j < 6; j++)
         {
             var        pos    = new Vector2(i, j) * SpawnOffset;
             SquareItem square = Instantiate(SquarePrefab, pos, Quaternion.identity) as SquareItem;
             square.Init(this, pos);
             _squares.Add(square);
         }
     }
 }
            public bool TryMerge(SquareItem item, out int score)
            {
                if (CanMerge(item))
                {
                    score = Merge();
                    return(true);
                }

                Items[LastNonOccupiedIndex] = item;
                Occupied++;

                score = 0;
                return(false);
            }
Beispiel #6
0
        private static GameState AssignRows(GameState state, int[] numbers)
        {
            foreach (var row in state.Squares)
            {
                for (var i = 0; i < numbers.Length; i++)
                {
                    var number = numbers[i];
                    if (number != 0)
                    {
                        row[i] = new SquareItem(number);
                    }
                }
            }

            return(state);
        }
Beispiel #7
0
        private static GameState AssignColumns(GameState state, int[] numbers)
        {
            for (var i = 0; i < state.Squares.Length; i++)
            {
                var row    = state.Squares[i];
                var number = numbers[i];
                for (var j = 0; j < numbers.Length; j++)
                {
                    if (number != 0)
                    {
                        row[j] = new SquareItem(number);
                    }
                }
            }

            return(state);
        }
            private bool CanMerge(SquareItem item)
            {
                if (Occupied <= 0)
                {
                    return(false);
                }

                var nextIndex = LastNonOccupiedIndex + 1;

                // already merged items can't be merged again within the same move
                if (MergedTiles.Contains(nextIndex))
                {
                    return(false);
                }

                return(item.Number == Items[nextIndex].Number);
            }
Beispiel #9
0
        public static SquareOrderLineItem ToSvOrderLineItem(this OrderLineItem orderLineItem, SquareItem item)
        {
            if (item == null)
            {
                return(null);
            }

            return(new SquareOrderLineItem
            {
                Quantity = orderLineItem.Quantity,
                UnitPrice = orderLineItem.BasePriceMoney?.ToNMoney(),
                Sku = item?.Sku,
                Discounts = orderLineItem.Discounts?.ToSvDiscounts().ToList(),
                TotalTax = orderLineItem.TotalTaxMoney?.ToNMoney()
            });
        }
Beispiel #10
0
 public static SquareItem Copy(SquareItem item)
 {
     return(item == null
         ? null
         : new SquareItem(item.Number, item.IsNew, item.IsMerged));
 }
Beispiel #11
0
 public void Write(TProtocol oprot)
 {
     oprot.IncrementRecursionDepth();
     try
     {
         TStruct struc = new TStruct("SearchItemUnion");
         oprot.WriteStructBegin(struc);
         TField field = new TField();
         if (CategoryItem != null && __isset.categoryItem)
         {
             field.Name = "categoryItem";
             field.Type = TType.Struct;
             field.ID   = 1;
             oprot.WriteFieldBegin(field);
             CategoryItem.Write(oprot);
             oprot.WriteFieldEnd();
         }
         if (SpotItem != null && __isset.spotItem)
         {
             field.Name = "spotItem";
             field.Type = TType.Struct;
             field.ID   = 2;
             oprot.WriteFieldBegin(field);
             SpotItem.Write(oprot);
             oprot.WriteFieldEnd();
         }
         if (ProductItem != null && __isset.productItem)
         {
             field.Name = "productItem";
             field.Type = TType.Struct;
             field.ID   = 3;
             oprot.WriteFieldBegin(field);
             ProductItem.Write(oprot);
             oprot.WriteFieldEnd();
         }
         if (ServiceItem != null && __isset.serviceItem)
         {
             field.Name = "serviceItem";
             field.Type = TType.Struct;
             field.ID   = 4;
             oprot.WriteFieldBegin(field);
             ServiceItem.Write(oprot);
             oprot.WriteFieldEnd();
         }
         if (YellowpageItem != null && __isset.yellowpageItem)
         {
             field.Name = "yellowpageItem";
             field.Type = TType.Struct;
             field.ID   = 5;
             oprot.WriteFieldBegin(field);
             YellowpageItem.Write(oprot);
             oprot.WriteFieldEnd();
         }
         if (OaItem != null && __isset.oaItem)
         {
             field.Name = "oaItem";
             field.Type = TType.Struct;
             field.ID   = 6;
             oprot.WriteFieldBegin(field);
             OaItem.Write(oprot);
             oprot.WriteFieldEnd();
         }
         if (GeoAddressItem != null && __isset.geoAddressItem)
         {
             field.Name = "geoAddressItem";
             field.Type = TType.Struct;
             field.ID   = 7;
             oprot.WriteFieldBegin(field);
             GeoAddressItem.Write(oprot);
             oprot.WriteFieldEnd();
         }
         if (ShortcutItem != null && __isset.shortcutItem)
         {
             field.Name = "shortcutItem";
             field.Type = TType.Struct;
             field.ID   = 8;
             oprot.WriteFieldBegin(field);
             ShortcutItem.Write(oprot);
             oprot.WriteFieldEnd();
         }
         if (SquareItem != null && __isset.squareItem)
         {
             field.Name = "squareItem";
             field.Type = TType.Struct;
             field.ID   = 9;
             oprot.WriteFieldBegin(field);
             SquareItem.Write(oprot);
             oprot.WriteFieldEnd();
         }
         if (SquareCategoryItem != null && __isset.squareCategoryItem)
         {
             field.Name = "squareCategoryItem";
             field.Type = TType.Struct;
             field.ID   = 10;
             oprot.WriteFieldBegin(field);
             SquareCategoryItem.Write(oprot);
             oprot.WriteFieldEnd();
         }
         oprot.WriteFieldStop();
         oprot.WriteStructEnd();
     }
     finally
     {
         oprot.DecrementRecursionDepth();
     }
 }