예제 #1
0
        private void ChangedFile(string name, StatusDiretorio sd)
        {
            try
            {
                switch ((int)sd)
                {
                    case 0:
                        File.Move(String.Format("{0}\\{1}.xml", config.configMaquina.pathFiles, name),
                                 String.Format("{0}\\{1}.xml", config.configMaquina.pathFiles + "\\enviados", name));
                        break;
                    case 1:
                        File.Move(String.Format("{0}\\{1}.xml", config.configMaquina.pathFiles, xmlData.nomeXml),
                                  String.Format("{0}\\{1}.xml", config.configMaquina.pathFiles + "\\rejeitados", xmlData.nomeXml));
                        break;
                    case 2:
                        File.Move(String.Format("{0}\\{1}.xml", config.configMaquina.pathFiles, xmlData.nomeXml),
                              String.Format("{0}\\{1}.xml", config.configMaquina.pathFiles + "\\contingencia", xmlData.nomeXml));

                        sendMSMQ(xmlData.nomeXml);

                        break;
                }
            }
            catch (Exception e)
            {
                Utils.Logger.getInstance.error(e);
            }
        
        }
예제 #2
0
        public void Processa()
        {
            
            XmlDocument arqNfce = xmlData.xmlDocAss;
            bool consultaSefaz = false;
            
            try
            {
                if ((InterfaceStatus.GetStatusCupom() < (int)StatusCupom.CupomSeFazRetornoOk) && (!config.configNFCe.Contingencia))
                {
                    enviaSeFaz.enviaSefaz(arqNfce);
                    ManagerDB.Instance.InsertNfceStatus(id_db, (int)StatusCupom.CupomEnviadoSeFaz, "Enviado Sefaz", "");
                    ManagerDB.Instance.UpdateReciboNFCe(id_db, enviaSeFaz.GetRecibo());
                }

                if (!config.configNFCe.Contingencia)
                {
                    consultaSefaz = enviaSeFaz.ConsultaOK();
                    ManagerDB.Instance.UpdatenProtNFCe(id_db, enviaSeFaz.GetnProt());
                    ManagerDB.Instance.InsertNfceStatus(id_db, (int)StatusCupom.CupomSeFazRetornoOk, "Consulta Sefaz Sucesso", "");
                    sd = StatusDiretorio.Enviada;
                    arqNfce = enviaSeFaz.GetXmlOK();
                    arqNfce.Save(String.Format("{0}\\{1}.xml", config.configMaquina.pathFiles, xmlData.nomeXml));
                }
                
                Impressao();

                if (!config.configNFCe.Contingencia) //Gravar depois da Impressao!
                    ManagerDB.Instance.InsertNfceStatus(id_db, (int)StatusCupom.Aprovado, "Aprovado Uso da NFCe", "");
                
            }
            catch (Exception e)
            {
                sd = StatusDiretorio.Rejeitada;
                Utils.Logger.getInstance.error(e);

                string rejeicao = (e.Message.Length > 500) ? e.Message.Substring(500) : e.Message;
                ManagerDB.Instance.InsertNfceStatus(id_db, (int)StatusCupom.CupomRejeitado, "NFCE Rejeitado", rejeicao);

                throw new Exception(dtNFCE.IdAccount + ": Rejeiçao de xml:" + e.ToString());
            }
            finally
            {
                if (config.configNFCe.Contingencia)
                    sd = StatusDiretorio.Contingencia;
                
                
                 ChangedFile(xmlData.nomeXml, sd);                
            }
        }