Exemplo n.º 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));
        }
Exemplo n.º 2
0
        public List <ComboboxItemDto> GetComboItems(string name)
        {
            var lst = new List <ComboboxItemDto>();

            switch (name)
            {
            case "Depot":
                foreach (Depot t in _depotCache.GetList())
                {
                    lst.Add(new ComboboxItemDto {
                        Value = t.Id.ToString(), DisplayText = t.Name
                    });
                }
                break;

            case "DepotWithCn":
                foreach (Depot t in _depotCache.GetList())
                {
                    lst.Add(new ComboboxItemDto {
                        Value = t.Id.ToString(), DisplayText = string.Format("{0} {1}", t.Cn, t.Name)
                    });
                }
                break;

            case "GasStation":
                foreach (GasStation t in _gasStationCache.GetList())
                {
                    lst.Add(new ComboboxItemDto {
                        Value = t.Id.ToString(), DisplayText = t.Name
                    });
                }
                break;

            default:
                break;
            }
            return(lst);
        }