示例#1
0
        public async void DeleteAccount_RelatedChargedPaymentsRemoved()
        {
            // Arrange
            var accountService = new AccountService(ambientDbContextLocator, dbContextScopeFactory);
            var paymentService = new PaymentService(ambientDbContextLocator, dbContextScopeFactory);

            var account = new Account(new AccountEntity
            {
                Name = "Testtext"
            });

            await accountService.SaveAccount(account);

            var payment = new Payment(new PaymentEntity
            {
                Note           = "Foo",
                ChargedAccount = account.Data
            });

            // Act
            await paymentService.SavePayments(payment);

            Assert.Equal(1, MvxEnumerableExtensions.Count((await accountService.GetAllAccounts())));
            Assert.Equal(1, MvxEnumerableExtensions.Count((await paymentService.GetPaymentsByAccountId(account.Data.Id))));

            await accountService.DeleteAccount(account);

            // Assert
            Assert.False((await accountService.GetAllAccounts()).Any());
            Assert.False((await paymentService.GetPaymentsByAccountId(account.Data.Id)).Any());
        }
        public Tuple <int, int> GetPositions(object childItem)
        {
            int groupPosition = 0;

            foreach (var item in this._itemsSource)
            {
                int childPosition = MvxEnumerableExtensions.GetPosition((IEnumerable)item, childItem);
                if (childPosition != -1)
                {
                    return(new Tuple <int, int>(groupPosition, childPosition));
                }

                groupPosition++;
            }

            return(null);
        }
示例#3
0
        public override void ViewDidLoad()
        {
            //base.ViewDidLoad();

            var scrollView = new UIScrollView(View.Frame)
            {
                ShowsHorizontalScrollIndicator = false,
                AutoresizingMask = UIViewAutoresizing.FlexibleHeight,
                BackgroundColor  = Style.Menu.BackgroundColor
            };

            int     top = 120, left = 30;
            UIImage divider = UIImage.FromBundle("divider");

            MenuViewModel.MenuItems.Add(new MenuItem()
            {
                menu_title = Translator.GetText("gallery"),
                page_title = Translator.GetText("gallery"),
                url        = string.Empty
            });

            for (var i = 0; i < MenuViewModel.MenuItems.Count; i++)
            {
                MenuItem item = MenuViewModel.MenuItems[i];

                if (MvxEnumerableExtensions.ElementAt(menuIds, i) != null)
                {
                    var img       = UIImage.FromBundle(menuIds[i])?.ImageWithRenderingMode(UIImageRenderingMode.AlwaysTemplate);
                    var btnHeight = img?.Size.Height + 10 ?? 20;

                    var btn = new ButtonMenu(new CGRect(0, top, scrollView.Frame.Width, btnHeight), item, img)
                    {
                        ContentEdgeInsets = new UIEdgeInsets(0, left, 0, 0),
                        ContentMode       = UIViewContentMode.ScaleAspectFit
                    };

                    btn.TouchUpInside += OnMenuItemClick;

                    if (i == 0)
                    {
                        btn.Selected       = true;
                        lastSelectedButton = btn;
                    }

                    scrollView.Add(btn);

                    top += (int)btn.Frame.Height;

                    var leftSeparator = left + btn.TitleEdgeInsets.Left;
                    leftSeparator += btn.CurrentImage?.Size.Width ?? 0;

                    var separator = new UIImageView(new CGRect(leftSeparator, top, scrollView.Frame.Width - 160, 5))
                    {
                        Image = divider
                    };

                    scrollView.Add(separator);

                    top += (int)separator.Frame.Height + 10;
                }
            }

            Add(scrollView);


            View.SubviewsDoNotTranslateAutoresizingMaskIntoConstraints();

            View.AddConstraints(
                scrollView.AtLeftOf(View),
                scrollView.AtTopOf(View),
                scrollView.WithSameWidth(View),
                scrollView.WithSameHeight(View));

            //scrollView.SubviewsDoNotTranslateAutoresizingMaskIntoConstraints();

            // var constraints = scrollView.VerticalStackPanelConstraints(new Margins(20, 120, 0, 10, 5, 5), scrollView.Subviews);
            //
            // scrollView.AddConstraints(constraints);
        }