public async Task Posting_command_JSON_applies_a_command_with_the_specified_name_to_an_aggregate_with_the_specified_id()
        {
            var order = new Order(Guid.NewGuid(),
                                  new Order.CustomerInfoChanged { CustomerName = "Joe" });
            await order.SaveToEventStore();
            var json = new AddItem
            {
                Quantity = 5,
                Price = 19.99m,
                ProductName = "Bag o' Treats"
            }.ToJson();

            var request = new HttpRequestMessage(HttpMethod.Post, string.Format("http://contoso.com/orders/{0}/additem", order.Id))
            {
                Content = new StringContent(json, Encoding.UTF8, "application/json")
            };

            var testApi = new TestApi<Order>();
            var client = testApi.GetClient();

            var response = client.SendAsync(request).Result;

            response.StatusCode.Should().Be(HttpStatusCode.OK);

            var updatedOrder = await new SqlEventSourcedRepository<Order>().GetLatest(order.Id);

            updatedOrder.Items.Single().Quantity.Should().Be(5);
        }
Example #2
0
        public static Selection convertToSelection(this AddItem item)
        {
            switch (item)
            {
            case AddItem.Measure:
                return(Selection.Add_Measure);

            case AddItem.Rest:
                return(Selection.Add_Rest);

            case AddItem.Note:
                return(Selection.Add_Note);

            case AddItem.PalmMute:
            case AddItem.Bend:
            case AddItem.PinchHarmonic:
            case AddItem.Vibrato:
                return(Selection.Add_Effect);

            case AddItem.Slide:
            case AddItem.Hopo:
            case AddItem.Tie:
                return(Selection.Add_Multi_Effect);

            case AddItem.Length:
                return(Selection.Set_Length);

            default:
                return(Selection.Standard);
            }
        }
Example #3
0
        public async Task AddProduct(AddItem request, byte[] image)
        {
            //if (request.Sizes.Length != request.Quantities.Length)
            //throw new Exception("Массивы размеров и их количеств не совпадают!");
            var product = await _dbContext.Product.AddAsync(new Product
            {
                VendorCode  = request.VendorCode,
                Name        = request.Name,
                Price       = request.Price,
                Description = request.Description,
                Gender      = request.Gender,
                Category    = request.Category,
                Brand       = request.Brand,
                Color       = request.Color,
                Image       = image
            });

            await _dbContext.SaveChangesAsync();

            for (var i = 0; i < request.Sizes.Length; i++)
            {
                if (request.Quantities[i] > 0)
                {
                    await _dbContext.ProductSize.AddAsync(new ProductSize
                    {
                        ProductId = product.Entity.Id,
                        Size      = request.Sizes[i],
                        Quantity  = request.Quantities[i]
                    });
                }
            }

            await _dbContext.SaveChangesAsync();
        }
Example #4
0
        public SaleViewModel()
        {
            Items         = new BindableCollection <ItemViewModel>();
            IsToolVisible = false;
            PaymentForms  = new BindableCollection <AmountItemViewModel>();
            var pco = Observable.FromEventPattern <PropertyChangedEventArgs>(this, "PropertyChanged")
                      .Select(x => x.EventArgs)
                      .Where(x => x.PropertyName == "ViewState")
                      .Select(x => this.ViewState);
            var normal = pco.Where(x => x == "Normal").Select(x => Unit.Default);
            var other  = pco.Where(x => x != "Normal").Select(x => Unit.Default);

            Scanner.ObservableKeys
            .Where(x => !char.IsWhiteSpace(x))
            .SkipUntil(normal)
            .Publish(o => o.Buffer(() => o.Throttle(TimeSpan.FromMilliseconds(500))))
            .Select(x => string.Join("", x))
            .TakeUntil(other)
            .Repeat()
            .Subscribe(x =>
            {
                AddItem["kodi"] = x;
                AddItem.Execute(null);
            });
        }
Example #5
0
    // Use this for initialization
    void Start()
    {
        if (Application.isEditor)
        {
            C_Stats.ACT = 1f;
        }
        else if (Application.isMobilePlatform)
        {
            C_Stats.ACT = 1.0f;
            ChatGUI.addLine("MobilePlatform Spotted!");
        }
        Get = this;

        ChatGUI.addLine("This Is The Path for Textures!");
        ChatGUI.addLine("Put Textures folder in there, then reload everything to implement the change!");
        ChatGUI.addLine(Application.persistentDataPath);

        ItemCreator = new ITEMS();
        ITEMS.main  = ItemCreator;
        ItemCreator.ADDITEMS();
        ITEMS.main.CreateStatEnchanter(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, " Range_Enchanter", AgilityIcon);
        //ITEMS.main.CreateStatEnchanter(0,55,0,0,0,0,0,0,0,0,0,3,0, " Rang2", AgilityIcon);
        //ITEMS.main.CreateStatEnchanter(0,0,55,0,0,0,0,0,0,0,0,3,0, " Rang3r", AgilityIcon);

        Add_items = add;
        les       = GetComponent <LoadExternalAsSprite>();



        StartCoroutine(load_items());
    }
Example #6
0
        public void Nested_command_contexts_maintain_independent_etag_sequences()
        {
            // arrange
            var target       = Any.Guid().ToString();
            var outerCommand = new AddItem
            {
                ETag = Any.Word()
            };

            var expectedSequence = new List <string>();
            var sequence2        = new List <string>();

            using (var outerCtx = CommandContext.Establish(outerCommand))
            {
                Enumerable.Range(1, 10).ForEach(_ => expectedSequence.Add(outerCtx.NextETag(target)));
            }

            // act
            using (var outerCtx = CommandContext.Establish(outerCommand))
            {
                Enumerable.Range(1, 5).ForEach(_ => sequence2.Add(outerCtx.NextETag(target)));

                using (var innerCtx = CommandContext.Establish(new AddItem()))
                {
                    Console.WriteLine(innerCtx.NextETag(Any.Word()));
                }

                Enumerable.Range(1, 5).ForEach(_ => sequence2.Add(outerCtx.NextETag(target)));
            }

            // assert
            sequence2.Should().Equal(expectedSequence);
        }
 protected override void OnAppearing()
 {
     base.OnAppearing();
     ListView.ItemSelected += FolderSelected;
     AddItem?.InitEvents();
     LoadFoldersAsync().Wait();
 }
Example #8
0
        void Add()
        {
            AddItem addItem = new AddItem();

            addItem.DataContext = new AddItemViewModel(_Items, addItem);
            addItem.ShowDialog();
        }
Example #9
0
        protected static async Task ScheduleCommandAgainstEventSourcedAggregate(
            string targetId,
            string etag,
            DateTimeOffset?dueTime          = null,
            IPrecondition deliveryDependsOn = null)
        {
            var aggregateId = Guid.Parse(targetId);

            var repository = Configuration.Current.Repository <Order>();

            if (await repository.GetLatest(aggregateId) == null)
            {
                await repository.Save(new Order(new CreateOrder(Any.FullName())
                {
                    AggregateId = aggregateId
                }));
            }

            var command = new AddItem
            {
                ETag        = etag,
                ProductName = Any.Word(),
                Price       = 10m
            };

            var scheduledCommand = new ScheduledCommand <Order>(
                command,
                aggregateId,
                dueTime,
                deliveryDependsOn);

            var scheduler = Configuration.Current.CommandScheduler <Order>();

            await scheduler.Schedule(scheduledCommand);
        }
Example #10
0
        private void jDataTreeView1_SelectedItemChange(object sender, TreeViewEventArgs e)
        {
            ClearBackColor();

            _exp         = " 1=1 ";
            SelectedItem = (DataRow)(((System.Windows.Forms.TreeNode)jDataTreeView1.SelectedItem).Tag);
            if (SelectedItem != null)
            {
                if ((((System.Data.DataRow)(((System.Windows.Forms.TreeNode)(jDataTreeView1.SelectedItem)).Tag)).ItemArray[0] != null) && (((System.Data.DataRow)(((System.Windows.Forms.TreeNode)(jDataTreeView1.SelectedItem)).Tag)).ItemArray[0].ToString()) != "-1")
                {
                    if ((((System.Data.DataRow)(((System.Windows.Forms.TreeNode)(jDataTreeView1.SelectedItem)).Tag)).ItemArray[8] != null) && (((System.Data.DataRow)(((System.Windows.Forms.TreeNode)(jDataTreeView1.SelectedItem)).Tag)).ItemArray[8].ToString()) != "")
                    {
                        _exp = _exp + " And " + JTableNamesAutomation.Objects + "." + Objects.objecttype + "=" + ((System.Data.DataRow)(((System.Windows.Forms.TreeNode)(jDataTreeView1.SelectedItem)).Tag)).ItemArray[8].ToString();
                    }
                    if ((((System.Data.DataRow)(((System.Windows.Forms.TreeNode)(jDataTreeView1.SelectedItem)).Tag)).ItemArray[8] != null) && (((System.Data.DataRow)(((System.Windows.Forms.TreeNode)(jDataTreeView1.SelectedItem)).Tag)).ItemArray[7].ToString()) != "")
                    {
                        _exp = _exp + " And " + JTableNamesAutomation.Refer + "." + Refer.sender_post_code + "=" + ((System.Data.DataRow)(((System.Windows.Forms.TreeNode)(jDataTreeView1.SelectedItem)).Tag)).ItemArray[7].ToString();
                    }
                }
                AddItem degAddToList = new AddItem(FilldgCentral);
                this.Invoke(degAddToList, _exp);
                //test();
                //dgCentral.Bind(Filldt(tmprefer.FindReferBycodepostObject(Convert.ToInt32(((DataRowView)(LbPost.SelectedItem))["code"]), _user_code, Convert.ToInt32(cmbObjectType.SelectedValue))), JJanusGrid.JSettingKeys.Central);
            }
        }
Example #11
0
        public void TestAddItem()
        {
            AddItem         req;
            Request         req2;
            RecombeeBinding resp;

            // it 'does not fail with valid entity id'
            req  = new AddItem("valid_id");
            resp = client.Send(req);
            // it 'fails with invalid entity id'
            req = new AddItem("$$$not_valid$$$");
            try
            {
                client.Send(req);
                Assert.True(false, "No exception thrown");
            }
            catch (ResponseException ex)
            {
                Assert.Equal(400, (int)ex.StatusCode);
            }
            // it 'really stores entity to the system'
            req  = new AddItem("valid_id2");
            resp = client.Send(req);
            try
            {
                client.Send(req);
                Assert.True(false, "No exception thrown");
            }
            catch (ResponseException ex)
            {
                Assert.Equal(409, (int)ex.StatusCode);
            }
        }
Example #12
0
        public static EffectType convertToEffectType(this AddItem item)
        {
            switch (item)
            {
            case AddItem.PalmMute:
                return(EffectType.Palm_Mute);

            case AddItem.Bend:
                return(EffectType.Bend);

            case AddItem.PinchHarmonic:
                return(EffectType.Pinch_Harmonic);

            case AddItem.Vibrato:
                return(EffectType.Vibrato);

            case AddItem.Slide:
                return(EffectType.Slide);

            case AddItem.Hopo:
                return(EffectType.HOPO);

            case AddItem.Tie:
                return(EffectType.Tie);

            default:
                return(EffectType.No_Type);
            }
        }
        public async void TestInsertToSeriesAsync()
        {
            InsertToSeries  req;
            Request         req2;
            RecombeeBinding resp;

            // it 'does not fail when inserting existing item into existing set'
            req2 = new AddItem("new_item");
            await client.SendAsync(req2);

            req  = new InsertToSeries("entity_id", "item", "new_item", 3);
            resp = await client.SendAsync(req);

            // it 'does not fail when cascadeCreate is used'
            req  = new InsertToSeries("new_set", "item", "new_item2", 1, cascadeCreate: true);
            resp = await client.SendAsync(req);

            // it 'really inserts item to the set'
            req2 = new AddItem("new_item3");
            await client.SendAsync(req2);

            req  = new InsertToSeries("entity_id", "item", "new_item3", 2);
            resp = await client.SendAsync(req);

            try
            {
                await client.SendAsync(req);

                Assert.True(false, "No exception thrown");
            }
            catch (ResponseException ex)
            {
                Assert.Equal(409, (int)ex.StatusCode);
            }
        }
        private void Button_Click_10(object sender, RoutedEventArgs e)
        {
            AddItem add = new AddItem();

            add.Show();
            this.Close();
        }
Example #15
0
        public void AddItem_Equals_WithDifferentKey_ReturnsFalse()
        {
            var add1 = new AddItem("key1", "value1");
            var add2 = new AddItem("keyN", "value1");

            add1.Equals(add2).Should().BeFalse();
        }
Example #16
0
        private void addBtn_Click(object sender, RoutedEventArgs e)
        {
            AddItem componentTree = null;

            if (selectedUIComponentID != null)
            {
                componentTree = components.FirstOrDefault(x => x.ID == selectedUIComponentID).ComponentTree;
                if (!(componentTree is AddSecureItem))
                {
                    components.FirstOrDefault(x => x.ID == selectedUIComponentID).ExecuteCommand("AddItem", null);
                    return;
                }
            }

            AddItemChildWindow addChildWindow = new AddItemChildWindow(AddItemsList, componentTree);
            bool?dialogResult = addChildWindow.ShowDialog();

            if (dialogResult.Value)
            {
                var c = resolver.GetAllInstancesOf <IUIComponent>().FirstOrDefault(i => i.ID == addChildWindow.SelectedItemType.ComponentId);
                if (c == null)
                {
                    return;
                }
                // var p = new Dictionary<string, object>();
                if (addChildWindow.SelectedItemType is AddSecureItem)
                {
                    var add = Application.Current.Resources["Add"] as string;
                    if (addChildWindow.SelectedSubItemType.CreateItemType == null)
                    {
                        return;
                    }
                    var secureItem = Activator.CreateInstance(addChildWindow.SelectedSubItemType.CreateItemType) as ISecureItemVM;
                    secureItem.ItemTitel             = add + " " + addChildWindow.SelectedSubItemType.ItemTitel;
                    secureItem.FoldersList           = pbData.GetFoldersBySecureItemType();
                    secureItem.Background            = addChildWindow.SelectedSubItemType.BackgoundColor;
                    secureItem.Image                 = ((BitmapImage)addChildWindow.SelectedSubItemType.Icon).ToString();
                    secureItem.AddNewFolder_Clicked += (o, arg) =>
                    {
                        var folder = ServiceLocator.Get <IFolderService>().AddFolder();
                        if (!string.IsNullOrEmpty(folder))
                        {
                            secureItem.FoldersList = pbData.GetFoldersBySecureItemType();
                            secureItem.Folder      = secureItem.FoldersList.FirstOrDefault(x => x.UUID == folder);
                        }
                        ;
                    };
                    //p.Add("item", secureItem);

                    if (c.ViewModel is ISecureHolder)
                    {
                        ((ISecureHolder)c.ViewModel).AddNewItem(secureItem);
                    }
                }



                //c.ExecuteCommand("AddItem", p);
            }
        }
Example #17
0
        private void edit_Button_Click(object sender, EventArgs e)
        {
            var eForm = new AddItem(EditBook, GetSelectedValue(NameA), GetSelectedValue(Author), GetSelectedValue(Publisher),
                                    int.Parse(GetSelectedValue(Year)), int.Parse(GetSelectedValue(Id)), int.Parse(GetSelectedValue(IdPub)), true);

            eForm.Show();
        }
    // Use this for initialization
    void Start()
    {
        ai = AddItem.instance;
        rc = RoomsControls.instance;
        ic = ItemsControls.instance;

        // Store pages in dictionary
        Pages = new Dictionary <string, GameObject>();
        Pages.Add("Summary", GameObject.FindWithTag("Summary"));
        Pages.Add("Rooms", GameObject.FindWithTag("Rooms"));
        Pages.Add("AddRoom", GameObject.FindWithTag("AddRoom"));
        Pages.Add("Items", GameObject.FindWithTag("Items"));
        Pages.Add("AddItem", GameObject.FindWithTag("AddItem"));
        Pages.Add("Receipts", GameObject.FindWithTag("Receipts"));
        Pages.Add("Settings", GameObject.FindWithTag("Settings"));

        InterfaceColour = new Color(0.27f, 0.72f, 1.0f);
        CurrentPage     = Page.Summary;

        ChangePage(CurrentPage);

        // Make some dummy data for the start
        Rooms = new Dictionary <string, Room>();
        Room temp = new Room("Living room", "", RoomType.LivingSpace);

        temp.AddItem(new Item("Table", 75.0f, "Living room", ItemCategory.Furniture, ""));
        Rooms.Add(temp.ObjName, temp);

        temp = new Room("Kitchen", "", RoomType.Kitchen);
        temp.AddItem(new Item("Spaghetti", 13.5f, "Kitchen", ItemCategory.Spaghetti, ""));
        Rooms.Add(temp.ObjName, temp);
    }
Example #19
0
        public void AddItem_SingleTag_WithOnlyKeyAndValue_ParsedSuccessfully()
        {
            // Arrange
            var nugetConfigPath = "NuGet.Config";
            var config          = @"
<configuration>
    <Section>
        <add key='key1' value='value1' />
    </Section>
</configuration>";

            var expectedSetting = new AddItem("key1", "value1");

            using (var mockBaseDirectory = TestDirectory.Create())
            {
                SettingsTestUtils.CreateConfigurationFile(nugetConfigPath, mockBaseDirectory, config);
                var settingsFile = new SettingsFile(mockBaseDirectory);

                // Act
                var section = settingsFile.GetSection("Section");
                section.Should().NotBeNull();

                var element = section.Items.FirstOrDefault() as AddItem;
                element.Should().NotBeNull();

                // Assert
                SettingsTestUtils.DeepEquals(element, expectedSetting).Should().BeTrue();
            }
        }
        public void AddNewItemWithSemicolon()
        {
            // ************************************
            //               BEFORE
            // ************************************
            string projectOriginalContents = @"
                <Project ToolsVersion=`msbuilddefaulttoolsversion` xmlns=`msbuildnamespace`>
                    <ItemGroup>
                        <MyWildCard Include=`*.weirdo`/>
                    </ItemGroup>
                </Project>
                ";


            // ************************************
            //               AFTER
            // ************************************
            string projectNewExpectedContents = @"
                <Project ToolsVersion=`msbuilddefaulttoolsversion` xmlns=`msbuildnamespace`>
                    <ItemGroup>
                        <MyWildCard Include=`*.weirdo`/>
                        <MyWildCard Include=`foo;bar.weirdo`/>
                    </ItemGroup>
                </Project>
                ";

            BuildItem newItem = AddItem.AddNewItemHelper(projectOriginalContents,
                                                         projectNewExpectedContents, "MyWildCard", "foo;bar.weirdo");

            Assertion.AssertEquals("Newly added item should have correct ItemName", "MyWildCard", newItem.Name);
            Assertion.AssertEquals("Newly added item should have correct Include", "foo;bar.weirdo", newItem.Include);
        }
Example #21
0
 /// <summary>
 /// Raises event 'AddItem'
 /// </summary>
 protected virtual void OnAddItem()
 {
     if (AddItem != null)
     {
         AddItem.Invoke(this, System.EventArgs.Empty);
     }
 }
Example #22
0
        public void The_clock_set_in_the_CommandContext_is_used_by_resulting_events()
        {
            var created = DateTimeOffset.Parse("2014-05-15 00:00:00");

            var addItem = new AddItem
            {
                ProductName = "Widget",
                Price = 3.99m
            };

            Order order;
            using (CommandContext.Establish(addItem, Clock.Create(() => created)))
            {
                order = new Order(new CreateOrder(Any.FullName()));
                order.Apply(addItem);
            }

            order.Events()
                 .Count()
                 .Should()
                 .Be(3);
            order.Events()
                 .Should()
                 .OnlyContain(e => e.Timestamp == created);
        }
Example #23
0
        public void AddItem_WithAdditionalMetada_ParsedSuccessfully()
        {
            // Arrange
            var nugetConfigPath = "NuGet.Config";
            var config          = @"
<configuration>
    <Section>
        <add key='key1' value='value1' meta1='data1' meta2='data2'/>
    </Section>
</configuration>";

            var expectedSetting = new AddItem("key1", "value1",
                                              new ReadOnlyDictionary <string, string>(new Dictionary <string, string> {
                { "meta1", "data1" },
                { "meta2", "data2" }
            }));

            using (var mockBaseDirectory = TestDirectory.Create())
            {
                SettingsTestUtils.CreateConfigurationFile(nugetConfigPath, mockBaseDirectory, config);
                var settingsFile = new SettingsFile(mockBaseDirectory);

                // Act
                var section = settingsFile.GetSection("Section");
                section.Should().NotBeNull();

                var value = section.Items.FirstOrDefault() as AddItem;
                value.Should().NotBeNull();

                // Assert
                SettingsTestUtils.DeepEquals(value, expectedSetting).Should().BeTrue();
            }
        }
Example #24
0
        /// <summary>
        ///
        /// </summary>
        private void BtnModifyItemClickEvent()
        {
            if (SelectedIndex < 0)
            {
                MessageBox.Show("Please make a selection into list!", Constants.ProjectTitle);
                return;
            }

            AddItem = new AddItem();
            AddItem.ApplicationName = Constants.ViewNames.ModifyItem;
            AddItem.ProcessFrom     = Constants.ViewNames.ModifyItem;
            AddItem.Vm.ProcessFrom  = Constants.ViewNames.ModifyItem;
            AddItem.txtparentworkspace.IsEnabled = false;
            AddItem.btnsearch.IsEnabled          = false;
            AddItem.workspacetypecombo.IsEnabled = false;
            AddItem.Workspacetext.IsEnabled      = false;
            AddItem.addimage.IsEnabled           = false;
            AddItem.txtOI.IsEnabled            = false;
            AddItem.Vm.WorkspaceItemProperties = WorkspaceItemProperties;
            AddItem.WorkspaceItemProperties    = WorkspaceItemProperties;
            AddItem.Vm.CurrentItem             = SelectedItem;
            AddItem.Vm.DescriptionListItem     = DescriptionListItem;
            AddItem.DescriptionListItem        = DescriptionListItem;
            AddItem.ShowDialog();
            EventBroker.RaiseGetId(new LoadWorkspaceItemEventArgs()
            {
                ItemId = SelectedItem.ItemId
            });
        }
        public async Task Posting_command_JSON_applies_a_command_with_the_specified_name_to_an_aggregate_with_the_specified_id()
        {
            var order = new Order(Guid.NewGuid())
                        .Apply(new ChangeCustomerInfo {
                CustomerName = "Joe"
            })
                        .SavedToEventStore();

            var json = new AddItem
            {
                Quantity    = 5,
                Price       = 19.99m,
                ProductName = "Bag o' Treats"
            }.ToJson();

            var request = new HttpRequestMessage(HttpMethod.Post, $"http://contoso.com/orders/{order.Id}/additem")
            {
                Content = new StringContent(json, Encoding.UTF8, "application/json")
            };

            var testApi = new TestApi <Order>();
            var client  = testApi.GetClient();

            var response = client.SendAsync(request).Result;

            response.StatusCode.Should().Be(HttpStatusCode.OK);

            var updatedOrder = await Configuration.Current.Repository <Order>().GetLatest(order.Id);

            updatedOrder.Items.Single().Quantity.Should().Be(5);
        }
Example #26
0
        public async Task Posting_an_invalid_command_does_not_affect_the_aggregate_state()
        {
            var order = new Order(Guid.NewGuid(),
                                  new Order.CustomerInfoChanged {
                CustomerName = "Joe"
            },
                                  new Order.Fulfilled());
            await order.SaveToEventStore();

            var json = new AddItem
            {
                Quantity    = 5,
                Price       = 19.99m,
                ProductName = "Bag o' Treats"
            }.ToJson();

            var request = new HttpRequestMessage(HttpMethod.Post, string.Format("http://contoso.com/orders/{0}/additem", order.Id))
            {
                Content = new StringContent(json, Encoding.UTF8, "application/json")
            };

            var testApi = new TestApi <Order>();
            var client  = testApi.GetClient();

            var response = client.SendAsync(request).Result;

            response.StatusCode.Should().Be(HttpStatusCode.BadRequest);

            var updatedOrder = await new SqlEventSourcedRepository <Order>().GetLatest(order.Id);

            updatedOrder.Items.Count().Should().Be(0);
        }
        protected virtual void INPIClass_RowSelected(PXCache sender, PXRowSelectedEventArgs e)
        {
            INPIClass row = e.Row as INPIClass;

            if (row == null)
            {
                return;
            }
            PXUIFieldAttribute.SetVisible <INPIClass.lastCountPeriod>(sender, row, row.SelectedMethod == PIInventoryMethod.LastCountDate);
            PXUIFieldAttribute.SetVisible <INPIClass.randomItemsLimit>(sender, row, row.SelectedMethod == PIInventoryMethod.RandomlySelectedItems);

            PXUIFieldAttribute.SetEnabled <INPIClass.aBCCodeID>(sender, row, row.ByFrequency != true);
            PXUIFieldAttribute.SetEnabled <INPIClass.movementClassID>(sender, row, row.ByFrequency != true);
            PXUIFieldAttribute.SetEnabled <INPIClass.cycleID>(sender, row, row.ByFrequency != true);

            this.Items.Cache.AllowInsert         =
                this.Items.Cache.AllowUpdate     =
                    this.Items.Cache.AllowDelete =
                        row.SelectedMethod == PIInventoryMethod.ListOfItems;
            AddItem.SetEnabled(row.SelectedMethod == PIInventoryMethod.ListOfItems);

            this.Locations.Cache.AllowInsert         =
                this.Locations.Cache.AllowUpdate     =
                    this.Locations.Cache.AllowDelete =
                        row.SiteID != null;
        }
        public async Task Posting_an_invalid_command_does_not_affect_the_aggregate_state()
        {
            var order = new Order(Guid.NewGuid())
                .Apply(new ChangeCustomerInfo { CustomerName = "Joe" })
                .Apply(new Deliver())
                .SavedToEventStore();

            var json = new AddItem
            {
                Quantity = 5,
                Price = 19.99m,
                ProductName = "Bag o' Treats"
            }.ToJson();

            var request = new HttpRequestMessage(HttpMethod.Post, $"http://contoso.com/orders/{order.Id}/additem")
            {
                Content = new StringContent(json, Encoding.UTF8, "application/json")
            };

            var testApi = new TestApi<Order>();
            var client = testApi.GetClient();

            var response = client.SendAsync(request).Result;

            response.StatusCode.Should().Be(HttpStatusCode.BadRequest);

            var updatedOrder = await Configuration.Current.Repository<Order>().GetLatest(order.Id);

            updatedOrder.Items.Count.Should().Be(0);
        }
Example #29
0
 public AddItemViewModel(AddItem addItem)
 {
     _addItem       = addItem;
     _posRepository = SettingHelpers.GetRepositoryImplementation();
     Barcode        = SettingHelpers.CurrentBarcode;
     GetUnitTypeList();
 }
Example #30
0
        public void The_clock_set_in_the_CommandContext_is_used_by_resulting_events()
        {
            var created = DateTimeOffset.Parse("2014-05-15 00:00:00");

            var addItem = new AddItem
            {
                ProductName = "Widget",
                Price       = 3.99m,
            };

            Order order;

            using (CommandContext.Establish(addItem, Clock.Create(() => created)))
            {
                order = new Order(new CreateOrder(Any.FullName()));
                order.Apply(addItem);
            }

            order.Events()
            .Count()
            .Should()
            .Be(3);
            order.Events()
            .Should()
            .OnlyContain(e => e.Timestamp == created);
        }
Example #31
0
        private void buttonX1_Click(object sender, EventArgs e)
        {
            senderItem = InputItem;
            AddShipment shipment = new AddShipment();

            shipment.ShowDialog();
        }
Example #32
0
        public void SourceItem_CaseInsensitive_ParsedSuccessfully()
        {
            // Arrange
            var config = @"
<configuration>
    <section>
        <AdD key='key' value='val' />
    </section>
</configuration>";

            var expectedValue = new AddItem("key", "val");

            var nugetConfigPath = "NuGet.Config";

            using (var mockBaseDirectory = TestDirectory.Create())
            {
                SettingsTestUtils.CreateConfigurationFile(nugetConfigPath, mockBaseDirectory, config);

                // Act and Assert
                var settingsFile = new SettingsFile(mockBaseDirectory);
                settingsFile.Should().NotBeNull();

                var section = settingsFile.GetSection("section");
                section.Should().NotBeNull();

                var children = section.Items.ToList();

                children.Should().NotBeEmpty();
                children.Count.Should().Be(1);

                SettingsTestUtils.DeepEquals(children[0], expectedValue).Should().BeTrue();
            }
        }
        public void AddNewItemThatMatchesWildcard2()
        {
            // ************************************
            //               BEFORE
            // ************************************
            string projectOriginalContents = @"
                <Project ToolsVersion=`msbuilddefaulttoolsversion` xmlns=`msbuildnamespace`>
                    <ItemGroup>
                        <MyWildCard Include=`*.AAA%253bBBB`/>
                    </ItemGroup>
                </Project>
                ";


            // ************************************
            //               AFTER
            // ************************************
            string projectNewExpectedContents = @"
                <Project ToolsVersion=`msbuilddefaulttoolsversion` xmlns=`msbuildnamespace`>
                    <ItemGroup>
                        <MyWildCard Include=`*.AAA%253bBBB`/>
                    </ItemGroup>
                </Project>
                ";

            BuildItem newItem = AddItem.AddNewItemHelper(projectOriginalContents,
                                                         projectNewExpectedContents, "MyWildCard", "foobar.AAA%253bBBB");

            Assertion.AssertEquals("Newly added item should have correct ItemName", "MyWildCard", newItem.Name);
            Assertion.AssertEquals("Newly added item should have correct Include", "*.AAA%253bBBB", newItem.Include);
            Assertion.AssertEquals("Newly added item should have correct FinalItemSpec", "foobar.AAA%253bBBB", newItem.FinalItemSpecEscaped);
            Assertion.AssertEquals("Newly added item should have correct FinalItemSpec", "foobar.AAA%3bBBB", newItem.FinalItemSpec);
        }
        public async Task When_a_command_is_delivered_a_second_time_with_the_same_ETag_it_is_not_retried_afterward()
        {
            // arrange
            var order = new Order(new CreateOrder(Any.FullName())
            {
                CustomerId = Any.Guid()
            });
            await orderRepository.Save(order);

            var command = new AddItem
            {
                ProductName = Any.Word(),
                Price = 10m,
                ETag = Any.Guid().ToString()
            };

            var commandScheduler = Configuration.Current.Container.Resolve<ICommandScheduler<Order>>();

            // act
            await commandScheduler.Schedule(order.Id, command, Clock.Now().AddDays(1));
            Thread.Sleep(1); // the sequence number is set from the current tick count, which every now and then produces a duplicate here 
            await commandScheduler.Schedule(order.Id, command, Clock.Now().AddDays(1));
            await clockTrigger.Trigger(cmd => cmd.Where(c => c.AggregateId == order.Id));

            // assert
            order = await orderRepository.GetLatest(order.Id);

            order.Balance.Should().Be(10);

            using (var db = new CommandSchedulerDbContext())
            {
                db.ScheduledCommands
                  .Where(c => c.AggregateId == order.Id)
                  .Should()
                  .OnlyContain(c => c.AppliedTime != null);

                db.Errors
                  .Where(c => c.ScheduledCommand.AggregateId == order.Id)
                  .Should()
                  .BeEmpty();
            }
        }
        protected static async Task ScheduleCommandAgainstEventSourcedAggregate(
            string targetId,
            string etag,
            DateTimeOffset? dueTime = null,
            IPrecondition deliveryDependsOn = null)
        {
            var aggregateId = Guid.Parse(targetId);

            var repository = Configuration.Current.Repository<Order>();

            if (await repository.GetLatest(aggregateId) == null)
            {
                await repository.Save(new Order(new CreateOrder(Any.FullName())
                {
                    AggregateId = aggregateId
                }));
            }

            var command = new AddItem
            {
                ETag = etag,
                ProductName = Any.Word(),
                Price = 10m
            };

            var scheduledCommand = new ScheduledCommand<Order>(
                command,
                aggregateId,
                dueTime,
                deliveryDependsOn);

            var scheduler = Configuration.Current.CommandScheduler<Order>();

            await scheduler.Schedule(scheduledCommand);
        }
        public void Nested_command_contexts_maintain_independent_etag_sequences()
        {
            // arrange
            var target = Any.Guid().ToString();
            var outerCommand = new AddItem
            {
                ETag = Any.Word()
            };

            var expectedSequence = new List<string>();
            var sequence2 = new List<string>();

            using (var outerCtx = CommandContext.Establish(outerCommand))
            {
                Enumerable.Range(1, 10).ForEach(_ => expectedSequence.Add(outerCtx.NextETag(target)));
            }

            // act
            using (var outerCtx = CommandContext.Establish(outerCommand))
            {
                Enumerable.Range(1, 5).ForEach(_ => sequence2.Add(outerCtx.NextETag(target)));

                using (var innerCtx = CommandContext.Establish(new AddItem()))
                {
                    Console.WriteLine(innerCtx.NextETag(Any.Word()));
                }

                Enumerable.Range(1, 5).ForEach(_ => sequence2.Add(outerCtx.NextETag(target)));
            }

            // assert
            sequence2.Should().Equal(expectedSequence);
        }
        public async Task NextETag_returns_a_different_value_each_time()
        {
            var target = Any.Guid().ToString();
            var command = new AddItem
            {
                ETag = Any.Word()
            };

            var etags = new HashSet<string>();

            using (var ctx = CommandContext.Establish(command))
            {
                Enumerable.Range(1, 100).ForEach(_ => etags.Add(ctx.NextETag(target)));
            }

            etags.Count().Should().Be(100);
        }
        public async Task When_a_command_is_delivered_a_second_time_with_the_same_ETag_it_is_not_retried_afterward()
        {
            // arrange
            var order = new Order(new CreateOrder(Any.FullName())
            {
                CustomerId = Any.Guid()
            });
            await Save(order);

            var command = new AddItem
            {
                ProductName = Any.Word(),
                Price = 10m,
                ETag = Any.Guid().ToString()
            };

            // act
            var scheduledCommand = await Schedule(order.Id, command, Clock.Now().AddDays(1));

            var deliverer = Configuration
                .Current
                .CommandDeliverer<Order>();

            await deliverer.Deliver(scheduledCommand);
            await deliverer.Deliver(scheduledCommand);
    
            // assert
            order = await Get<Order>(order.Id);

            order.Balance.Should().Be(10);

            using (var db = CommandSchedulerDbContext())
            {
                db.ScheduledCommands
                  .Where(c => c.AggregateId == order.Id)
                  .Should()
                  .OnlyContain(c => c.AppliedTime != null);

                db.Errors
                  .Where(c => c.ScheduledCommand.AggregateId == order.Id)
                  .Should()
                  .BeEmpty();
            }
        }
        public void A_series_of_calls_to_NextETag_produces_a_different_etag_per_call()
        {
            var target = Any.Guid().ToString();
            var command = new AddItem
            {
                ETag = Any.Word()
            };

            var sequence = new List<string>();

            using (var ctx = CommandContext.Establish(command))
            {
                Enumerable.Range(1, 10).ForEach(_ => sequence.Add(ctx.NextETag(target)));
            }

            sequence.Distinct().Should().HaveCount(10);
        }
        public async Task An_ETag_header_is_applied_to_the_command()
        {
            var order = new Order(Guid.NewGuid())
                .Apply(new ChangeCustomerInfo { CustomerName = "Joe" })
                .SavedToEventStore();

            var json = new AddItem
            {
                Quantity = 5,
                Price = 19.99m,
                ProductName = "Bag o' Treats"
            }.ToJson();
            
            var etag = new EntityTagHeaderValue("\"" + Any.Guid() + "\"");

            Func<HttpRequestMessage> createRequest = () =>
            {
                var request = new HttpRequestMessage(HttpMethod.Post, $"http://contoso.com/orders/{order.Id}/additem")
                {
                    Content = new StringContent(json, Encoding.UTF8, "application/json")
                };
                request.Headers.IfNoneMatch.Add(etag);
                return request;
            };

            var testApi = new TestApi<Order>();
            var client = testApi.GetClient();

            // act: send the request twice
            var response1 = await client.SendAsync(createRequest());
            var response2 = await client.SendAsync(createRequest());

            // assert
            response1.ShouldSucceed(HttpStatusCode.OK);
            response2.ShouldFailWith(HttpStatusCode.NotModified);

            var updatedOrder = await Configuration.Current.Repository<Order>().GetLatest(order.Id);
            updatedOrder.Items.Single().Quantity.Should().Be(5);
        }
        public void A_series_of_calls_to_NextETag_produces_the_same_sequence_given_the_same_initial_etag()
        {
            var target = Any.Guid().ToString();
            var command = new AddItem
            {
                ETag = Any.Word()
            };

            var sequence1 = new List<string>();
            var sequence2 = new List<string>();

            using (var ctx = CommandContext.Establish(command))
            {
                Enumerable.Range(1, 10).ForEach(_ => sequence1.Add(ctx.NextETag(target)));
            }

            using (var ctx = CommandContext.Establish(command))
            {
                Enumerable.Range(1, 10).ForEach(_ => sequence2.Add(ctx.NextETag(target)));
            }

            sequence1.Should().Equal(sequence2);
        }
Example #42
0
 public void AddItem(AddItem rpc)
 {
     Item item = (Item)rpc.item;
     itemStacks.Find((ItemStack s) => { return s.IsPushable(item); }).Push(item);
     if (isMine)
         GlobalSound.instance.PlayItemPick();
 }