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}"); } }