private void agregarVisualizacion(string NombreVisualizacion, string KeyVisualizacion, string KeyEstado, string DescripcionEstado, string Operacion, bool Activo, string Modo) { int i = 0; bool exist = false; VisualizacionNueva v = null; while (!exist & i < _visualizacionesNuevas.Count) { v = (VisualizacionNueva)_visualizacionesNuevas[i]; if (v.KeyVisualizacion.Equals(KeyVisualizacion) & v.KeyEstado.Equals(KeyEstado)) { exist = true; } else { i++; } } if (exist) { v.NombreVisualizacion = NombreVisualizacion; v.Activo = Activo; _visualizacionModificada = v; } else { _visualizacionModificada = new VisualizacionNueva(NombreVisualizacion, KeyVisualizacion, KeyEstado, DescripcionEstado, Operacion, Activo, Modo); _visualizacionesNuevas.Add(_visualizacionModificada); } }
/// <summary> /// Envia el dataset e información adicional a la capa de acceso a datos para ejecutar la grabación de datos /// en el RDBM. /// </summary> public override void Flush(string IdTransaction) { if (OnTaskBeforeFlush != null) { OnTaskBeforeFlush(this, new EventArgs()); } _replication = GenerateReplication(); SqlTransaction trx = PoolTransaction.GetTransactionById(IdTransaction); dataaccess.tlg_VisualizacionDeStock.Update(_data.tlg_VisualizacionDeStock, trx); dataaccess.tlg_VisualizacionDeStockDet.Update(_data.tlg_VisualizacionDeStockDet, trx); /*Para la configuracion de variables*/ int i = 0; foreach (tlg_VisualizacionDeStockEx.tlg_VisualizacionDeStockRow row in _data.tlg_VisualizacionDeStock.Rows) { VisualizacionNueva vn = (VisualizacionNueva)_visualizacionesNuevas[i]; if (vn.Modo.Equals("NEW")) { string IdVisualizacion = (string)row["IdVisualizacionDeStock"]; _variablesValores.Add(vn.NombreVisualizacion, IdVisualizacion); } i++; } if (OnTaskAfterFlush != null) { OnTaskAfterFlush(this, new EventArgs()); } }
private void modificarEstadoVisualizacion(string NombreVisualizacion, string KeyVisualizacion, string KeyEstado, string DescripcionEstado, string Operacion, bool Activo, string Modo) { int i = 0; bool exist = false; VisualizacionNueva v = null; while (!exist & i < _visualizacionesNuevas.Count) { v = (VisualizacionNueva)_visualizacionesNuevas[i]; if (v.KeyVisualizacion.Equals(KeyVisualizacion) & v.KeyEstado.Equals(KeyEstado)) { exist = true; } else { i++; } } if (exist) { if (v.Modo.Equals("ADD") & Modo.Equals("DEL")) { v.Modo = Modo; _visualizacionesNuevas.Remove(v); } else if (v.Modo.Equals("ADD") & Modo.Equals("MODIFOP")) { v.Operacion = Operacion; } else if (v.Modo.Equals("DEL") & Modo.Equals("ADD")) { if (v.Operacion.Equals(Operacion)) { _visualizacionesNuevas.Remove(v); v.Modo = "NOTHING"; } else { v.Operacion = Operacion; v.Modo = "MODIFOP"; } } else if (v.Modo.Equals("MODIFOP") & Modo.Equals("DEL")) { v.Modo = Modo; } else if (v.Modo.Equals("MODIFOP") & Modo.Equals("MODIFOP")) { v.Operacion = Operacion; } _visualizacionModificada = v; } else { _visualizacionModificada = new VisualizacionNueva(NombreVisualizacion, KeyVisualizacion, KeyEstado, DescripcionEstado, Operacion, Activo, Modo); _visualizacionesNuevas.Add(_visualizacionModificada); } }
private bool existeNuevaVisualizacion(string KeyVisualizacion, int index) { bool exist = false; int i = 0; while (!exist && i < index) { VisualizacionNueva v = (VisualizacionNueva)_visualizacionesNuevas[i]; if (v.KeyVisualizacion.Equals(KeyVisualizacion)) { exist = true; } else { i++; } } return(exist); }
public void AddVisualizacion(string NombreVisualizacion, string KeyVisualizacion, string KeyEstado, string DescripcionEstado, string Operacion, bool Activo, string Modo) { switch (Modo) { case "NEW": //Nueva Visualizacion { KeyVisualizacion = systemframework.Util.NewStringId(); _visualizacionModificada = new VisualizacionNueva(NombreVisualizacion, KeyVisualizacion, KeyEstado, DescripcionEstado, Operacion, Activo, Modo); _visualizacionesNuevas.Add(_visualizacionModificada); _visualizacionesNuevasCofigVariables.Add(_visualizacionModificada); break; } case "MODIF": //Modificacion de Visualizacion { this.agregarVisualizacion(NombreVisualizacion, KeyVisualizacion, KeyEstado, DescripcionEstado, Operacion, Activo, Modo); break; } case "ADD": //Agregar estado { KeyEstado = KeyVisualizacion + "_" + KeyEstado; this.modificarEstadoVisualizacion(NombreVisualizacion, KeyVisualizacion, KeyEstado, DescripcionEstado, Operacion, Activo, Modo); break; } default: //Eliminar/Modificar estado { this.modificarEstadoVisualizacion(NombreVisualizacion, KeyVisualizacion, KeyEstado, DescripcionEstado, Operacion, Activo, Modo); break; } } if (VisualizacionesNuevasHasChanged != null) { VisualizacionesNuevasHasChanged(this, new EventArgs()); } }
//Valida datos antes de guardar la informacion private void ValidarDatos() { _errores.Clear(); foreach (object obj in _visualizacionesNuevas) { VisualizacionNueva vis = (VisualizacionNueva)obj; string nombre = vis.NombreVisualizacion.Trim(); if (nombre.Equals(string.Empty)) { _errores.Add(new ItemDatasetError("Visualizaciones de Stock", "Descripcion", "El campo nombre visualización no puede estar vacío")); } //Valida la existencia de la nueva visualizacion en la bd. string variable = "Momentos." + this.GetTaskName() + "." + this._processParent.Process.ProcessName + "." + "Validar.Visualizacion"; bool validarExisteVisualizacion = Variables.GetValueBool(variable); //Si es un alta no tiene q haber otra con ese nombre if (validarExisteVisualizacion && vis.Modo == "NEW") { tlg_VisualizacionDeStockDataset DataSetVisualizaciones = mz.erp.businessrules.tlg_VisualizacionDeStock.GetList(); if (DataSetVisualizaciones.Tables[0].Rows.Count > 0) { foreach (tlg_VisualizacionDeStockDataset.tlg_VisualizacionDeStockRow _row in DataSetVisualizaciones.Tables[0].Rows) { if ((string)_row["Descripcion"] == nombre) { _errores.Add(new ItemDatasetError("Visualizaciones de Stock", "Descripcion", "Ya existe otra visualización con ese nombre")); } } } } if (validarExisteVisualizacion && vis.Modo == "MODIF") { tlg_VisualizacionDeStockDataset DataSetVisualizaciones = mz.erp.businessrules.tlg_VisualizacionDeStock.GetList(); if (DataSetVisualizaciones.Tables[0].Rows.Count > 0) { foreach (tlg_VisualizacionDeStockDataset.tlg_VisualizacionDeStockRow _row in DataSetVisualizaciones.Tables[0].Rows) { if ((string)_row["IdVisualizacionDeStock"] != vis.KeyVisualizacion && (string)_row["Descripcion"] == vis.NombreVisualizacion) { _errores.Add(new ItemDatasetError("Visualizaciones de Stock", "Descripcion", "Ya existe otra visualización con ese nombre")); } } } } if (vis.Modo == "ADD") { string descripcionE = vis.DescripcionEstado.Trim(); if (descripcionE.Equals(string.Empty)) { _errores.Add(new ItemDatasetError("Visualizaciones de Stock", "Descripcion", "No se seleccionó el estado a agregar")); } //Me fijo que exista la visualizacion en la bd o que la este creando ahora if (!this.existeNuevaVisualizacion(vis.KeyVisualizacion, _visualizacionesNuevas.IndexOf(vis))) // si no se creo ahora me fijo si esta en la BD { tlg_VisualizacionDeStockDataset.tlg_VisualizacionDeStockRow row = mz.erp.businessrules.tlg_VisualizacionDeStock.GetByPk(vis.KeyVisualizacion); if (row == null) { _errores.Add(new ItemDatasetError("Visualizaciones de Stock", "Descripcion", "La visualización debe ser creada antes de agregarle un estado")); } else //Existe la visualizacion { int pos = vis.KeyEstado.IndexOf("_") + 1; string keyEstado = vis.KeyEstado.Substring(pos); tlg_VisualizacionDeStockDetDataset.tlg_VisualizacionDeStockDetRow rowD = mz.erp.businessrules.tlg_VisualizacionDeStockDet.GetByPk(vis.KeyVisualizacion, keyEstado); if (rowD != null) { _errores.Add(new ItemDatasetError("Visualizaciones de Stock", "Descripcion", "El estado ya existe en esa visualización")); } } } } } }
public override void Commit() { foreach (object obj in _visualizacionesNuevas) { VisualizacionNueva vn = (VisualizacionNueva)obj; switch (vn.Modo) { case "NEW": //Nueva visualizacion { tlg_VisualizacionDeStockEx.tlg_VisualizacionDeStockRow row = _data.tlg_VisualizacionDeStock.Newtlg_VisualizacionDeStockRow(); row.Descripcion = vn.NombreVisualizacion; row.FechaCreacion = DateTime.Now; row.Activo = vn.Activo; row.IdConexionCreacion = Security.IdConexion; row.IdVisualizacionDeStock = vn.KeyVisualizacion; row.IdReservado = 0; row.IdEmpresa = Security.IdEmpresa; row.IdSucursal = Security.IdSucursal; _data.tlg_VisualizacionDeStock.Addtlg_VisualizacionDeStockRow(row); break; } case "MODIF": //Modificacion de visualizacion { DataRow row = mz.erp.businessrules.tlg_VisualizacionDeStock.GetByPk(vn.KeyVisualizacion); row["Descripcion"] = vn.NombreVisualizacion; row["Activo"] = vn.Activo; _data.tlg_VisualizacionDeStock.ImportRow(row); break; } case "ADD": //Adicion de estado a visualizacion { tlg_VisualizacionDeStockEx.tlg_VisualizacionDeStockDetRow row = _data.tlg_VisualizacionDeStockDet.Newtlg_VisualizacionDeStockDetRow(); row.IdVisualizacionDeStock = vn.KeyVisualizacion; int pos = vn.KeyEstado.IndexOf("_") + 1; string keyEstado = vn.KeyEstado.Substring(pos); row.IdEstadoDeStock = keyEstado; if (vn.Operacion.Equals("+")) { row.Operacion = 1; } else { row.Operacion = -1; } row.FechaCreacion = DateTime.Now; row.IdConexionCreacion = Security.IdConexion; row.IdReservado = 0; row.IdEmpresa = Security.IdEmpresa; row.IdSucursal = Security.IdSucursal; DataRow rowV = mz.erp.businessrules.tlg_VisualizacionDeStock.GetByPk(vn.KeyVisualizacion); if (rowV != null) { _data.tlg_VisualizacionDeStock.ImportRow(rowV); } _data.tlg_VisualizacionDeStockDet.Addtlg_VisualizacionDeStockDetRow(row); break; } case "MODIFOP": //Modificacion de operacion de estado { int pos = vn.KeyEstado.IndexOf("_") + 1; string keyEstado = vn.KeyEstado.Substring(pos); DataRow row = mz.erp.businessrules.tlg_VisualizacionDeStockDet.GetByPk(vn.KeyVisualizacion, keyEstado); if (vn.Operacion.Equals("+")) { row["Operacion"] = 1; } else { row["Operacion"] = -1; } if (_data.tlg_VisualizacionDeStock.FindByIdVisualizacionDeStock(vn.KeyVisualizacion) == null) { DataRow rowV = mz.erp.businessrules.tlg_VisualizacionDeStock.GetByPk(vn.KeyVisualizacion); if (rowV != null) { _data.tlg_VisualizacionDeStock.ImportRow(rowV); } } _data.tlg_VisualizacionDeStockDet.ImportRow(row); break; } case "DEL": //Borrado de estado de visualizacion { int pos = vn.KeyEstado.IndexOf("_") + 1; string keyEstado = vn.KeyEstado.Substring(pos); DataRow row = mz.erp.businessrules.tlg_VisualizacionDeStockDet.GetByPk(vn.KeyVisualizacion, keyEstado); row.Delete(); _data.tlg_VisualizacionDeStockDet.ImportRow(row); break; } } } }