Beispiel #1
0
 public HomeController(NorthwindDbContext context, ICompositeViewEngine compositeViewEngine) : base(compositeViewEngine)
 {
     _orderRepository        = new OrdersRepository(context);
     _orderDetailsRepository = new OrderDetailsRepository(context);
     _customersRepository    = new CustomersRepository(context);
     _shippersRepository     = new ShippersRepository(context);
 }
        private async Task <Shipper> CreateShipper()
        {
            var shipperRepository = new ShippersRepository(GetContext());
            var shipperModel      = new Shipper(Guid.NewGuid(), "SedatK Ltd", "(503) 555-9831");

            await shipperRepository.Add(shipperModel);

            await shipperRepository.UnitOfWork.Commit();

            return(shipperModel);
        }
Beispiel #3
0
 public IEnumerable <SelectItem> GetAllShippers()
 {
     using (var context = new NorthwindDbContext(_options))
     {
         ShippersRepository repository = new ShippersRepository(context);
         return(repository.GetAll()
                .Select(r => new SelectItem(r.ShipperID.ToString(), r.ShipperID.ToString() + " - "
                                            + r.CompanyName))
                .ToList());
     }
 }
Beispiel #4
0
        public async Task <IViewComponentResult> InvokeAsync(string ordersGridState = "")
        {
            IQueryCollection query = Request.Query;

            if (!string.IsNullOrWhiteSpace(ordersGridState))
            {
                try
                {
                    query = new QueryCollection(StringExtensions.GetQuery(ordersGridState));
                }
                catch (Exception)
                {
                    // do nothing, gridState was not a valid state
                }
            }

            var requestCulture = HttpContext.Features.Get <IRequestCultureFeature>();
            var locale         = requestCulture.RequestCulture.UICulture.TwoLetterISOLanguageName;

            SharedResource.Culture = requestCulture.RequestCulture.UICulture;

            var shippersRepository = new ShippersRepository(_context);
            var shipperList        = shippersRepository.GetAll()
                                     .Select(s => new SelectItem(s.ShipperID.ToString(), s.CompanyName))
                                     .ToList();

            Action <IGridColumnCollection <Order> > columns = c =>
            {
                /* Adding not mapped column, that renders body, using inline Razor html helper */
                c.Add()
                .Encoded(false)
                .Sanitized(false)
                .SetWidth(30)
                .Css("hidden-xs")     //hide on phones
                .RenderValueAs(o => $"<b><a class='modal_link' href='javascript:void(0);' onclick='editOrder({o.OrderID})'>Edit</a></b>");

                /* Adding "OrderID" column: */

                c.Add(o => o.OrderID)
                .Titled(SharedResource.Number)
                .SetWidth(100);

                /* Adding "OrderDate" column: */
                c.Add(o => o.OrderDate, "OrderCustomDate")
                .Titled(SharedResource.OrderCustomDate)
                .SortInitialDirection(GridSortDirection.Descending)
                .ThenSortByDescending(o => o.OrderID)
                .SetCellCssClassesContraint(o => o.OrderDate.HasValue && o.OrderDate.Value >= DateTime.Parse("1997-01-01") ? "red" : "")
                .Format("{0:yyyy-MM-dd}")
                .SetWidth(110)
                .Max(true).Min(true);

                c.Add(o => o.ShipVia)
                .Titled("Via")
                .SetWidth(250)
                .RenderValueAs(o => o.Shipper.CompanyName)
                .SetListFilter(shipperList);

                /* Adding "CompanyName" column: */
                c.Add(o => o.Customer.CompanyName)
                .Titled(SharedResource.CompanyName)
                .SetWidth(250)
                .SetInitialFilter(GridFilterType.StartsWith, "a")
                .SetFilterWidgetType("CustomCompanyNameFilterWidget")
                .Max(true).Min(true);

                /* Adding "ContactName" column: */
                c.Add(o => o.Customer.ContactName).Titled(SharedResource.ContactName).SetWidth(250)
                .Max(true).Min(true);

                /* Adding "Freight" column: */
                c.Add(o => o.Freight)
                .Titled(SharedResource.Freight)
                .SetWidth(100)
                .Format("{0:F}")
                .Sum(true).Average(true).Max(true).Min(true);

                /* Adding "Vip customer" column: */
                c.Add(o => o.Customer.IsVip)
                .Titled(SharedResource.IsVip)
                .SetWidth(70)
                .Css("hidden-xs")     //hide on phones
                .RenderValueAs(o => o.Customer.IsVip ? Strings.BoolTrueLabel : Strings.BoolFalseLabel);
            };

            var repository = new OrdersRepository(_context);

            var server = new GridServer <Order>(repository.GetAll(), query, false, "ordersGrid",
                                                columns, 10, locale, GridPager.DefaultAjaxPagerViewName)
                         .SetRowCssClasses(item => item.Customer.IsVip ? "success" : string.Empty)
                         .Sortable()
                         .Filterable()
                         .WithMultipleFilters()
                         .Searchable(true, false)
                         .Groupable(true)
                         .Selectable(true)
                         .SetStriped(true)
                         .ChangePageSize(true)
                         .WithGridItemsCount();
            var factory = Task <IViewComponentResult> .Factory;

            return(await factory.StartNew(() => View(server.Grid)));
        }
 public GridPageModel(NorthwindDbContext context)
 {
     _orderRepository    = new OrdersRepository(context);
     _shippersRepository = new ShippersRepository(context);
 }
Beispiel #6
0
 public static ShippersRepository GetShippersRepository(IUnitOfWork unitOfWork)
 {
     var repository = new ShippersRepository();
     repository.UnitOfWork = unitOfWork;
     return repository;
 }
Beispiel #7
0
 public static ShippersRepository GetShippersRepository()
 {
     var repository = new ShippersRepository();
     repository.UnitOfWork = GetUnitOfWork();
     return repository;
 }