public List <Assembly> GetAssemblies() { if (assemblyCache.Any()) { return(assemblyCache); } this.assemblyCache.Add(GetAssemblyDoSiteAtual()); this.assemblyCache.Add(GetCoreAssembly()); /// OU Core e Admin /// OU Core e Boleto /// OU Core e Ecommerce /// Depende do Site que está executando Assegure.Que(appAssemblyesNames.Contains(this.assemblyCache[0].GetName().Name), "Assembly Principal do Site atual não encontrado"); Assegure.Que(this.assemblyCache[1].GetName().Name == CoreAssemblyName, string.Format("O Assembly {0} não foi encontrado", CoreAssemblyName)); return(this.assemblyCache); }
public override void Query(Command command) { Assegure.Que(command.Date != null, "Informe uma Data"); command.Result = agendamentosDoDiaQuery.Executar(command.Date.Value); }
protected override void Executar(Command command) { Assegure.Que(command.IdAtendimento > 0, "Informe o IdAtendimento"); var atendimento = atendimentoRepo.ById(command.IdAtendimento); atendimento.Cancelar(timeProvider); }
protected override void Executar(Command command) { Assegure.Que(command.IdAtendimento > 0, "Informe o IdAtendimento"); var atendimento = atendimentoRepo.ById(command.IdAtendimento); atendimento.Compareceu(); }
public virtual void Cancelar(ITimeProvider timeProvider) { Assegure.Que(Status == TipoStatus.MARC, $"Não é possível Cancelar no Status {Status}"); Status = TipoStatus.CANC; DataCancelamento = timeProvider.Now; }
protected override void Executar(Command command) { Assegure.Que(command.IdAtendimento > 0, "Informe o IdAtendimento"); command.Horario.Validar(); var atendimento = atendimentoRepo.ById(command.IdAtendimento); atendimento.Alterar(atendimentoRepo, timeProvider, command.Horario.ToPeriodoFechado(), new Paciente(command.PacienteNome, command.PacienteDataNascimento.ToDateTimeOrNull()), command.Observacao ); }
public Paciente(string nome, DateTime?dataNascimento) { nome = nome?.Trim(); Assegure.Que(nome.PossuiValor(), () => $"Informe o Nome"); Assegure.Que(nome.Length <= 100, () => "Nome deve ter até 100 caracteres"); Assegure.Que(dataNascimento != null, "Informe uma Data de Nascimento válida"); Assegure.Que(dataNascimento >= DateTimeExtension.MenorDataPossivel, $"Informe uma data maior ou igual a {dataNascimento.ToDateBr()}"); Nome = nome; DataNascimento = dataNascimento.Value; }
public virtual void ComputarResultado(DateTime dataComputou, IResultado resultado, IJogo jogo) { Assegure.Que(this.IdJogo == jogo.IdJogo, "Jogo inválido"); Assegure.NaoNulo(resultado, "Informe o resultado"); Assegure.NaoNulo(jogo, "Informe o jogo"); this.Acerto = jogo.ComputarAposta(resultado, Volante); this.AcertoStatus = this.Acerto == null ? StatusAcerto.ERR : StatusAcerto.VENC; this.StatusProcessamento = StatusProcessamentoAposta.COMP; this.DataComputou = dataComputou; }
public Atendimento( IAtendimentoRepo atendimentoRepo, ITimeProvider timeProvider, PeriodoFechado horario, Paciente paciente, string observacao ) { observacao = observacao?.Trim(); Assegure.Que(atendimentoRepo != null, () => $"{nameof(atendimentoRepo)} é null"); Assegure.Que(timeProvider != null, () => $"{nameof(timeProvider)} é null"); Assegure.Que(horario != null, () => $"{nameof(horario)} é null"); Assegure.Que(paciente != null, "Informe o Paciente"); Assegure.Que((observacao?.Length ?? 0) <= 500, () => "Observação deve ter no máximo 500 caracteres"); Assegure.Que(horario.DataInicial >= timeProvider.Now, () => "Informe um Horário com data maior ou igual a de agora"); var atendimentos = atendimentoRepo.ExisteColisaoComOHorario(horario); Assegure.Que(atendimentos.Count == 0, () => $"Já existe Atendimento marcado para o Horário informado"); Horario = horario; Paciente = paciente; Observacao = observacao; Status = TipoStatus.MARC; DataCadastro = timeProvider.Now; }
public virtual void Finalizar(FinalizarCommand command) { Assegure.Que(this.IdJogo == command.Jogo.IdJogo, "Jogo inválido"); Assegure.NaoNulo(command.Resultado, "Informe o Resultado"); Assegure.NaoNulo(command.Apostas, "Apostas é null"); Assegure.Que(command.Apostas.Count > 0, "Nenhuma aposta informada"); command.Apostas.ForEach(aposta => aposta.ComputarResultado(command.DataConclusao, command.Resultado, command.Jogo)); this.Status = EnumStatusConcurso.CONC; this.DataConclusao = command.DataConclusao; this.Resultado = command.Resultado; }
public Aposta( int idAposta, Concurso concurso, IJogo jogo, DateTime dataOcorrencia, string jogador, IVolante volante ) { Assegure.Que(idAposta > 0, "idAposta inválida"); Assegure.NaoNulo(concurso, "Informe o Concurso"); Assegure.NaoNulo(jogo, "Informe o Jogo"); Assegure.EhDataValida(dataOcorrencia, () => "Data da Ocorrência inválida"); Assegure.NaoNulo(volante, "Informe o volante"); jogo.ValidarVolante(volante); this.IdAposta = idAposta; this.IdConcurso = concurso.IdConcurso; this.IdJogo = jogo.IdJogo; this.DataOcorrencia = dataOcorrencia; this.Jogador = jogador; this.Volante = volante; this.StatusProcessamento = StatusProcessamentoAposta.FEITA; this.AcertoStatus = StatusAcerto.INIC; }
public void Executar(Command command) { Assegure.Que(command.IdConcurso > 0, "Informe o Concurso"); Assegure.NaoNulo(command.Apostas, "Nenhuma Aposta"); Assegure.Que(command.Apostas.Count > 0, "Informe pelo menos uma aposta"); var concurso = concursoRepo.AtivoByIdConcurso(command.IdConcurso); Assegure.NaoNulo(concurso, "Concurso não encontrado"); var jogo = jogoRepo.GetByIdJogo(concurso.IdJogo); var dataOcorrencia = DateTime.Now; var type = typeof(Aposta); foreach (var apostaDto in command.Apostas) { var idAposta = sequenceGenerator.NextIdFor(type); var newAposta = new Aposta( idAposta, concurso, jogo, dataOcorrencia, apostaDto.Jogador, apostaDto.Volante ); apostaRepo.Insert(newAposta); } }
public virtual void Compareceu() { Assegure.Que(Status == TipoStatus.MARC, $"Não é possível estar como Compareceu no Status {Status}"); Status = TipoStatus.COMP; }
public override void Query(Command command) { Assegure.Que(command.IdPaciente > 0, "Informe o IdPaciente"); command.PacienteResult = pacienteRepo.ById(command.IdPaciente); }
protected override void ValidarVolanteTemplate(Volante volante) { Assegure.Que(volante.NumerosSelecionados.Count == Regras.QuantidadeDeNumerosDoVolante, () => $"Volante inválido. Deve ter {Regras.QuantidadeDeNumerosDoVolante} números"); }