/// <summary> /// 服务商取消工单 /// </summary> /// <returns></returns> public async Task <bool> SPCancelMaintenance(SPCancelMaintenanceRequest 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.Received) { var desc = maintenanceInfo.MaintenancStatus.Value.GetEnumDescription <EMaintenancStatus>(); throw new SinoException(string.Format(ErrorCode.E30018, desc), nameof(ErrorCode.E30018).GetCode()); } //进行取消操作 MaintenanceInfo maintenance = new MaintenanceInfo(); maintenance.MaintenancStatus = (int)EMaintenancStatus.Closed; maintenance.Id = request.Id.Value; 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); }
public async Task SPCancelMaintenance(SPCancelMaintenanceRequest request) { _logger.Info(new LogInfo() { Method = nameof(SPCancelMaintenance), Argument = new { request }, Description = "服务商取消工单" }); await _MaintenanceInfoService.SPCancelMaintenance(request); }