public ActionResult ListOrders(TableRequestModel request, FiltersModel model)
        {
            var entities = new NorthwindEntities(NorthwindServiceUrl);
            var orders   = entities.Orders.Expand(o => o.Customer).Expand(o => o.Shipper).Expand(o => o.Order_Details);

            return(TableResult.From(orders).Build <OrderTable>(request));
        }
Beispiel #2
0
        public async Task <TableResponseModel> Edit(Guid id, TableRequestModel tableRequest)
        {
            Log.Logger = new LoggerConfiguration()
                         .WriteTo.Console()
                         .WriteTo.File("C:\\test\\log.txt")
                         .CreateLogger();

            try
            {
                await _repository.EditAsync(id, new Table { Seats = tableRequest.numberOfSeats });
            }
            catch (Exception e)
            {
                Log.Information("Failed to edit table {Id}, info: {Table}", id, tableRequest);
                return(new TableResponseModel()
                {
                    ErrorMessage = e.Message, Success = false, Tables = null
                });
            }
            Log.Information("Editet, info: {Table}", tableRequest);
            return(new TableResponseModel()
            {
                ErrorMessage = null, Success = true, Tables = null
            });
        }
Beispiel #3
0
        public ActionResult ListShippers(TableRequestModel request)
        {
            var entities   = new NorthwindEntities(NorthwindServiceUrl);
            var shippers   = entities.Shippers.ToList();
            int rowsNumber = 20;

            return(TableResult.From(shippers).Build <ViewConfigedMvcTable <Shipper> >(request, rowsNumber));
        }
Beispiel #4
0
        public ActionResult ListOrders(TableRequestModel request, FiltersModel model)
        {
            var entities = new NorthwindEntities(NorthwindServiceUrl);
            var orders   = entities.Orders.Expand(o => o.Customer).Expand(o => o.Shipper).Expand(o => o.Order_Details);
            var table    = TableResult.From(orders).Build <OrderTable>(request);

            table.Overrides.HideColumn(order => order.ShipRegion);

            return(table);
        }
Beispiel #5
0
        public async Task <IActionResult> Post([FromBody] TableRequestModel tableRequest)
        {
            var tableToAdd = await _tableService.Add(tableRequest.numberOfSeats);

            if (!tableToAdd.Success)
            {
                return(BadRequest());
            }
            return(Ok(tableToAdd));
        }
Beispiel #6
0
        public async Task <ActionResult> Put(Guid id, [FromBody] TableRequestModel tableRequest)
        {
            var tableToUpdate = await _tableService.Edit(id, tableRequest);

            if (!tableToUpdate.Success)
            {
                return(BadRequest());
            }
            return(Ok(tableToUpdate));
        }
Beispiel #7
0
        public ActionResult ListParentOrders(TableRequestModel request, string nameFilter)
        {
            var entities = new NorthwindEntities(NorthwindServiceUrl);
            IQueryable <Order> orders = entities.Orders.Expand(o => o.Customer).Expand(o => o.Shipper).Expand(o => o.Order_Details);

            if (!String.IsNullOrEmpty(nameFilter))
            {
                orders = orders.Where(o => o.Customer.ContactName.Contains(nameFilter));
            }
            return(TableResult.From(orders).Build <ParentOrderTable>(request));
        }
Beispiel #8
0
        public ActionResult ListOrdersForFilters(TableRequestModel request, FiltersModel model)
        {
            var entities = new NorthwindEntities(NorthwindServiceUrl);
            IQueryable <Order> orders =
                entities.Orders.Expand(o => o.Customer).Expand(o => o.Shipper).Expand(o => o.Order_Details);

            if (!String.IsNullOrEmpty(model.SelectedCustomerId))
            {
                orders = orders.Where(o => o.CustomerID == model.SelectedCustomerId);
            }
            return(TableResult.From(orders).Build <OrderFilterTable>(request));
        }
Beispiel #9
0
        public ActionResult ListChildOrderDetails(TableRequestModel request, int?orderId)
        {
            var entities = new NorthwindEntities(NorthwindServiceUrl);
            IQueryable <Order_Detail> orderDetails = entities.Order_Details.Expand(o => o.Product);

            if (orderId == null)
            {
                orderDetails = orderDetails.Where(o => false);
            }
            else
            {
                orderDetails = orderDetails.Where(o => o.OrderID == orderId.Value);
            }

            return(TableResult.From(orderDetails).Build <ChildOrderDetailTable>(request));
        }
        public void Render(IEnumerable <TModel> rows, TableRequestModel model, System.IO.TextWriter writer)
        {
            var columns = new XElement("columns");

            columns.Add(_tableDefinition.Columns.Select(x => new XElement("column", x.Name)));
            var xrows = new XElement("rows");

            xrows.Add(
                rows.Select(
                    r =>
                    new XElement("row",
                                 _tableDefinition.Columns.Select(
                                     t =>
                                     new XElement("cell", t.GetRawValue(r))))));
            var table = new XElement("table", columns, xrows);

            table.Save(writer);
        }
        public void Render(IEnumerable <TModel> rows, TableRequestModel model, ControllerContext context)
        {
            context.HttpContext.Response.ContentType = "application/xml";
            var columns = new XElement("columns");

            columns.Add(_tableDefinition.Columns.Select(x => new XElement("column", x.Name)));
            var xrows = new XElement("rows");

            xrows.Add(
                rows.Select(
                    r =>
                    new XElement("row",
                                 _tableDefinition.Columns.Select(
                                     t =>
                                     new XElement("cell", t.GetRawValue(r))))));
            var table = new XElement("table", columns, xrows);

            table.Save(context.HttpContext.Response.OutputStream);
        }
Beispiel #12
0
        public static ITableRender <TModel> Get <TModel>(ITableDefinition <TModel> config,
                                                         TableRequestModel model,
                                                         ITableUrlManager urlManager)
        {
            switch (model.Format)
            {
            case TableRenderFormat.Html:
                return(new HtmlTableRender <TModel>(config, urlManager));

            case TableRenderFormat.Json:
                return(new JsonArrayTableRender <TModel>(config));

            case TableRenderFormat.Xml:
                return(new XmlTableRender <TModel>(config));

            case TableRenderFormat.Csv:
                return(new CsvTableRender <TModel>(config));
            }

            throw new Exception("Unknown table render type");
        }
 public ActionResult ListParentOrders(TableRequestModel request, string nameFilter)
 {
     var entities = new NorthwindEntities(NorthwindServiceUrl);
     IQueryable<Order> orders = entities.Orders.Expand(o => o.Customer).Expand(o => o.Shipper).Expand(o => o.Order_Details);
     if (!String.IsNullOrEmpty(nameFilter))
     {
         orders = orders.Where(o => o.Customer.ContactName.Contains(nameFilter));
     }
     return TableResult.From(orders).Build<ParentOrderTable>(request);
 }
 public ActionResult ListOrders(TableRequestModel request, FiltersModel model)
 {
     var entities = new NorthwindEntities(NorthwindServiceUrl);
     var orders = entities.Orders.Expand(o => o.Customer).Expand(o => o.Shipper).Expand(o => o.Order_Details);
     var table =TableResult.From(orders).Build<OrderTable>(request);
     table.Overrides.HideColumn(order => order.ShipRegion);
     
     return table;
 }
 public ActionResult ListShippers(TableRequestModel request)
 {
     var entities = new NorthwindEntities(NorthwindServiceUrl);
     var shippers = entities.Shippers.ToList();
     int rowsNumber = 20;
     return TableResult.From(shippers).Build<ViewConfigedMvcTable<Shipper>>(request, rowsNumber);
 }
 public ActionResult ListInvoices(TableRequestModel request)
 {
     var entities = new NorthwindEntities(NorthwindServiceUrl);
     return TableResult.From(entities.Invoices).Build<InvoiceTable>(request);
 }
 public ActionResult ReadonlyEmployees(TableRequestModel request, IEnumerable<Employee> employees)
 {
     var result = TableResult.From(employees).Build<EmployeeTable>(request, employees.Count());
     return result;
 }
Beispiel #18
0
 internal MvcTableHelper(HtmlHelper helper, ITableDefinition tableDefinition, TableRequestModel model)
 {
     _helper          = helper;
     _tableDefinition = tableDefinition;
     _model           = model;
 }
 public ActionResult ListOrders(TableRequestModel request, FiltersModel model)
 {
     var entities = new NorthwindEntities(NorthwindServiceUrl);
     var orders = entities.Orders.Expand(o => o.Customer).Expand(o => o.Shipper).Expand(o => o.Order_Details);
     return TableResult.From(orders).Build<OrderTable>(request);
 }
Beispiel #20
0
        public ActionResult ListEmployees(TableRequestModel request, bool readOnly = false)
        {
            var entities = new NorthwindEntities(NorthwindServiceUrl);

            return(TableResult.From(entities.Employees).Build <EmployeeTable>(request));
        }
 public ActionResult ListCategoriesDefault(TableRequestModel request)
 {
     var entities = new NorthwindEntities(NorthwindServiceUrl);
     return TableResult.From(entities.Categories).Default(request);
 }
        public ActionResult ListChildOrderDetails(TableRequestModel request, int? orderId)
        {
            var entities = new NorthwindEntities(NorthwindServiceUrl);
            IQueryable<Order_Detail> orderDetails = entities.Order_Details.Expand(o => o.Product);

            if (orderId == null)
            {
                orderDetails = orderDetails.Where(o => false);
            }
            else
            {
                orderDetails = orderDetails.Where(o => o.OrderID == orderId.Value);
            }

            return TableResult.From(orderDetails).Build<ChildOrderDetailTable>(request);
        }
Beispiel #23
0
        public ActionResult ReadonlyEmployees(TableRequestModel request, IEnumerable <Employee> employees)
        {
            var result = TableResult.From(employees).Build <EmployeeTable>(request, employees.Count());

            return(result);
        }
Beispiel #24
0
        public ActionResult ListInvoices(TableRequestModel request)
        {
            var entities = new NorthwindEntities(NorthwindServiceUrl);

            return(TableResult.From(entities.Invoices).Build <InvoiceTable>(request));
        }
 public ActionResult ListOrdersForFilters(TableRequestModel request, FiltersModel model)
 {
     var entities = new NorthwindEntities(NorthwindServiceUrl);
     IQueryable<Order> orders =
         entities.Orders.Expand(o => o.Customer).Expand(o => o.Shipper).Expand(o => o.Order_Details);
     if (!String.IsNullOrEmpty(model.SelectedCustomerId))
     {
         orders = orders.Where(o => o.CustomerID == model.SelectedCustomerId);
     }
     return TableResult.From(orders).Build<OrderFilterTable>(request);
 }
Beispiel #26
0
        public ActionResult ListCategoriesDefault(TableRequestModel request)
        {
            var entities = new NorthwindEntities(NorthwindServiceUrl);

            return(TableResult.From(entities.Categories).Default(request));
        }
 public ActionResult ListEmployees(TableRequestModel request, bool readOnly = false)
 {
     var entities = new NorthwindEntities(NorthwindServiceUrl);
     return TableResult.From(entities.Employees).Build<EmployeeTable>(request);
 }
Beispiel #28
0
        public void Render(IEnumerable <TModel> rows, TableRequestModel model, ControllerContext context)
        {
            var writer = WriterHelper.GetWriter(context);
            var myId   = _tableDefinition.Id;

            using (
                new ComplexContentTag("div", new Dictionary <string, object> {
                { "class", HtmlConstants.MvctableContainer }
            },
                                      writer))
            {
                using (new ComplexContentTag("table",
                                             new Dictionary <string, object>
                {
                    { "class", "mvctable " + _tableDefinition.CssClass },
                    { "data-source", _urlManager.SourceUrl },
                    { "data-table-id", myId },
                    { "data-filter", _tableDefinition.FilterExpression }
                }, writer))
                {
                    using (new ComplexContentTag("thead", writer))
                    {
                        using (new ComplexContentTag("tr", writer))
                        {
                            foreach (var col in _tableDefinition.Columns)
                            {
                                var attributes = col.HeaderAttributes.Clone();
                                if (col.IsSortable)
                                {
                                    var sortAsc  = model.SortAscending;
                                    var isSorted = model.SortColumn == col.SortExpression;

                                    var classMap = new[]
                                    {
                                        new
                                        {
                                            Apply  = true,
                                            @class = "sortable"
                                        },
                                        new
                                        {
                                            Apply  = isSorted,
                                            @class = sortAsc ? "sorted-asc" : "sorted-desc"
                                        }
                                    };
                                    attributes["class"] = attributes.ContainsKey("class") ? attributes["class"] : "";
                                    foreach (var cm in classMap.Where(cm => cm.Apply))
                                    {
                                        attributes["class"] += (" " + cm.@class);
                                    }
                                }

                                if (col.IsHidden)
                                {
                                    attributes.WithStyle("display", "none");
                                }

                                using (new ComplexContentTag("th", attributes, writer))
                                {
                                    if (col.IsSortable)
                                    {
                                        var sortUrl = _urlManager.GetSortUrl(col.SortExpression);
                                        using (
                                            new ComplexContentTag("a",
                                                                  new RouteValueDictionary(new { href = sortUrl })
                                                                  .WithClass(_tableDefinition.FilterExpression),
                                                                  writer))
                                        {
                                            writer.Write(col.GetHeaderValue(context, writer));
                                        }
                                    }
                                    else
                                    {
                                        writer.Write(col.GetHeaderValue(context, writer));
                                    }
                                }
                            }
                        }
                    }

                    using (new ComplexContentTag("tbody", writer))
                    {
                        var aRows = rows.ToArray();
                        for (var i = 0; i < aRows.Length; i++)
                        {
                            using (new ComplexContentTag("tr", writer))
                            {
                                foreach (var col in _tableDefinition.Columns)
                                {
                                    if (col.IsHidden)
                                    {
                                        col.CellAttributes.WithStyle("display", "none");
                                    }
                                    using (new ComplexContentTag("td", col.CellAttributes, writer))
                                    {
                                        writer.Write(col.GetCellValue(aRows, i, context, writer));
                                    }
                                }
                            }
                        }
                    }

                    using (new ComplexContentTag("tfoot", writer))
                    {
                        using (new ComplexContentTag("tr", writer))
                        {
                            foreach (var col in _tableDefinition.Columns)
                            {
                                if (col.IsHidden)
                                {
                                    col.FooterAttributes.WithStyle("display", "none");
                                }
                                using (new ComplexContentTag("td", col.FooterAttributes, writer))
                                {
                                    writer.Write(col.GetFooterValue(rows, context, writer));
                                }
                            }
                        }
                    }
                }
            }

            writer.Flush();
        }