Example #1
0
 public MainVM()
 {
     x             = Singleton.Instance;
     lists         = new Listerne();
     p             = new PageCommand();
     _nextCommand  = new RCO(Next);
     _next1Command = new RCO(Next1);
 }
Example #2
0
        public MainVM()
        {
            dyrListe = new ObservableCollection <Dyr>();
            dyrListe.Add(new Dyr("Tiger", 44, "sti"));
            dyrListe.Add(new Dyr("Slange", 12, "sti"));
            dyrListe.Add(new Dyr("Bjørn", 144, "sti"));

            _nextCommand = new RCO(Next);
        }
        private string CargarNC(string Prefijo, string Nota)
        {
            string NombreXml = "", res = "", xml = "", xmlResp = "";

            Prefijo = Prefijo ?? "DV";
            Nota    = Nota ?? "151574";

            dESN.AddNotas(Prefijo, Nota);

            lmESN     = dESN.GetNotas(Prefijo, Nota);
            mRFNCCAB  = dRFNCCAB.Find(Prefijo, Nota);
            lmRFNCDET = dRFNCDET.Find(Prefijo, Nota);

            mRCO      = dRCO.GetCompany();
            lmRFPARAM = dRFPARAM.GetParams();
            NombreXml = Prefijo + Nota;
            mRFPARAM  = lmRFPARAM.Where(m => m.CCCODE == "PREFIJO" && m.CCCODE2 == Prefijo).SingleOrDefault();
            if (mRFPARAM != null)
            {
                if (mRFPARAM.CCCODEN != "0")
                {
                    NombreXml = mRFPARAM.CCALTC + (double.Parse(mRFPARAM.CCCODEN) + double.Parse(Nota));
                }
            }

            NOTA mNOTA = new NOTA
            {
                LMdlENC = CabeceraENC(mRFNCCAB),
                LMdlEMI = CabeceraEMI(mRFNCCAB),
                LMdlADQ = CabeceraADQ(mRFNCCAB),
                LMdlTOT = CabeceraTOT(mRFNCCAB),
                LMdlTIM = CabeceraTIM(mRFNCCAB),
                LMdlTDC = CabeceraTDC(mRFNCCAB),
                LMdlDRF = DetalleDRF(),
                LMdlNOT = DetalleNOT(),
                //LMdlORC = CabeceraORC(mRFNCCAB),
                LMdlREF = CabeceraREF(mRFNCCAB),
                LMdlIEN = CabeceraIEN(mRFNCCAB),
                LMdlITE = DetalleITE(mRFNCCAB, lmRFNCDET)
            };

            XmlSerializer xs = new XmlSerializer(typeof(NOTA));

            using (var sww = new StringWriter())
            {
                using (XmlWriter xwriter = XmlWriter.Create(sww))
                {
                    xs.Serialize(xwriter, mNOTA);
                    xml = sww.ToString();
                }
            }

            //TextWriter writer = new StreamWriter("C:\\Copia_Servidor\\Proyectos\\BRINSA\\BssFacturaElectronicaService\\" + NombreXml + ".xml");
            TextWriter writer = new StreamWriter("E:\\Sitios\\XMLNCE\\" + NombreXml + ".xml");

            xs.Serialize(writer, mNOTA);
            writer.Close();

            string Cargue       = "";
            string url          = lmRFPARAM.Where(m => m.CCCODE == "WSDL").SingleOrDefault().CCNOT1 + lmRFPARAM.Where(m => m.CCCODE == "WSDL").SingleOrDefault().CCNOT2;
            string credid       = lmRFPARAM.Where(m => m.CCCODE == "WSDLUSER").SingleOrDefault().CCNOT1;
            string credpassword = Sha256(lmRFPARAM.Where(m => m.CCCODE == "WSDLPASS").SingleOrDefault().CCNOT1);

            StringBuilder rawSOAP;

            using (var wb = new WebClient())
            {
                wb.Credentials = new NetworkCredential(credid, credpassword);

                for (var i = 0; i < 4; i++)
                {
                    try
                    {
                        rawSOAP = new StringBuilder();
                        rawSOAP.Append(BuildSoapHeader(credid, credpassword));
                        rawSOAP.Append(@"<soapenv:Body><inv:UploadRequest>");
                        rawSOAP.AppendFormat(@"<fileName>{0}.xml</fileName>", NombreXml);
                        rawSOAP.AppendFormat(@"<fileData>{0}</fileData>", Convert.ToBase64String(Encoding.UTF8.GetBytes(xml)));
                        rawSOAP.AppendFormat(@"<companyId>{0}</companyId>", lmRFPARAM.Where(m => m.CCCODE == "COMPANYID").SingleOrDefault().CCNOT1);
                        rawSOAP.AppendFormat(@"<accountId>{0}</accountId>", lmRFPARAM.Where(m => m.CCCODE == "ACCOUNTID").SingleOrDefault().CCNOT1);
                        rawSOAP.Append(@"</inv:UploadRequest></soapenv:Body></soapenv:Envelope>");
                        Cargue = wb.UploadString(url, "POST", rawSOAP.ToString());
                        Thread.Sleep(5000);
                    }
                    catch (WebException ex)
                    {
                        WebResponse errRsp = ex.Response;
                        using (StreamReader rdr = new StreamReader(errRsp.GetResponseStream()))
                        {
                            Cargue = "ERROR: " + rdr.ReadToEnd();
                            Console.WriteLine(rdr.ReadToEnd());
                        }
                        res = Cargue.Substring((Cargue.IndexOf("<errorMessage>") + 14), (Cargue.IndexOf("</errorMessage>") - Cargue.IndexOf("<errorMessage>")) - 14);
                    }
                    catch (Exception ex)
                    {
                        Cargue = "ERROR: " + ex.ToString();
                        res    = Cargue;
                    }
                    if (Cargue.Contains("<transactionId>"))
                    {
                        break;
                    }
                }
                res = dRFNCCAB.UpdNotaIdNme(Prefijo, Nota, Cargue.Substring((Cargue.IndexOf("<transactionId>") + 15), (Cargue.IndexOf("</transactionId>") - Cargue.IndexOf("<transactionId>")) - 15), NombreXml);
                if (res == "OK")
                {
                    Thread.Sleep(5000);
                    res = EstadoNC(Cargue.Substring((Cargue.IndexOf("<transactionId>") + 15), (Cargue.IndexOf("</transactionId>") - Cargue.IndexOf("<transactionId>")) - 15), Prefijo, Nota);
                    res = DescargarNC(Prefijo, Nota);
                }

                if (Cargue.Contains("ERROR"))
                {
                    var nRFLOG = new RFLOG()
                    {
                        OPERACION = "NCE",
                        EVENTO    = "ERROR",
                        TXTSQL    = Cargue.Replace("'", "''"),
                        ALERT     = "0"
                    };
                    dRFLOG.Add(nRFLOG);
                }

                xmlResp = Cargue.Substring((Cargue.IndexOf("<soap:Envelope")), (Cargue.IndexOf("</soap:Envelope>") - Cargue.IndexOf("<soap:Envelope")) + 16);
                //logProceso.CapturaLog(xmlResp, NombreXml + "_resp", "C:\\Copia_Servidor\\Proyectos\\BRINSA\\BssFacturaElectronicaService", "xml");
                logProceso.CapturaLog(xmlResp, NombreXml + "_resp", "E:\\Sitios\\XMLNCE", "xml");
            }
            return(res);
        }