private List<co_re_responsables> ObtenerResponsables()
    {
      List<co_re_responsables> lista = new List<co_re_responsables>();
      try
      {

        int id_remate = NumInt.Init(hidden_id_remate.Text);

        RowSelectionModel model = grdResponsable.SelectionModel.Primary as RowSelectionModel;
        if (model != null && model.SelectedRows.Any())
        {
          foreach (SelectedRow row in model.SelectedRows)
          {
            int id_usuario = Convert.ToInt32(row.RecordID);

            lista.Add(new co_re_responsables
            {
              re_id_origen = id_remate,
              re_id_tabla = { id = Constantes.TABLA_REMATES },
              re_es_propietario = TiposBases.EstadoRegistro.DES,
              re_id_usuario = { id = id_usuario }
            });

          }
        }

        if (id_remate != 0 &&
            new bf_re_responsables().EsPropietario(Convert.ToInt32(FWPConfiguration.get_ID_User(Session.SessionID)),
              id_remate))
        {
          //agrego al dueño del remate
          lista.Add(new co_re_responsables
          {
            re_id_origen = id_remate,
            re_id_tabla = { id = Constantes.TABLA_REMATES },
            re_es_propietario = TiposBases.EstadoRegistro.ACT,
            re_id_usuario = { id = FWPConfiguration.get_ID_User(Session.SessionID) }
          });
        }
        else if (id_remate != 0)
        {
          //obtengo al dueño del remate y lo agrego a la lista
          co_re_responsables responsable = new bf_re_responsables().GetData(new co_re_responsables
          {
            re_id_origen = id_remate,
            re_id_tabla = { id = Constantes.TABLA_REMATES },
            re_es_propietario = TiposBases.EstadoRegistro.ACT,

          }).FirstOrDefault();
          if (responsable != null)
          {
            responsable.id = 0;
            responsable.BinaryChecksum = "";
            lista.Add(responsable);
          }
        }
        else
        {
          lista.Add(new co_re_responsables
          {
            re_id_origen = id_remate,
            re_id_tabla = { id = Constantes.TABLA_REMATES },
            re_es_propietario = TiposBases.EstadoRegistro.ACT,
            re_id_usuario = { id = FWPConfiguration.get_ID_User(Session.SessionID) }
          });
        }

        //Agrego a los que estan a cargo de las redes sociales 
        IList<co_ca_usuarios> usuRedesSociales = bf_ca_usuarios.getUsuariosRedesSociales();
        lista.AddRange(usuRedesSociales.Select(usu => new co_re_responsables
        {
          re_id_origen = id_remate,
          re_id_tabla = { id = Constantes.TABLA_REMATES },
          re_es_propietario = TiposBases.EstadoRegistro.DES,
          re_id_usuario = { id = usu.id_usuario }
        }));

        return lista;
      }
      catch (Exception ex)
      {
        throw new Exception(ex.Message);
      }
    }
        private bool EsPropietario(int id_remate)
        {
            var r = new co_re_responsables();
            r.re_id_origen = id_remate;
            r.re_id_tabla.id = Convert.ToInt32(FWPConfiguration.get_AppSettings("TABLAS_RE_REMATES"));
            r.re_id_usuario.id = FWPConfiguration.get_ID_User(Session.SessionID);

            var responsable = new bf_re_responsables().GetData(r);

            if (responsable == null || !responsable.Any())
            {
                return false;
            }
            return true;
        }
    private void CargaResponsables(int id_remate)
    {
      try
      {
        RowSelectionModel sm = this.grdResponsable.SelectionModel.Primary as RowSelectionModel;
        IList<co_re_responsables> responsablesList = new bf_re_responsables().GetData(new co_re_responsables { re_id_origen = id_remate, re_id_tabla = { id = Constantes.TABLA_REMATES } });

        if (responsablesList != null && responsablesList.Any())
        {
          foreach (co_re_responsables responsable in responsablesList)
          {
            sm.SelectedRows.Add(new SelectedRow(responsable.re_id_usuario.id.ToString()));
          }
        }

        if (new bf_re_responsables().EsPropietario(Convert.ToInt32(FWPConfiguration.get_ID_User(Session.SessionID)),
          id_remate))
        {
          grdResponsable.Selectable = true;
          grdResponsable.Disabled = false;
        }
        else
        {
          grdResponsable.Title = "Responsable (Solo puede ser modificado por el propietario del Remate)";
          grdResponsable.Selectable = false;
          grdResponsable.Disabled = true;
        }

      }
      catch (Exception)
      {
        Mensajes.Error(ErrorText.ERROR_CARGAR_RESPONSABLES);
      }
    }