Exemplo n.º 1
0
        /// <summary>
        /// 维修员受理操作
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <bool> RPReceiveMaintenance(RPReceiveMaintenanceRequest request)
        {
            //判断该工单状态是否可以转派工单
            var maintenanceInfo = await this.GetById(request.Id.Value);

            if (maintenanceInfo == null)
            {
                throw new SinoException(ErrorCode.E30016, nameof(ErrorCode.E30016).GetCode());
            }

            //在已受理(已被服务商指派维修员)的状态下才可以领取工单
            if (maintenanceInfo.MaintenancStatus.Value != (int)EMaintenancStatus.AssignRP)
            {
                var desc = maintenanceInfo.MaintenancStatus.Value.GetEnumDescription <EMaintenancStatus>();
                throw new SinoException(string.Format(ErrorCode.E30021, desc), nameof(ErrorCode.E30021).GetCode());
            }

            //进行转派操作
            MaintenanceInfo maintenance = new MaintenanceInfo();

            maintenance.Id = request.Id.Value;
            maintenance.MaintenancStatus     = (int)EMaintenancStatus.Accepting;
            maintenance.LastModificationTime = DateTime.Now;
            List <string> updateCols = new List <string>();

            updateCols.Add(nameof(MaintenanceInfo.MaintenancStatus));
            updateCols.Add(nameof(MaintenanceInfo.LastModificationTime));
            var result = await _MaintenanceInfoRep.UpdateAssignFieldsById(maintenance, updateCols);

            return(result > 0);
        }
Exemplo n.º 2
0
 public async Task RPReceiveMaintenance(RPReceiveMaintenanceRequest request)
 {
     _logger.Info(new LogInfo()
     {
         Method = nameof(RPReceiveMaintenance), Argument = new { request }, Description = "维修员受理操作"
     });
     await _MaintenanceInfoService.RPReceiveMaintenance(request);
 }