void thread()
        {
            DataTable Transactions = getAllLocation();
            string    prevDoc      = "";
            int       total        = Transactions.Rows.Count;


            // esrcibo en el nowin porque van para premiumsoft
            foreach (DataRow row in Transactions.Rows)
            {
                if (prevDoc != row["LOCNCODE"].ToString().Trim())
                {
                    DataTable TransactionDetail = getInventorySnapshot(row["LOCNCODE"].ToString().Trim(), mItmbs);
                    string    ADJUST            = row["LOCNCODE"].ToString().Trim();

                    string FileName = "GP_INI_{0}.xml";

                    IEvent e = new InfoEvent("", "", "Iniciando la creación del archivo XML '" + String.Format(FileName, ADJUST) + "'.");
                    e.Publish();
                    // xml //
                    XmlDocument doc = new XmlDocument();

                    XmlDeclaration xmlDeclaration = doc.CreateXmlDeclaration("1.0", "UTF-8", null);
                    XmlElement     root           = doc.DocumentElement;
                    doc.InsertBefore(xmlDeclaration, root);

                    /* Lines */
                    XmlElement Lines = doc.CreateElement(string.Empty, "lines", string.Empty);
                    /* Lines */
                    /////////
                    Models.InventoryAdjustment ia = new Models.InventoryAdjustment();

                    foreach (DataRow det in TransactionDetail.Rows)
                    {
                        string DOCNUMBR = det["LOCNCODE"].ToString().Trim();
                        string USERID   = "UNKNOWN";

                        string DOCDATE  = DateTime.Now.Year + "-" + DateTime.Now.Month + "-" + DateTime.Now.Day + " 00:00";
                        string TIME     = DateTime.Now.Hour + ":" + DateTime.Now.Minute + ":00";
                        string ITEMNMBR = det["ITEMNMBR"].ToString().Trim();

                        Models.ItemAvailability iav = new Models.ItemAvailability();
                        try
                        {
                            if (det["PRCLEVEL"].ToString().Trim() == "GALAPAGO")
                            {
                                XmlElement Item = doc.CreateElement(string.Empty, "articulo", string.Empty);

                                ///* document */
                                //XmlElement document = doc.CreateElement(string.Empty, "documento", string.Empty);
                                iav.Codigoalmacen = det["LOCNCODE"].ToString().Trim();//XmlText document_text = doc.CreateTextNode(det["LOCNCODE"].ToString().Trim());
                                //document.AppendChild(document_text);
                                //Item.AppendChild(document);
                                ///* document */

                                ///* realizador */
                                //XmlElement realizador = doc.CreateElement(string.Empty, "realizador", string.Empty);
                                iav.Realizador = USERID;//XmlText realizador_text = doc.CreateTextNode("UNKNOWN");
                                //realizador.AppendChild(realizador_text);
                                //Item.AppendChild(realizador);
                                ///* realizador */

                                ///* motivo */
                                //XmlElement motivo = doc.CreateElement(string.Empty, "motivo", string.Empty);
                                iav.Motivo = "ESTATUS ACTUAL DE INVENTARIO";//XmlText motivo_text = doc.CreateTextNode("ESTATUS ACTUAL DE INVENTARIO");
                                //motivo.AppendChild(motivo_text);
                                //Item.AppendChild(motivo);
                                ///* motivo */

                                ///* fecha */
                                //XmlElement fecha = doc.CreateElement(string.Empty, "fecha", string.Empty);
                                iav.Fecha = DOCDATE;//XmlText fecha_text = doc.CreateTextNode(DOCDATE);
                                //fecha.AppendChild(fecha_text);
                                //Item.AppendChild(fecha);
                                ///* fecha */

                                ///* hora */
                                //XmlElement hora = doc.CreateElement(string.Empty, "hora", string.Empty);
                                iav.Hora = TIME;//XmlText hora_text = doc.CreateTextNode(TIME);
                                //hora.AppendChild(hora_text);
                                //Item.AppendChild(hora);
                                ///* hora */

                                ///* codigo */
                                //XmlElement codigo = doc.CreateElement(string.Empty, "codigo", string.Empty);
                                iav.Codigo = ITEMNMBR;//XmlText codigo_text = doc.CreateTextNode(ITEMNMBR);
                                //codigo.AppendChild(codigo_text);
                                //Item.AppendChild(codigo);
                                ///* codigo */

                                ///* nombre */
                                //XmlElement nombre = doc.CreateElement(string.Empty, "nombre", string.Empty);
                                iav.Nombre = det["ITEMDESC"].ToString().Trim();//XmlText nombre_text = doc.CreateTextNode(det["ITEMDESC"].ToString().Trim());
                                //nombre.AppendChild(nombre_text);
                                //Item.AppendChild(nombre);
                                ///* nombre */

                                ///* grupo */
                                //XmlElement grupo = doc.CreateElement(string.Empty, "grupo", string.Empty);
                                iav.Grupo = det["ITMCLSCD"].ToString().Trim();//XmlText grupo_text = doc.CreateTextNode(det["ITMCLSCD"].ToString().Trim());
                                //grupo.AppendChild(grupo_text);
                                //Item.AppendChild(grupo);
                                ///* grupo */

                                ///* tipoproceso */
                                //XmlElement tipoproceso = doc.CreateElement(string.Empty, "tipoproceso", string.Empty);
                                iav.Tipoproceso = 1;//XmlText tipoproceso_text = doc.CreateTextNode("1");
                                //tipoproceso.AppendChild(tipoproceso_text);
                                //Item.AppendChild(tipoproceso);
                                ///* tipoproceso */

                                ///* codigoalmacen */
                                //XmlElement codigoalmacen = doc.CreateElement(string.Empty, "codigoalmacen", string.Empty);
                                iav.Codigoalmacen = det["LOCNCODE"].ToString().Trim();//XmlText codigoalmacen_text = doc.CreateTextNode(det["LOCNCODE"].ToString().Trim());
                                //codigoalmacen.AppendChild(codigoalmacen_text);
                                //Item.AppendChild(codigoalmacen);
                                ///* codigoalmacen */


                                ///* usuario */
                                //XmlElement usuario = doc.CreateElement(string.Empty, "descripcion", string.Empty);
                                iav.Descripcion = row["LOCNDSCR"].ToString().Trim();//XmlText usuario_text = doc.CreateTextNode(row["LOCNDSCR"].ToString().Trim());
                                //usuario.AppendChild(usuario_text);
                                //Item.AppendChild(usuario);
                                ///* usuario */

                                ///* ubicacion */
                                //XmlElement ubicacion = doc.CreateElement(string.Empty, "usuario", string.Empty);
                                iav.Usuario = "UNKNOWN"; //XmlText ubicacion_text = doc.CreateTextNode("UNKNOWN");
                                //ubicacion.AppendChild(ubicacion_text);
                                //Item.AppendChild(ubicacion);
                                ///* ubicacion */


                                ///* descripción */
                                //XmlElement descripcion = doc.CreateElement(string.Empty, "ubicacion", string.Empty);
                                iav.Ubicacion = row["ADDRESS1"].ToString().Trim();//XmlText descripcion_text = doc.CreateTextNode(row["ADDRESS1"].ToString().Trim());
                                //descripcion.AppendChild(descripcion_text);
                                //Item.AppendChild(descripcion);
                                ///* descripción */



                                ///* precio */
                                //XmlElement precio = doc.CreateElement(string.Empty, "precio_neto", string.Empty);
                                iav.Precio_neto = (decimal)Convert.ToDecimal(det["PRICE"].ToString().Trim().Replace(",", "."));//XmlText precio_text = doc.CreateTextNode(det["PRICE"].ToString().Trim().Replace(",", "."));
                                //precio.AppendChild(precio_text);
                                //Item.AppendChild(precio);
                                ///* precio */

                                ///* cost */
                                //XmlElement cost = doc.CreateElement(string.Empty, "precio_con_itbms", string.Empty);
                                iav.Precio_con_itbms = (decimal)Convert.ToDecimal(det["PRICEWITMBS"].ToString().Trim().Replace(",", ".")); //XmlText cost_text = doc.CreateTextNode(det["PRICEWITMBS"].ToString().Trim().Replace(",", "."));
                                //cost.AppendChild(cost_text);
                                //Item.AppendChild(cost);
                                ///* costo */

                                ///* costo */
                                //#region "COSTO NODE"
                                //XmlElement costo = doc.CreateElement(string.Empty, "costo", string.Empty);
                                iav.Costo = (decimal)Convert.ToDecimal(det["CURRCOST"].ToString().Trim().Replace(",", "."));//XmlText costo_text = doc.CreateTextNode(det["CURRCOST"].ToString().Trim().Replace(",", "."));
                                //costo.AppendChild(costo_text);
                                //Item.AppendChild(costo);
                                //#endregion
                                ///* costo */

                                //XmlElement element7 = doc.CreateElement(string.Empty, "porcentaje_itbms", string.Empty);
                                iav.Porcentaje_itbms = (decimal)Convert.ToDecimal(det["ITMBSPCT"].ToString().Trim().Replace(",", ".")); //XmlText text5 = doc.CreateTextNode(det["ITMBSPCT"].ToString().Trim().Replace(",", "."));
                                //element7.AppendChild(text5);
                                //Item.AppendChild(element7);

                                //XmlElement element8 = doc.CreateElement(string.Empty, "tipo", string.Empty);
                                iav.Tipo = (int)Convert.ToInt32(det["ITEMTYPE"].ToString().Trim());//XmlText text6 = doc.CreateTextNode(det["ITEMTYPE"].ToString().Trim());
                                //element8.AppendChild(text6);
                                //Item.AppendChild(element8);

                                //XmlElement element9 = doc.CreateElement(string.Empty, "cantidad", string.Empty);
                                iav.Cantidad = (decimal)Convert.ToDecimal(det["DISP"].ToString().Trim().Replace(",", "."));//XmlText text7 = doc.CreateTextNode(det["DISP"].ToString().Trim().Replace(",", "."));
                                //element9.AppendChild(text7);
                                //Item.AppendChild(element9);

                                //XmlElement element10 = doc.CreateElement(string.Empty, "unidad_de_medida", string.Empty);
                                iav.Unidad_de_medida = det["UOFM"].ToString().Trim();//XmlText text8 = doc.CreateTextNode(det["UOFM"].ToString().Trim());
                                //element10.AppendChild(text8);
                                //Item.AppendChild(element10);


                                ia.Add(iav);//Lines.AppendChild(Item);
                            }
                        }
                        catch (Exception ex)
                        {
                            IEvent err = new ErrorEvent("", "", "No pudo crear el archivo xml correctamente. Mensaje: " + ex.Message);
                            err.Publish();
                        }
                    }
                    doc.AppendChild(Lines);

                    if (this.NowPathIn.ToCharArray().Last() == '/' || this.NowPathIn.ToCharArray().Last() == '\\')
                    {
                        if (!System.IO.File.Exists(this.mNowPathOut + string.Format(FileName, ADJUST)))
                        {
                            Models.InventoryAdjustment.SaveAs(this.mNowPathOut + string.Format(FileName, ADJUST), ia);// doc.Save(this.mNowPathOut + string.Format(FileName, ADJUST));
                        }
                    }
                    else
                    {
                        if (!System.IO.File.Exists(this.mNowPathOut + "/" + string.Format(FileName, ADJUST)))
                        {
                            Models.InventoryAdjustment.SaveAs(this.mNowPathOut + "/" + string.Format(FileName, ADJUST), ia);// doc.Save(this.mNowPathOut + "/" + string.Format(FileName, ADJUST));
                        }
                    }
                    total--;

                    ObserverManager.Instance.addSubject(new ProgressSubject(total, Transactions.Rows.Count - total));

                    IEvent e2 = new InfoEvent("", "", "El archivo '" + String.Format(FileName, ADJUST) + "'. fue creado correctamente");
                    e2.Publish();
                }

                prevDoc = row["LOCNCODE"].ToString().Trim();
            }
            ObserverManager.Instance.addSubject(new ProgressSubject(0, 0));
        }
Example #2
0
        void thread()
        {
            DataTable Salesperson = getSalespersons();

            int total = Salesperson.Rows.Count;

            ////

            // esrcibo en el nowin porque van para premiumsoft
            foreach (DataRow row in Salesperson.Rows)
            {
                string FileName = "GP_US_{0}.xml";



                string SLPRSNID = row["SLPRSNID"].ToString().Trim();
                string SLPRSNFN = row["SLPRSNFN"].ToString().Trim();
                string SPRSNSMN = row["SPRSNSMN"].ToString().Trim();
                string SPRSNSLN = row["SPRSNSLN"].ToString().Trim();
                string ADDRESS1 = row["ADDRESS1"].ToString().Trim();
                string ADDRESS2 = row["ADDRESS2"].ToString().Trim();
                string ADDRESS3 = row["ADDRESS3"].ToString().Trim();
                string CITY     = row["CITY"].ToString().Trim();
                string STATE    = row["STATE"].ToString().Trim();
                string ZIP      = row["ZIP"].ToString().Trim();
                string COUNTRY  = row["COUNTRY"].ToString().Trim();
                string PHONE1   = row["PHONE1"].ToString().Trim();
                string PHONE2   = row["PHONE2"].ToString().Trim();
                string PHONE3   = row["PHONE3"].ToString().Trim();
                string FAX      = row["FAX"].ToString().Trim();

                Models.Salesperson salesperson = new Models.Salesperson();


                IEvent e = new InfoEvent("", "", "Iniciando la creación del archivo XML '" + String.Format(FileName, SLPRSNID) + "'.");
                e.Publish();
                // xml //
                XmlDocument doc = new XmlDocument();

                /* Lines */
                XmlElement Raiz = doc.CreateElement(string.Empty, "raiz", string.Empty);
                /* Lines */

                try
                {
                    //XmlDeclaration xmlDeclaration = doc.CreateXmlDeclaration("1.0", "UTF-8", null);
                    //XmlElement root = doc.DocumentElement;
                    //doc.InsertBefore(xmlDeclaration, root);
                    //doc.AppendChild(Raiz);
                    //XmlElement element2 = doc.CreateElement(string.Empty, "vendedor", string.Empty);
                    //Raiz.AppendChild(element2);

                    //XmlElement element3 = doc.CreateElement(string.Empty, "codigo", string.Empty);
                    salesperson.Code = SLPRSNID;                    //XmlText text1 = doc.CreateTextNode(SLPRSNID);
                    //element3.AppendChild(text1);
                    //element2.AppendChild(element3);

                    //XmlElement element4 = doc.CreateElement(string.Empty, "nombres", string.Empty);
                    salesperson.Firts_Name = SLPRSNFN;                    //XmlText text2 = doc.CreateTextNode(SLPRSNFN);
                    //element4.AppendChild(text2);
                    //element2.AppendChild(element4);

                    //XmlElement element5 = doc.CreateElement(string.Empty, "apellidos", string.Empty);
                    salesperson.Last_Name = SPRSNSMN + " " + SPRSNSLN;                    //XmlText text3 = doc.CreateTextNode(SPRSNSMN + " " + SPRSNSLN);
                    //element5.AppendChild(text3);
                    //element2.AppendChild(element5);

                    //XmlElement element6 = doc.CreateElement(string.Empty, "ruc", string.Empty);
                    salesperson.RUC = "";                    //XmlText text4 = doc.CreateTextNode("");
                    //element6.AppendChild(text4);
                    //element2.AppendChild(element6);

                    //XmlElement element7 = doc.CreateElement(string.Empty, "address", string.Empty);
                    salesperson.Address = (ADDRESS1 + " " + ADDRESS2 + " " + ADDRESS3).Trim();                    //XmlText text5 = doc.CreateTextNode(ADDRESS1 + " " + ADDRESS2 + " " + ADDRESS3);
                    //element7.AppendChild(text5);
                    //element2.AppendChild(element7);

                    //XmlElement element8 = doc.CreateElement(string.Empty, "porcentaje_comision", string.Empty);
                    salesperson.ComisionPCT = 0;                    //XmlText text6 = doc.CreateTextNode("0.00000");
                    //element8.AppendChild(text6);
                    //element2.AppendChild(element8);

                    //XmlElement element9 = doc.CreateElement(string.Empty, "email", string.Empty);
                    salesperson.EMail = "";                    //XmlText text7 = doc.CreateTextNode("");
                    //element9.AppendChild(text7);
                    //element2.AppendChild(element9);

                    //XmlElement element10 = doc.CreateElement(string.Empty, "phone", string.Empty);
                    salesperson.Phone = PHONE1;                    //XmlText text8 = doc.CreateTextNode(PHONE1);
                    //element10.AppendChild(text8);
                    //element2.AppendChild(element10);


                    if (this.NowPathIn.ToCharArray().Last() == '/' || this.NowPathIn.ToCharArray().Last() == '\\')
                    {
                        if (!System.IO.File.Exists(this.mNowPathOut + string.Format(FileName, SLPRSNID)))
                        {
                            Models.Salesperson.SaveAs(this.mNowPathOut + string.Format(FileName, SLPRSNID), salesperson);                            //doc.Save(this.mNowPathOut + string.Format(FileName, SLPRSNID));
                        }
                    }
                    else
                    {
                        if (!System.IO.File.Exists(this.mNowPathOut + "/" + string.Format(FileName, SLPRSNID)))
                        {
                            Models.Salesperson.SaveAs(this.mNowPathOut + "/" + string.Format(FileName, SLPRSNID), salesperson);                             //doc.Save(this.mNowPathOut + "/" + string.Format(FileName, SLPRSNID));
                        }
                    }
                    total--;

                    ObserverManager.Instance.addSubject(new ProgressSubject(total, Salesperson.Rows.Count - total));

                    IEvent e2 = new InfoEvent("", "", "El archivo '" + String.Format(FileName, SLPRSNID) + "'. fue creado correctamente");
                    e2.Publish();
                }
                catch (Exception ex)
                {
                    IEvent err = new ErrorEvent("", "", "No pudo crear el archivo xml correctamente. Mensaje: " + ex.Message);
                    err.Publish();
                }
            }
            ObserverManager.Instance.addSubject(new ProgressSubject(0, 0));
        }
Example #3
0
        void thread()
        {
            DataTable itemsData = getAllItemsData();
            int       total     = itemsData.Rows.Count;

            // esrcibo en el nowin porque van para premiumsoft
            foreach (DataRow row in itemsData.Rows)
            {
                string FileName = "GP_TINV_{0}.xml";


                string ITEMNMBR    = row["ITEMNMBR"].ToString().Trim();
                string ITEMDESC    = row["ITEMDESC"].ToString().Trim();
                string ITMCLSCD    = row["ITMCLSCD"].ToString().Trim();
                string CURRCOST    = row["CURRCOST"].ToString().Trim();
                string PRICE       = row["PRICE"].ToString().Trim();
                string PRICEWITMBS = row["PRICEWITMBS"].ToString().Trim();
                string ITMBSPCT    = row["ITMBSPCT"].ToString().Trim();
                int    ITEMTYPE    = Int16.Parse(row["ITEMTYPE"].ToString());
                string UOFM        = row["UOFM"].ToString().Trim();

                IEvent e = new InfoEvent("", "", "Iniciando la creación del archivo XML '" + String.Format(FileName, ITEMNMBR) + "'.");
                e.Publish();

                // xml //
                XmlDocument doc = new XmlDocument();

                /* Lines */
                XmlElement Raiz = doc.CreateElement(string.Empty, "raiz", string.Empty);
                /* Lines */

                Models.Item item = new Models.Item();


                try
                {
                    //XmlDeclaration xmlDeclaration = doc.CreateXmlDeclaration("1.0", "UTF-8", null);
                    //XmlElement root = doc.DocumentElement;

                    //doc.InsertBefore(xmlDeclaration, root);
                    //doc.AppendChild(Raiz);

                    //XmlElement element2 = doc.CreateElement(string.Empty, "item", string.Empty);
                    //Raiz.AppendChild(element2);

                    //XmlElement element3 = doc.CreateElement(string.Empty, "codigo", string.Empty);
                    item.No = ITEMNMBR;//XmlText text1 = doc.CreateTextNode(ITEMNMBR);
                    //element3.AppendChild(text1);
                    //element2.AppendChild(element3);

                    //XmlElement element4 = doc.CreateElement(string.Empty, "nombre", string.Empty);
                    item.Description = ITEMDESC; //XmlText text2 = doc.CreateTextNode(ITEMDESC);
                    //element4.AppendChild(text2);
                    //element2.AppendChild(element4);

                    //XmlElement element5 = doc.CreateElement(string.Empty, "codigogrupo", string.Empty);
                    //XmlText text3 = doc.CreateTextNode(ITMCLSCD);
                    //element5.AppendChild(text3);
                    //element2.AppendChild(element5);

                    //XmlElement element6 = doc.CreateElement(string.Empty, "costo", string.Empty);
                    //XmlText text4 = doc.CreateTextNode(CURRCOST.ToString().Replace(",","."));
                    //element6.AppendChild(text4);
                    //element2.AppendChild(element6);

                    //XmlElement element7 = doc.CreateElement(string.Empty, "precio_neto", string.Empty);
                    item.PricewithoutVAT = (decimal)Convert.ToDecimal(PRICE); //XmlText text5 = doc.CreateTextNode(PRICE.ToString().Replace(",", "."));
                    //element7.AppendChild(text5);
                    //element2.AppendChild(element7);

                    //XmlElement element8 = doc.CreateElement(string.Empty, "precio_con_itbms", string.Empty);
                    item.PriceincludingVAT = (decimal)Convert.ToDecimal(PRICEWITMBS); //XmlText text6 = doc.CreateTextNode(PRICEWITMBS.ToString().Replace(",", "."));
                    //element8.AppendChild(text6);
                    //element2.AppendChild(element8);

                    //XmlElement element9 = doc.CreateElement(string.Empty, "porcentaje_itbms", string.Empty);
                    item.VAT = (decimal)Convert.ToDecimal(ITMBSPCT.ToString());//XmlText text7 = doc.CreateTextNode(ITMBSPCT.ToString().Replace(",", "."));
                    //element9.AppendChild(text7);
                    //element2.AppendChild(element9);

                    //XmlElement element10 = doc.CreateElement(string.Empty, "tipo", string.Empty);
                    //XmlText text8 = doc.CreateTextNode(ITEMTYPE.ToString());
                    //element10.AppendChild(text8);
                    //element2.AppendChild(element10);

                    //XmlElement element11 = doc.CreateElement(string.Empty, "unidad_de_medida", string.Empty);
                    //XmlText text9 = doc.CreateTextNode(UOFM);
                    //element11.AppendChild(text9);
                    //element2.AppendChild(element11);

                    if (this.NowPathIn.ToCharArray().Last() == '/' || this.NowPathIn.ToCharArray().Last() == '\\')
                    {
                        if (!System.IO.File.Exists(this.mNowPathOut + string.Format(FileName, ITEMNMBR)))
                        {
                            Models.Item.SaveAs(this.mNowPathOut + string.Format(FileName, ITEMNMBR), item); // doc.Save(this.mNowPathOut + string.Format(FileName, ITEMNMBR));
                        }
                    }
                    else
                    {
                        if (!System.IO.File.Exists(this.mNowPathOut + "/" + string.Format(FileName, ITEMNMBR)))
                        {
                            Models.Item.SaveAs(this.mNowPathOut + "/" + string.Format(FileName, ITEMNMBR), item); // doc.Save(this.mNowPathOut + "/" + string.Format(FileName, ITEMNMBR));
                        }
                    }

                    total--;

                    ObserverManager.Instance.addSubject(new ProgressSubject(total, itemsData.Rows.Count - total));

                    IEvent e2 = new InfoEvent("", "", "El archivo '" + String.Format(FileName, ITEMNMBR) + "'. fue creado correctamente");
                    e2.Publish();
                }
                catch (Exception ex)
                {
                    IEvent err = new ErrorEvent("", "", "No pudo crear el archivo xml correctamente. Mensaje: " + ex.Message);
                    err.Publish();
                }
            }
            ObserverManager.Instance.addSubject(new ProgressSubject(0, 0));
        }
Example #4
0
        void thread()
        {
            DataTable customerData = getAllCustomers();

            int total = customerData.Rows.Count;

            // esrcibo en el nowin porque van para premiumsoft
            foreach (DataRow row in customerData.Rows)
            {
                string FileName = "GP_CUST_{0}.xml";



                string CUSTNMBR = row["CUSTNMBR"].ToString().Trim();
                IEvent e        = new InfoEvent("", "", "Iniciando la creación del archivo XML '" + String.Format(FileName, CUSTNMBR) + "'.");
                e.Publish();
                // xml //
                XmlDocument doc = new XmlDocument();

                /* Lines */
                XmlElement Raiz = doc.CreateElement(string.Empty, "raiz", string.Empty);
                /* Lines */


                try
                {
                    Models.Customer customer = new Models.Customer();

                    customer.No   = row["CUSTNMBR"].ToString().Trim();
                    customer.Name = row["CUSTNAME"].ToString().Trim();
                    customer.VAT_Registration_No = row["TXRGNNUM"].ToString().Trim();
                    customer.Phone = row["PHONE1"].ToString().Trim();
                    customer.EMail = "";
                    customer.VAT   = 7;
                    customer.VAT_Bus_Posting_Group = "01";
                    customer.Creation_date         = "1900-01-01 00:00:00.00";
                    customer.Last_modified_date    = "1991-03-15 00:00:00";
                    customer.Address1 = row["ADDRESS1"].ToString().Trim();

                    if (this.NowPathIn.ToCharArray().Last() == '/' || this.NowPathIn.ToCharArray().Last() == '\\')
                    {
                        if (!System.IO.File.Exists(this.mNowPathOut + string.Format(FileName, CUSTNMBR)))
                        {
                            Models.Customer.SaveAs(this.mNowPathOut + string.Format(FileName, CUSTNMBR), customer); //doc.Save(this.mNowPathOut + string.Format(FileName, LOCNCODE));
                        }
                    }
                    else
                    {
                        if (!System.IO.File.Exists(this.mNowPathOut + "/" + string.Format(FileName, CUSTNMBR)))
                        {
                            Models.Customer.SaveAs(this.mNowPathOut + "/" + string.Format(FileName, CUSTNMBR), customer); //doc.Save(this.mNowPathOut + "/" + string.Format(FileName, LOCNCODE));
                        }
                    }
                    total--;

                    ObserverManager.Instance.addSubject(new ProgressSubject(total, customerData.Rows.Count - total));

                    IEvent e2 = new InfoEvent("", "", "El archivo '" + String.Format(FileName, CUSTNMBR) + "'. fue creado correctamente");
                    e2.Publish();
                }
                catch (Exception ex)
                {
                    IEvent err = new ErrorEvent("", "", "No pudo crear el archivo xml correctamente. Mensaje: " + ex.Message);
                    err.Publish();
                }
            }
            ObserverManager.Instance.addSubject(new ProgressSubject(0, 0));
        }
        void thread()
        {
            DataTable warehouseData = getAllWarehouseData();

            int total = warehouseData.Rows.Count;

            // esrcibo en el nowin porque van para premiumsoft
            foreach (DataRow row in warehouseData.Rows)
            {
                string FileName = "GP_TDEPO_{0}.xml";


                string LOCNCODE = row["LOCNCODE"].ToString().Trim();
                string LOCNDSCR = row["LOCNDSCR"].ToString().Trim();

                IEvent e = new InfoEvent("", "", "Iniciando la creación del archivo XML '" + String.Format(FileName, LOCNCODE) + "'.");
                e.Publish();
                // xml //
                XmlDocument doc = new XmlDocument();

                /* Lines */
                XmlElement Raiz = doc.CreateElement(string.Empty, "raiz", string.Empty);
                /* Lines */


                try
                {
                    Models.Warehouse ware = new Models.Warehouse();

                    //XmlDeclaration xmlDeclaration = doc.CreateXmlDeclaration("1.0", "UTF-8", null);
                    //XmlElement root = doc.DocumentElement;
                    //doc.InsertBefore(xmlDeclaration, root);
                    //doc.AppendChild(Raiz);
                    //XmlElement element2 = doc.CreateElement(string.Empty, "warehouse", string.Empty);
                    //Raiz.AppendChild(element2);

                    //XmlElement element3 = doc.CreateElement(string.Empty, "codigo", string.Empty);
                    ware.Codigo = LOCNCODE.Trim(); // XmlText text1 = doc.CreateTextNode(LOCNCODE.Trim());
                    //element3.AppendChild(text1);
                    //element2.AppendChild(element3);

                    //XmlElement element4 = doc.CreateElement(string.Empty, "descripcion", string.Empty);
                    ware.Descripcion = LOCNDSCR.Trim(); //XmlText text2 = doc.CreateTextNode(LOCNDSCR.Trim());
                    //element4.AppendChild(text2);
                    //element2.AppendChild(element4);


                    if (this.NowPathIn.ToCharArray().Last() == '/' || this.NowPathIn.ToCharArray().Last() == '\\')
                    {
                        if (!System.IO.File.Exists(this.mNowPathOut + string.Format(FileName, LOCNCODE)))
                        {
                            Models.Warehouse.SaveAs(this.mNowPathOut + string.Format(FileName, LOCNCODE), ware); //doc.Save(this.mNowPathOut + string.Format(FileName, LOCNCODE));
                        }
                    }
                    else
                    {
                        if (!System.IO.File.Exists(this.mNowPathOut + "/" + string.Format(FileName, LOCNCODE)))
                        {
                            Models.Warehouse.SaveAs(this.mNowPathOut + "/" + string.Format(FileName, LOCNCODE), ware); //doc.Save(this.mNowPathOut + "/" + string.Format(FileName, LOCNCODE));
                        }
                    }
                    total--;

                    ObserverManager.Instance.addSubject(new ProgressSubject(total, warehouseData.Rows.Count - total));

                    IEvent e2 = new InfoEvent("", "", "El archivo '" + String.Format(FileName, LOCNCODE) + "'. fue creado correctamente");
                    e2.Publish();
                }
                catch (Exception ex)
                {
                    IEvent err = new ErrorEvent("", "", "No pudo crear el archivo xml correctamente. Mensaje: " + ex.Message);
                    err.Publish();
                }
            }
            ObserverManager.Instance.addSubject(new ProgressSubject(0, 0));
        }
        void thread()
        {
            DataTable Transactions = getAllPricesLevels();
            string    prevDoc      = "";
            int       total        = Transactions.Rows.Count;


            // esrcibo en el nowin porque van para premiumsoft
            foreach (DataRow row in Transactions.Rows)
            {
                if (prevDoc != row["PRCLEVEL"].ToString().Trim())
                {
                    DataTable TransactionDetail = getPriceLeveData(row["PRCLEVEL"].ToString().Trim());
                    string    ADJUST            = row["PRCLEVEL"].ToString().Trim();

                    string FileName = "GP_OFER_{0}.xml";

                    IEvent e = new InfoEvent("", "", "Iniciando la creación del archivo XML '" + String.Format(FileName, ADJUST) + "'.");
                    e.Publish();
                    // xml //
                    XmlDocument doc = new XmlDocument();

                    XmlDeclaration xmlDeclaration = doc.CreateXmlDeclaration("1.0", "UTF-8", null);
                    XmlElement     root           = doc.DocumentElement;
                    doc.InsertBefore(xmlDeclaration, root);

                    /* Lines */
                    XmlElement Lines = doc.CreateElement(string.Empty, "raiz", string.Empty);
                    /* Lines */

                    Models.Oferts offerts = new Models.Oferts();

                    foreach (DataRow det in TransactionDetail.Rows)
                    {
                        Models.PriceList pl = new Models.PriceList();


                        string DOCNUMBR = det["PRCLEVEL"].ToString().Trim();
                        //string USERID = "UNKNOWN";

                        string DOCDATE  = DateTime.Now.Year + "-" + DateTime.Now.Month + "-" + DateTime.Now.Day;
                        string TIME     = DateTime.Now.Hour + ":" + DateTime.Now.Minute + ":00";
                        string ITEMNMBR = det["ITEMNMBR"].ToString().Trim();

                        try
                        {
                            XmlElement Item = doc.CreateElement(string.Empty, "lista_de_precio", string.Empty);

                            /* document */
                            //XmlElement document = doc.CreateElement(string.Empty, "codigoalmacen", string.Empty);
                            pl.Almacen = det["PRCLEVEL"].ToString().Trim(); // XmlText document_text = doc.CreateTextNode(det["PRCLEVEL"].ToString().Trim());
                            //document.AppendChild(document_text);
                            //Item.AppendChild(document);
                            /* document */

                            /* realizador */
                            //XmlElement realizador = doc.CreateElement(string.Empty, "codigo", string.Empty);
                            pl.Codigo = det["ITEMNMBR"].ToString().Trim(); //XmlText realizador_text = doc.CreateTextNode(det["ITEMNMBR"].ToString().Trim());

                            //realizador.AppendChild(realizador_text);
                            //Item.AppendChild(realizador);
                            /* realizador */

                            /* motivo */
                            //XmlElement motivo = doc.CreateElement(string.Empty, "nombre", string.Empty);
                            pl.Descripcion = det["ITEMDESC"].ToString().Trim();//XmlText motivo_text = doc.CreateTextNode(det["ITEMDESC"].ToString().Trim());

                            //motivo.AppendChild(motivo_text);
                            //Item.AppendChild(motivo);
                            /* motivo */

                            /* fecha */
                            //XmlElement fecha = doc.CreateElement(string.Empty, "nombrelista", string.Empty);
                            pl.NombreLista = det["PRCLEVEL"].ToString().Trim();// XmlText fecha_text = doc.CreateTextNode(det["PRCLEVEL"].ToString().Trim());

                            //fecha.AppendChild(fecha_text);
                            //Item.AppendChild(fecha);
                            /* fecha */


                            //XmlElement element10 = doc.CreateElement(string.Empty, "unidad", string.Empty);
                            pl.UofM = det["UOFM"].ToString().Trim();// XmlText text8 = doc.CreateTextNode(det["UOFM"].ToString().Trim());
                            //element10.AppendChild(text8);
                            //Item.AppendChild(element10);

                            //XmlElement element9 = doc.CreateElement(string.Empty, "cantidad", string.Empty);
                            pl.Cantidad = det["QTYBSUOM"].ToString().Trim().Replace(",", "."); // XmlText text7 = doc.CreateTextNode(det["QTYBSUOM"].ToString().Trim().Replace(",", "."));
                                                                                               // element9.AppendChild(text7);
                                                                                               //Item.AppendChild(element9);

                            /* precio */
                            //XmlElement precio = doc.CreateElement(string.Empty, "precio_neto", string.Empty);
                            pl.PrecioNeto = (decimal)det["PRICE"]; // XmlText precio_text = doc.CreateTextNode(det["PRICE"].ToString().Trim().Replace(",", "."));
                            //precio.AppendChild(precio_text);
                            //Item.AppendChild(precio);
                            /* precio */

                            /* cost */
                            //XmlElement cost = doc.CreateElement(string.Empty, "precio_con_itbms", string.Empty);
                            pl.PrecioConITBMS = (decimal)det["PRICEWITMBS"];// XmlText cost_text = doc.CreateTextNode(det["PRICEWITMBS"].ToString().Trim().Replace(",", "."));
                            //cost.AppendChild(cost_text);
                            //Item.AppendChild(cost);
                            /* costo */

                            /* cost */
                            //XmlElement cost2 = doc.CreateElement(string.Empty, "costo", string.Empty);
                            pl.Costo = (decimal)det["CURRCOST"]; // XmlText cost_text2 = doc.CreateTextNode(det["CURRCOST"].ToString().Trim().Replace(",", "."));
                            //cost2.AppendChild(cost_text2);
                            //Item.AppendChild(cost2);
                            /* costo */

                            //XmlElement element7 = doc.CreateElement(string.Empty, "porcentaje_itbms", string.Empty);
                            pl.PrecioITBMS = (decimal)det["ITMBSPCT"];// XmlText text5 = doc.CreateTextNode(det["ITMBSPCT"].ToString().Trim().Replace(",", "."));
                            //element7.AppendChild(text5);
                            //Item.AppendChild(element7);

                            //XmlElement element8 = doc.CreateElement(string.Empty, "tipo", string.Empty);
                            pl.Tipo = (int)Convert.ToInt32(det["ITEMTYPE"]);// XmlText text6 = doc.CreateTextNode(det["ITEMTYPE"].ToString().Trim());
                            //element8.AppendChild(text6);
                            //Item.AppendChild(element8);



                            offerts.Add(pl);
                            //Lines.AppendChild(Item);
                        }
                        catch (Exception ex)
                        {
                            IEvent err = new ErrorEvent("", "", "No pudo crear el archivo xml correctamente. Mensaje: " + ex.Message);
                            err.Publish();
                        }
                    }
                    doc.AppendChild(Lines);

                    if (this.NowPathIn.ToCharArray().Last() == '/' || this.NowPathIn.ToCharArray().Last() == '\\')
                    {
                        if (!System.IO.File.Exists(this.mNowPathOut + string.Format(FileName, ADJUST)))
                        {
                            Models.Oferts.SaveAs(this.mNowPathOut + string.Format(FileName, ADJUST), offerts);// doc.Save(this.mNowPathOut + string.Format(FileName, ADJUST));
                        }
                    }
                    else
                    {
                        if (!System.IO.File.Exists(this.mNowPathOut + "/" + string.Format(FileName, ADJUST)))
                        {
                            Models.Oferts.SaveAs(this.mNowPathOut + "/" + string.Format(FileName, ADJUST), offerts);//doc.Save(this.mNowPathOut + "/" + string.Format(FileName, ADJUST));
                        }
                    }
                    total--;

                    ObserverManager.Instance.addSubject(new ProgressSubject(total, Transactions.Rows.Count - total));

                    IEvent e2 = new InfoEvent("", "", "El archivo '" + String.Format(FileName, ADJUST) + "'. fue creado correctamente");
                    e2.Publish();
                }

                prevDoc = row["PRCLEVEL"].ToString().Trim();
            }
            ObserverManager.Instance.addSubject(new ProgressSubject(0, 0));
        }