Beispiel #1
0
 /// <summary>
 /// Instancia este objeto e apenas inicia as variáveis, não carrega nenhum dado da base de dados
 /// </summary>
 public NFe()
     : base()
 {
     Modelo = "55";
     Serie = new Data.Faturamento.Cadastro.Serie().Find<Model.Faturamento.Cadastro.ISerie>(new Where
     {
         {
             "fat_Serie.Modelo = @modelo", new Parameter
             {
                 ParameterName = "@modelo",
                 Value = Modelo
             }
         }
     }).FirstOrDefault();
 }
Beispiel #2
0
        /// <summary>
        /// Método utilizado para preencher esta instância com os dados do dataReader
        /// </summary>
        /// <param name="dataReader">DataReader com os dados que deverão ser passados para esta instância</param>
        public override void Populate(DataReader dataReader)
        {
            #region base
            base.Populate(dataReader);
            #endregion

            #region desta classe
            DataEmissao = dataReader.GetValue<DateTime>("p_DataEmissao");
            DataHoraMovimento = dataReader.GetValue<DateTime>("p_DataHoraMovimento");
            BaseCalculoICMS = dataReader.GetDouble("p_BaseCalculoICMS");
            ValorICMS = dataReader.GetDouble("p_ValorICMS");
            ValorIsentaNaoTributado = dataReader.GetDouble("p_VlrIsentaNaoTrib");
            ValorOutra = dataReader.GetDouble("p_VlrOutra");
            AliquotaICMS = dataReader.GetDouble("p_AliquotaICMS");
            Modelo = dataReader.GetString("p_Modelo");
            Serie = new Data.Faturamento.Cadastro.Serie(dataReader.GetString("p_GUIDSerie"));
            CFOP = new CFOP("p_GUIDCFOP");
            Emitente = dataReader.GetString("p_Emitente");
            ValorBaseCalculo = dataReader.GetDouble("p_VlrBaseCalc");
            Situacao = dataReader.GetString("p_Situacao");
            ValorICMSRetido = dataReader.GetDouble("p_ValorICMSRetido");
            ValorDespesasAcessorias = dataReader.GetDouble("p_VlrDespAcess");
            CodigoAntecipacao = dataReader.GetEnum<CodigoAntecipacao>("p_CodigoAntecipacao");
            BaseCalculoICMSST = dataReader.GetDouble("p_BaseCalculoICMSST");
            DadoPessoa = new Data.Faturamento.Lancamento.Movimento.DadoPessoa.DadoPessoa(dataReader.GetValue<string>("p_GUIDLan"));
            Subserie = dataReader.GetString("p_Subserie");
            Temp = dataReader.GetBoolean("p_Temp");
            Impressora = new Impressora(dataReader.GetString("p_Impressora"));
            TabelaPreco = Abstract.Cadastro.TabelaPreco.TabelaPrecoBase.Create(dataReader.GetString("p_GUIDTabelaPreco"));
            COO = dataReader.GetInt("p_COO");
            CondicaoPagamento = new Data.Cadastro.Financeiro.CondicaoPagamento.CondicaoPagamento(dataReader.GetString("p_GUIDCondicaoPagamento"));
            Replicado = dataReader.GetBoolean("p_Replicado");
            Transportador = new Transportador((GUID)dataReader.GetValue<string>("p_GUIDTransportador"));
            QuantidadeVolume = dataReader.GetDouble("p_QuantidadeVolume");
            #endregion

            #region Registro04
            //    Registro04 = new Registro04(this);
            #endregion

            #region read only
            //ValorTotalBruto = dataReader.GetValue<double>("p_VlrTotalBruto");
            //ValorTotalLiquido = dataReader.GetValue<double>("p_VlrTotalLiquido");
            #endregion

            #region Itens Especiais
            IList<IRateio> rateios = new Rateio().Find<IRateio, IMovimento>("fat_LanMovItem.GUIDLanMov", GUID, this);

            ItensEspeciais = (from r in rateios
                              group r by r.Ordem into g
                              let rateio = g.FirstOrDefault()
                              select new Especial
                              {
                                  ItemEspecial = rateio.ItemEspecial.ItemEspecial,
                                  Valor = g.Sum(s => s.Valor),
                                  Percentual = rateio.ItemEspecial.Percentual > 0 ? rateio.ItemEspecial.Percentual : 0,
                                  Ordem = rateio.Ordem
                              }).ToList<IEspecial>();

            #endregion

            #region Analise de crédito
            AnaliseCredito = new AnaliseCredito(this);
            #endregion

            #region Parcelas
            DataReader dr = Connection.ExecuteReader(@"
                            SELECT GUID
                              FROM fat_Lan
                             WHERE GUID IN (
                                       SELECT GUIDLanFilho
                                         FROM fat_LanSK
                                        WHERE GUIDLanPai = @pai
                                              AND
                                              TableHash = @th
                                   );",
                                                    new[] {
                                                        new Parameter {
                                                            ParameterName = "@pai",
                                                            Value = GUID
                                                        },
                                                        new Parameter{
                                                            ParameterName = "@th",
                                                            Value = Unimake.Utilities.GetTableHash(typeof(IPagarReceber))
                                                        }
                                                    });

            Parcelas = new List<IParcela>();

            while(dr.Read())
            {
                Parcelas.Add(Data.Abstract.Financeiro.Lancamento.PagarReceberBase.Create(dr.GetString(0)) as IParcela);
            }
            #endregion

            #region Itens
            Itens = ItemBase.Create(this).Find<IItem, IMovimento>(new Where()
            {
                {"fat_LanMovItem.GUIDLanMov", GUID.ToString() }
            }, this);
            #endregion

            #region Ocorrências
            Ocorrencias = new Data.Faturamento.Lancamento.Movimento.Ocorrencia.Ocorrencia().Find<Model.Faturamento.Lancamento.Movimento.Ocorrencia.IOcorrencia, IMovimento>(new Where
            {
                {
                    "fat_LanMovOcorrencia.GUIDLanMov", GUID.ToString()
                }
            }, this);
            #endregion

            #region Baixas
            //Todo Luciano: Para implementar múltiplas baixas basta tratar as baixas como uma coleção
            IList<IBaixa> baixas = new Data.Faturamento.Lancamento.Movimento.Baixa.Baixa().Find<IBaixa>(new Where()
            {
                { "fat_LanMovBx.GUIDLan", GUID.ToString() }
            });

            if(baixas.Count > 0)
                Baixa = baixas.FirstOrDefault();

            #endregion
        }
Beispiel #3
0
 /// <summary>
 /// Instancia este objeto e apenas inicia as variáveis, não carrega nenhum dado da base de dados
 /// </summary>
 public MovimentoBase()
     : base()
 {
     DataEmissao = DateTime.Now;
     DataHoraCadastro = DateTime.Now;
     DataHoraMovimento = DateTime.Now;
     Itens = new List<IItem>();
     Emitente = IndicadorProducao.Proprio;
     Situacao = SituacaoNotaFiscal.Normal;
     DadoPessoa = new DadoPessoa();
     Impressora = new Impressora();
     Registro04 = new Registro04();
     AnaliseCredito = new AnaliseCredito();
     Parcelas = new List<IParcela>();
     ItensEspeciais = new List<IEspecial>();
     CondicaoPagamento = new CondicaoPagamento();
     MovimentosVinculados = new List<IMovimento>();
     MovimentosMesclados = new List<IMovimento>();
     Ocorrencias = new List<Model.Faturamento.Lancamento.Movimento.Ocorrencia.IOcorrencia>();
     Baixa = new Data.Faturamento.Lancamento.Movimento.Baixa.Baixa();
     Serie = new Data.Faturamento.Cadastro.Serie();
 }