예제 #1
0
        public NotaFiscalPeriodo AddNotaFiscalPeriodosIfNotExist(int ano, int mes)
        {
            var notasFiscaisPeriodosExist = NotasFiscaisPeriodos.SingleOrDefault(_ => _.Ano == ano && _.Mes == mes);

            if (notasFiscaisPeriodosExist != null)
            {
                return(notasFiscaisPeriodosExist);
            }
            var notaFiscalPeriodo = new NotaFiscalPeriodo(this, ano, mes);

            _notasFiscaisPeriodos.Add(notaFiscalPeriodo);
            return(notaFiscalPeriodo);
        }
예제 #2
0
        public NotaFiscal(NotaFiscalPeriodo periodo, dynamic registro)
        {
            Periodo           = periodo;
            PeriodoId         = periodo.Id;
            CodDocumento      = (long)registro.codDocumento;
            CnpjCpfFornecedor = (string)registro.cnpjCpfFornecedor;
            CodTipoDocumento  = (int)registro.codTipoDocumento;
            var dataDocumento = (DateTime?)registro.dataDocumento;

            DataDocumento = dataDocumento.HasValue ? dataDocumento.Value : new DateTime(periodo.Ano, periodo.Mes, 1);
            NumDocumento  = (string)registro.numDocumento;

            Update(registro);

            AddDomainEvent(new NotaFiscalCreatedDomainEvent(this));
        }