예제 #1
0
        /// <summary>
        /// Cria o token sem fazer referência ao usuário, ele só trará os dados do usuário ao ser buscado no banco.
        /// </summary>
        /// <param name="usuarioEmail">Email utilizado no login do usuário.</param>
        /// <param name="validadeToken">Validade do token em dias, será contado a partir da data de criação.</param>
        public TokenSenha(string usuarioEmail, int validadeToken)
        {
            DataCadastro = DateTime.Now;

            UsuarioEmail = usuarioEmail.ToLower();
            Token        = Guid.NewGuid().ToString().ToLower();
            Ativo        = true;
            Validade     = DataCadastro.AddDays(validadeToken);
        }
예제 #2
0
 public DateTime CalcularDataEstimada()
 {
     if (Complexidade == Complexidade.Baixa)
     {
         return(DataCadastro.AddDays(3));
     }
     else if (Complexidade == Complexidade.Media)
     {
         return(DataCadastro.AddDays(10));
     }
     else
     {
         return(DataCadastro.AddDays(20));
     }
 }
예제 #3
0
        /// <summary>
        /// Método responsável por calcular a data prevista de conclusão da meta, de acordo com as atualizações do usuário
        /// </summary>
        /// <param name="meta"></param>
        public void SetDataPrevista(MetasPorLivros meta, Livros livro)
        {
            var diferencaEntreDatas = DateTime.Now.Subtract(DataCadastro);
            var leituraEsperada     = diferencaEntreDatas.Days * PaginasDiarias;


            if (PaginasDiarias > 0)
            {
                if (PaginasOuCapitulosLidos < leituraEsperada)
                {
                    var diasEsperados = livro.QuantidadePaginas / PaginasDiarias;

                    var diasAtrasados = diasEsperados - ((livro.QuantidadePaginas - PaginasOuCapitulosLidos) / PaginasDiarias);

                    var dias = Math.Ceiling((double)diasAtrasados);

                    if (DataFim != null)
                    {
                        DataPrevista = DataFim.Value.AddDays(dias);
                    }
                }
                else
                {
                    var diasAdiantados = (livro.QuantidadePaginas - PaginasOuCapitulosLidos) / PaginasDiarias;
                    DataPrevista = DataCadastro.AddDays(diasAdiantados);
                }
            }
            else if (CapitulosDiarios > 0)
            {
                if (PaginasOuCapitulosLidos < leituraEsperada)
                {
                    var diasEsperados = livro.QuantidadeCapitulos / CapitulosDiarios;

                    var diasAtrasados = diasEsperados - ((livro.QuantidadeCapitulos - PaginasOuCapitulosLidos) / CapitulosDiarios);

                    var dias = Math.Ceiling((double)diasAtrasados);
                    if (DataFim != null)
                    {
                        DataPrevista = DataFim.Value.AddDays(dias);
                    }
                }
                else
                {
                    var diasAdiantados = (livro.QuantidadeCapitulos - PaginasOuCapitulosLidos) / CapitulosDiarios;
                    DataPrevista = DataCadastro.AddDays(diasAdiantados);
                }
            }
        }