示例#1
0
        public static ElementoBinario GetSerializador(Type tipo)
        {
            ElementoBinario elemento;


            if (DicTiposBasicos.ContainsKey(tipo.AssemblyQualifiedName))
            {
                elemento = ElementoBinario.ElementoTipoAceptado(Serializar.AssemblyToEnumTipoAceptado(tipo.AssemblyQualifiedName));
            }
            else if (tipo.ImplementInterficie(typeof(IElementoBinarioComplejo)))
            {
                elemento = ((IElementoBinarioComplejo)tipo.GetObj()).Serialitzer;
                if (Equals(elemento, default))
                {
                    //significa que el Serializador se tiene que generar
                    elemento = IGetSerialitzerAuto(tipo);
                }
            }
            else if (SerializadoresTiposNoSoportados.ContainsKey(tipo.AssemblyQualifiedName))
            {
                elemento = SerializadoresTiposNoSoportados[tipo.AssemblyQualifiedName];
            }
            else
            {
                elemento = IGetSerialitzerAuto(tipo);
            }

            return(elemento);
        }
示例#2
0
        protected override object IGetObject(MemoryStream bytes)
        {
            long aux;
            long longitud = default;

            byte[] data = default;
            switch (unidad)
            {
            case LongitudBinaria.UInt: longitud = Serializar.ToUInt(bytes.Read(sizeof(uint))); break;

            case LongitudBinaria.UShort: longitud = Serializar.ToUShort(bytes.Read(sizeof(ushort))); break;

            case LongitudBinaria.Byte: longitud = bytes.ReadByte(); break;

            case LongitudBinaria.MarcaFin:
                aux  = bytes.Position;
                data = new byte[bytes.Length - bytes.Position];
                bytes.Read(data, 0, data.Length);
                longitud       = data.SearchArray(marcaFin) - aux;
                data           = data.SubArray((int)longitud);
                bytes.Position = aux + longitud;
                break;
            }
            if (data == null)
            {
                data = new byte[longitud];
                bytes.Read(data, 0, data.Length);
            }
            return(data);
        }
示例#3
0
        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            Instancia serializar     = Instancia.GetInstance();
            Serializar <Instancia> t = new Serializar <Instancia>(serializar);

            t.serializar();
        }
示例#4
0
        private void carregarBanco()
        {
            ISerializable deserializar          = Instancia.GetInstance();
            Serializar <ISerializable> carregar = new Serializar <ISerializable>(deserializar);

            carregar.deserializar();
        }
 private void txtOrigen_Drop(object sender, DragEventArgs e)
 {
     byte[] data = e.Data.GetFileData();
     if (data != default)
     {
         txtOrigen.TextWithFormat = Serializar.ToString(data);
     }
 }
示例#6
0
 public Color(int argb = 0)
 {
     byte[] argbBytes = Serializar.GetBytes(argb);
     a = argbBytes[0];
     r = argbBytes[1];
     g = argbBytes[2];
     b = argbBytes[3];
 }
 private void txtDestino_Drop(object sender, DragEventArgs e)
 {
     byte[] data = e.Data.GetFileData();
     if (data != default)
     {
         txtDestino.Text = Serializar.ToString(data);
     }
 }
示例#8
0
 public Color(int argb = 0)
 {
     byte[] argbBytes = Serializar.GetBytes(argb);
     a = argbBytes[Pixel.A];
     r = argbBytes[Pixel.R];
     g = argbBytes[Pixel.G];
     b = argbBytes[Pixel.B];
 }
示例#9
0
        public RespuestaClienteWS CreNotificacion(string IdGlobalMacroTramite, int idEmpresa, int idProyecto, int idRL)
        {
            var empresa  = logicaempresas.L_DetallesEmpresa(idEmpresa);
            var RL       = logicaRL.L_DetallesRepresentanteLegal(idRL);
            var proyecto = logicaproyectos.L_DetallesProyectos(idProyecto);

            var proxy   = new NotificacionesIOP.NotificacionDeInteroperabilidadClient();
            var request = new NotificacionesIOP.NotificacionDeInteroperabilidadRequest()
            {
                HeaderInteroperabilidad = ObtenerHeaderInteroperabilidad(proyecto, RL),
                InformacionDeNegocio    = ObtenerInformacionDeNegocio(proyecto, empresa, RL),
                DocumentosAdjuntos      = new NotificacionesIOP.DocumentosAdjuntos()
            };


            var response = proxy.Notificacion(request);



            //Serializamos el payload o request para poder almacenarlo en la B.D.
            var payload = Serializar.SerializarToXml(request);


            Respuesta.FolioPeticion  = response.FolioPeticion;
            Respuesta.FolioRespuesta = response.FolioRespuesta;
            Respuesta.Codigo         = response.EstatusEntregaMensaje.Codigo;
            Respuesta.Descripcion    = response.EstatusEntregaMensaje.Descripcion;
            Respuesta.XML            = payload;

            LogicaENRELRespuestasWS logicaWS = new LogicaENRELRespuestasWS();

            if (Respuesta.Codigo == 1)
            {
                int codResp   = Respuesta.Codigo;
                var fpeticion = Respuesta.FolioPeticion;
                var fResp     = Respuesta.FolioRespuesta;
                var fmensaje  = Respuesta.Descripcion;
                var xml       = Respuesta.XML;
                MetodoGeneral.RegistroDeError("Respuesta Interop Sincrona- CodigoRespuesta: " + codResp + ", foliopeticion: " + fpeticion + ", foliorespuesta: " + fResp + ", Descripcion: " + fmensaje + ", XML: " + xml + "", "-Invocacion WSCRE");
                var insertarRespuesta = logicaWS.L_InsertarNotificacionIOP(fpeticion, fResp, codResp, fmensaje, IdGlobalMacroTramite, xml);
            }
            else
            {
                int codResp   = Respuesta.Codigo;
                var fpeticion = Respuesta.FolioPeticion;
                var fResp     = Respuesta.FolioRespuesta;
                var fmensaje  = Respuesta.Descripcion;
                var xml       = Respuesta.XML;
                MetodoGeneral.RegistroDeError("Respuesta Interop Sincrona- CodigoRespuesta: " + codResp + ", foliopeticion: " + fpeticion + ", foliorespuesta: " + fResp + ", Descripcion: " + fmensaje + ", XML: " + xml + "", "-Invocacion WSCRE");
                var insertarRespuesta = logicaWS.L_InsertarNotificacionIOP(fpeticion, fResp, codResp, fmensaje, IdGlobalMacroTramite, xml);
                var notificar         = NotificarEnvioTramite("CRE-15-022", idProyecto.ToString(), RL.RL_RFC);
            }



            return(Respuesta);
        }
        private void SaveToFile(string text)
        {
            SaveFileDialog saveFile = new SaveFileDialog();

            if (saveFile.ShowDialog().GetValueOrDefault())
            {
                System.IO.File.WriteAllBytes(saveFile.FileName, Serializar.GetBytes(text));
            }
        }
        protected override IList IGetPartsObject(object obj)
        {
            Bitmap bmp = obj as Bitmap;

            if (bmp == null)
            {
                throw new Exception(string.Format("Se ha intentado leer {0} como System.Drawing.Bitmap", obj.GetType().FullName));
            }
            return(new object[] { Serializar.GetBytes(bmp) });
        }
示例#12
0
 public static int ToArgb(this Color color)
 {
     byte[] argb =
     {
         color.A,
         color.R,
         color.G,
         color.B
     };
     return(Serializar.ToInt(argb));
 }
        public void PonerPlantilla(XmlNode firstChild)
        {
            byte[] aux;

            gEtiqueta.MinHeight = double.Parse(firstChild.ChildNodes[(int)PlantillaXml.Height].InnerText);
            gEtiqueta.MaxHeight = double.Parse(firstChild.ChildNodes[(int)PlantillaXml.Height].InnerText);
            gEtiqueta.MinWidth  = double.Parse(firstChild.ChildNodes[(int)PlantillaXml.Width].InnerText);
            gEtiqueta.MaxWidth  = double.Parse(firstChild.ChildNodes[(int)PlantillaXml.Width].InnerText);
            aux = Serializar.GetBytes(int.Parse(firstChild.ChildNodes[(int)PlantillaXml.BackGroundBorder].InnerText));
            gEtiqueta.Background = new SolidColorBrush(Color.FromArgb(aux[0], aux[1], aux[2], aux[3]));
            aux = Serializar.GetBytes(int.Parse(firstChild.ChildNodes[(int)PlantillaXml.BackGroundText].InnerText));
            gCodigo.Background = new SolidColorBrush(Color.FromArgb(aux[0], aux[1], aux[2], aux[3]));
            gBody.Background   = new SolidColorBrush(Color.FromArgb(aux[0], aux[1], aux[2], aux[3]));
        }
        private string GetContentSelectedFile()
        {
            string         text;
            OpenFileDialog opnFile = new OpenFileDialog();

            if (opnFile.ShowDialog().GetValueOrDefault())
            {
                text = Serializar.ToString(System.IO.File.ReadAllBytes(opnFile.FileName));
            }
            else
            {
                text = string.Empty;
            }

            return(text);
        }
示例#15
0
        protected override byte[] JGetBytes(object obj)
        {
            Array         matriz      = (Array)(obj is IList <T>?Gabriel.Cat.S.Extension.ExtensionIList.ToArray((IList)obj) : obj);
            List <byte[]> datosMatriz = new List <byte[]>();

            int[] dimensiones = matriz.GetDimensiones();
            datosMatriz.Add(Serializar.GetBytes(matriz.Rank));
            for (int i = 0; i < matriz.Rank; i++)
            {
                datosMatriz.Add(Serializar.GetBytes(dimensiones[i]));
            }
            for (int i = 0, f = matriz.Length; i < f; i++)
            {
                datosMatriz.Add(Serializador.GetBytes(matriz.GetValue(dimensiones, i)));
            }
            return(new byte[0].AddArray(datosMatriz.ToArray()));
        }
示例#16
0
        protected override object JGetObject(MemoryStream bytes)
        {
            Array matriz;

            int rank = Serializar.ToInt(bytes.Read(sizeof(int)));

            int[] dimensiones = new int[rank];

            for (int i = 0; i < dimensiones.Length; i++)
            {
                dimensiones[i] = Serializar.ToInt(bytes.Read(sizeof(int)));
            }

            matriz = Array.CreateInstance(typeof(T), dimensiones);

            for (int i = 0, f = matriz.Length; i < f; i++)
            {
                matriz.SetValue(dimensiones, i, (T)Serializador.GetObject(bytes));
            }

            return(matriz);
        }
示例#17
0
        public void pesquisaEstoque(string unidNeg, DateTime dataEstoque, string path, string serie)
        {
            try
            {
                string[] lines = System.IO.File.ReadAllLines(path);
                int      cont  = 1;

                DadosPaf df = new DadosPaf();
                IList <EstoqueMensagemDadosEstoqueProduto> listProd = new List <EstoqueMensagemDadosEstoqueProduto>();
                foreach (string linha in lines)
                {
                    if (cont == 1)
                    {
                        df.estabCli = linha.Trim();
                    }
                    else if (cont == 2)
                    {
                        df.iestadualCli = linha.Trim();
                    }
                    else if (cont == 3)
                    {
                        df.cnpjCli = linha.Trim();
                    }
                    else if (cont == 4)
                    {
                        df.nomeCli = linha.Trim();
                    }
                    else if (cont == 5)
                    {
                        df.numCredenCli = linha.Trim();
                    }
                    else if (cont == 6)
                    {
                        df.nomComercial = linha.Trim();
                    }
                    else if (cont == 7)
                    {
                        df.versaoPafEcf = linha.Trim();
                    }
                    else if (cont == 8)
                    {
                        df.cnpjDesenv = linha.Trim();
                    }
                    else if (cont == 9)
                    {
                        df.nomDesenv = linha.Trim();
                    }
                    else if (cont == 10)
                    {
                        df.nFabEcf = linha.Trim();
                    }
                    else if (cont == 11)
                    {
                        df.nTipoEcf = linha.Trim();
                    }
                    else if (cont == 12)
                    {
                        df.marcaEcf = linha.Trim();
                    }
                    else if (cont == 13)
                    {
                        df.modeloEcf = linha.Trim();
                    }
                    else if (cont == 14)
                    {
                        df.versaoSofwEcf = linha.Trim();
                    }
                    else if (cont == 15)
                    {
                        df.caixa = linha.Trim();
                    }
                    else if (cont == 16)
                    {
                        df.dataRedz = Convert.ToDateTime(linha.Trim());
                    }
                    else if (cont >= 17)
                    {
                        char[]   delimiterChars = { ';' };
                        string[] words          = linha.Trim().Split(delimiterChars);
                        EstoqueMensagemDadosEstoqueProduto prod = new EstoqueMensagemDadosEstoqueProduto();
                        int conta = 1;
                        foreach (string s in words)
                        {
                            if (conta == 1)
                            {
                                prod.Descricao = s.Trim();
                            }
                            else if (conta == 2)
                            {
                                prod.CodigoProprio = s.Trim();

                                //  prod.Tipo = (EstoqueMensagemDadosEstoqueProdutoCodigoTipo)Enum.Parse(typeof(EstoqueMensagemDadosEstoqueProdutoCodigoTipo), "Proprio");
                            }
                            else if (conta == 3)
                            {
                                prod.ValorUnitario = s.Trim();
                            }
                            else if (conta == 4)
                            {
                                prod.Quantidade = Convert.ToInt64(s.Trim()).ToString();
                            }
                            else if (conta == 5)
                            {
                                prod.Unidade = s.Trim();
                            }
                            else if (conta == 6)
                            {
                                prod.SituacaoTributaria = (EstoqueMensagemDadosEstoqueProdutoSituacaoTributaria)Enum.Parse(typeof(EstoqueMensagemDadosEstoqueProdutoSituacaoTributaria), s.Trim());
                            }
                            else if (conta == 7)
                            {
                                if (!(s.Trim().Equals("") || s.Trim().Equals("0000")))
                                {
                                    prod.Aliquota = s.Trim();
                                }
                                else
                                {
                                    prod.Aliquota = "";
                                }
                            }
                            else if (conta == 8)
                            {
                                prod.IsArredondado = s.Trim().Equals("T");
                            }
                            else if (conta == 10)
                            {
                                prod.SituacaoEstoque = (EstoqueMensagemDadosEstoqueProdutoSituacaoEstoque)Enum.Parse(typeof(EstoqueMensagemDadosEstoqueProdutoSituacaoEstoque), s.Trim());
                            }
                            else if (conta == 11)
                            {
                                prod.CodigoNCMSH = s.Trim();
                            }
                            else if (conta == 12)
                            {
                                prod.CodigoGTIN = s.Trim();
                            }
                            else if (conta == 13)
                            {
                                prod.CodigoCEST = s.Trim();
                            }
                            conta++;
                        }

                        prod.Ippt = (EstoqueMensagemDadosEstoqueProdutoIppt)Enum.Parse(typeof(EstoqueMensagemDadosEstoqueProdutoIppt), "Proprio");
                        listProd.Add(prod);
                    }
                    cont++;
                }

                Estoque est = new Estoque();
                est.Versao = "1.0";

                EstoqueMensagemEstabelecimento estE = new EstoqueMensagemEstabelecimento();
                //  estE.Cnpj = df.cnpjCli;
                estE.Ie = df.iestadualCli;

                //   estE.NomeEmpresarial = df.nomeCli;

                EstoqueMensagemPafEcf estP = new EstoqueMensagemPafEcf();
                //estP.CnpjDesenvolvedor = df.cnpjDesenv;
                //estP.NomeComercial = df.nomComercial;
                //estP.NomeEmpresarialDesenvolvedor = df.nomDesenv;
                //estP.Codigo= df.numCredenCli;
                //estP.Versao = df.versaoPafEcf;
                estP.NumeroCredenciamento = df.numCredenCli;

                EstoqueMensagem estM = new EstoqueMensagem();
                estM.Estabelecimento = estE;
                estM.PafEcf          = estP;

                EstoqueMensagemDadosEstoque estDad = new EstoqueMensagemDadosEstoque();
                DateTime dataIni = dataEstoque.AddMonths(-1);
                //estDad.DataReferenciaInicial = dataIni.ToString("dd/MM/yyyy");
                estDad.DataReferencia = dataEstoque;

                estDad.Produtos   = listProd.ToArray();
                estM.DadosEstoque = estDad;

                est.Mensagem = estM;
                XmlDocument xmlNFE = Serializar.Serializa <Estoque>(est);

                ConfigHelper config   = new ConfigHelper();
                string       pathfile = config.local_salvar_arquivos + unidNeg + @"\" + "estoquePaf" + @"\" + df.nFabEcf + @"\"
                                        + df.dataRedz.ToString("ddMMyyyy");

                if (!Directory.Exists(pathfile))
                {
                    Directory.CreateDirectory(pathfile);
                }
                pathfile = pathfile + @"\env_estoquePaf.xml";

                CarregaConfiguracoesGP carg = new CarregaConfiguracoesGP();
                DataTable datCert           = carg.BuscaConfig(85475, unidNeg);

                if (datCert.Rows.Count > 0)
                {
                    DataRow row          = datCert.Rows[0];
                    string  serialNumber = row["DADO_ALPHA"].ToString().Trim();

                    if (serialNumber.Contains("SERIALNUMBER="))
                    {
                        serialNumber = serialNumber.Replace("SERIALNUMBER=", string.Empty);
                    }

                    var certificado = CertificadoHelper.Consultar(StoreName.My, StoreLocation.CurrentUser, serialNumber, CertificadoHelper.TipoConsultaCertificado.PorNroSerie);
                    if (certificado == null)
                    {
                        MessageBox.Show("Certificado " + row["DADO_ALPHA"].ToString().Trim() + " não localizado na maquina, impossivel assinar.", "Erro Certificado", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    else
                    {
                        XmlElement xmlAssinatura = AssinarXML.AssinarXmlNfe(xmlNFE, "Estoque", certificado);
                        XmlNode    nodeEvento    = xmlNFE.GetElementsByTagName("Estoque")[0];
                        if (nodeEvento != null)
                        {
                            nodeEvento.AppendChild(xmlAssinatura);
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Não foi possivel assinar o arquivo, deve informar o certificado na config 85475.", "Erro Certificado", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                xmlNFE.Save(pathfile);
                GPPAFTRARQ arq = new GPPAFTRARQ();
                DataTable  dt  = arq.retornaEstoque(unidNeg, "0", serie, df.dataRedz, df.nFabEcf);

                if (dt.Rows.Count <= 0)
                {
                    arq.insereArquivo(unidNeg, "0", serie, "E", pathfile, df.dataRedz, df.nFabEcf);
                }


                estoquesPendentes(unidNeg, serie, false);
                MessageBox.Show("Arquivo gerado com sucesso mas não transmitido! \n" + pathfile, "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information);

                System.Diagnostics.Process.Start(pathfile);
            }
            catch (Exception ex)
            {
                LogHelper.GravarLog("Erro Estoque Paf " + ex);
                throw ex;
            }
        }
        public void TwoKeysTiposMios()
        {
            TwoKeys <IdUnico, byte[]> pair         = new TwoKeys <IdUnico, byte[]>(new IdUnico(), Serializar.GetBytes("Gabriel"));
            ElementoBinario           serializador = ElementoBinario.GetSerializador(pair.GetType());

            byte[] data = serializador.GetBytes(pair);
            TwoKeys <IdUnico, byte[]> pairDeserializada = (TwoKeys <IdUnico, byte[]>)serializador.GetObject(data);

            Assert.IsTrue(pair.Key1.GetId().ArrayEqual(pairDeserializada.Key1.GetId()) && pair.Key2.ArrayEqual(pairDeserializada.Key2));
        }
 protected override byte[] IGetBytes(object obj)
 {
     return(Serializar.GetBytes(obj));
 }
示例#20
0
        public void KeyValuePairTiposMios()
        {
            KeyValuePair <IdUnico, byte[]> pair = new KeyValuePair <IdUnico, byte[]>(new IdUnico(), Serializar.GetBytes("Gabriel"));
            ElementoBinario serializador        = ElementoBinario.GetSerializador(pair.GetType());

            byte[] data = serializador.GetBytes(pair);
            KeyValuePair <IdUnico, byte[]> pairDeserializada = (KeyValuePair <IdUnico, byte[]>)serializador.GetObject(data);

            Assert.IsTrue(pair.Key.GetId().ArrayEqual(pairDeserializada.Key.GetId()) && pair.Value.ArrayEqual(pairDeserializada.Value));
        }
 protected override object IGetObject(MemoryStream bytes)
 {
     return(Serializar.ToObjetoAceptado(TipoDatos, bytes));
 }
示例#22
0
 protected override byte[] IGetBytes(object obj)
 {
     byte[] data = (byte[])obj;
     return(Serializar.GetBytes(data.Length).AddArray(data));
 }
示例#23
0
 public int ToArgb()
 {
     return(Serializar.ToInt(new byte[] { a, r, g, b }));
 }
示例#24
0
        public void gerarArquivos(string serie, string unidNeg, string caminho)
        {
            try
            {
                string[]   lines = System.IO.File.ReadAllLines(caminho);
                int        cont  = 1;
                GPPAFTRARQ gpArq = new GPPAFTRARQ();
                DadosPaf   df    = new DadosPaf();
                foreach (string linha in lines)
                {
                    if (cont == 1)
                    {
                        df.estabCli = linha.Trim();
                    }
                    else if (cont == 2)
                    {
                        df.iestadualCli = linha.Trim();
                    }
                    else if (cont == 3)
                    {
                        df.cnpjCli = linha.Trim();
                    }
                    else if (cont == 4)
                    {
                        df.nomeCli = linha.Trim();
                    }
                    else if (cont == 5)
                    {
                        df.numCredenCli = linha.Trim();
                    }
                    else if (cont == 6)
                    {
                        df.nomComercial = linha.Trim();
                    }
                    else if (cont == 7)
                    {
                        df.versaoPafEcf = linha.Trim();
                    }
                    else if (cont == 8)
                    {
                        df.cnpjDesenv = linha.Trim();
                    }
                    else if (cont == 9)
                    {
                        df.nomDesenv = linha.Trim();
                    }
                    else if (cont == 10)
                    {
                        df.nFabEcf = linha.Trim();
                    }
                    else if (cont == 11)
                    {
                        df.nTipoEcf = linha.Trim();
                    }
                    else if (cont == 12)
                    {
                        df.marcaEcf = linha.Trim();
                    }
                    else if (cont == 13)
                    {
                        df.modeloEcf = linha.Trim();
                    }
                    else if (cont == 14)
                    {
                        df.versaoSofwEcf = linha.Trim();
                    }
                    else if (cont == 15)
                    {
                        df.caixa = linha.Trim();
                    }
                    else if (cont == 16)
                    {
                        df.dataRedz = Convert.ToDateTime(linha.Trim());
                    }

                    cont++;
                }



                ReducaoZ redZ = new ReducaoZ();
                redZ.Versao = "1.0";

                ReducaoZMensagem redMensagem = new ReducaoZMensagem();


                ReducaoZMensagemEstabelecimento redMen = new ReducaoZMensagemEstabelecimento();
                redMen.Ie = df.iestadualCli;
                redMen.NomeEmpresarial = df.nomeCli;
                redMen.Cnpj            = df.cnpjCli;


                ReducaoZMensagemPafEcf redPaf = new ReducaoZMensagemPafEcf();
                redPaf.CnpjDesenvolvedor            = df.cnpjDesenv;
                redPaf.NomeComercial                = df.nomComercial;
                redPaf.NomeEmpresarialDesenvolvedor = df.nomDesenv;
                redPaf.NumeroCredenciamento         = df.numCredenCli;
                redPaf.Versao = df.versaoPafEcf;


                ReducaoZMensagemEcf redEcf = new ReducaoZMensagemEcf();
                redEcf.Marca            = df.marcaEcf;
                redEcf.Modelo           = df.modeloEcf;
                redEcf.NumeroFabricacao = df.nFabEcf;
                redEcf.Tipo             = df.nTipoEcf;
                redEcf.Versao           = df.versaoSofwEcf;


                ReducaoZMensagemEcfDadosReducaoZ redDados = buscaMensagemEcf(df.dataRedz, serie, unidNeg);


                DataTable dt = gpArq.retornaReducao(unidNeg, redDados.COO, serie);


                bool arquivoGerado = false;
                if (dt.Rows.Count > 0)
                {
                    DataRow linha = dt.Rows[0];
                    if (System.IO.File.Exists(linha["PATH_FILE"].ToString()))
                    {
                        arquivoGerado = true;
                        string situacao = linha["SITUACAO"].ToString().Equals("T") ? "Transmitido" : "Pendente de Transmissão";
                        MessageBox.Show("Arquivo de redução Z já foi gerado para esta data. \n" + "Situação: " + situacao);
                    }
                    else
                    {
                        arquivoGerado = false;
                    }
                }
                if (dt.Rows.Count <= 0 || !arquivoGerado)
                {
                    IList <ReducaoZMensagemEcfDadosReducaoZTotalizadorParcial> listTotali = retTotalizadores(serie, unidNeg, df.dataRedz, redDados.CRZ, redDados.COO);
                    redDados.TotalizadoresParciais = listTotali.ToArray();
                    redEcf.DadosReducaoZ           = redDados;

                    redMensagem.Ecf             = redEcf;
                    redMensagem.Estabelecimento = redMen;
                    redMensagem.PafEcf          = redPaf;
                    redZ.Mensagem = redMensagem;

                    XmlDocument xmlNFE = Serializar.Serializa <ReducaoZ>(redZ);



                    ConfigHelper config   = new ConfigHelper();
                    string       pathfile = config.local_salvar_arquivos + unidNeg + @"\" + "reducoesZ" + @"\" + df.nFabEcf + @"\"
                                            + df.dataRedz.ToString("ddMMyyyy");

                    if (!Directory.Exists(pathfile))
                    {
                        Directory.CreateDirectory(pathfile);
                    }
                    pathfile = pathfile + @"\reducaoZ.xml";

                    CarregaConfiguracoesGP carg = new CarregaConfiguracoesGP();
                    DataTable datCert           = carg.BuscaConfig(85475, unidNeg);

                    if (datCert.Rows.Count > 0)
                    {
                        DataRow row          = datCert.Rows[0];
                        string  serialNumber = row["DADO_ALPHA"].ToString().Trim();

                        if (serialNumber.Contains("SERIALNUMBER="))
                        {
                            serialNumber = serialNumber.Replace("SERIALNUMBER=", string.Empty);
                        }

                        var certificado = CertificadoHelper.Consultar(StoreName.My, StoreLocation.CurrentUser, serialNumber, CertificadoHelper.TipoConsultaCertificado.PorNroSerie);
                        if (certificado == null)
                        {
                            MessageBox.Show("Certificado " + row["DADO_ALPHA"].ToString().Trim() + " não localizado na maquina, impossivel assinar.", "Erro Certificado", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                        else
                        {
                            XmlElement xmlAssinatura = AssinarXML.AssinarXmlNfe(xmlNFE, "ReducaoZ", certificado);
                            XmlNode    nodeEvento    = xmlNFE.GetElementsByTagName("ReducaoZ")[0];
                            if (nodeEvento != null)
                            {
                                nodeEvento.AppendChild(xmlAssinatura);
                            }
                        }
                    }
                    else
                    {
                        MessageBox.Show("Não foi possivel assinar o arquivo, deve informar o certificado na config 85475.", "Erro Certificado", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }

                    xmlNFE.Save(pathfile);

                    if (dt.Rows.Count <= 0)
                    {
                        gpArq.insereArquivo(unidNeg, redDados.COO, serie, "R", pathfile, df.dataRedz, df.nFabEcf);
                    }

                    int    qtdePend = gpArq.retornaQtdeRedPendente(unidNeg, serie, "R");
                    string mensag   = @" “HÁ (0) ARQUIVOS COM INFORMAÇÕES DA REDUÇÃO Z DO PAF-ECF PENDENTES DE TRANSMISSÃO AO FISCO. 
                                    O CONTRIBUINTE PODE TRANSMITIR OS ARQUIVOS PELO MENU FISCAL POR MEIO DO COMANDO ‘Envio ao FISCO-REDUÇÃO Z’.";
                    if (qtdePend > 0)
                    {
                        mensag = @"HÁ " + qtdePend + " ARQUIVOS COM INFORMAÇÕES DA REDUÇÃO Z DO PAF-ECF PENDENTES DE TRANSMISSÃO AO FISCO. " +
                                 "O CONTRIBUINTE PODE TRANSMITIR OS ARQUIVOS PELO MENU FISCAL POR MEIO DO COMANDO ‘Envio ao FISCO-REDUÇÃO Z’.";
                        if (qtdePend >= 5 && qtdePend <= 8)
                        {
                            mensag = mensag + "\n" + " VERIFIQUE COM O FORNECEDOR DO PROGRAMA A SOLUÇÃO DA PENDÊNCIA.";
                        }
                        else if (qtdePend == 9)
                        {
                            mensag = mensag + "\n" + @"A PARTIR DA 10ª TRANSMISSÃO PENDENTE, O SEU PROGRAMA SERÁ BLOQUEADO E 
                                            SOMENTE SERÁ LIBERADO APÓS TODAS AS TRANSMISSÕES SEREM REALIZADAS. 
                                           VERIFIQUE URGENTEMENTE COM O FORNECEDOR DO PROGRAMA A SOLUÇÃO DA PENDÊNCIA";
                        }
                        MessageBox.Show("Arquivo gerado com sucesso mas não transmitido! \n" + pathfile, "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        MessageBox.Show(mensag, "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                    else
                    {
                        MessageBox.Show("Arquivo gerado com sucesso mas não transmitido! \n" + pathfile, "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    System.Diagnostics.Process.Start(pathfile);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Arquivo não pode ser gerado, favor verifique o log...", "Erro Gerar ReduçãoZ", MessageBoxButtons.OK, MessageBoxIcon.Error);
                LogHelper.GravarLog("ERRO geraçao do arquivo RedZ= \n" + ex.Message);
                LogHelper.GravarLog("ERRO geraçao do arquivo RedZ= \n" + ex);
            }
        }
        public static void Load(Proyecto proyecto, RomGba rom)
        {
            PokemonGBAFrameWork.AtaqueCompleto[] ataques = PokemonGBAFrameWork.AtaqueCompleto.GetAtaques(rom);
            Frame.Ataque ataque;
            int          lastItemNoAtack = -1;
            ushort       combo;

            for (int i = 0; i < ataques.Length; i++)
            {
                ataque             = new Frame.Ataque();
                ataque.Descripcion = ataques[i].Descripcion.Texto;
                ataque.Nombre      = ataques[i].Nombre.Texto;

                ataque.Concurso1.Efecto    = Serializar.ToUShort(ataques[i].Concursos.DatosConcursosHoenn.SubArray(0, 2));
                ataque.Concurso1.Categoria = Serializar.ToUShort(ataques[i].Concursos.DatosConcursosHoenn.SubArray(2, 2));

                ataque.Efecto1.Accuracy               = ataques[i].Datos.Accuracy;
                ataque.Efecto1.BasePower              = ataques[i].Datos.BasePower;
                ataque.Efecto1.Category               = (Frame.Ataque.Efecto.Categoria)ataques[i].Datos.Category;
                ataque.Efecto1.Effect                 = ataques[i].Datos.Effect;
                ataque.Efecto1.EffectAccuracy         = ataques[i].Datos.EffectAccuracy;
                ataque.Efecto1.IsAffectedByKingsRock  = ataques[i].Datos.IsAffectedByKingsRock;
                ataque.Efecto1.IsAffectedByMagicCoat  = ataques[i].Datos.IsAffectedByMagicCoat;
                ataque.Efecto1.IsAffectedByMirrorMove = ataques[i].Datos.IsAffectedByMirrorMove;
                ataque.Efecto1.IsAffectedByProtect    = ataques[i].Datos.IsAffectedByProtect;
                ataque.Efecto1.IsAffectedBySnatch     = ataques[i].Datos.IsAffectedBySnatch;
                ataque.Efecto1.MakesContact           = ataques[i].Datos.MakesContact;
                ataque.Efecto1.PP       = ataques[i].Datos.PP;
                ataque.Efecto1.Priority = ataques[i].Datos.Priority;
                ataque.Efecto1.Target   = ataques[i].Datos.Target;
                ataque.Efecto1.Type     = proyecto.Tipos[ataques[i].Datos.Type];

                ataque.Coleccion1 = Frame.Ataque.Coleccion.Sin;

                proyecto.Ataques.Add(ataque);
            }
            //ahora que tengo los ataques cargados los vinculo
            for (int i = 0; i < proyecto.Ataques.Count; i++)
            {
                ataque = proyecto.Ataques[i];
                ataque.Concurso1.ComboStarter = proyecto.Ataques[Serializar.ToUShort(ataques[i].Concursos.DatosConcursosHoenn.SubArray(4, 2))];
                for (int j = 6, fJ = j + 8; j < fJ; j += 2)
                {
                    combo = Serializar.ToUShort(ataques[i].Concursos.DatosConcursosHoenn.SubArray(j, 2));
                    ataque.Concurso1.ComboMovimientos.Add(proyecto.Ataques[combo]);
                }
            }
            //acabo poniendo si es una MT/MO
            for (int i = 0; i < proyecto.Items.Count; i++)
            {
                if (proyecto.Items[i].Bolsillo == Frame.Item.BolsilloObjetos.MTMO)
                {
                    if (lastItemNoAtack < 0)
                    {
                        lastItemNoAtack = i - 1;
                    }

                    if (((EdicionPokemon)rom.Edicion).Idioma == Idioma.Español && proyecto.Items[i].Nombre.StartsWith("MT") || ((EdicionPokemon)rom.Edicion).Idioma == Idioma.Ingles && proyecto.Items[i].Nombre.StartsWith("TM"))
                    {
                        proyecto.Ataques[proyecto.Items[i].Index - lastItemNoAtack].Coleccion1 = Frame.Ataque.Coleccion.MT;
                    }
                    else
                    {
                        proyecto.Ataques[proyecto.Items[i].Index - lastItemNoAtack].Coleccion1 = Frame.Ataque.Coleccion.MO;
                    }
                }
            }
        }
示例#26
0
 public static bool SerializadorXML(Serializar s)
 {
     s.Serializer();
     return(true);
 }