Ejemplo n.º 1
0
        public PageData <Product> ProductPage(PageReq pageReq)
        {
            var conn = DbConnectionFactory.CreateConnection();

            var dParas = new DynamicParameters();

            dParas.Add("@page", pageReq.PageIndex);
            dParas.Add("@pagesize", pageReq.PageSize);
            dParas.Add("@fields", "*");
            dParas.Add("@tablename", "Product");
            dParas.Add("@filter", "");
            dParas.Add("@orderby", pageReq.OrderBy);
            dParas.Add("@primarykey", "AutoId");
            dParas.Add("@total", direction: ParameterDirection.Output);

            var data = conn.Query <Product>("procPageQuery", param: dParas, commandType: CommandType.StoredProcedure);

            var total = dParas.Get <int>("@total");

            var pages = (int)Math.Ceiling((double)total / pageReq.PageSize);

            return(PageData <Product> .Create(pageReq.PageIndex, pageReq.PageSize, pages, total, data));
        }
Ejemplo n.º 2
0
        public PageData <ProductCategory> ProductCategoryPage(PageReq pageReq)
        {
            using (var conn = DbConnectionFactory.CreateConnection())
            {
                conn.Open();

                var dParas = new DynamicParameters();
                dParas.Add("@page", pageReq.PageIndex);
                dParas.Add("@pagesize", pageReq.PageSize);
                dParas.Add("@fields", "*");
                dParas.Add("@tablename", "productcategory");
                dParas.Add("@filter", "");
                dParas.Add("@orderby", pageReq.OrderBy);
                dParas.Add("@primarykey", "AutoId");
                dParas.Add("@total", direction: ParameterDirection.Output);

                var data = conn.Query <ProductCategory>("procPageQuery",
                                                        param: dParas, commandType: CommandType.StoredProcedure);

                var total = dParas.Get <int>("@total");

                if (data != null)
                {
                    foreach (var pc in data)
                    {
                        var sql = "select p.* from product p left join productcategorylink l on p.autoid=l.productid where l.categoryid=" + pc.AutoId;

                        pc.Products = conn.Query <Product>(sql).ToList();
                    }
                }

                var pages = (int)Math.Ceiling((double)total / pageReq.PageSize);

                return(PageData <ProductCategory> .Create(pageReq.PageIndex, pageReq.PageSize, pages, total, data));
            }
        }
Ejemplo n.º 3
0
        async partial void AddButtonPageClick(UIButton sender)
        {
            if (client != null && client.IsConnected)
            {
                Output("Creating tile...");

                // remove an old tile
                try {
                    var tiles = await client.TileManager.GetTilesTaskAsync();

                    if (tiles.Any(x => x.TileId.AsString() == tileId.AsString()))
                    {
                        // a tile exists, so remove it
                        await client.TileManager.RemoveTileTaskAsync(tileId);

                        Output("Removed tile!");
                    }
                } catch (BandException ex) {
                    Output("Error: " + ex.Message);
                }

                // create the tile
                NSError operationError;
                var     tileName  = "iOS Sample";
                var     tileIcon  = BandIcon.FromUIImage(UIImage.FromBundle("tile.png"), out operationError);
                var     smallIcon = BandIcon.FromUIImage(UIImage.FromBundle("badge.png"), out operationError);
                var     tile      = BandTile.Create(tileId, tileName, tileIcon, smallIcon, out operationError);
                tile.BadgingEnabled = true;

                // create the button page
                var textBlock = new TextBlock(PageRect.Create(0, 0, 200, 40), TextBlockFont.Small);
                textBlock.ElementId           = 10;
                textBlock.Baseline            = 25;
                textBlock.HorizontalAlignment = HorizontalAlignment.Center;
                textBlock.BaselineAlignment   = TextBlockBaselineAlignment.Relative;
                textBlock.AutoWidth           = false;
                textBlock.Color   = BandColor.FromUIColor(UIColor.Red, out operationError);
                textBlock.Margins = Margins.Create(5, 2, 5, 2);

                var button = new TextButton(PageRect.Create(0, 0, 200, 40));
                button.ElementId           = 11;
                button.HorizontalAlignment = HorizontalAlignment.Center;
                button.PressedColor        = BandColor.FromUIColor(UIColor.Purple, out operationError);
                button.Margins             = Margins.Create(5, 2, 5, 2);

                var flowPanel = new FlowPanel(PageRect.Create(15, 0, 260, 105));
                flowPanel.AddElement(textBlock);
                flowPanel.AddElement(button);

                var pageLayout = new PageLayout();
                pageLayout.Root = flowPanel;
                tile.PageLayouts.Add(pageLayout);

                // add the tile to the band
                try {
                    Output("Adding tile...");
                    await client.TileManager.AddTileTaskAsync(tile);
                } catch (BandException ex) {
                    Output("Error: " + ex.Message);
                }

                // set the page data
                try {
                    Output("Creating page data...");
                    var pageValues = new PageElementData [] {
                        TextBlockData.Create(textBlock.ElementId, "TextButton sample", out operationError),
                        TextButtonData.Create(button.ElementId, "Press Me", out operationError)
                    };
                    var page = PageData.Create(barcodePageId, 0, pageValues);

                    await client.TileManager.SetPagesTaskAsync(new[] { page }, tileId);

                    Output("Completed custom page!");
                } catch (BandException ex) {
                    Output("Error: " + ex.Message);
                }
            }
            else
            {
                Output("Band is not connected. Please wait....");
            }
        }