public void Cancelar(CancelarOrdemServico cancelar)
        {
            var compra = this.VendaDAO.GetByOSID(cancelar.Id)?.Where(e => e.DataCancelamento != null).ToList();

            if (compra?.Count > 0)
            {
                throw new BusinessException(new { Id = "Não é possível desativar, pois existe venda(s) ativa(s)." });
            }
            if (cancelar.Justificativa.Length < 20)
            {
                throw new BusinessException(new { Justificativa = "Justificativa deve ter mais de 20 caracteres." });
            }
            if (cancelar.Justificativa.Length > 255)
            {
                throw new BusinessException(new { Justificativa = "Justificativa deve ter menos de 255 caracteres." });
            }
            if (!this.UserDAO.PasswordSignIn(this.UserRequest.UserNome, cancelar.Senha).Succeeded)
            {
                throw new BusinessException(new { Senha = "Senha inválida." });
            }

            var OS = this.DAO.GetByID(cancelar.Id);

            OS.DataCancelamento          = DateTime.Now;
            OS.UserCancelamento          = this.UserRequest.Id.ToString();
            OS.JustificativaCancelamento = cancelar.Justificativa;

            this.DAO.Update(OS);
        }
 public virtual IActionResult Cancelar([FromRoute] int id, [FromBody] CancelarOrdemServico os)
 {
     os.Id = id;
     this.Service.Cancelar(os);
     return(Ok());
 }