public async Task <IActionResult> OnGetAsync(long?id, string returnUrl) { ReturnUrl = returnUrl; var vehicle = await _context.Vehicles.FirstOrDefaultAsync(t => t.Id == id); if (vehicle == null) { return(NotFound()); } VehicleItem = new VehicleViewModel(vehicle); var townlist = (await _townService.GetAvailableTownsEagerAsync(HttpContext.User)); ViewData["TownList"] = new SelectList(townlist, "Id", "Name"); if (townlist.Any()) { var groups = (await _groupService.ListGroupsForTownEagerAsync(HttpContext.User, townlist.First().Id)); ViewData["GroupList"] = new SelectList(groups, "Id", "Name"); } if (VehicleItem.GroupId != null) { VehicleItem.TownId = townlist.FirstOrDefault(t => t.Groups.Any(u => u.Id == VehicleItem.GroupId))?.Id; } if (VehicleItem.DriverId != null) { var user = await _userManager.GetUserAsync(HttpContext.User); var drivers = await(_context.Drivers.Where(t => t.TownId == user.TownId)).ToListAsync(); ViewData["DriverList"] = new SelectList(drivers, "Id", "Name"); } return(Page()); }
public async Task <IActionResult> OnGetAsync(long?groupId, string returnUrl) { ReturnUrl = returnUrl; var townlist = (await _townService.GetAvailableTownsEagerAsync(HttpContext.User)); ViewData["TownList"] = new SelectList(townlist, "Id", "Name"); VehicleItem = new VehicleViewModel(); VehicleItem.GroupId = groupId; if (groupId != null) { VehicleItem.TownId = townlist.FirstOrDefault(t => t.Groups.Any(u => u.Id == groupId))?.Id; } else { VehicleItem.TownId = townlist.FirstOrDefault()?.Id; } if (townlist.Any()) { var groups = (await _groupService.ListGroupsForTownEagerAsync(HttpContext.User, VehicleItem.TownId ?? -1)); ViewData["GroupList"] = new SelectList(groups, "Id", "Name"); } return(Page()); }
public async Task <IActionResult> OnPostAsync(string queryString) { ViewData["QueryString"] = queryString; Towns = (await _townService.GetAvailableTownsEagerAsync(HttpContext.User)); Groups = (await _groupService.ListAwailableGroupEagerAsync(HttpContext.User)); ViewData["TownList"] = new SelectList(Towns, "Id", "Name"); ViewData["GroupList"] = new SelectList(Groups, "Id", "Name"); ISpecification <DriverItem> canFetch = await Driver4UserSpecification.CreateAsync(HttpContext.User, _userManager); canFetch = canFetch.And(FilterModel.ToExpression()); canFetch.Includes.Add(t => t.Vehicles); canFetch.Includes.Add(t => t.Town); canFetch.Includes.Add(t => t.Group); var items = (await _driverRepository.ListAsync(canFetch)).OrderBy(t => t.IsValid()); if (FilterModel.ExportExcel == true) { var sigStr = $"::{HttpContext.User.Identity.Name}::socona.imvehicle.driver.export?search::{DateTime.Now.ToString("yyyyMMdd.HHmmss")}"; var stream = ExcelHelper.ExportDrivers(items.ToList(), sigStr); return(File(stream.ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", $"exported{DateTime.Now.ToString("yyyyMMdd.HHmmss")}.xlsx")); } Drivers = items.Select(t => new DriverListViewModel(t)).ToList(); return(Page()); }
public async Task <IActionResult> OnGetAsync(long?id, string returnUrl) { if (id == null) { return(NotFound()); } ReturnUrl = returnUrl; var driver = await _context.Drivers.SingleOrDefaultAsync(m => m.Id == id); if (driver == null) { return(NotFound()); } var townlist = (await _townService.GetAvailableTownsEagerAsync(HttpContext.User)); ViewData["TownList"] = new SelectList(townlist, "Id", "Name"); if (townlist.Any()) { var groups = (await _groupService.ListGroupsForTownEagerAsync(HttpContext.User, townlist.First().Id)); ViewData["GroupList"] = new SelectList(groups, "Id", "Name"); } DriverItem = new DriverViewModel(driver); return(Page()); }
public async Task <IActionResult> OnGetAsync(long?groupId, string returnUrl) { ReturnUrl = returnUrl; ViewData["TownList"] = (await _townService.GetAvailableTownsEagerAsync(HttpContext.User)) .Select(t => new SelectListItem { Value = t.Id.ToString(), Text = t.Name, }) .ToList(); return(Page()); }
public async Task <IActionResult> OnGetAsync(long?id, string returnUrl) { if (id == null) { return(NotFound()); } ReturnUrl = returnUrl; var group = await _context.Groups.SingleOrDefaultAsync(m => m.Id == id); if (group == null) { return(NotFound()); } var canEdit = _authorizationService.AuthorizeAsync(HttpContext.User, group, "CanEdit"); if (!(await canEdit).Succeeded) { return(Unauthorized()); } TownList = (await _townService.GetAvailableTownsEagerAsync(HttpContext.User)) .Select(t => new SelectListItem { Value = t.Id.ToString(), Text = t.Name, }) .ToList(); GroupItem = new GroupViewModel(group); return(Page()); }
public async Task <IActionResult> OnGetAsync(int?groupId, string returnUrl) { ReturnUrl = returnUrl; var townlist = (await _townService.GetAvailableTownsEagerAsync(HttpContext.User)); ViewData["TownList"] = new SelectList(townlist, "Id", "Name"); if (townlist.Any()) { var groups = (await _groupService.ListGroupsForTownEagerAsync(HttpContext.User, townlist.First().Id)); ViewData["GroupList"] = new SelectList(groups, "Id", "Name"); } SecurityPerson.GroupId = groupId; if (groupId != null) { SecurityPerson.TownId = townlist.FirstOrDefault(t => t.Groups.Any(u => u.Id == groupId))?.Id; } return(Page()); }
public async Task OnGetAsync(string queryString) { ViewData["QueryString"] = queryString; var towns = await _townRepository.GetAvailableTownsEagerAsync(HttpContext.User); //Expression expression; //string url; // _searchService.BuildSearchExpression(":镇:"+queryString, out url, out expression); TownList = towns.OrderBy(t => t.Code).Select(t => new TownListViewModel() { Id = t.Id, Code = t.Code, Name = t.Name, GroupCount = t.Groups.Count, DriverCount = t.Drivers.Count, StatusText = t.IsValid() ? "正常" : "预警", IsValid = t.IsValid() }).Where(new TownListVmQueryStringSpecification(queryString).Criteria.Compile()).ToList(); }