public bool isConfiguracionValida(string idVariable, string descripcionDatoNuevo) { TipoObservacionNueva on = this.getTipoObservacionNueva(descripcionDatoNuevo); if (idVariable.IndexOf("SubTipos") < 0 && on.KeyTipoPadre.Equals("RAIZ")) { return(true); } else if (idVariable.IndexOf("SubTipos") > 0 && !on.KeyTipoPadre.Equals("RAIZ")) { return(true); } else { return(false); } }
public void AddMovimiento(string DescripcionTipo, string KeyTipo, string KeyTipoPadre, string DescripcionTipoPadre, bool Activo, string Modo) { if (Modo == "NEW") { //Creacion de tipo de observaciones KeyTipo = systemframework.Util.NewStringId(); TipoObservacionNueva on = new TipoObservacionNueva(DescripcionTipo, KeyTipo, KeyTipoPadre, DescripcionTipoPadre, Activo, Modo); _tiposObservacionesNuevas.Add(on); _tiposObservacionesNuevasCofigVariables.Add(on); } else { this.agregarTipoOservacion(DescripcionTipo, KeyTipo, KeyTipoPadre, DescripcionTipoPadre, Activo, Modo); } if (TiposObservacionesNuevasHasChanged != null) { TiposObservacionesNuevasHasChanged(this, new EventArgs()); } }
private TipoObservacionNueva getTipoObservacionNueva(string DescripcionTipo) { TipoObservacionNueva on = null; int i = 0; bool exist = false; TipoObservacionNueva o = null; while (!exist && i < _tiposObservacionesNuevasCofigVariables.Count) { on = (TipoObservacionNueva)_tiposObservacionesNuevasCofigVariables[i]; if (on.DescripcionTipo.Equals(DescripcionTipo)) { exist = true; } else { i++; } } return(on); }
//Valida datos antes de guardar la informacion private void ValidarDatos() { _errores.Clear(); foreach (object obs in _tiposObservacionesNuevas) { TipoObservacionNueva on = (TipoObservacionNueva)obs; string descripcion = on.DescripcionTipo.Trim(); if (descripcion.Equals(string.Empty)) { _errores.Add(new ItemDatasetError("Cuentas Observaciones Tipos", "Descripcion", "El campo descripción no puede estar vacío")); } //Valida la existencia del nuevo tipo en la bd. string variable = "Momentos." + this.GetTaskName() + "." + this._processParent.Process.ProcessName + "." + "ValidarTipo"; bool validarExisteTipo = Variables.GetValueBool(variable); //Si es un alta no tiene q haber otro con esa descripcion if (validarExisteTipo && on.Modo == "NEW") { tsa_CuentasObservacionesTiposDataset DataSetTipos; if (on.KeyTipoPadre == "RAIZ") { DataSetTipos = mz.erp.businessrules.tsa_CuentasObservacionesTipos.GetList("", false); } else { DataSetTipos = mz.erp.businessrules.tsa_CuentasObservacionesTipos.GetList(on.KeyTipoPadre, false); } if (DataSetTipos.Tables[0].Rows.Count > 0) { foreach (tsa_CuentasObservacionesTiposDataset.tsa_CuentasObservacionesTiposRow _row in DataSetTipos.Tables[0].Rows) { if ((string)_row["Descripcion"] == descripcion) { _errores.Add(new ItemDatasetError("Cuentas Observaciones Tipos", "Descripcion", "Ya existe otro tipo con ese nombre")); } } } } if (validarExisteTipo && on.Modo != "NEW") { tsa_CuentasObservacionesTiposDataset DataSetTipos; if (on.KeyTipoPadre == "RAIZ") { DataSetTipos = mz.erp.businessrules.tsa_CuentasObservacionesTipos.GetList("", false); } else { DataSetTipos = mz.erp.businessrules.tsa_CuentasObservacionesTipos.GetList(on.KeyTipoPadre, false); } if (DataSetTipos.Tables[0].Rows.Count > 0) { foreach (tsa_CuentasObservacionesTiposDataset.tsa_CuentasObservacionesTiposRow _row in DataSetTipos.Tables[0].Rows) { if ((string)_row["IdCuentaObservacionTipo"] != on.KeyTipo && (string)_row["Descripcion"] == on.DescripcionTipo) { _errores.Add(new ItemDatasetError("Cuentas Observaciones Tipos", "Descripcion", "Ya existe otro tipo con ese nombre")); } } } } } }
/// <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.tsa_CuentasObservacionesTipos.Update(_data.tsa_CuentasObservacionesTipos, trx); bool modificaPerfiles = false; if (this._processParent.Process.ProcessName.Equals("ProcesoAbmTiposObservacionesCuentas")) { //Si es la configuracion rapida agrego en los nuevos tipos de observaciones para q las vean todos los perfiles existentes en el sistema //Si es personalizada (ProcesoAbmTiposObservacionesCuentasPersonalizado) se le mustra la interfaz para configurar estas variables. if (_modificaPerfilesSubTipos) { int i = 0; foreach (tsa_CuentasObservacionesTiposDataset.tsa_CuentasObservacionesTiposRow row in _data.tsa_CuentasObservacionesTipos.Rows) { TipoObservacionNueva on = (TipoObservacionNueva)_tiposObservacionesNuevas[i]; if (on.Modo.Equals("NEW") && !row.IsIdCuentaObservacionTipoPadreNull()) { string IdCuentaObservacionTipo = (string)row["IdCuentaObservacionTipo"]; foreach (sy_PerfilesDataset.sy_PerfilesRow rowP in _tablePerfiles.Rows) { long IdPerf = rowP.IdPerfil; int index1 = this.getIndexOf("Cuentas.Observaciones.Add.SubTipos", IdPerf); if (existeVariable("Cuentas.Observaciones.Add.SubTipos", IdPerf)) { string valorSA = (string)_dataPeriles.sy_VariablesPerfiles.Rows[index1]["Valor"]; if (!valorSA.Equals(string.Empty)) { _dataPeriles.sy_VariablesPerfiles.Rows[index1]["Valor"] = _dataPeriles.sy_VariablesPerfiles.Rows[index1]["Valor"] + ","; } } else if (!((string)_dataPeriles.sy_VariablesPerfiles.Rows[index1]["Valor"]).Equals(string.Empty)) { string valorSA = (string)_dataPeriles.sy_VariablesPerfiles.Rows[index1]["Valor"]; if (!valorSA.Equals(string.Empty)) { _dataPeriles.sy_VariablesPerfiles.Rows[index1]["Valor"] = _dataPeriles.sy_VariablesPerfiles.Rows[index1]["Valor"] + ","; } } _dataPeriles.sy_VariablesPerfiles.Rows[index1]["Valor"] = _dataPeriles.sy_VariablesPerfiles.Rows[index1]["Valor"] + IdCuentaObservacionTipo; int index2 = this.getIndexOf("Cuentas.Observaciones.Ver.SubTipos", IdPerf); if (existeVariable("Cuentas.Observaciones.Ver.SubTipos", IdPerf)) { string valorSV = (string)_dataPeriles.sy_VariablesPerfiles.Rows[index2]["Valor"]; if (!valorSV.Equals(string.Empty)) { _dataPeriles.sy_VariablesPerfiles.Rows[index2]["Valor"] = _dataPeriles.sy_VariablesPerfiles.Rows[index2]["Valor"] + ","; } } else if (!((string)_dataPeriles.sy_VariablesPerfiles.Rows[index1]["Valor"]).Equals(string.Empty)) { string valorSV = (string)_dataPeriles.sy_VariablesPerfiles.Rows[index2]["Valor"]; if (!valorSV.Equals(string.Empty)) { _dataPeriles.sy_VariablesPerfiles.Rows[index1]["Valor"] = _dataPeriles.sy_VariablesPerfiles.Rows[index1]["Valor"] + ","; } } _dataPeriles.sy_VariablesPerfiles.Rows[index2]["Valor"] = _dataPeriles.sy_VariablesPerfiles.Rows[index2]["Valor"] + IdCuentaObservacionTipo; } } i++; } modificaPerfiles = true; } //_variablesValores.Add(on.DescripcionTipo, IdCuentaObservacionTipo); if (_modificaPerfilesTipos) { int i = 0; foreach (tsa_CuentasObservacionesTiposDataset.tsa_CuentasObservacionesTiposRow row in _data.tsa_CuentasObservacionesTipos.Rows) { TipoObservacionNueva on = (TipoObservacionNueva)_tiposObservacionesNuevas[i]; if (on.Modo.Equals("NEW") && row.IsIdCuentaObservacionTipoPadreNull()) { string IdCuentaObservacionTipo = (string)row["IdCuentaObservacionTipo"]; foreach (sy_PerfilesDataset.sy_PerfilesRow rowP in _tablePerfiles.Rows) { long IdPerf = rowP.IdPerfil; int index1 = this.getIndexOf("Cuentas.Observaciones.Add.Tipos", IdPerf); if (existeVariable("Cuentas.Observaciones.Add.Tipos", IdPerf)) { string valorTA = (string)_dataPeriles.sy_VariablesPerfiles.Rows[index1]["Valor"]; if (!valorTA.Equals(string.Empty)) { _dataPeriles.sy_VariablesPerfiles.Rows[index1]["Valor"] = _dataPeriles.sy_VariablesPerfiles.Rows[index1]["Valor"] + ","; } } else if (!((string)_dataPeriles.sy_VariablesPerfiles.Rows[index1]["Valor"]).Equals(string.Empty)) { string valorTA = (string)_dataPeriles.sy_VariablesPerfiles.Rows[index1]["Valor"]; if (!valorTA.Equals(string.Empty)) { _dataPeriles.sy_VariablesPerfiles.Rows[index1]["Valor"] = _dataPeriles.sy_VariablesPerfiles.Rows[index1]["Valor"] + ","; } } _dataPeriles.sy_VariablesPerfiles.Rows[index1]["Valor"] = _dataPeriles.sy_VariablesPerfiles.Rows[index1]["Valor"] + IdCuentaObservacionTipo; int index2 = this.getIndexOf("Cuentas.Observaciones.Ver.Tipos", IdPerf); if (existeVariable("Cuentas.Observaciones.Ver.Tipos", IdPerf)) { string valorTV = (string)_dataPeriles.sy_VariablesPerfiles.Rows[index2]["Valor"]; if (!valorTV.Equals(string.Empty)) { _dataPeriles.sy_VariablesPerfiles.Rows[index2]["Valor"] = _dataPeriles.sy_VariablesPerfiles.Rows[index2]["Valor"] + ","; } } else if (!((string)_dataPeriles.sy_VariablesPerfiles.Rows[index2]["Valor"]).Equals(string.Empty)) { string valorTV = (string)_dataPeriles.sy_VariablesPerfiles.Rows[index2]["Valor"]; if (!valorTV.Equals(string.Empty)) { _dataPeriles.sy_VariablesPerfiles.Rows[index2]["Valor"] = _dataPeriles.sy_VariablesPerfiles.Rows[index2]["Valor"] + ","; } } _dataPeriles.sy_VariablesPerfiles.Rows[index2]["Valor"] = _dataPeriles.sy_VariablesPerfiles.Rows[index2]["Valor"] + IdCuentaObservacionTipo; } //_variablesValores.Add(on.DescripcionTipo, IdCuentaObservacionTipo); } i++; } modificaPerfiles = true; } if (modificaPerfiles) { dataaccess.sy_VariablesPerfiles.Update(_dataPeriles.sy_VariablesPerfiles, trx); } } else //SI se va a mostrar la pantalla de configuracion de variables { int i = 0; foreach (tsa_CuentasObservacionesTiposDataset.tsa_CuentasObservacionesTiposRow row in _data.tsa_CuentasObservacionesTipos.Rows) { TipoObservacionNueva on = (TipoObservacionNueva)_tiposObservacionesNuevas[i]; if (on.Modo.Equals("NEW")) { string IdCuentaObservacionTipo = (string)row["IdCuentaObservacionTipo"]; _variablesValores.Add(on.DescripcionTipo, IdCuentaObservacionTipo); } i++; } } if (OnTaskAfterFlush != null) { OnTaskAfterFlush(this, new EventArgs()); } }
public override void Commit() { foreach (object obs in _tiposObservacionesNuevas) { TipoObservacionNueva on = (TipoObservacionNueva)obs; if (on.Modo == "NEW") { tsa_CuentasObservacionesTiposDataset.tsa_CuentasObservacionesTiposRow row = _data.tsa_CuentasObservacionesTipos.Newtsa_CuentasObservacionesTiposRow(); row.Descripcion = on.DescripcionTipo; row.FechaCreacion = DateTime.Now; row.Activo = true; row.IdConexionCreacion = Security.IdConexion; row.IdCuentaObservacionTipo = on.KeyTipo; if (on.KeyTipoPadre != "RAIZ") { row.IdCuentaObservacionTipoPadre = on.KeyTipoPadre; } row.IdReservado = 0; row.IdEmpresa = Security.IdEmpresa; row.IdSucursal = Security.IdSucursal; _data.tsa_CuentasObservacionesTipos.Addtsa_CuentasObservacionesTiposRow(row); string idVariable1 = string.Empty; string idVariable2 = string.Empty; long idPerfil = Security.IdPerfil; if (on.KeyTipoPadre != "RAIZ" & !_modificaPerfilesSubTipos) { idVariable1 = "Cuentas.Observaciones.Add.SubTipos"; idVariable2 = "Cuentas.Observaciones.Ver.SubTipos"; foreach (sy_PerfilesDataset.sy_PerfilesRow rowP in _tablePerfiles.Rows) { this.agregarVariable(idVariable1, rowP.IdPerfil); this.agregarVariable(idVariable2, rowP.IdPerfil); } _modificaPerfilesSubTipos = true; } else if (on.KeyTipoPadre.Equals("RAIZ") & !_modificaPerfilesTipos) { idVariable1 = "Cuentas.Observaciones.Add.Tipos"; idVariable2 = "Cuentas.Observaciones.Ver.Tipos"; foreach (sy_PerfilesDataset.sy_PerfilesRow rowP in _tablePerfiles.Rows) { this.agregarVariable(idVariable1, rowP.IdPerfil); this.agregarVariable(idVariable2, rowP.IdPerfil); } _modificaPerfilesTipos = true; } } else //MODIF { DataRow rowT = mz.erp.businessrules.tsa_CuentasObservacionesTipos.GetByPk(on.KeyTipo); rowT["Descripcion"] = on.DescripcionTipo; rowT["Activo"] = on.Activo; if (on.KeyTipoPadre == "RAIZ") { rowT["IdCuentaObservacionTipoPadre"] = System.DBNull.Value; } _data.tsa_CuentasObservacionesTipos.ImportRow(rowT); } } }