public ResultViewModel Post([FromBody] SaveOrdemServicoViewModel model)
        {
            model.Validate();
            if (model.Invalid)
            {
                return new ResultViewModel
                       {
                           Success = false,
                           Message = "Não foi possível salvar a ordem de serviço.",
                           Data    = model.Notifications
                       }
            }
            ;


            var ordemServico = _ordemServicoRepository.Save(model);

            return(new ResultViewModel
            {
                Success = true,
                Message = "Ordem de serviço salvo com sucesso.",
                Data = ordemServico
            });
        }
    }
        public OrdemServico Save(SaveOrdemServicoViewModel model)
        {
            try
            {
                var ordemServico = new OrdemServico();
                ordemServico.Data        = model.Data;
                ordemServico.Convenio    = _context.Convenios.Where(c => c.Id == model.ConvenioId).FirstOrDefault();
                ordemServico.Paciente    = _context.Pacientes.Where(c => c.Id == model.PacienteId).FirstOrDefault();
                ordemServico.PostoColeta = _context.PostoColetas.Where(c => c.Id == model.PostoColetaId).FirstOrDefault();
                ordemServico.Medico      = _context.Medicos.Where(c => c.Id == model.MedicoId).FirstOrDefault();

                _context.OrdemServicos.Add(ordemServico);
                _context.SaveChanges();

                foreach (var item in model.Exames)
                {
                    var ordemServicoExame = new OrdemServicoExame();
                    ordemServicoExame.EntregaResultado = item.EntregaResultado;
                    ordemServicoExame.Preco            = item.Preco;
                    ordemServicoExame.OrdemServico     = _context.OrdemServicos.Where(c => c.Id == ordemServico.Id).FirstOrDefault();
                    ordemServicoExame.Exame            = _context.Exames.Where(c => c.Id == item.ExameId).FirstOrDefault();
                    _context.OrdemServicoExames.Add(ordemServicoExame);
                }
                _context.SaveChanges();

                return(ordemServico);
            }
            catch (Exception ex)
            {
                throw new Exception($"Ocorreu um erro interno. {ex.Message}");
            }
        }