Ejemplo n.º 1
0
        /// <summary>
        /// Envia los cambios del tsy_TipoProductoDataset.tsy_TipoProductoDataTable a la base de datos.
        /// </summary>
        public static void Update(tsy_TipoProductoDataset.tsy_TipoProductoDataTable dataTable)
        {
            ApplicationAssert.Check(dataTable != null, "El argumento dataTable no debe ser nulo.", ApplicationAssert.LineNumber);
            ApplicationAssert.Check(dataTable.Rows.Count > 0, "El argumento dataTable debe poseer alguna fila.", ApplicationAssert.LineNumber);

            if (TableIsValid(dataTable))
            {
                mz.erp.dataaccess.tsy_TipoProducto.Update(dataTable);
            }
        }
Ejemplo n.º 2
0
        public static bool TableIsValid(tsy_TipoProductoDataset.tsy_TipoProductoDataTable dataTable)
        {
            foreach (DataRow row in dataTable.Rows)
            {
                if (row.RowState.Equals(DataRowState.Added))
                {
                    string tipo = Convert.ToString(row["Descripcion"]);
                    if (tipo.Trim().Equals(string.Empty))
                    {
                        row.SetColumnError("Descripcion", "La Descripción del Tipo de producto no puede ser vacía");
                        return(false);
                    }
                }
                else if (row.RowState.Equals(DataRowState.Deleted))
                {
                    bool    ok             = true;
                    string  IdTipoProducto = Convert.ToString(row["IdTipoProducto", DataRowVersion.Original]);
                    DataSet data           = mz.erp.businessrules.tsh_Productos.GetListByIdTipoProducto(IdTipoProducto);
                    if (data.Tables[0].Rows.Count > 0)
                    {
                        row.SetColumnError("IdTipoProducto", "El tipo de producto " + IdTipoProducto + " no se puede eliminar porque esta siendo utilizado por un producto");
                        ok = false;
                    }

                    DataTable tableVars = sy_VariablesEx.GetListByCola("TipoDeProducto");
                    if (tableVars.Rows.Count > 0)
                    {
                        foreach (DataRow rowV in tableVars.Rows)
                        {
                            string valor = Convert.ToString(rowV["ValorDefault"]);
                            if (valor.Equals(IdTipoProducto))
                            {
                                string IdVariable = Convert.ToString(rowV["IdVariable"]);
                                string error      = row.GetColumnError("IdTipoProducto");
                                if (!error.Equals(string.Empty))
                                {
                                    row.SetColumnError("IdTipoProducto", error + " y por la variable " + IdVariable);
                                }
                                else
                                {
                                    row.SetColumnError("IdTipoProducto", "El tipo de producto " + IdTipoProducto + " no se puede eliminar porque esta siendo utilizado por la variable " + IdVariable);
                                }
                                ok = false;
                            }
                        }
                    }

                    return(ok);
                }
                else if (row.RowState.Equals(DataRowState.Modified))
                {
                    bool   ok                   = true;
                    string IdTipoProducto       = Convert.ToString(row["IdTipoProducto", DataRowVersion.Original]);
                    string IdTipoProductoActual = Convert.ToString(row["IdTipoProducto", DataRowVersion.Current]);
                    if (!IdTipoProducto.Equals(IdTipoProductoActual))
                    {
                        row.SetColumnError("IdTipoProducto", "No se puede modificar el IdTipoProducto. Elimine y Vuelva a crear el tipo de producto");
                        ok = false;
                    }
                    bool Activo = Convert.ToBoolean(row["Activo", DataRowVersion.Current]);
                    if (!Activo)                    //Si desactivo un tipo me fijo q no lo este usando un producto
                    {
                        DataSet data = mz.erp.businessrules.tsh_Productos.GetListByIdTipoProducto(IdTipoProducto);
                        if (data.Tables[0].Rows.Count > 0)
                        {
                            row.SetColumnError("Activo", "El tipo de producto " + IdTipoProducto + " no se puede desactivar porque esta siendo utilizado por un producto");
                            ok = false;
                        }

                        DataTable tableVars = sy_VariablesEx.GetListByCola("TipoDeProducto");
                        if (tableVars.Rows.Count > 0)
                        {
                            foreach (DataRow rowV in tableVars.Rows)
                            {
                                string valor = Convert.ToString(rowV["ValorDefault"]);
                                if (valor.Equals(IdTipoProducto))
                                {
                                    string IdVariable = Convert.ToString(rowV["IdVariable"]);
                                    string error      = row.GetColumnError("Activo");
                                    if (!error.Equals(string.Empty))
                                    {
                                        row.SetColumnError("Activo", error + " y por la variable " + IdVariable);
                                    }
                                    else
                                    {
                                        row.SetColumnError("Activo", "El tipo de producto " + IdTipoProducto + " no se puede desactivar porque esta siendo utilizado por la variable " + IdVariable);
                                    }
                                    ok = false;
                                }
                            }
                        }
                    }

                    string tipo = Convert.ToString(row["Descripcion"]);
                    if (tipo.Trim().Equals(string.Empty))
                    {
                        row.SetColumnError("Descripcion", "La Descripción del Tipo de producto no puede ser vacía");
                        ok = false;
                    }

                    return(ok);
                }
            }

            return(true);
        }
Ejemplo n.º 3
0
        public static void Update(tsy_TipoProductoDataset.tsy_TipoProductoDataTable dataTable, SqlTransaction trx)
        {
            SqlDataAdapter adapter = new SqlDataAdapter();

            adapter.TableMappings.AddRange(
                new System.Data.Common.DataTableMapping[] {
                new System.Data.Common.DataTableMapping("Table", "tsy_TipoProducto",
                                                        new System.Data.Common.DataColumnMapping[] {
                    new System.Data.Common.DataColumnMapping("IdTipoProducto", "IdTipoProducto"),
                    new System.Data.Common.DataColumnMapping("Descripcion", "Descripcion"),
                    new System.Data.Common.DataColumnMapping("FechaCreacion", "FechaCreacion"),
                    new System.Data.Common.DataColumnMapping("IdConexionCreacion", "IdConexionCreacion"),
                    new System.Data.Common.DataColumnMapping("UltimaModificacion", "UltimaModificacion"),
                    new System.Data.Common.DataColumnMapping("IdConexionUltimaModificacion", "IdConexionUltimaModificacion"),
                    new System.Data.Common.DataColumnMapping("IdReservado", "IdReservado"),
                    new System.Data.Common.DataColumnMapping("RowId", "RowId"),
                    new System.Data.Common.DataColumnMapping("IdEmpresa", "IdEmpresa"),
                    new System.Data.Common.DataColumnMapping("AfectaStock", "AfectaStock"),
                    new System.Data.Common.DataColumnMapping("Activo", "Activo")
                }
                                                        )
            }
                );

            SqlCommand sqlCommandUpdate = new SqlCommand("Pr_tsy_TipoProducto_Update", trx.Connection);

            sqlCommandUpdate.Transaction = trx;
            sqlCommandUpdate.CommandType = CommandType.StoredProcedure;
            sqlCommandUpdate.Parameters.Add(new SqlParameter("@IdTipoProducto", SqlDbType.VarChar, 1, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "IdTipoProducto", DataRowVersion.Current, null));
            sqlCommandUpdate.Parameters.Add(new SqlParameter("@Descripcion", SqlDbType.VarChar, 50, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "Descripcion", DataRowVersion.Current, null));
            sqlCommandUpdate.Parameters.Add(new SqlParameter("@UltimaModificacion", SqlDbType.Timestamp, 8, ParameterDirection.InputOutput, false, ((System.Byte)(0)), ((System.Byte)(0)), "UltimaModificacion", DataRowVersion.Current, null));
            sqlCommandUpdate.Parameters.Add(new SqlParameter("@IdConexionUltimaModificacion", SqlDbType.BigInt, 0, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "IdConexionUltimaModificacion", DataRowVersion.Current, null));
            sqlCommandUpdate.Parameters.Add(new SqlParameter("@IdReservado", SqlDbType.BigInt, 0, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "IdReservado", DataRowVersion.Current, null));
            sqlCommandUpdate.Parameters.Add(new SqlParameter("@IdEmpresa", SqlDbType.BigInt, 0, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "IdEmpresa", DataRowVersion.Current, null));
            sqlCommandUpdate.Parameters.Add(new SqlParameter("@OldIdTipoProducto", SqlDbType.VarChar, 1, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "IdTipoProducto", DataRowVersion.Original, null));
            sqlCommandUpdate.Parameters.Add(new SqlParameter("@AfectaStock", SqlDbType.Bit, 0, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "AfectaStock", DataRowVersion.Current, null));
            sqlCommandUpdate.Parameters.Add(new SqlParameter("@Activo", SqlDbType.Bit, 0, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "Activo", DataRowVersion.Current, null));

            SqlCommand sqlCommandDelete = new SqlCommand("Pr_tsy_TipoProducto_Delete", trx.Connection);

            sqlCommandDelete.Transaction = trx;
            sqlCommandDelete.CommandType = CommandType.StoredProcedure;
            sqlCommandDelete.Parameters.Add(new SqlParameter("@IdTipoProducto", SqlDbType.VarChar, 1, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "IdTipoProducto", DataRowVersion.Original, null));
            sqlCommandDelete.Parameters.Add(new SqlParameter("@UltimaModificacion", SqlDbType.Timestamp, 8, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "UltimaModificacion", DataRowVersion.Original, null));

            SqlCommand sqlCommandInsert = new SqlCommand("Pr_tsy_TipoProducto_Insert", trx.Connection);

            sqlCommandInsert.Transaction = trx;
            sqlCommandInsert.CommandType = CommandType.StoredProcedure;
            sqlCommandInsert.Parameters.Add(new SqlParameter("@IdTipoProducto", SqlDbType.VarChar, 1, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "IdTipoProducto", DataRowVersion.Current, null));
            sqlCommandInsert.Parameters.Add(new SqlParameter("@Descripcion", SqlDbType.VarChar, 50, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "Descripcion", DataRowVersion.Current, null));
            sqlCommandInsert.Parameters.Add(new SqlParameter("@FechaCreacion", SqlDbType.DateTime, 0, ParameterDirection.InputOutput, false, ((System.Byte)(0)), ((System.Byte)(0)), "FechaCreacion", DataRowVersion.Current, null));
            sqlCommandInsert.Parameters.Add(new SqlParameter("@IdConexionCreacion", SqlDbType.BigInt, 0, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "IdConexionCreacion", DataRowVersion.Current, null));
            sqlCommandInsert.Parameters.Add(new SqlParameter("@IdReservado", SqlDbType.BigInt, 0, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "IdReservado", DataRowVersion.Current, null));
            sqlCommandInsert.Parameters.Add(new SqlParameter("@IdEmpresa", SqlDbType.BigInt, 0, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "IdEmpresa", DataRowVersion.Current, null));
            sqlCommandInsert.Parameters.Add(new SqlParameter("@AfectaStock", SqlDbType.Bit, 0, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "AfectaStock", DataRowVersion.Current, null));
            sqlCommandInsert.Parameters.Add(new SqlParameter("@Activo", SqlDbType.Bit, 0, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "Activo", DataRowVersion.Current, null));

            adapter.UpdateCommand = sqlCommandUpdate;
            adapter.DeleteCommand = sqlCommandDelete;
            adapter.InsertCommand = sqlCommandInsert;
            adapter.Update(dataTable);
        }