/// <summary>
 /// Listar Todas as Cotações
 /// </summary>
 /// <returns>Retorna a Lista de Cotações</returns>
 public List <Cotacao> Listar()
 {
     using (dadosEntities dados = new dadosEntities())
     {
         return(dados.CotacaoSet.ToList());
     }
 }
        /// <summary>
        /// Listar as Cotações mediante parâmetros
        /// </summary>
        /// <param name="documentoPortador">Documento do Portador</param>
        /// <param name="numeroIMEI">Número do IMEI</param>
        /// <returns>Retorna a Lista de Cotações</returns>
        public List <Cotacao> Listar(int documentoPortador, int numeroIMEI)
        {
            using (dadosEntities dados = new dadosEntities())
            {
                var Resultado = (from cotacao in dados.CotacaoSet
                                 where cotacao.NumeroMEI == numeroIMEI && cotacao.PortadorDocumento == documentoPortador
                                 select cotacao).ToList();

                return(Resultado);
            }
        }
        /// <summary>
        /// Inserir a Cotação
        /// </summary>
        /// <param name="cotacao">Cotação</param>
        /// <returns>Retorna True se a cotação teve êxito na inserção</returns>
        public bool Inserir(Cotacao cotacao)
        {
            try
            {
                using (dadosEntities dados = new dadosEntities())
                {
                    var regras = new Regras();
                    cotacao.ValorCotacao = regras.RegraValorCotacao(cotacao.ValorAparelho, cotacao.PortadorIdade);
                    if (RegrasBLL.ValidarNovaCotacao(cotacao))
                    {
                        dados.CotacaoSet.Add(cotacao);
                        dados.SaveChanges();
                    }
                }

                return(true);
            }
            catch (DbEntityValidationException e)
            {
                // Retrieve the error messages as a list of strings.
                var errorMessages = e.EntityValidationErrors
                                    .SelectMany(x => x.ValidationErrors)
                                    .Select(x => x.ErrorMessage);

                // Join the list to a single string.
                var fullErrorMessage = string.Join(Environment.NewLine, errorMessages);

                // Combine the original exception message with the new one.
                var exceptionMessage = string.Concat("Os erros são: ", Environment.NewLine, fullErrorMessage);

                // Throw a new DbEntityValidationException with the improved exception message.
                throw new Exception(exceptionMessage);
            }
            catch (Exception exception)
            {
                throw exception;
            }
            finally
            {
            }
        }