public static int EnviarNotaFiscal(out NotaFiscal notaFiscal, out ConfiguracaoEntity config, Destinatario destinatario = null)
        {
            notaFiscal = null;
            config     = ConfiguracaoService.GetConfiguracao();
            var ambiente    = Ambiente.Homologacao;
            var modeloNota  = Modelo.Modelo65;
            var tipoEmissao = TipoEmissao.Normal;

            var documentoDanfe = destinatario != null ? destinatario.DocumentoDanfe : "CPF"; //Encapsular isso aqui

            var emitente = EmissorService.GetEmissor();
            var codigoUF = (CodigoUfIbge)Enum.Parse(typeof(CodigoUfIbge), emitente.Endereco.UF);
            var serie    = config.SerieNFCeHom;
            var numero   = config.ProximoNumNFCeHom;

            var identificacao = GetIdentificacao(codigoUF, DateTime.Now, emitente, modeloNota, Convert.ToInt32(serie), numero, tipoEmissao, ambiente, documentoDanfe);
            var produtos      = GetProdutos(config);
            var totalNFe      = GetTotalNFe();
            var pagamentos    = GetPagamentos();
            var infoAdicional = new InfoAdicional(produtos);
            var transporte    = new Transporte(modeloNota, null, null);

            notaFiscal = new NFe.Core.TO.NotaFiscal(emitente, destinatario, identificacao, transporte, totalNFe, infoAdicional, produtos, pagamentos);

            string            cscId       = config.CscIdHom;
            string            csc         = config.CscHom;
            NotaFiscalService notaService = new NotaFiscalService();

            return(notaService.EnviarNotaFiscalAsync(notaFiscal, cscId, csc).Result);
        }
        public async Task <Core.NotasFiscais.NotaFiscal> EnviarNota(NotaFiscalModel notaFiscalModel, Modelo modelo)
        {
            notaFiscalModel.ValidateModel();

            if (notaFiscalModel.HasErrors)
            {
                throw new ArgumentException("Nota fiscal contém erros de validação não resolvidos.");
            }

            if (notaFiscalModel.Pagamentos[0].FormaPagamento != "Sem Pagamento" &&
                notaFiscalModel.Produtos.Sum(c => c.QtdeProduto * c.ValorUnitario) !=
                notaFiscalModel.Pagamentos.Sum(p => p.QtdeParcelas * p.ValorParcela))
            {
                await _dialogService.ShowError("Valor total da nota não corresponde ao valor de pagamento.",
                                               "Erro!", "Ok", null);

                throw new ArgumentException("Valor total da nota não corresponde ao valor de pagamento.");
            }

            Core.NotasFiscais.NotaFiscal notaFiscal = null;
            var config   = _configuracaoService.GetConfiguracao();
            var ambiente = config.IsProducao ? Ambiente.Producao : Ambiente.Homologacao;

            await Task.Run(() =>
            {
                var modeloNota = modelo;
                const TipoEmissao tipoEmissao = TipoEmissao.Normal; //verificar status do serviço e etc
                var destinatario   = GetDestinatario(notaFiscalModel, ambiente, modelo);
                var documentoDanfe =
                    destinatario != null ? destinatario.DocumentoDanfe : "CPF"; //Encapsular isso aqui
                var emitente = _emissorService.GetEmissor();
                var codigoUF = (CodigoUfIbge)Enum.Parse(typeof(CodigoUfIbge), emitente.Endereco.UF);

                var identificacao = GetIdentificacao(notaFiscalModel, codigoUF, DateTime.Now, emitente, modeloNota,
                                                     Convert.ToInt32(notaFiscalModel.Serie), notaFiscalModel.Numero, tipoEmissao, ambiente, documentoDanfe);
                var produtos      = GetProdutos(notaFiscalModel, config);
                var pagamentos    = GetPagamentos(notaFiscalModel);
                var totalNFe      = GetTotalNFe(notaFiscalModel);
                var infoAdicional = new InfoAdicional(produtos);
                var transporte    = GetTransporte(notaFiscalModel, modelo);

                notaFiscal = new Core.NotasFiscais.NotaFiscal(emitente, destinatario, identificacao, transporte,
                                                              totalNFe, infoAdicional, produtos, pagamentos);

                var cscId = ambiente == Ambiente.Homologacao ? config.CscIdHom : config.CscId;
                var csc   = ambiente == Ambiente.Homologacao ? config.CscHom : config.Csc;
                _enviaNotaFiscalService.EnviarNotaFiscal(notaFiscal, cscId, csc);
            });

            NotaEnviadaEvent(notaFiscal);
            return(notaFiscal);
        }
Beispiel #3
0
 public void Insertar(InfoAdicional InfoAdicional)
 {
     try
     {
         BD_SIRESEPEntities entities = new BD_SIRESEPEntities();
         entities.InfoAdicional.Add(InfoAdicional);
         entities.SaveChanges();
     }
     catch (Exception ee)
     {
         throw;
     }
 }
Beispiel #4
0
 public void Eliminar(InfoAdicional InfoAdicional)
 {
     try
     {
         BD_SIRESEPEntities entities = new BD_SIRESEPEntities();
         var result = entities.InfoAdicional.Find(InfoAdicional.idInfoAdicional);
         entities.InfoAdicional.Remove(result);
         entities.SaveChanges();
     }
     catch (Exception ee)
     {
         throw;
     }
 }
 public void Insertar(InfoAdicional InfoAdicional)
 {
     try
     {
         using (TransactionScope scope = new TransactionScope())
         {
             DAL.Clases.ManInfoAdicional._Instancia.Insertar(InfoAdicional);
             scope.Complete();
         }
     }
     catch (Exception ee)
     {
         throw;
     }
 }
Beispiel #6
0
 public void Actualizar(InfoAdicional InfoAdicional)
 {
     try
     {
         using (BD_SIRESEPEntities entities = new BD_SIRESEPEntities())
         {
             entities.Entry(InfoAdicional).State = System.Data.Entity.EntityState.Modified;
             entities.SaveChanges();
         }
     }
     catch (Exception ee)
     {
         throw;
     }
 }
        private static NotaFiscal PreencherNotaFiscal()
        {
            var endereçoEmitente =
                new Endereco("QUADRA 200 CONJUNTO 20", "20", "BRASILIA", "BRASILIA", "70000000", "DF");
            var emitente = new Emissor("RAZAO SOCIAL", "NOME FANTASIA", "12345678998765", "1234567898765",
                                       "1234567898765", "4784900", "Regime Normal", endereçoEmitente, "99999999");
            var identificação = new IdentificacaoNFe(CodigoUfIbge.DF, DateTime.Now, emitente.CNPJ, Modelo.Modelo65, 1,
                                                     "20887", TipoEmissao.Normal, Ambiente.Homologacao, emitente, "Venda", FinalidadeEmissao.Normal, true,
                                                     PresencaComprador.Presencial, "CPF");
            var       transporte         = new Transporte(Modelo.Modelo65, null, null);
            const int valorTotalProdutos = 65;
            var       totalIcms          = new IcmsTotal(0, 0, 0, 0, 0, valorTotalProdutos, 0, 0, 0, 0, 0, 0, 0, 0, valorTotalProdutos,
                                                         0);
            var totalNFe = new TotalNFe {
                IcmsTotal = totalIcms
            };
            var impostos = new List <Imposto>
            {
                new Imposto {
                    CST = "60", TipoImposto = TipoImposto.Icms
                },
                new Imposto {
                    CST = "04", TipoImposto = TipoImposto.PIS
                }
            };
            var grupoImpostos = new GrupoImpostos
            {
                CFOP      = "5656",
                Descricao = "Gás Venda",
                Impostos  = impostos
            };
            var produtos = new List <Produto>
            {
                new Produto(grupoImpostos, 0, "5656", "0001", "GLP 13KG", "27111910", 1, "UN", 65, 0, false)
            };
            var pagamentos = new List <Pagamento>
            {
                new Pagamento(FormaPagamento.Dinheiro)
                {
                    Valor = 65
                }
            };
            var infoAdicional = new InfoAdicional(produtos);
            var notaFiscal    = new NotaFiscal(emitente, null, identificação, transporte, totalNFe, infoAdicional,
                                               produtos, pagamentos);

            return(notaFiscal);
        }
        protected void AgregarPerfil_Click(object sender, EventArgs e)
        {
            #region Info Adicional

            adic                    = new InfoAdicional();
            adic.nivelIdioma        = TxtIdioma.Value;
            adic.idIdioma           = getID6(ListaIdiomas.SelectedValue);
            adic.idLicenciaConducir = getID7(ListaLicencias.SelectedValue);
            SIRESEP.BS.Clases.ManInfoAdicional._Instancia.Insertar(adic);
            #endregion

            #region Info Habilidades

            habi           = new InfoHabilidad();
            habi.habilidad = txtHabilidades.Value;
            SIRESEP.BS.Clases.ManInfoHabilidad._Instancia.Insertar(habi);
            #endregion

            #region Certificaciones

            certi        = new Certificaciones();
            certi.nombre = txtCertificacion.Value;
            certi.ano    = Convert.ToDateTime(fechaCerti.Text);
            SIRESEP.BS.Clases.ManCertificaciones._Instancia.Insertar(certi);
            #endregion

            #region Info Laboral

            laboral                   = new InfoLaboral();
            laboral.profesion         = txtProfesion.Value;
            laboral.tiempoExperiencia = Convert.ToInt32(txtExperiencia.Value);
            SIRESEP.BS.Clases.ManInfoLaboral._Instancia.Insertar(laboral);
            #endregion

            #region Info de estudios
            estu = new InfoEstudios();
            estu.idInstitucion  = getID3(lista3.SelectedValue);
            estu.idCarrera      = getID4(lista4.SelectedValue);
            estu.idGradoEstudio = getID5(lista5.SelectedValue);
            SIRESEP.BS.Clases.ManInfoEstudios._Instancia.Insertar(estu);



            Insertado.Visible = true;
            #endregion

            #region Datos personales
            perfilpersona = new PerfilPersona();

            string UsuarioSes = (Session["ced"].ToString());

            var query = (from a in SIRESEP.BS.ManUsuario._Instancia.Mostrar().AsEnumerable()
                         where a._cedula.Contains(UsuarioSes) select a._idUsuario);

            int idUsuario;
            idUsuario = Convert.ToInt32(query.First());

            perfilpersona.nombre          = nombreFront.Value;
            perfilpersona.apellidos       = apellidosFront.Value;
            perfilpersona.fechaNacimiento = Convert.ToDateTime(fechaFront.Text);
            perfilpersona.telefono        = Convert.ToInt32(telefonoFront.Value);
            perfilpersona.direccion       = DireccionFront.Value;
            perfilpersona.idNacionalidad  = getID(lista1.SelectedItem.Value);
            perfilpersona.idGenero        = getID2(lista2.SelectedItem.ToString());
            perfilpersona.idEstado        = 1;
            perfilpersona.usuarioCrea     = Environment.UserName;
            perfilpersona.fechaCreacion   = Convert.ToDateTime(DateTime.Now);
            perfilpersona.usuarioModifica = "n/a";
            perfilpersona.FechaModifica   = Convert.ToDateTime(DateTime.Now);
            perfilpersona.idUsuario       = idUsuario;


            SIRESEP.BS.Clases.ManPerfilPersona._Instancia.Insertar(perfilpersona);
            Response.Write("<script>alert('Insertado correctamente!')</script>");
            Formulario1.Visible = false;

            Label1.Visible = true;
            #endregion
        }