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);
        }
        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);

        }
        private void ActualizaPLGOnline(int idOrigen, int idDocumentoTipo, string conexion)
        {
            if (new ConexionPlgOnline(conexion).EliminaTodasImagenes(idOrigen, idDocumentoTipo))
            {
                var listaImagenes = new bf_tg_imagenes().GetData(new co_tg_imagenes { id_origen = idOrigen, id_documentotipo = { id = idDocumentoTipo } });
                if (listaImagenes.Any())
                {
                    var query = listaImagenes.OrderBy(item => item.im_orden);

                    foreach (var coTgImagenese in query)
                    {
                        new ConexionPlgOnline(conexion).SaveImagePlgOnline(coTgImagenese);
                    }
                }
            }
        }