Ejemplo n.º 1
0
        /// <summary>
        /// Envia los cambios del tfi_ResponsablesCajasDataset.tfi_ResponsablesCajasDataTable a la base de datos.
        /// </summary>
        public static void Update(tfi_ResponsablesCajasDataset.tfi_ResponsablesCajasDataTable 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))
            {
                string    PerfilesSuperiores         = mz.erp.businessrules.Variables.GetValueString("Seguridad.Perfiles.PerfilesSuperiores");
                string    IdCajaTemporalDefault      = mz.erp.businessrules.Variables.GetValueString("Cajas.CajaTemporalDefault");
                ArrayList PerfilesSuperioresList     = mz.erp.systemframework.Util.Parse(PerfilesSuperiores);
                DataTable tableUsuariosSegunPerfiles = null;
                if (!PerfilesSuperioresList.Contains(mz.erp.businessrules.Security.IdPerfil.ToString()))
                {
                    ArrayList CajasAAgregar = ObtenerCajasAAgregar(dataTable);
                    tableUsuariosSegunPerfiles = mz.erp.businessrules.sy_Usuarios.GetUsuariosActivosSegunPerfiles(PerfilesSuperiores);
                    foreach (DataRow rowU in tableUsuariosSegunPerfiles.Rows)
                    {
                        //Recupero las Cajas de la Base de datos para el usuario en cuestion
                        ArrayList cajasUsuarioDB = mz.erp.businessrules.tfi_ResponsablesCajas.GetCajas(Convert.ToString(rowU["IdUsuario"]));
                        foreach (string IdCaja in CajasAAgregar)
                        {
                            //Sino contiene la caja en la base de datos
                            if (!cajasUsuarioDB.Contains(IdCaja))
                            {
                                //Chequeo que ya no haya agregado la tupla en el dataset
                                if (dataTable.FindByIdCajaIdResponsable(IdCaja, Convert.ToString(rowU["IdUsuario"])) == null)
                                {
                                    tfi_ResponsablesCajasDataset.tfi_ResponsablesCajasRow rowRC = dataTable.Newtfi_ResponsablesCajasRow();
                                    mz.erp.businessrules.tfi_ResponsablesCajas.SetRowDefaultValues(rowRC);
                                    rowRC.IdResponsable = Convert.ToString(rowU["IdUsuario"]);
                                    rowRC.IdCaja        = IdCaja;
                                    dataTable.Addtfi_ResponsablesCajasRow(rowRC);
                                }
                            }
                        }
                    }
                }
                mz.erp.dataaccess.tfi_ResponsablesCajas.Update(dataTable);
                //Elimina las filas del dataset asociadas a usuarios superiores siempre y cuando el que agrega no es un usuario superior
                ArrayList aux = new ArrayList();
                if (!PerfilesSuperioresList.Contains(mz.erp.businessrules.Security.IdPerfil.ToString()))
                {
                    foreach (DataRow row in dataTable.Rows)
                    {
                        foreach (DataRow rowU in tableUsuariosSegunPerfiles.Rows)
                        {
                            if (Convert.ToString(rowU["IdUsuario"]).Equals(Convert.ToString(row["IdResponsable"])))
                            {
                                aux.Add(row);
                            }
                        }
                    }
                    foreach (DataRow rowAux in aux)
                    {
                        dataTable.Rows.Remove(rowAux);
                    }
                }
            }
        }
Ejemplo n.º 2
0
        public static ArrayList ObtenerCajasAAgregar(tfi_ResponsablesCajasDataset.tfi_ResponsablesCajasDataTable dataTable)
        {
            ArrayList res = new ArrayList();

            foreach (DataRow row in dataTable.Rows)
            {
                if (row.RowState.Equals(DataRowState.Added))
                {
                    res.Add(Convert.ToString(row["IdCaja"]));
                }
            }


            return(res);
        }
Ejemplo n.º 3
0
 public static bool TableIsValid(tfi_ResponsablesCajasDataset.tfi_ResponsablesCajasDataTable dataTable)
 {
     /*
      * foreach(DataRow row in dataTable.Rows)
      * {
      *      if(row.RowState.Equals(DataRowState.Deleted))
      *      {
      *              string IdCaja = Convert.ToString(row["IdCaja", DataRowVersion.Original]);
      *              DataSet data = mz.erp.businessrules.tfi_InstanciasCaja.GetListByIdCaja(IdCaja);
      *              if(data.Tables[0].Rows.Count > 0)
      *              {
      *                      row.SetColumnError( "IdCaja", "La Caja " + IdCaja + " no se puede eliminar porque ha sido usada");
      *                      return false;
      *              }
      *
      *
      *      }
      * }
      * foreach(DataRow row in dataTable.Rows)
      * {
      *      if(row.RowState.Equals(DataRowState.Modified))
      *      {
      *              string IdCaja = Convert.ToString(row["IdCaja", DataRowVersion.Original]);
      *              string IdCajaActual = Convert.ToString(row["IdCaja", DataRowVersion.Current]);
      *              if(!IdCaja.Equals(IdCajaActual))
      *              {
      *                      row.SetColumnError( "IdCaja", "No se puede modificar el IdCaja. Elimine y Vuelva a crear la Caja");
      *                      return false;
      *              }
      *
      *
      *      }
      * }
      */
     return(true);
 }
Ejemplo n.º 4
0
        public static void Update(tfi_ResponsablesCajasDataset.tfi_ResponsablesCajasDataTable dataTable, SqlTransaction trx)
        {
            SqlDataAdapter adapter = new SqlDataAdapter();

            adapter.TableMappings.AddRange(
                new System.Data.Common.DataTableMapping[] {
                new System.Data.Common.DataTableMapping("Table", "tfi_ResponsablesCajas",
                                                        new System.Data.Common.DataColumnMapping[] {
                    new System.Data.Common.DataColumnMapping("IdCaja", "IdCaja"),
                    new System.Data.Common.DataColumnMapping("IdResponsable", "IdResponsable"),
                    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("IdSucursal", "IdSucursal")
                }
                                                        )
            }
                );

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

            sqlCommandUpdate.Transaction = trx;
            sqlCommandUpdate.CommandType = CommandType.StoredProcedure;
            sqlCommandUpdate.Parameters.Add(new SqlParameter("@IdCaja", SqlDbType.VarChar, 20, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "IdCaja", DataRowVersion.Current, null));
            sqlCommandUpdate.Parameters.Add(new SqlParameter("@IdResponsable", SqlDbType.VarChar, 20, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "IdResponsable", 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("@IdSucursal", SqlDbType.BigInt, 0, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "IdSucursal", DataRowVersion.Current, null));
            sqlCommandUpdate.Parameters.Add(new SqlParameter("@OldIdCaja", SqlDbType.VarChar, 20, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "IdCaja", DataRowVersion.Original, null));
            sqlCommandUpdate.Parameters.Add(new SqlParameter("@OldIdResponsable", SqlDbType.VarChar, 20, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "IdResponsable", DataRowVersion.Original, null));

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

            sqlCommandDelete.Transaction = trx;
            sqlCommandDelete.CommandType = CommandType.StoredProcedure;
            sqlCommandDelete.Parameters.Add(new SqlParameter("@IdCaja", SqlDbType.VarChar, 20, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "IdCaja", DataRowVersion.Original, null));
            sqlCommandDelete.Parameters.Add(new SqlParameter("@IdResponsable", SqlDbType.VarChar, 20, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "IdResponsable", 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_tfi_ResponsablesCajas_Insert", trx.Connection);

            sqlCommandInsert.Transaction = trx;
            sqlCommandInsert.CommandType = CommandType.StoredProcedure;
            sqlCommandInsert.Parameters.Add(new SqlParameter("@IdCaja", SqlDbType.VarChar, 20, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "IdCaja", DataRowVersion.Current, null));
            sqlCommandInsert.Parameters.Add(new SqlParameter("@IdResponsable", SqlDbType.VarChar, 20, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "IdResponsable", 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("@IdSucursal", SqlDbType.BigInt, 0, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "IdSucursal", DataRowVersion.Current, null));

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