private void CargarComboRemates()
    {
      int id_remate = hid_id_remate.Text.ValidaEntero("id_remate");
      co_re_remates remate = new bf_re_remates().GetData(id_remate);
      IList<co_re_remates> listRemates = new bf_re_remates().GetData(new co_re_remates ());
      ObtenerRematesAdicionales(ref listRemates,remate);


      listRemates.OrderBy(x => x.rem_nombre);
      if (listRemates.Any())
      {
        strCmbRemates.DataSource = listRemates;
        strCmbRemates.DataBind();
      }
    }
        public string ActualizarOrden(string ids)
        {
            int id_origen = 0;
            int id_documentoTipo = 0;
            int id_tabla = 0;
            string id_carpeta = null;
            JObject response = new JObject();
            if (ids != null)
            {
                List<co_tg_imagenes> lista_imagenes = new List<co_tg_imagenes>();
                JArray data = (JArray)JSON.Deserialize(ids);
                foreach (var item in data)
                {
                    id_origen = item["id_origen"].Value<int>();
                    id_documentoTipo = item["id_documentotipo"].Value<int>();
                    id_tabla = item["id_tabla"].Value<int>();
                    id_carpeta = item["id_carpeta"].Value<string>();
                    co_tg_imagenes img = new co_tg_imagenes
                    {
                        id_imagen = item["id_imagen"].Value<int>(),
                        id_origen = item["id_origen"].Value<int>(),
                        im_urlImagen = item["im_urlimagen"].Value<string>(),
                        id_documentotipo = {id = item["id_documentotipo"].Value<int>()}
                    };
                    lista_imagenes.Add(img);
                }
                bool orden = new bf_tg_imagenes().CambiaOrdenImagenesNew(lista_imagenes);

                if (orden && id_documentoTipo == Constantes.IMAGEN_IMGLOTE)
                {
                    if (id_tabla == Constantes.TABLA_LOTES || id_tabla == Constantes.TABLA_REMATES)
                    {
                        IList<co_re_remates> remate = new bf_re_remates().GetData(new co_re_remates { id_remate = Convert.ToInt32(id_carpeta) });
                        if (remate != null && remate.Any())
                        {
                            if (remate.First().id_tiporemate.id != Constantes.PRESENCIAL)
                            {
                                var conexion = remate.First().id_familia == Constantes.FAMILIA_PROPIEDADES ? "BD_ONLINE_PROPIEDADES" : "BD_ONLINE";
                                ActualizaPLGOnline(id_origen, id_documentoTipo, conexion);
                            }
                        }
                    }
                }

                response.Add(new JProperty("data", orden));

            }
            else
            {
                response.Add(new JProperty("data", false));
            }

            return JSON.Serialize(response);

        }
        public string EliminarImagenes(int? id_imagen, string url_imagen, string id_carpeta, int id_tabla)
        {
            JObject response = new JObject();
            if (id_imagen != null && url_imagen != null && id_carpeta != null)
            {
                var im = new bf_tg_imagenes().GetData(new co_tg_imagenes { id_imagen = id_imagen.Value });
                if (im.Any())
                {
                    if (im.First().id_documentotipo.id == Constantes.IMAGEN_IMGLOTE)
                    {
                        if (id_tabla == Constantes.TABLA_REMATES ||
                            id_tabla == Constantes.TABLA_LOTES)
                        {
                            IList<co_re_remates> remate =
                              new bf_re_remates().GetData(new co_re_remates { id_remate = Convert.ToInt32(id_carpeta) });
                            if (remate != null && remate.Any())
                            {
                                if (remate.First().id_tiporemate.id != Constantes.PRESENCIAL)
                                {
                                    var conexion = remate.First().id_familia == Constantes.FAMILIA_PROPIEDADES ? "BD_ONLINE_PROPIEDADES" : "BD_ONLINE";
                                    new ConexionPlgOnline(conexion).EliminaImagen(im.FirstOrDefault(), id_carpeta, url_imagen);
                                }
                            }
                        }
                    }
                }
                string nombreTabla = new bf_tg_tablas().GetData(id_tabla).ta_descripcion.ToLower();
                response.Add(new JProperty("data", new bf_tg_imagenes().EliminaImagen(id_imagen.Value, id_carpeta, url_imagen, nombreTabla)));
            }
            else
            {
                response.Add(new JProperty("data", false));
            }

            return JSON.Serialize(response);
        }
    private void InformarPersona()
    {
      try
      {
        int id_remate = Convert.ToInt32(hidId_Remate.Text);

        const string Formato = @"<div style='width:600px;'>
            <p>Estimado <b>{0}</b></p>
            <p>Le comunicamos  que su garantía para el remate <b>{1}</b>, a realizarse el día <b>{2}</b> han sido aceptada.
            <br />Tenga presente que su nombre de usuario y clave soló están habilitados el mismo día del remate.</p>

            <p>Presione <a href='{3}'> aquí</a> para dirigirse al remate</p>
            <br />
            <p>Atte.<br />{5}</p>
            <p><img src='{4}'/></p>
            </div>";
        List<MailAddress> destinatarios = new List<MailAddress>();
        destinatarios.Add(new MailAddress(txtEmail.Text, txtNombre.Text+" "+txtApePaterno.Text));

        //obtengo el remate para rescatar el nombre
        IList<co_re_remates> remate =
          new bf_re_remates().GetData(new co_re_remates { id_remate = id_remate });


        if (remate != null && remate.Any())
        {
          //string fecha =  Convert.ToString().Remove(10, remate.First().rem_fecha.Fecha.tos.Length-10)
          string cuerpo = string.Format(Formato,
            txtNombre.Text + ' ' + txtApePaterno.Text,
            remate.First().rem_nombre,
            remate.First().rem_fecha.Fecha.ToShortDateString(),
            Constantes.URL_REMATE_ONLINE_ACREDITACION_PROPIEDADES + "&id_remate=" + hidId_Remate.Text,
            Constantes.LOGO_TATTERSALL,
            Constantes.FIRMA_INSCRIPCION_REMATE);

          Mailer.Enviar("Remates", cuerpo, destinatarios);
        }
      }
      catch (Exception ex)
      {
        X.MessageBox.Alert("Error", ex.Message).Show();
      }
    }