private Guid UserGuid(Models.User sp)
        {
            Guid res = Guid.Empty;

            SqlCommand cmd = new SqlCommand("SELECT [UserId] FROM [User] WHERE [Username]=@Username", new SqlConnection(this.StringConnection));

            cmd.CommandType = CommandType.Text;
            cmd.Parameters.AddWithValue("@Username", sp.Code);

            try
            {
                if (cmd.Connection.State != ConnectionState.Open)
                {
                    cmd.Connection.Open();
                }

                res = ((Guid)cmd.ExecuteScalar());
            }
            catch (Exception ex)
            {
                IEvent e = new ErrorEvent("", "", "UserExist::" + ex.Message);
                e.Publish();
            }
            finally
            {
                if (cmd.Connection.State == ConnectionState.Open)
                {
                    cmd.Connection.Close();
                }
            }

            return(res);
        }
Ejemplo n.º 2
0
        private bool ItemExist(string item)
        {
            bool res = false;

            SqlCommand cmd = new SqlCommand("SELECT COUNT([No]) FROM [Item] WHERE [No]=@No", new SqlConnection(this.StringConnection));

            cmd.CommandType = CommandType.Text;
            cmd.Parameters.AddWithValue("@No", item);

            try
            {
                if (cmd.Connection.State != ConnectionState.Open)
                {
                    cmd.Connection.Open();
                }

                res = ((int)cmd.ExecuteScalar()) > 0;
            }
            catch (Exception ex)
            {
                //MessageBox.Show("TransactionAddInventoryMovement::" + ex.Message);
                IEvent e = new ErrorEvent("", "", "TransactionAddInventoryMovement::" + ex.Message);
                e.Publish();
            }
            finally
            {
                if (cmd.Connection.State == ConnectionState.Open)
                {
                    cmd.Connection.Close();
                }
            }

            return(res);
        }
        private DataTable getTransactionInfo(string DocumentNumber)
        {
            SqlCommand     command = new SqlCommand();
            SqlDataAdapter adapter = new SqlDataAdapter();

            DataTable data = new DataTable("GL_ADJUSTMENTS");

            command.Connection = new SqlConnection(this.mStringConnection);

            command.Parameters.AddWithValue("@DOCUMENT", DocumentNumber);

            command.CommandType = CommandType.Text;
            command.CommandText = "SELECT IV.DOCNUMBR " +
                                  ",ISNULL(GL.USWHPSTD,'UNKNOWN') AS USERID " +
                                  ", CASE DOCTYPE " +
                                  "       WHEN 1 THEN 'AJUSTE' ELSE 'DESCONOCIDO' " +
                                  "  END AS DOCTYPE " +
                                  ",IV.DOCDATE " +
                                  ",CONVERT(time, ISNULL(GL.DEX_ROW_TS,0)) AS [TIME] " +
                                  ",IV.ITEMNMBR " +
                                  ",IV.UOFM " +
                                  ",'UNKNOWN' AS FAMILY " +
                                  ",CASE WHEN TRXQTY>0 THEN '1' ELSE '2' END AS PROCESS " +
                                  ",IV.TRXLOCTN " +
                                  ",ISNULL((SELECT USERNAME FROM DYNAMICS..SY01400 WHERE USERID=  GL.USWHPSTD),'UNKNOWN') AS USERNAME " +
                                  ",'UBICACION' AS LOCATION " +
                                  ",ISNULL(CASE IVM.PRICMTHD " +
                                  "      WHEN 1 THEN ROUND(UOMPRICE,IVM.DECPLCUR) " +
                                  "      WHEN 2 THEN ROUND(CUR.LISTPRCE*(UOMPRICE/100),IV.DECPLCUR-1) " +
                                  "      WHEN 3 THEN ROUND(IVM.CURRCOST + (IVM.CURRCOST * (UOMPRICE/100)),IVM.DECPLCUR-1) " +
                                  "      WHEN 4 THEN ROUND(IVM.STNDCOST + (IVM.STNDCOST * (UOMPRICE/100)),IVM.DECPLCUR-1) " +
                                  "      WHEN 5 THEN ROUND(IVM.CURRCOST + ((IVM.CURRCOST * (UOMPRICE/100))/((100-UOMPRICE)/100)),IVM.DECPLCUR-1) " +
                                  "      WHEN 6 THEN ROUND(IVM.STNDCOST + ((IVM.STNDCOST * (UOMPRICE/100))/((100-UOMPRICE)/100)),IVM.DECPLCUR-1) " +
                                  "END,0) AS PRICE " +
                                  ",IVM.CURRCOST AS COST " +
                                  ",TRXQTY AS QTY " +
                                  "FROM IV30300 AS IV " +
                                  "LEFT JOIN GL10000 AS GL ON IV.TRXSORCE = GL.ORTRXSRC AND GL.DTAControlNum=IV.DOCNUMBR " +
                                  "INNER JOIN IV00101 AS IVM ON IV.ITEMNMBR = IVM.ITEMNMBR " +
                                  "INNER JOIN IV00108 AS PRCLST ON IV.ITEMNMBR=PRCLST.ITEMNMBR AND IVM.PRCLEVEL=PRCLST.PRCLEVEL AND IVM.PRCHSUOM=PRCLST.UOFM " +
                                  "INNER JOIN IV00105 AS CUR ON CUR.ITEMNMBR = IV.ITEMNMBR AND PRCLST.CURNCYID = CUR.CURNCYID " +
                                  "WHERE DOCTYPE=1 AND IV.DOCNUMBR=@DOCUMENT ORDER BY IV.DEX_ROW_ID ASC";


            try
            {
                adapter.SelectCommand = command;
                adapter.Fill(data);
            }
            catch (Exception ex)
            {
                IEvent e = new ErrorEvent("", "", ex.Message);
                e.Publish();
            }
            finally
            {
                //nothing
            }
            return(data);
        }
        private DataTable getSalespersons()
        {
            SqlCommand     command = new SqlCommand();
            SqlDataAdapter adapter = new SqlDataAdapter();

            DataTable data = new DataTable("SALESPERSON");

            command.Connection = new SqlConnection(this.mStringConnection);

            // command.Parameters.AddWithValue("@P", "0");

            command.CommandType = CommandType.Text;
            command.CommandText = "SELECT * FROM RM00301 WHERE INACTIVE=0";


            try
            {
                adapter.SelectCommand = command;
                adapter.Fill(data);
            }
            catch (Exception ex)
            {
                IEvent e = new ErrorEvent("", "", ex.Message);
                e.Publish();
            }
            finally
            {
                //nothing
            }
            return(data);
        }
Ejemplo n.º 5
0
        private bool SalespersonExist(Models.Salesperson sp)
        {
            bool res = false;

            SqlCommand cmd = new SqlCommand("SELECT COUNT([Code]) FROM [Employees] WHERE [Code]=@Code", new SqlConnection(this.StringConnection));

            cmd.CommandType = CommandType.Text;
            cmd.Parameters.AddWithValue("@Code", sp.Code);

            try
            {
                if (cmd.Connection.State != ConnectionState.Open)
                {
                    cmd.Connection.Open();
                }

                res = ((int)cmd.ExecuteScalar()) > 0;
            }
            catch (Exception ex)
            {
                IEvent e = new ErrorEvent("", "", "TransactionAddSalesPerson::" + ex.Message);
                e.Publish();
            }
            finally
            {
                if (cmd.Connection.State == ConnectionState.Open)
                {
                    cmd.Connection.Close();
                }
            }

            return(res);
        }
        private DataTable getAllLocation()
        {
            SqlCommand     command = new SqlCommand();
            SqlDataAdapter adapter = new SqlDataAdapter();

            DataTable data = new DataTable("LOCATIONS");

            command.Connection = new SqlConnection(this.mStringConnection);

            // command.Parameters.AddWithValue("@P", "0");

            command.CommandType = CommandType.Text;
            command.CommandText = "SELECT * FROM IV40700";


            try
            {
                adapter.SelectCommand = command;
                adapter.Fill(data);
            }
            catch (Exception ex)
            {
                IEvent e = new ErrorEvent("", "", ex.Message);
                e.Publish();
            }
            finally
            {
                //nothing
            }
            return(data);
        }
Ejemplo n.º 7
0
        private DataTable getAllCustomers()
        {
            SqlCommand     command = new SqlCommand();
            SqlDataAdapter adapter = new SqlDataAdapter();

            DataTable data = new DataTable("CUSTOMER");

            command.Connection = new SqlConnection(this.mStringConnection);

            // command.Parameters.AddWithValue("@P", "0");

            command.CommandType = CommandType.Text;
            command.CommandText = "SELECT * FROM RM00101 WHERE CUSTNMBR LIKE 'CL9000%'";


            try
            {
                adapter.SelectCommand = command;
                adapter.Fill(data);
            }
            catch (Exception ex)
            {
                IEvent e = new ErrorEvent("", "", ex.Message);
                e.Publish();
            }
            finally
            {
                //nothing
            }
            return(data);
        }
Ejemplo n.º 8
0
        private bool CustomerExist(string code)
        {
            bool res = false;

            SqlCommand cmd = new SqlCommand("SELECT COUNT([No]) FROM [Customer] WHERE [No]=@No", new SqlConnection(this.StringConnection));

            cmd.CommandType = CommandType.Text;
            cmd.Parameters.AddWithValue("@No", code);

            try
            {
                if (cmd.Connection.State != ConnectionState.Open)
                {
                    cmd.Connection.Open();
                }

                res = ((int)cmd.ExecuteScalar()) > 0;
            }
            catch (Exception ex)
            {
                IEvent ev = new ErrorEvent("", "", "TransactionAddCustomer::" + ex.Message);
                ev.Publish();
            }
            finally
            {
                if (cmd.Connection.State == ConnectionState.Open)
                {
                    cmd.Connection.Close();
                }
            }

            return(res);
        }
        private DataTable getAllWarehouseData()
        {
            SqlCommand     command = new SqlCommand();
            SqlDataAdapter adapter = new SqlDataAdapter();

            DataTable data = new DataTable("WAREHOUSE");

            command.Connection = new SqlConnection(this.mStringConnection);

            // command.Parameters.AddWithValue("@P", "0");

            command.CommandType = CommandType.Text;
            command.CommandText = "SELECT LOCNCODE, LOCNDSCR FROM IV40700 WHERE LTRIM(RTRIM(UPPER(ADDRESS3)))='TIENDA GALAPAGO'";


            try
            {
                adapter.SelectCommand = command;
                adapter.Fill(data);
            }
            catch (Exception ex)
            {
                IEvent e = new ErrorEvent("", "", ex.Message);
                e.Publish();
            }
            finally
            {
                //nothing
            }
            return(data);
        }
        private DataTable getItemsData(string ITEMNMBR)
        {
            SqlCommand     command = new SqlCommand();
            SqlDataAdapter adapter = new SqlDataAdapter();

            DataTable data = new DataTable("ITEMMSTR");

            command.Connection = new SqlConnection(this.mStringConnection);

            command.Parameters.AddWithValue("@ITMBS", this.mItmbs);
            command.Parameters.AddWithValue("@ITEMNMBR", ITEMNMBR);

            command.CommandType = CommandType.Text;
            command.CommandText = "SELECT IV.ITEMNMBR " +
                                  ",IV.ITEMDESC,IV.ITEMTYPE,IV.SELNGUOM " +
                                  ",ITMCLSCD " +
                                  ",CURRCOST " +
                                  ",CASE IV.PRICMTHD " +
                                  "WHEN 1 THEN ROUND(UOMPRICE,IV.DECPLCUR) " +
                                  "WHEN 2 THEN ROUND(CUR.LISTPRCE*(UOMPRICE/100),IV.DECPLCUR-1) " +
                                  "WHEN 3 THEN ROUND(IV.CURRCOST + (IV.CURRCOST * (UOMPRICE/100)),IV.DECPLCUR-1) " +
                                  "WHEN 4 THEN ROUND(IV.STNDCOST + (IV.STNDCOST * (UOMPRICE/100)),IV.DECPLCUR-1) " +
                                  "WHEN 5 THEN ROUND(IV.CURRCOST + ((IV.CURRCOST * (UOMPRICE/100))/((100-UOMPRICE)/100)),IV.DECPLCUR-1) " +
                                  "WHEN 6 THEN ROUND(IV.STNDCOST + ((IV.STNDCOST * (UOMPRICE/100))/((100-UOMPRICE)/100)),IV.DECPLCUR-1) " +
                                  "END AS PRICE " +
                                  ",CASE IV.PRICMTHD " +
                                  "WHEN 1 THEN ISNULL(UOMPRICE+(UOMPRICE*((SELECT TXDTLPCT  FROM TX00201 WHERE TAXDTLID=@ITMBS)/100)),ROUND(UOMPRICE,IV.DECPLCUR)) " +
                                  "WHEN 2 THEN ISNULL(CUR.LISTPRCE*(UOMPRICE/100) /**/ + ((CUR.LISTPRCE*(UOMPRICE/100))*((SELECT TXDTLPCT  FROM TX00201 WHERE TAXDTLID=@ITMBS)/100)),ROUND(CUR.LISTPRCE*(UOMPRICE/100),IV.DECPLCUR-1) ) " +
                                  "WHEN 3 THEN ISNULL(IV.CURRCOST + (IV.CURRCOST * (UOMPRICE/100)) /**/ + ((IV.CURRCOST + (IV.CURRCOST * (UOMPRICE/100)))*((SELECT TXDTLPCT  FROM TX00201 WHERE TAXDTLID=@ITMBS)/100)),ROUND(IV.CURRCOST + (IV.CURRCOST * (UOMPRICE/100)),IV.DECPLCUR-1)) " +
                                  "WHEN 4 THEN ISNULL(IV.STNDCOST + (IV.STNDCOST * (UOMPRICE/100)) /**/ + (IV.STNDCOST + (IV.STNDCOST * (UOMPRICE/100))*((SELECT TXDTLPCT  FROM TX00201 WHERE TAXDTLID=@ITMBS)/100)),ROUND(IV.STNDCOST + (IV.STNDCOST * (UOMPRICE/100)),IV.DECPLCUR-1)) " +
                                  "WHEN 5 THEN ISNULL(IV.CURRCOST + ((IV.CURRCOST * (UOMPRICE/100))/((100-UOMPRICE)/100)) /**/ + ((IV.CURRCOST + ((IV.CURRCOST * (UOMPRICE/100))/((100-UOMPRICE)/100)))*((SELECT TXDTLPCT  FROM TX00201 WHERE TAXDTLID=@ITMBS)/100)),ROUND(IV.CURRCOST + ((IV.CURRCOST * (UOMPRICE/100))/((100-UOMPRICE)/100)),IV.DECPLCUR-1)) " +
                                  "WHEN 6 THEN ISNULL(IV.STNDCOST + ((IV.STNDCOST * (UOMPRICE/100))/((100-UOMPRICE)/100)) /**/+ ((IV.STNDCOST + ((IV.STNDCOST * (UOMPRICE/100))/((100-UOMPRICE)/100)))*((SELECT TXDTLPCT  FROM TX00201 WHERE TAXDTLID=@ITMBS)/100)),ROUND(IV.STNDCOST + ((IV.STNDCOST * (UOMPRICE/100))/((100-UOMPRICE)/100)),IV.DECPLCUR-1)) " +
                                  "END AS PRICEWITMBS " +
                                  ",ISNULL((SELECT TXDTLPCT FROM TX00201 WHERE TAXDTLID=@ITMBS),0) AS ITMBSPCT " +
                                  "FROM IV00101 AS IV " +
                                  "INNER JOIN IV00108 AS PRCLST ON IV.ITEMNMBR=PRCLST.ITEMNMBR AND IV.PRCLEVEL=PRCLST.PRCLEVEL AND IV.PRCHSUOM=PRCLST.UOFM " +
                                  "INNER JOIN IV00105 AS CUR ON CUR.ITEMNMBR = IV.ITEMNMBR AND PRCLST.CURNCYID = CUR.CURNCYID WHERE IV.ITEMNMBR=@ITEMNMBR";


            try
            {
                adapter.SelectCommand = command;
                adapter.Fill(data);
            }
            catch (Exception ex)
            {
                IEvent e = new ErrorEvent("", "", ex.Message);
                e.Publish();
            }
            finally
            {
                //nothing
            }
            return(data);
        }
Ejemplo n.º 11
0
        // Carga un cliente desde un XML
        public static Customer LoadFrom(string filename)
        {
            Customer tCustomer = null;

            try
            {
                var          serializer = new XmlSerializer(typeof(Customer));
                FileStream   fs         = new FileStream(filename, FileMode.Open);
                StreamReader stream     = new StreamReader(fs, Encoding.Unicode);
                tCustomer = (Customer)serializer.Deserialize(stream);
                fs.Close();
            }catch (Exception ex)
            {
                IEvent e = new ErrorEvent("", "", "Customer::" + ex.Message);
                e.Publish();
            }

            return(tCustomer);
        }
        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));
        }
        private DataTable getInventorySnapshot(String LOCATION, string itbms)
        {
            SqlCommand     command = new SqlCommand();
            SqlDataAdapter adapter = new SqlDataAdapter();

            DataTable data = new DataTable("ITEMS");

            command.Connection = new SqlConnection(this.mStringConnection);

            command.Parameters.AddWithValue("@ITMBS", itbms);
            command.Parameters.AddWithValue("@LOCATION", LOCATION);

            command.CommandType = CommandType.Text;
            string query = "";

            query += "SELECT ";
            query += "IV.LOCNCODE ";
            query += ",IV.ITEMNMBR ";
            query += ",(IV.QTYONHND-IV.ATYALLOC) AS DISP    ";
            query += ",ITEM.UOFM ";
            query += ",ITEM.ITEMDESC   ";
            query += ",ITEM.ITEMTYPE   ";
            query += ",ITEM.ITMCLSCD   ";
            query += ",ITEM.CURRCOST   ";
            query += ",ITEM.QTYBSUOM   ";
            query += ",ITEM.PRICE   ";
            query += ",ITEM.PRICEWITMBS   ";
            query += ",ITEM.ITMBSPCT   ";
            query += ",ITEM.PRCLEVEL   ";
            query += "FROM IV00102 AS IV ";
            query += "INNER JOIN (SELECT DISTINCT IV.ITEMNMBR   ";
            query += ",IV.ITEMDESC,IV.ITEMTYPE,PRCLST.UOFM,ITMCLSCD,CURRCOST,MAX(UOFM.QTYBSUOM) AS QTYBSUOM   ";
            query += ",CASE IV.PRICMTHD   ";
            query += "WHEN 1 THEN ROUND(MAX(PRCLST.UOMPRICE) * MAX(UOFM.QTYBSUOM),AVG(IV.DECPLCUR)-1)   ";
            query += "WHEN 2 THEN ROUND((MAX(CUR.LISTPRCE)*(MAX(PRCLST.UOMPRICE)/100)) * MAX(UOFM.QTYBSUOM),AVG(IV.DECPLCUR)-1)    ";
            query += "WHEN 3 THEN ROUND((MAX(IV.CURRCOST) + (MAX(IV.CURRCOST) * (MAX(PRCLST.UOMPRICE)/100))) * MAX(UOFM.QTYBSUOM),AVG(IV.DECPLCUR)-1)   ";
            query += "WHEN 4 THEN ROUND((MAX(IV.STNDCOST) + (MAX(IV.STNDCOST) * (MAX(PRCLST.UOMPRICE)/100))) * MAX(UOFM.QTYBSUOM),AVG(IV.DECPLCUR)-1)   ";
            query += "WHEN 5 THEN ROUND((MAX(IV.CURRCOST) + ((MAX(IV.CURRCOST) * (MAX(PRCLST.UOMPRICE)/100))/((100-MAX(PRCLST.UOMPRICE))/100))) * MAX(UOFM.QTYBSUOM),AVG(IV.DECPLCUR)-1)   ";
            query += "WHEN 6 THEN ROUND((MAX(IV.STNDCOST) + ((MAX(IV.STNDCOST) * (MAX(PRCLST.UOMPRICE)/100))/((100-MAX(PRCLST.UOMPRICE))/100))) * MAX(UOFM.QTYBSUOM),AVG(IV.DECPLCUR)-1)   ";
            query += "END AS PRICE   ";
            query += ",CASE IV.PRICMTHD   ";
            query += "WHEN 1 THEN ISNULL((MAX(PRCLST.UOMPRICE)+(MAX(PRCLST.UOMPRICE)*((SELECT TXDTLPCT  FROM TX00201 WHERE TAXDTLID=@ITMBS)/100))) * MAX(UOFM.QTYBSUOM),ROUND(MAX(PRCLST.UOMPRICE) * MAX(UOFM.QTYBSUOM),AVG(IV.DECPLCUR)-1))   ";
            query += "WHEN 2 THEN ISNULL((MAX(CUR.LISTPRCE)*(MAX(PRCLST.UOMPRICE)/100) /**/ + ((MAX(CUR.LISTPRCE)*(MAX(PRCLST.UOMPRICE)/100))*((SELECT TXDTLPCT  FROM TX00201 WHERE TAXDTLID=@ITMBS)/100))) * MAX(UOFM.QTYBSUOM),ROUND((MAX(CUR.LISTPRCE)*(MAX(PRCLST.UOMPRICE)/100))* MAX(UOFM.QTYBSUOM),AVG(IV.DECPLCUR)-1) )   ";
            query += "WHEN 3 THEN ISNULL((MAX(IV.CURRCOST) + (MAX(IV.CURRCOST) * (MAX(PRCLST.UOMPRICE)/100)) /**/ + ((MAX(IV.CURRCOST) + (MAX(IV.CURRCOST) * (MAX(PRCLST.UOMPRICE)/100)))*((SELECT TXDTLPCT  FROM TX00201 WHERE TAXDTLID=@ITMBS)/100)))* MAX(UOFM.QTYBSUOM),ROUND((MAX(IV.CURRCOST) + (MAX(IV.CURRCOST) * (MAX(PRCLST.UOMPRICE)/100)))* MAX(UOFM.QTYBSUOM),AVG(IV.DECPLCUR)-1))   ";
            query += "WHEN 4 THEN ISNULL((MAX(IV.STNDCOST) + (MAX(IV.STNDCOST) * (MAX(PRCLST.UOMPRICE)/100)) /**/ + (MAX(IV.STNDCOST) + (MAX(IV.STNDCOST) * (MAX(PRCLST.UOMPRICE)/100))*((SELECT TXDTLPCT  FROM TX00201 WHERE TAXDTLID=@ITMBS)/100)))* MAX(UOFM.QTYBSUOM),ROUND((MAX(IV.STNDCOST) + (MAX(IV.STNDCOST) * (MAX(PRCLST.UOMPRICE)/100)))* MAX(UOFM.QTYBSUOM),AVG(IV.DECPLCUR)-1))   ";
            query += "WHEN 5 THEN ISNULL((MAX(IV.CURRCOST) + ((MAX(IV.CURRCOST) * (MAX(PRCLST.UOMPRICE)/100))/((100-MAX(PRCLST.UOMPRICE))/100)) /**/ + ((MAX(IV.CURRCOST) + ((MAX(IV.CURRCOST) * (MAX(PRCLST.UOMPRICE)/100))/((100-MAX(PRCLST.UOMPRICE))/100)))*((SELECT TXDTLPCT  FROM TX00201 WHERE TAXDTLID=@ITMBS)/100)))* MAX(UOFM.QTYBSUOM),ROUND((MAX(IV.CURRCOST) + ((MAX(IV.CURRCOST) * (MAX(PRCLST.UOMPRICE)/100))/((100-MAX(PRCLST.UOMPRICE))/100)))* MAX(UOFM.QTYBSUOM),AVG(IV.DECPLCUR)-1))   ";
            query += "WHEN 6 THEN ISNULL((MAX(IV.STNDCOST) + ((MAX(IV.STNDCOST) * (MAX(PRCLST.UOMPRICE)/100))/((100-MAX(PRCLST.UOMPRICE))/100)) /**/+ ((MAX(IV.STNDCOST) + ((MAX(IV.STNDCOST) * (MAX(PRCLST.UOMPRICE)/100))/((100-MAX(PRCLST.UOMPRICE))/100)))*((SELECT TXDTLPCT  FROM TX00201 WHERE TAXDTLID=@ITMBS)/100)))* MAX(UOFM.QTYBSUOM),ROUND((MAX(IV.STNDCOST) + ((MAX(IV.STNDCOST) * (MAX(PRCLST.UOMPRICE)/100))/((100-MAX(PRCLST.UOMPRICE))/100)))* MAX(UOFM.QTYBSUOM),AVG(IV.DECPLCUR)-1))   ";
            query += "END AS PRICEWITMBS   ";
            query += ",ISNULL((SELECT TXDTLPCT FROM TX00201 WHERE TAXDTLID=@ITMBS),0) AS ITMBSPCT   ";
            query += ",PRCLST.PRCLEVEL   ";
            query += "FROM IV00107 AS PRCLVL   ";
            query += "INNER JOIN IV00101 AS IV ON IV.ITEMNMBR=PRCLVL.ITEMNMBR    ";
            query += "INNER JOIN IV00108 AS PRCLST ON PRCLVL.ITEMNMBR=PRCLST.ITEMNMBR AND PRCLVL.PRCLEVEL=PRCLST.PRCLEVEL AND PRCLVL.UOFM=PRCLST.UOFM   ";
            query += "INNER JOIN IV00105 AS CUR ON CUR.ITEMNMBR = IV.ITEMNMBR AND PRCLST.CURNCYID = CUR.CURNCYID   ";
            query += "INNER JOIN IV00106 AS UOFM ON IV.ITEMNMBR=UOFM.ITEMNMBR AND PRCLST.UOFM=UOFM.UOFM   ";
            query += "WHERE PRCLST.PRCLEVEL='GALAPAGO' ";
            query += "GROUP BY IV.ITEMNMBR   ";
            query += ",IV.ITEMDESC,IV.ITEMTYPE   ";
            query += ",PRCLST.UOFM   ";
            query += ",ITMCLSCD   ";
            query += ",CURRCOST   ";
            query += ",IV.PRICMTHD   ";
            query += ",PRCLST.PRCLEVEL) AS ITEM ON ITEM.ITEMNMBR=IV.ITEMNMBR ";
            query += "WHERE IV.LOCNCODE <> '' AND IV.LOCNCODE = @LOCATION ";

            command.CommandText = query;


            try
            {
                adapter.SelectCommand = command;
                adapter.Fill(data);
            }
            catch (Exception ex)
            {
                IEvent e = new ErrorEvent("", "", ex.Message);
                e.Publish();
            }
            finally
            {
                //nothing
            }
            return(data);
        }
Ejemplo n.º 14
0
        private DataTable getAllItemsData()
        {
            SqlCommand     command = new SqlCommand();
            SqlDataAdapter adapter = new SqlDataAdapter();

            DataTable data = new DataTable("ITEMMSTR");

            command.Connection = new SqlConnection(this.mStringConnection);

            command.Parameters.AddWithValue("@ITMBS", this.mItmbs);

            command.CommandType = CommandType.Text;
            command.CommandText = "SELECT DISTINCT IV.ITEMNMBR " +
                                  ",IV.ITEMDESC,IV.ITEMTYPE,PRCLST.UOFM,ITMCLSCD,CURRCOST,MAX(UOFM.QTYBSUOM) AS QTYBSUOM " +
                                  ",CASE IV.PRICMTHD " +
                                  "WHEN 1 THEN ROUND(MAX(PRCLST.UOMPRICE) * MAX(UOFM.QTYBSUOM),AVG(IV.DECPLCUR)-1) " +
                                  "WHEN 2 THEN ROUND((MAX(CUR.LISTPRCE)*(MAX(PRCLST.UOMPRICE)/100)) * MAX(UOFM.QTYBSUOM),AVG(IV.DECPLCUR)-1)  " +
                                  "WHEN 3 THEN ROUND((MAX(IV.CURRCOST) + (MAX(IV.CURRCOST) * (MAX(PRCLST.UOMPRICE)/100))) * MAX(UOFM.QTYBSUOM),AVG(IV.DECPLCUR)-1) " +
                                  "WHEN 4 THEN ROUND((MAX(IV.STNDCOST) + (MAX(IV.STNDCOST) * (MAX(PRCLST.UOMPRICE)/100))) * MAX(UOFM.QTYBSUOM),AVG(IV.DECPLCUR)-1) " +
                                  "WHEN 5 THEN ROUND((MAX(IV.CURRCOST) + ((MAX(IV.CURRCOST) * (MAX(PRCLST.UOMPRICE)/100))/((100-MAX(PRCLST.UOMPRICE))/100))) * MAX(UOFM.QTYBSUOM),AVG(IV.DECPLCUR)-1) " +
                                  "WHEN 6 THEN ROUND((MAX(IV.STNDCOST) + ((MAX(IV.STNDCOST) * (MAX(PRCLST.UOMPRICE)/100))/((100-MAX(PRCLST.UOMPRICE))/100))) * MAX(UOFM.QTYBSUOM),AVG(IV.DECPLCUR)-1) " +
                                  "END AS PRICE " +
                                  ",CASE IV.PRICMTHD " +
                                  "WHEN 1 THEN ISNULL((MAX(PRCLST.UOMPRICE)+(MAX(PRCLST.UOMPRICE)*((SELECT TXDTLPCT  FROM TX00201 WHERE TAXDTLID=@ITMBS)/100))) * MAX(UOFM.QTYBSUOM),ROUND(MAX(PRCLST.UOMPRICE) * MAX(UOFM.QTYBSUOM),AVG(IV.DECPLCUR)-1)) " +
                                  "WHEN 2 THEN ISNULL((MAX(CUR.LISTPRCE)*(MAX(PRCLST.UOMPRICE)/100) /**/ + ((MAX(CUR.LISTPRCE)*(MAX(PRCLST.UOMPRICE)/100))*((SELECT TXDTLPCT  FROM TX00201 WHERE TAXDTLID=@ITMBS)/100))) * MAX(UOFM.QTYBSUOM),ROUND((MAX(CUR.LISTPRCE)*(MAX(PRCLST.UOMPRICE)/100))* MAX(UOFM.QTYBSUOM),AVG(IV.DECPLCUR)-1) ) " +
                                  "WHEN 3 THEN ISNULL((MAX(IV.CURRCOST) + (MAX(IV.CURRCOST) * (MAX(PRCLST.UOMPRICE)/100)) /**/ + ((MAX(IV.CURRCOST) + (MAX(IV.CURRCOST) * (MAX(PRCLST.UOMPRICE)/100)))*((SELECT TXDTLPCT  FROM TX00201 WHERE TAXDTLID=@ITMBS)/100)))* MAX(UOFM.QTYBSUOM),ROUND((MAX(IV.CURRCOST) + (MAX(IV.CURRCOST) * (MAX(PRCLST.UOMPRICE)/100)))* MAX(UOFM.QTYBSUOM),AVG(IV.DECPLCUR)-1)) " +
                                  "WHEN 4 THEN ISNULL((MAX(IV.STNDCOST) + (MAX(IV.STNDCOST) * (MAX(PRCLST.UOMPRICE)/100)) /**/ + (MAX(IV.STNDCOST) + (MAX(IV.STNDCOST) * (MAX(PRCLST.UOMPRICE)/100))*((SELECT TXDTLPCT  FROM TX00201 WHERE TAXDTLID=@ITMBS)/100)))* MAX(UOFM.QTYBSUOM),ROUND((MAX(IV.STNDCOST) + (MAX(IV.STNDCOST) * (MAX(PRCLST.UOMPRICE)/100)))* MAX(UOFM.QTYBSUOM),AVG(IV.DECPLCUR)-1)) " +
                                  "WHEN 5 THEN ISNULL((MAX(IV.CURRCOST) + ((MAX(IV.CURRCOST) * (MAX(PRCLST.UOMPRICE)/100))/((100-MAX(PRCLST.UOMPRICE))/100)) /**/ + ((MAX(IV.CURRCOST) + ((MAX(IV.CURRCOST) * (MAX(PRCLST.UOMPRICE)/100))/((100-MAX(PRCLST.UOMPRICE))/100)))*((SELECT TXDTLPCT  FROM TX00201 WHERE TAXDTLID=@ITMBS)/100)))* MAX(UOFM.QTYBSUOM),ROUND((MAX(IV.CURRCOST) + ((MAX(IV.CURRCOST) * (MAX(PRCLST.UOMPRICE)/100))/((100-MAX(PRCLST.UOMPRICE))/100)))* MAX(UOFM.QTYBSUOM),AVG(IV.DECPLCUR)-1)) " +
                                  "WHEN 6 THEN ISNULL((MAX(IV.STNDCOST) + ((MAX(IV.STNDCOST) * (MAX(PRCLST.UOMPRICE)/100))/((100-MAX(PRCLST.UOMPRICE))/100)) /**/+ ((MAX(IV.STNDCOST) + ((MAX(IV.STNDCOST) * (MAX(PRCLST.UOMPRICE)/100))/((100-MAX(PRCLST.UOMPRICE))/100)))*((SELECT TXDTLPCT  FROM TX00201 WHERE TAXDTLID=@ITMBS)/100)))* MAX(UOFM.QTYBSUOM),ROUND((MAX(IV.STNDCOST) + ((MAX(IV.STNDCOST) * (MAX(PRCLST.UOMPRICE)/100))/((100-MAX(PRCLST.UOMPRICE))/100)))* MAX(UOFM.QTYBSUOM),AVG(IV.DECPLCUR)-1)) " +
                                  "END AS PRICEWITMBS " +
                                  ",ISNULL((SELECT TXDTLPCT FROM TX00201 WHERE TAXDTLID=@ITMBS),0) AS ITMBSPCT " +
                                  ",PRCLST.PRCLEVEL " +
                                  "FROM IV00107 AS PRCLVL " +
                                  "INNER JOIN IV00101 AS IV ON IV.ITEMNMBR=PRCLVL.ITEMNMBR AND PRCLVL.PRCLEVEL='GALAPAGO' " +
                                  "INNER JOIN IV00108 AS PRCLST ON PRCLVL.ITEMNMBR=PRCLST.ITEMNMBR AND PRCLVL.PRCLEVEL=PRCLST.PRCLEVEL AND PRCLVL.UOFM=PRCLST.UOFM " +
                                  "INNER JOIN IV00105 AS CUR ON CUR.ITEMNMBR = IV.ITEMNMBR AND PRCLST.CURNCYID = CUR.CURNCYID " +
                                  "INNER JOIN IV00106 AS UOFM ON IV.ITEMNMBR=UOFM.ITEMNMBR AND PRCLST.UOFM=UOFM.UOFM " +
                                  "GROUP BY IV.ITEMNMBR " +
                                  ",IV.ITEMDESC,IV.ITEMTYPE " +
                                  ",PRCLST.UOFM " +
                                  ",ITMCLSCD " +
                                  ",CURRCOST " +
                                  ",IV.PRICMTHD " +
                                  ",PRCLST.PRCLEVEL ";


            try
            {
                adapter.SelectCommand = command;
                adapter.Fill(data);
            }
            catch (Exception ex)
            {
                IEvent e = new ErrorEvent("", "", ex.Message);
                e.Publish();
            }
            finally
            {
                //nothing
            }
            return(data);
        }
Ejemplo n.º 15
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));
        }
Ejemplo n.º 16
0
        private bool InsertItem(Models.Item item)
        {
            bool       res = false;
            SqlCommand command;

            command = new SqlCommand("dbo.spUpdateItem", new SqlConnection(this.StringConnection));

            command.CommandType = CommandType.StoredProcedure;
            command.Parameters.AddWithValue("@No", item.No);
            command.Parameters.AddWithValue("@Description", item.Description);
            command.Parameters.AddWithValue("@Descripcion2", item.Descripcion2);
            command.Parameters.AddWithValue("@Qty_Inventory", item.Qty_Inventory);
            command.Parameters.AddWithValue("@Is_Use", 1);
            command.Parameters.AddWithValue("@Billed_Units", 0);
            command.Parameters.AddWithValue("@Qty_Purshase", 0);
            command.Parameters.AddWithValue("@Qty_Sales", 0);
            command.Parameters.AddWithValue("@Amount_Purchases", 0);
            command.Parameters.AddWithValue("@Amount_Sales", 0);
            command.Parameters.AddWithValue("@Qty_Positive_adjustment", 0);
            command.Parameters.AddWithValue("@Qty_Negative_adjustment", 0);
            command.Parameters.AddWithValue("@Amount_Positive_adjustment", 0);
            command.Parameters.AddWithValue("@Amount_Negative_adjustment", 0);
            command.Parameters.AddWithValue("@Qty_in_Order", 0);
            command.Parameters.AddWithValue("@Qty_transfer", 0);
            command.Parameters.AddWithValue("@Transfer_amount", 0);
            command.Parameters.AddWithValue("@Price_without_VAT", item.PricewithoutVAT);
            command.Parameters.AddWithValue("@Price_including_VAT", item.PriceincludingVAT);
            command.Parameters.AddWithValue("@VAT", item.VAT);
            command.Parameters.AddWithValue("@Qty_in_Transit", 0);
            command.Parameters.AddWithValue("@Qty_Sale_Returns", 0);
            command.Parameters.AddWithValue("@Qty_Purchase_Returns", 0);
            command.Parameters.AddWithValue("@Allow_Negative_Inventory", 0);
            command.Parameters.AddWithValue("@Qty_Negative", 0);
            command.Parameters.AddWithValue("@Auto_Code", "");
            command.Parameters.AddWithValue("@Variant", "");
            command.Parameters.AddWithValue("@Weight", 0);
            command.Parameters.AddWithValue("@Base_Unit_of_Measure_Purched", "");
            command.Parameters.AddWithValue("@Base_Unit_of_Measure_Sales", "");
            command.Parameters.AddWithValue("@Barcode", "");
            command.Parameters.AddWithValue("@Allow_Discount", 1);
            command.Parameters.AddWithValue("@Cost_Unity", 0);
            command.Parameters.AddWithValue("@Cost_Standard", "0");
            command.Parameters.AddWithValue("@Last_cost", 0);
            command.Parameters.AddWithValue("@date_last_cost", DateTime.Now);
            command.Parameters.AddWithValue("@Cost_indirect", 0);
            command.Parameters.AddWithValue("@Cost_Ajust", 0);
            command.Parameters.AddWithValue("@Profit", 0);
            command.Parameters.AddWithValue("@Profit_percentage", 0);
            command.Parameters.AddWithValue("@Special_Groups", "");
            command.Parameters.AddWithValue("@Sustitute", "");
            command.Parameters.AddWithValue("@Cross_References", "");
            command.Parameters.AddWithValue("@Additional_text", "");
            command.Parameters.AddWithValue("@Imagen", DBNull.Value).SqlDbType = SqlDbType.Image;
            command.Parameters.AddWithValue("@Translations", "");
            command.Parameters.AddWithValue("@Block", 0);
            command.Parameters.AddWithValue("@No_Vendor", "");
            command.Parameters.AddWithValue("@Reorder_point", 0);
            command.Parameters.AddWithValue("@Qty_Reorder_point", 0);
            command.Parameters.AddWithValue("@Inventory_Security", 0);
            command.Parameters.AddWithValue("@Reserve", 0);
            command.Parameters.AddWithValue("@Lot_size", 0);
            command.Parameters.AddWithValue("@No_Serial", "");
            command.Parameters.AddWithValue("@No_Lot", "");
            command.Parameters.AddWithValue("@Calculation_Due", "");
            command.Parameters.AddWithValue("@Due_Date", DateTime.Now);
            command.Parameters.AddWithValue("@Creation_date", DateTime.Now);
            command.Parameters.AddWithValue("@Created_by_User", "");
            command.Parameters.AddWithValue("@Last_modified_date", DateTime.Now);
            command.Parameters.AddWithValue("@Last_modified_by_the_user", "");
            command.Parameters.AddWithValue("@Warning_shortages", 0);
            command.Parameters.AddWithValue("@Location", "");
            command.Parameters.AddWithValue("@Start_Date_counting", DateTime.Now);
            command.Parameters.AddWithValue("@End_Date_counting", DateTime.Now);
            command.Parameters.AddWithValue("@VAT_Prod_Posting_Group", "01");
            command.Parameters.AddWithValue("@VAT_Bus_Posting_Group", "01");
            command.Parameters.AddWithValue("@Item_Category_Code", "01");
            command.Parameters.AddWithValue("@Product_Group_Code", "01");


            try
            {
                if (command.Connection.State != ConnectionState.Open)
                {
                    command.Connection.Open();
                }

                res = (command.ExecuteNonQuery() >= 0);
            }
            catch (Exception ex)
            {
                res = false;

                IEvent e = new ErrorEvent("", "", "TransactionAddInventoryMovement::" + ex.Message);
                e.Publish();
            }
            finally
            {
                if (command.Connection.State != ConnectionState.Closed)
                {
                    command.Connection.Close();
                }
            }


            return(res);
        }
        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));
        }
Ejemplo n.º 18
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));
        }
Ejemplo n.º 19
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));
        }
Ejemplo n.º 20
0
        private bool CreateCustomer(string code, string name, string name2, string ruc, string nfc, string phone, string email, string address1, string address2)
        {
            bool       res = false;
            SqlCommand command;

            if (!CustomerExist(code))
            {
                command = new SqlCommand("spInsertCustomer", new SqlConnection(this.StringConnection));
            }
            else
            {
                command = new SqlCommand("spUpdateCustomer", new SqlConnection(this.StringConnection));
            }

            command.CommandType = CommandType.StoredProcedure;
            command.Parameters.AddWithValue("@No", code);
            command.Parameters.AddWithValue("@Name", name);
            command.Parameters.AddWithValue("@Name2", name2);
            command.Parameters.AddWithValue("@CodeAddress", "");
            command.Parameters.AddWithValue("@VAT_Registration_No", ruc);
            command.Parameters.AddWithValue("@NCF", nfc);
            command.Parameters.AddWithValue("@Alias", "");
            command.Parameters.AddWithValue("@Phone", phone);
            command.Parameters.AddWithValue("@EMail", email);
            command.Parameters.AddWithValue("@Credit_limit", 0.00);
            command.Parameters.AddWithValue("@Customer_Invoice_No", "");
            command.Parameters.AddWithValue("@Price_Group", "01");
            command.Parameters.AddWithValue("@Currency", "01");
            command.Parameters.AddWithValue("@Language", "01");
            command.Parameters.AddWithValue("@Price_including_VAT", 0.00);
            command.Parameters.AddWithValue("@Price_without_VAT", 0.00);
            command.Parameters.AddWithValue("@VAT", 0.00);
            command.Parameters.AddWithValue("@Salesperson", "");
            command.Parameters.AddWithValue("@Discounts_Invoice", 0.00);
            command.Parameters.AddWithValue("@Line_Discounts", 0.00);
            command.Parameters.AddWithValue("@Reserve", 0);
            command.Parameters.AddWithValue("@Payment_terms", "");
            command.Parameters.AddWithValue("@Allow_discount", 1);
            command.Parameters.AddWithValue("@Block", 0);
            command.Parameters.AddWithValue("@VAT_Bus_Posting_Group", "01");
            command.Parameters.AddWithValue("@Creation_date", DateTime.Now);
            command.Parameters.AddWithValue("@Created_by_user", "");
            command.Parameters.AddWithValue("@Last_modified_date", DateTime.Now);
            command.Parameters.AddWithValue("@Last_modified_by_the_user", "");
            command.Parameters.AddWithValue("@Address1", address1);
            command.Parameters.AddWithValue("@Address2", address2);

            try
            {
                if (command.Connection.State != ConnectionState.Open)
                {
                    command.Connection.Open();
                }
                int r = command.ExecuteNonQuery();

                res = (r >= 0);
            }catch (Exception ex)
            {
                res = false;
                IEvent ev = new ErrorEvent("", "", "TransactionAddSalesPerson::" + ex.Message);
                ev.Publish();
                //MessageBox.Show("TransactionAddSalesPerson::" + ex.Message);
            }
            finally
            {
                if (command.Connection.State != ConnectionState.Closed)
                {
                    command.Connection.Close();
                }
            }


            return(res);
        }
        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));
        }