示例#1
0
        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);
            }
        }
示例#2
0
        /// <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());
            }
        }
示例#3
0
        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);
            }
        }
示例#4
0
        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);
        }
示例#5
0
        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());
            }
        }
示例#6
0
        //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"));
                            }
                        }
                    }
                }
            }
        }
示例#7
0
        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;
                }
                }
            }
        }