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); } }
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; }
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); } }
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); }
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); }
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); } }
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); } }
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); }
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); } } }