public Result <bool> Salva(SessaoModel model) { var podeSalvar = true; var result = new Result <bool>(); result.Value = false; result.Status = false; if (model.Valor < 100) { result.Message = "O valor mínimo de uma Sessão é de R$100!"; } else { model.Data = Convert.ToDateTime(String.Format("{0} {1}", model.Data.ToShortDateString(), model.Horario)); var pesquisaModel = new PesquisaModel { IdPesquisa = model.IdPaciente, DataIncio = model.Data, DataFim = model.Data.AddHours(1) }; var sessoesPaciente = _sessaoRepository.ListSessoesPeriodoIdPaciente(pesquisaModel); if (sessoesPaciente.Count > 0) { if (model.Id != 0) { sessoesPaciente = sessoesPaciente.Where(x => x.Id != model.Id).ToList(); } if (sessoesPaciente.Count > 0) { result.Message = "O Paciente já possui Sessão marcada para o dia e hora selecionados!"; podeSalvar = false; } } if (podeSalvar) { if (model.Id == 0) { model = _sessaoRepository.Salvar(model); if (model.Id != 0) { model = _sessaoRepository.GetById(model.Id); InsereRegistroCaixa(model); result.Message = "Sessão salva com sucesso!"; result.Value = true; result.Status = true; } else { result.Message = "Falha ao salvar a Sessão!"; } } else { result.Value = _sessaoRepository.Atualizar(model); if (result.Value) { model = _sessaoRepository.GetById(model.Id); AtualizaRegistroCaixa(model); result.Message = "Sessão atualizada com sucesso!"; result.Value = true; result.Status = true; } else { result.Message = "Falha ao atualizar a Sessão!"; } } } } return(result); }