示例#1
0
        public async Task <int> Close(List <int> ids)
        {
            int workerId = await GetCurrentUserWorkerIdAsync();

            workerId = WorkManager.GetCaptainOrAgentId(workerId);     // Agent

            int count = 0;

            foreach (int id in ids)
            {
                var route = _routeRepository.Get(id);
                route.Status = "关闭";
                await _routeRepository.UpdateAsync(route);

                // RouteEvent
                var    worker = WorkManager.GetWorker(workerId);
                string issuer = string.Format("{0} {1}", worker.Cn, worker.Name);
                var    re     = new RouteEvent()
                {
                    RouteId = route.Id, EventTime = DateTime.Now, Name = "关闭线路", Issurer = issuer
                };
                await _eventRepository.InsertAsync(re);

                count++;
            }
            return(count);
        }
示例#2
0
        public void SetIdentifyEvent(int routeId, string outlet, string issuer)
        {
            var entity = new RouteEvent();

            entity.RouteId     = routeId;
            entity.TenantId    = 1;
            entity.EventTime   = DateTime.Now;
            entity.Name        = "网点身份确认";
            entity.Description = outlet;
            entity.Issurer     = issuer;
            _eventRepository.InsertAsync(entity);
            CurrentUnitOfWork.SaveChanges();
        }
示例#3
0
        public void InsertRouteArriveEvent(int taskId, string address)
        {
            var    task   = _taskRepository.Get(taskId);
            string issuer = string.Format("{0} {1}", _outletCache[task.OutletId].Name, _taskTypeCache[task.TaskTypeId].Name);

            var entity = new RouteEvent();

            entity.RouteId     = task.RouteId;
            entity.TenantId    = 1;
            entity.EventTime   = DateTime.Now;
            entity.Name        = "网点无人身份确认";
            entity.Description = address;
            entity.Issurer     = issuer;
            _eventRepository.InsertAsync(entity);
            CurrentUnitOfWork.SaveChanges();
        }
示例#4
0
        public async Task BackToLend(int id, bool finger)
        {
            var route = _routeRepository.Get(id);

            route.Status = "领物";
            await _routeRepository.UpdateAsync(route);

            // for RouteEvent
            int workerId = await GetCurrentUserWorkerIdAsync();

            workerId = WorkManager.GetCaptainOrAgentId(workerId);     // Agent
            var    worker = WorkManager.GetWorker(workerId);
            string issuer = string.Format("{0} {1}", worker.Cn, worker.Name);
            var    ae     = new RouteEvent()
            {
                RouteId = route.Id, EventTime = DateTime.Now, Name = "回退到领物", Description = finger?"指纹":"密码", Issurer = issuer
            };
            await _eventRepository.InsertAsync(ae);
        }
示例#5
0
        public async Task <(string, int)> Activate(List <int> ids, bool finger)
        {
            int workerId = await GetCurrentUserWorkerIdAsync();

            workerId = WorkManager.GetCaptainOrAgentId(workerId);     // Agent

            int count = 0;

            foreach (int id in ids)
            {
                var route = _routeRepository.Get(id);
                if (route.Status != "安排")
                {
                    continue;                                // Skip
                }
                var reason = CanActivateRoute(route);
                if (reason != null)
                {
                    return($"{route.RouteName}因({reason})不能激活", count);
                }
                route.Status = "激活";
                await _routeRepository.UpdateAsync(route);

                // RouteEvent
                var    worker = WorkManager.GetWorker(workerId);
                string issuer = string.Format("{0} {1}", worker.Cn, worker.Name);
                var    re     = new RouteEvent()
                {
                    RouteId = route.Id, EventTime = DateTime.Now, Name = "激活线路", Description = finger?"指纹":"密码", Issurer = issuer
                };
                await _eventRepository.InsertAsync(re);

                count++;
            }
            return(null, count);
        }