Exemplo n.º 1
0
        public RowItemCollection GetLotesActivos(int esquema, out Transaction transaction)
        {
            RowItemCollection ocol = new RowItemCollection();

            try
            {
                DAO     dao = new DAO();
                daTareo da  = new daTareo();
                ocol = da.GetLotesActivos(esquema);
                if (ocol.rowsCount == 0)
                {
                    transaction = Common.GetTransaction(TypeTransaction.ERR, "La consulta no muestra registros de lotes activos");
                    return(ocol);
                }
                else
                {
                    transaction = Common.GetTransaction(TypeTransaction.OK, "");
                    return(ocol);
                }
            }
            catch (Exception ex)
            {
                transaction = Common.GetTransaction(TypeTransaction.ERR, ex.Message);
                return(ocol);
            }
        }
Exemplo n.º 2
0
 public TreeList()
 {
     //Rows = new ObservableCollectionAdv<TreeNode>();
     Rows = new RowItemCollection();
     _root = new TreeNode(this, null);
     _root.IsExpanded = true;
     //ItemsSource = Rows;
     ItemsSource = Rows.RowItemsView;
     ItemContainerGenerator.StatusChanged += ItemContainerGeneratorStatusChanged;
 }
Exemplo n.º 3
0
        private void SincronizarLotes()
        {
            try
            {
                for (int i = 1; i <= 2; i++)
                {
                    RowItemCollection ocol           = new RowItemCollection();
                    blTareo           bl             = new blTareo();
                    Transaction       transaction    = Common.InitTransaction();
                    RowItemCollection itemcollection = bl.GetLotesActivos(i, out transaction);
                    const string      file           = "LotesActivos";

                    if (!Directory.Exists(@"C:\Data"))
                    {
                        Directory.CreateDirectory(@"C:\Data");
                    }
                    if (!Directory.Exists(@"C:\Data\temp"))
                    {
                        Directory.CreateDirectory(@"C:\Data\temp");
                    }
                    string name = string.Format(@"{0}_{1}.txt", DateTime.Now.ToString("yyyyMMddHHmmss"), file);
                    string temp = string.Format(@"C:\Data\temp\{0}", name);
                    //File.Create(temp);
                    List <string> lines = new List <string>();
                    foreach (var row in itemcollection.rows)
                    {
                        lines.Add(string.Format("{0}", row.v01));
                    }
                    File.WriteAllLines(temp, lines.ToArray());
                    try
                    {
                        //string.Format(ruta_ftp_lotes_dinamico,Entities.Common.Constant.getesquemaFTP(i))
                        UploadFTP(temp, string.Format(ruta_ftp_lotes_dinamico, Entities.Common.Constant.getesquemaFTP(i)), "ftpwms", "wmsapia");
                    }
                    catch (Exception ex) { }
                    File.Delete(temp);
                    //lblSincronzarLotes.Text = estado_msg_esperando + " " + DateTime.Now.ToString("HH:mm:ss");
                }
                Environment.Exit(0);
                //lblSincronzarLotes.Text = estado_msg_esperando + " " + DateTime.Now.AddMinutes(Convert.ToDouble(UpInterval_sincronizarlotes.Text)).ToString("HH:mm:ss");
                //hiloSincronizarLotes.Interrupt();
                //hiloSincronizarLotes = new Thread(SincronizarLotes);
            }
            catch (Exception ex)
            {
                Transaction transaction = Common.GetTransaction(TypeTransaction.ERR, ex.Message);
            }
        }
Exemplo n.º 4
0
        public override void Init(TagHelperContext context)
        {
            var colDefinitions = Columns?.Split(',');

            if (colDefinitions != null)
            {
                _columns = new KeyValuePair <string, string> [colDefinitions.Length];
                var index = 0;
                while (index < _columns.Length)
                {
                    var keyValue = colDefinitions[index].Split(':');
                    var column   = keyValue[0];
                    var header   = keyValue.Length == 1 ? keyValue[0] : keyValue[1];
                    _columns[index] = new KeyValuePair <string, string>(header, column);
                    index++;
                }
            }

            _rowItemCollection = new RowItemCollection(Items);
            base.Init(context);
        }
Exemplo n.º 5
0
        public RowItemCollection ListarRowItemCollection(string procedimiento, List <object> parametros)
        {
            RowItemCollection ocol = new RowItemCollection();
            RowItem           be;
            Query             query = new Query(procedimiento);

            foreach (var item in parametros)
            {
                query.input.Add(item);
            }
            //query.connection = Constant.connectionWMSprod;
            using (IDataReader dr = new DAO().GetCollectionIReader(query))
            {
                ocol.nroColumns = dr.FieldCount;
                for (int idx = 0; idx < ocol.nroColumns; idx++)
                {
                    ocol.columns.Add(new Column()
                    {
                        campo = string.Format("v{0}", (idx + 1).ToString().PadLeft(2, '0')),
                        key   = dr.GetName(idx),
                        index = idx,
                    });
                }
                int nroRows = 0;
                while (dr.Read())
                {
                    be = new RowItem();
                    foreach (Column c in ocol.columns)
                    {
                        be.GetValue(c.campo, dr[ocol.columns[c.index].index].ToString());
                    }
                    ocol.rows.Add(be);
                    nroRows++;
                }
                ocol.rowsCount = nroRows;
            }
            return(ocol);
        }
Exemplo n.º 6
0
        public RowItemCollection GetLotesActivos(int esquema)
        {
            Database          db   = new SqlDatabase(GS.configuration.Init.GetValue(Constant.sistema, Constant.key, "genesys"));
            RowItemCollection ocol = new RowItemCollection();
            int nresult            = -1;

            using (DbConnection connection = db.CreateConnection())
            {
                connection.Open();
                DbCommand dbCommand = db.GetStoredProcCommand(Entities.Common.Constant.getEsquemaBD(esquema) + "USP_WMS_TASK_SEL_LOTEACTIVO");
                RowItem   be;
                using (IDataReader dr = db.ExecuteReader(dbCommand))
                {
                    be = new RowItem();
                    for (int i = 0; i < dr.FieldCount; i++)
                    {
                        be.v01 = string.Format("{0}{1}", be.v01, dr.GetName(i) + "|");
                    }
                    ocol.rows.Add(be);

                    while (dr.Read())
                    {
                        be = new RowItem();
                        for (int i = 0; i < dr.FieldCount; i++)
                        {
                            be.v01 = string.Format("{0}{1}", be.v01, dr[i] + "|");
                        }

                        ocol.rows.Add(be);
                    }
                }
                ocol.rowsCount = ocol.rows.Count();
                connection.Close();
                return(ocol);
            }
        }
Exemplo n.º 7
0
 public bool ProcesarTrasladoGuia(RowItemCollection rows, out Transaction transaction)
 {
     try
     {
         DAO     dao    = new DAO();
         daTareo da     = new daTareo();
         int     result = da.ProcesarTrasladoGuia(rows);
         if (result == 0)
         {
             transaction = Common.GetTransaction(TypeTransaction.ERR, "No se realizó la transacción");
             return(false);
         }
         else
         {
             transaction = Common.GetTransaction(TypeTransaction.OK, "Operación realizada satisfactoriamente");
             return(true);
         }
     }
     catch (Exception ex)
     {
         transaction = Common.GetTransaction(TypeTransaction.ERR, ex.Message);
         return(false);
     }
 }
Exemplo n.º 8
0
        public int ProcesarTrasladoGuia(RowItemCollection itemcollection)
        {
            Database db      = DatabaseFactory.CreateDatabase("");
            int      nresult = -1;

            using (DbConnection connection = db.CreateConnection())
            {
                connection.Open();
                DbTransaction transaction = connection.BeginTransaction(System.Data.IsolationLevel.ReadCommitted);
                try
                {
                    DbCommand dbCommand;
                    var       header = (from p in itemcollection.rows
                                        group p by new { Origen = p.v06, Destino = p.v07 } //or group by new {p.ID, p.Name, p.Whatever}
                                        into mygroup
                                        select mygroup.FirstOrDefault()).ToList();

                    dbCommand = db.GetStoredProcCommand("USP_WMS_TASK_HEAD_GUIATRASLADO");
                    db.AddInParameter(dbCommand, "@ID_ALMACEN_ORIGEN", System.Data.DbType.Decimal, Convert.ToDecimal(header[0].v06));
                    db.AddInParameter(dbCommand, "@ID_ALMACEN_DESTINO", System.Data.DbType.Decimal, Convert.ToDecimal(header[0].v07));
                    object primarykey = db.ExecuteScalar(dbCommand, transaction);
                    if (primarykey == null)
                    {
                        throw new Exception("Generación del Traslado: Primary Key no generada");
                    }
                    foreach (var item in itemcollection.rows)
                    {
                        dbCommand = db.GetStoredProcCommand("USP_WMS_TASK_DETAIL_GUIATRASLADO");
                        db.AddInParameter(dbCommand, "@ID_CABECERA", System.Data.DbType.Int32, primarykey);
                        db.AddInParameter(dbCommand, "@ID_ALMACEN_ORIGEN", System.Data.DbType.Decimal, Convert.ToDecimal(item.v06));
                        db.AddInParameter(dbCommand, "@ID_ALMACEN_DESTINO", System.Data.DbType.Decimal, Convert.ToDecimal(item.v07));
                        db.AddInParameter(dbCommand, "@ID_SKU_PRODUCTO", System.Data.DbType.String, item.v02);
                        db.AddInParameter(dbCommand, "@CANTIDAD", System.Data.DbType.Int32, Convert.ToInt32(item.v05));
                        db.AddInParameter(dbCommand, "@LOTE", System.Data.DbType.String, item.v04);
                        nresult = db.ExecuteNonQuery(dbCommand, transaction);
                    }

                    dbCommand = db.GetStoredProcCommand("USP_WMS_TASK_HEAD_CONFIRMTRASLADO");
                    db.AddInParameter(dbCommand, "@ID_ALMACEN_ORIGEN", System.Data.DbType.Decimal, Convert.ToDecimal(header[0].v06));
                    db.AddInParameter(dbCommand, "@ID_ALMACEN_DESTINO", System.Data.DbType.Decimal, Convert.ToDecimal(header[0].v07));
                    object primarykey_confirmacion = db.ExecuteScalar(dbCommand, transaction);
                    if (primarykey_confirmacion == null)
                    {
                        throw new Exception("Confirmación del Traslado: Primary Key no generada");
                    }

                    foreach (var item in itemcollection.rows)
                    {
                        dbCommand = db.GetStoredProcCommand("USP_WMS_TASK_DETAIL_CONFIRMTRASLADO");
                        //db.AddInParameter(dbCommand, "@ID_AMARRE", System.Data.DbType.Int32, primarykey);
                        db.AddInParameter(dbCommand, "@ID_CABECERA", System.Data.DbType.Int32, primarykey_confirmacion);
                        db.AddInParameter(dbCommand, "@ID_ALMACEN_ORIGEN", System.Data.DbType.Decimal, Convert.ToDecimal(item.v06));
                        db.AddInParameter(dbCommand, "@ID_ALMACEN_DESTINO", System.Data.DbType.Decimal, Convert.ToDecimal(item.v07));
                        db.AddInParameter(dbCommand, "@ID_SKU_PRODUCTO", System.Data.DbType.String, item.v02);
                        db.AddInParameter(dbCommand, "@CANTIDAD", System.Data.DbType.Int32, Convert.ToInt32(item.v05));
                        db.AddInParameter(dbCommand, "@LOTE", System.Data.DbType.String, item.v04);
                        nresult = db.ExecuteNonQuery(dbCommand, transaction);
                    }

                    if (nresult == -1)
                    {
                        transaction.Rollback();
                    }
                    else
                    {
                        transaction.Commit();
                    }
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    nresult = -1;
                    throw ex;
                }
                connection.Close();
            }
            db = null;
            return(nresult);
        }
Exemplo n.º 9
0
        private void ReadFileFromFTPTrasladoGuia(List <string> files)
        {
            foreach (string file in files)
            {
                if (file != null && file.Contains(".txt"))
                {
                    FtpWebRequest request = (FtpWebRequest)WebRequest.Create(ruta_ftp_inventario + file);
                    request.Method      = WebRequestMethods.Ftp.DownloadFile;
                    request.Credentials = new NetworkCredential("ftpwms", "wmsapia");
                    FtpWebResponse response       = (FtpWebResponse)request.GetResponse();
                    Stream         responseStream = response.GetResponseStream();
                    StreamReader   reader         = new StreamReader(responseStream);
                    string         contents       = reader.ReadToEnd();

                    Transaction    transaction = Common.InitTransaction();
                    List <RowItem> itemlist    = new List <RowItem>();
                    string         line        = "";
                    using (StringReader strReader = new StringReader(contents))
                    {
                        int contador = 0;
                        while ((line = strReader.ReadLine()) != null)
                        {
                            if (contador > 0)
                            {
                                RowItem item = new RowItem();
                                item.v01 = line.Split('|')[0];
                                item.v02 = line.Split('|')[1];
                                item.v03 = line.Split('|')[2];
                                item.v04 = line.Split('|')[3];
                                item.v05 = line.Split('|')[4];
                                item.v06 = line.Split('|')[5];
                                itemlist.Add(item);
                            }
                            contador++;
                        }
                    }

                    reader.Close();
                    reader.Dispose();
                    response.Close();


                    RowItemCollection itemcollection = new RowItemCollection();
                    var itemlistOrder =
                        (from row in itemlist
                         orderby row.v02, row.v06
                         select row).ToList();
                    for (int i = 0; i < itemlistOrder.Count(); i++)
                    {
                        RowItem item = new RowItem();
                        item.v01 = itemlistOrder.ToList()[i].v01;
                        item.v02 = itemlistOrder.ToList()[i].v02;
                        item.v03 = itemlistOrder.ToList()[i].v03;
                        item.v04 = itemlistOrder.ToList()[i].v04;
                        item.v05 = Convert.ToInt32(Math.Abs(Convert.ToDecimal(itemlistOrder.ToList()[i].v05))).ToString();
                        item.v06 = itemlistOrder.ToList()[i].v06;
                        i++;
                        item.v07 = itemlistOrder.ToList()[i].v06;
                        itemcollection.rows.Add(item);
                    }

                    if (!Directory.Exists(@"C:\Data"))
                    {
                        Directory.CreateDirectory(@"C:\Data");
                    }
                    if (!Directory.Exists(@"C:\Data\temp"))
                    {
                        Directory.CreateDirectory(@"C:\Data\temp");
                    }
                    string name = string.Format(@"{0}_{1}", DateTime.Now.ToString("yyyyMMddHHmmss"), file);
                    string temp = string.Format(@"C:\Data\temp\{0}", name);
                    //File.Create(temp);
                    List <string> lines = new List <string>();
                    foreach (var row in itemcollection.rows)
                    {
                        lines.Add(string.Format("{0}|{1}|{2}|{3}|{4}|{5}|{6}", row.v01, row.v02, row.v03, row.v04, row.v05, row.v06, row.v07));
                    }

                    bool result = new blTareo().ProcesarTrasladoGuia(itemcollection, out transaction);
                    lines.Add(transaction.type.ToString() + ":" + transaction.message);
                    File.WriteAllLines(temp, lines.ToArray());

                    if (result)
                    {
                        UploadFTP(temp, ruta_ftp_inventario + "success/", "ftpwms", "wmsapia");
                    }
                    else
                    {
                        UploadFTP(temp, ruta_ftp_inventario + "failed/", "ftpwms", "wmsapia");
                    }

                    //Eliminar fichero
                    request             = (FtpWebRequest)WebRequest.Create(ruta_ftp_inventario + file);
                    request.Method      = WebRequestMethods.Ftp.DeleteFile;
                    request.Credentials = new NetworkCredential("ftpwms", "wmsapia");
                    response            = (FtpWebResponse)request.GetResponse();
                    response.Close();

                    File.Delete(temp);
                }
            }
        }