Beispiel #1
0
        public ActionResult Oil(string code)
        {
            if (string.IsNullOrEmpty(code))
            {
                return(Redirect(OAuth2Api.GetCode(_corpId, AbsoluteUri(), "STATE", _agentId)));
            }

            string workerCn = null;

            try {
                var accessToken            = AccessTokenContainer.GetToken(_corpId, _secret);
                GetUserInfoResult userInfo = OAuth2Api.GetUserId(accessToken, code);
                workerCn = userInfo.UserId;
            }
            catch {
                Logger.Error("微信授权错误");
            }

            if (workerCn == null)
            {
                return(Content("系统取不到你的微信标识号"));
            }
            //workerCn = "90005";
            var worker = WorkManager.GetWorkerByCn(workerCn);

            if (!worker.WorkRoleNames.Contains("司机"))
            {
                return(Content("需要司机角色"));
            }
            var depot = WorkManager.GetDepot(worker.DepotId);
            var vm    = new OilViewModel();

            vm.WorkerId = worker.Id;

            foreach (var v in _vehicleCache.GetList().FindAll(x => x.DepotId == depot.Id))
            {
                vm.Vehicles.Add(new ComboItemModel()
                {
                    Id = v.Id, Name = v.Cn + v.License
                });
            }
            foreach (var v in _gasStationCache.GetList().FindAll(x => string.IsNullOrEmpty(x.DepotList) || x.DepotList.Contains(depot.Name)))
            {
                vm.GasStations.Add(new ComboItemModel()
                {
                    Id = v.Id, Name = v.Name
                });
            }
            foreach (var t in _oilTypeCache.GetList())
            {
                vm.OilTypes.Add(new ComboItemModel()
                {
                    Id = t.Id, Name = t.Name
                });
            }

            return(View(vm));
        }
Beispiel #2
0
 public List <VehicleListItem> GetVehicleListItems(bool all)
 {
     if (all)
     {
         return(ObjectMapper.Map <List <VehicleListItem> >(_vehicleCache.GetList()));
     }
     else
     {
         int depotId = _workerCache[GetCurrentUserWorkerIdAsync().Result].DepotId;
         var lst     = _vehicleCache.GetList().FindAll(x => x.DepotId == depotId);
         lst.Sort((a, b) => a.Cn.CompareTo(b.Cn));
         return(ObjectMapper.Map <List <VehicleListItem> >(lst));
     }
 }