public ServiceResponse <GetNonConfDto> EvaluateNonConf(UpdateNonConfDto updateNonConfDto) { if (NonConfIdValidator(updateNonConfDto.Id) == false) { return(serviceResponse); } NonConf nonConf = _context.nonConfs.FirstOrDefault(n => n.Id == updateNonConfDto.Id); if (StatusValidator(nonConf.Status) == false) { return(serviceResponse); } try { nonConf.Status = updateNonConfDto.Status; _context.nonConfs.Update(nonConf); _context.SaveChanges(); serviceResponse.Message = "Esta NC foi encerrada."; CreateNcNewVersion(nonConf); serviceResponse.Data = _mapper.Map <GetNonConfDto>(nonConf); } catch (Exception ex) { serviceResponse.Success = false; serviceResponse.Message = ex.Message; } return(serviceResponse); }
public void Put_ShouldReturnSuccessFalseIfIdIsNotValid() { UpdateNonConfDto upNc = new UpdateNonConfDto(); _serviceResponse = _nonConfService.EvaluateNonConf(upNc); Assert.False(_serviceResponse.Success); }
public IActionResult Put(UpdateNonConfDto updateNonConfDto) { ServiceResponse <GetNonConfDto> serviceResponse = _nonConfService.EvaluateNonConf(updateNonConfDto); if (serviceResponse.Data == null) { return(BadRequest(serviceResponse.Message)); } return(Ok(serviceResponse)); }
public void Put_ShouldCloseCurrentNc() { _nonConfService.AddNonConf(new NonConf()); UpdateNonConfDto upNc = new UpdateNonConfDto() { Id = 1, Status = 1 }; _serviceResponse = _nonConfService.EvaluateNonConf(upNc); Assert.Contains("encerrada", _serviceResponse.Message); }
public void Put_ShouldCreateNewVersionNc() { _nonConfService.AddNonConf(new NonConf()); UpdateNonConfDto upNc = new UpdateNonConfDto() { Id = 1, Status = 2 }; _nonConfService.EvaluateNonConf(upNc); GetNonConfDto nonConfDto = _nonConfService.GetNonConfById(2).Data; Assert.Equal("2020:02:02", nonConfDto.Code); }
public void Put_ShouldNotAllowChangeClosedNc() { _nonConfService.AddNonConf(new NonConf() { Status = 1 }); UpdateNonConfDto upNc = new UpdateNonConfDto() { Id = 1, Status = 0 }; _serviceResponse = _nonConfService.EvaluateNonConf(upNc); Assert.False(_serviceResponse.Success); }