Esempio n. 1
0
    private void CreateWorkplaceCommandHandler() {
      Presentation.Workplace sendingWorkplace = GetWorkplace();
      WebViewModel viewModel = (WebViewModel) sendingWorkplace.CurrentViewModel;

      Presentation.Workplace workplace = WebContext.WorkplaceManager.CreateWorkplace();
      workplace.ActivateView(viewModel);
    }
Esempio n. 2
0
        public async Task <List <PersonaViewModel> > BusquedaPaginada(WebViewModel pagina, string busqueda)
        {
            var lista = new List <PersonaViewModel>();

            for (int i = 0; i < 1000; i = i + 25)
            {
                HtmlWeb web     = new HtmlWeb();
                var     htmlDoc = await web.LoadFromWebAsync(pagina.UrlBusquedaPaginada.Replace("{0}", busqueda).Replace("lim=0", "lim=" + i.ToString()).Replace("{aniofin}", DateTime.Now.Year.ToString()));

                var nodos = htmlDoc.DocumentNode.SelectNodes(pagina.Selector);

                if (nodos != null)
                {
                    foreach (var nodo in nodos)
                    {
                        if (nodo.InnerText.ToUpper().Contains("NOMBRE") || nodo.InnerText.ToUpper().Contains("PERSONA"))
                        {
                            continue;
                        }

                        var nuevo = new PersonaViewModel();
                        nuevo.Nombre      = nodo.InnerText;
                        nuevo.Conservador = pagina.Comuna;
                        nuevo.Url         = pagina.UrlBusquedaPaginada.Replace("{0}", busqueda).Replace("lim=0", "lim=" + i.ToString()).Replace("{aniofin}", DateTime.Now.Year.ToString());
                        lista.Add(nuevo);
                    }
                }
                else
                {
                    break;
                }
            }

            return(lista);
        }
Esempio n. 3
0
 private void Initialize() {
   if (!String.IsNullOrEmpty(Request.QueryString["dashboardId"])) {
     dashboardWebViewModel = WebViewModel.Parse(Convert.ToInt32(Request.QueryString["dashboardId"]));
   } else {
     dashboardWebViewModel = WebViewModel.Parse(101);
   }
   PrepareAjaxPage();
 }
Esempio n. 4
0
        public async Task <List <PersonaViewModel> > BusquedaAjaxTablaDinamica(WebViewModel pagina, string busqueda)
        {
            var lista = new List <PersonaViewModel>();

            using (var client = new HttpClient())
            {
                var parametros = new Dictionary <string, string>();
                foreach (var item in pagina.Params.ToList())
                {
                    parametros.Add(item.Key, item.Value.Replace("{0}", busqueda));
                }

                var content = new FormUrlEncodedContent(parametros);

                var response = await client.PostAsync(pagina.UrlBusqueda, content);

                //var response = client.GetAsync(pagina.UrlBusqueda).Result;
                if (response.IsSuccessStatusCode)
                {
                    var htmlBody = await response.Content.ReadAsStringAsync();

                    var htmlDoc = new HtmlDocument();
                    htmlDoc.LoadHtml(htmlBody);

                    var nodos = htmlDoc.DocumentNode.SelectNodes(pagina.Selector);

                    List <string> nodosFiltrados = new List <string>();

                    if (nodos != null)
                    {
                        foreach (var nodo in nodos)
                        {
                            if (nodo.InnerText.Contains("Nombre 1"))
                            {
                                nodosFiltrados.Add(nodo.InnerText.Replace("Nombre 1", "").Trim());
                            }
                        }
                    }
                    if (nodos != null)
                    {
                        foreach (var item in nodosFiltrados)
                        {
                            if (string.IsNullOrEmpty(item))
                            {
                                continue;
                            }
                            var nuevo = new PersonaViewModel();
                            nuevo.Nombre      = item;
                            nuevo.Conservador = pagina.Comuna;
                            nuevo.Url         = pagina.UrlBusqueda.Replace("{0}", busqueda);
                            lista.Add(nuevo);
                        }
                    }
                }
            }
            return(lista);
        }
Esempio n. 5
0
    private void LoadViewCommandHandler() {
      string viewName = GetCommandParameter("viewName", true);
      string userInterfaceItemId = GetCommandParameter("userInterfaceItemId", false);
      WebViewModel viewModel = (WebViewModel) ViewModel.Parse(viewName);

      string viewParameters = viewModel.GetQueryString(Request.QueryString);
      viewParameters += (viewParameters.Length != 0 ? "&" : String.Empty) + "dashboardId=" + userInterfaceItemId;
      Presentation.Workplace workplace = GetWorkplace();
      workplace.ActivateView(viewModel, viewParameters);
    }
Esempio n. 6
0
    private void CreateViewCommandHandler() {
      string viewName = GetCommandParameter("viewName", true);

      WebViewModel viewModel = (WebViewModel) ViewModel.Parse(viewName);

      string viewParameters = viewModel.GetQueryString(Request.QueryString);

      Presentation.Workplace workplace = WebContext.WorkplaceManager.CreateWorkplace();
      workplace.ActivateView(viewModel, viewParameters);
    }
Esempio n. 7
0
        public IActionResult Index(string Title, int PageIndex = 1, int PageSize = 20)
        {
            base.Parameters["Title"] = Title;
            PagedList <EXArticleViewModel>    data  = exArticleService.GetListByPage(Title, PageIndex, PageSize);
            WebViewModel <EXArticleViewModel> model = new WebViewModel <EXArticleViewModel> {
                PagedList = data, Parameters = Parameters
            };

            return(View(model));
        }
        public IActionResult CategoryManage(string Title = "", int PageIndex = 1, int PageSize = 20)
        {
            base.Parameters["Title"] = Title;
            PagedList <MaterialsCategoryViewModel>    data  = materialsService.GetCategoryListByPage(Title, PageIndex, PageSize);
            WebViewModel <MaterialsCategoryViewModel> model = new WebViewModel <MaterialsCategoryViewModel> {
                PagedList = data, Parameters = Parameters
            };

            return(View(model));
        }
Esempio n. 9
0
    private void BackHistoryCommandHandler() {
      Presentation.Workplace workplace = GetWorkplace();

      string[] history = workplace.NavigationHistory.Back().Split('?');

      WebViewModel viewModel = (WebViewModel) ViewModel.Parse(history[0]);
      if (history.Length == 1) {
        workplace.ActivateView(viewModel);
      } else {
        workplace.ActivateView(viewModel, history[1]);
      }
    }
Esempio n. 10
0
        public WebView(WebViewModel viewModel, JavaScriptBridge javaScriptBridge)
        {
            DataContext = viewModel;
            InitializeComponent();

            // After the bridge receives a message that triggers loading of a new url, we need to set the focus out of the
            // cefsharp browser. Otherwise a nasty bug occurs making the cefsharp embedded browser unable to set
            // the :focus meta tag.
            javaScriptBridge.OnNavigationEventReceived += sender =>
            {
                Application.Current.Dispatcher.Invoke(() => { Ghost.Focus(); });
            };
        }
Esempio n. 11
0
        public async Task <List <PersonaViewModel> > BusquedaPaginada2(WebViewModel pagina, string busqueda)
        {
            var lista = new List <PersonaViewModel>();

            for (int i = 1; i <= 40; i++)
            {
                HtmlWeb web     = new HtmlWeb();
                var     htmlDoc = new HtmlDocument();

                var apellido = "";
                var nombre   = "";
                if (busqueda.Contains("/"))
                {
                    apellido = busqueda.Split('/')[0];
                    nombre   = busqueda.Split('/')[1];
                    htmlDoc  = await web.LoadFromWebAsync(pagina.UrlBusquedaPaginada2.Replace("{0}", apellido).Replace("{1}", nombre).Replace("pag=0", "pag=" + i.ToString()));
                }
                else
                {
                    htmlDoc = await web.LoadFromWebAsync(pagina.UrlBusquedaPaginada2.Replace("{0}", busqueda).Replace("pagina=0", "pagina=" + i.ToString()));
                }
                var nodos = htmlDoc.DocumentNode.SelectNodes(pagina.Selector);

                if (nodos != null)
                {
                    foreach (var nodo in nodos)
                    {
                        if (nodo.InnerText.ToUpper().Contains("NOMBRE") || nodo.InnerText.ToUpper().Contains("PERSONA") || string.IsNullOrEmpty(nodo.InnerText) || nodo.InnerText.Contains("\r\n"))
                        {
                            if (nodos.Count == 1)
                            {
                                i = 40;
                            }
                            continue;
                        }
                        var nuevo = new PersonaViewModel();
                        nuevo.Nombre      = nodo.InnerText;
                        nuevo.Conservador = pagina.Comuna;
                        nuevo.Url         = busqueda.Contains("/") ? (pagina.UrlBusquedaPaginada2.Replace("{0}", apellido).Replace("{1}", nombre).Replace("pag=0", "pag=" + i.ToString())) : (pagina.UrlBusquedaPaginada2.Replace("{0}", busqueda).Replace("pagina=0", "pagina=" + i.ToString()));
                        lista.Add(nuevo);
                    }
                }
                else
                {
                    break;
                }
            }

            return(lista);
        }
Esempio n. 12
0
        public async Task <List <PersonaViewModel> > BusquedaUrlColumnasSeparadas(WebViewModel pagina, string busqueda)
        {
            var lista = new List <PersonaViewModel>();

            HtmlWeb web      = new HtmlWeb();
            var     htmlDoc  = new HtmlDocument();
            var     apellido = "";
            var     nombre   = "";

            if (busqueda.Contains("/"))
            {
                apellido = busqueda.Split('/')[0];
                nombre   = busqueda.Split('/')[1];
                htmlDoc  = web.Load(pagina.UrlBusqueda.Replace("{0}", apellido).Replace("{1}", nombre));
            }
            else
            {
                htmlDoc = await web.LoadFromWebAsync(pagina.UrlBusqueda.Replace("{0}", busqueda));
            }
            var nodos  = htmlDoc.DocumentNode.SelectNodes(pagina.Selector);
            var nodos2 = htmlDoc.DocumentNode.SelectNodes(pagina.Selector2);

            if (nodos != null && nodos2 != null)
            {
                for (int i = 0; i < nodos.Count(); i++)
                {
                    if (nodos[i].InnerText.ToUpper().Contains("NOMBRE") || nodos[i].InnerText.ToUpper().Contains("PERSONA") || nodos[i].InnerText.ToUpper().Contains("PATERNO") || nodos[i].InnerText.ToUpper().Contains("APELLIDO"))
                    {
                        continue;
                    }
                    var nuevo = new PersonaViewModel();
                    nuevo.Nombre      = nodos[i].InnerText + " " + nodos2[i].InnerText;
                    nuevo.Conservador = pagina.Comuna;
                    nuevo.Url         = busqueda.Contains("/") ? pagina.UrlBusqueda.Replace("{0}", apellido).Replace("{1}", nombre) : pagina.UrlBusqueda.Replace("{0}", busqueda);
                    lista.Add(nuevo);
                }
            }

            return(lista);
        }
Esempio n. 13
0
        public async Task <List <PersonaViewModel> > BusquedaUrl(WebViewModel pagina, string busqueda)
        {
            var lista = new List <PersonaViewModel>();

            HtmlWeb web      = new HtmlWeb();
            var     htmlDoc  = new HtmlDocument();
            var     apellido = "";
            var     nombre   = "";

            if (busqueda.Contains("/"))
            {
                apellido = busqueda.Split('/')[0];
                nombre   = busqueda.Split('/')[1];
                htmlDoc  = await web.LoadFromWebAsync(pagina.UrlBusqueda.Replace("{0}", apellido).Replace("{1}", nombre).Replace("{aniofin}", DateTime.Now.Year.ToString()));
            }
            else
            {
                htmlDoc = await web.LoadFromWebAsync(pagina.UrlBusqueda.Replace("{0}", busqueda).Replace("{aniofin}", DateTime.Now.Year.ToString()));
            }
            var nodos = htmlDoc.DocumentNode.SelectNodes(pagina.Selector);

            if (nodos != null)
            {
                foreach (var nodo in nodos)
                {
                    if (nodo.InnerText.ToUpper().Contains("NOMBRE") || nodo.InnerText.ToUpper().Contains("PERSONA") || nodo.InnerText.ToUpper().Contains("PATERNO") || string.IsNullOrEmpty(nodo.InnerText))
                    {
                        continue;
                    }
                    var nuevo = new PersonaViewModel();
                    nuevo.Nombre      = nodo.InnerText;
                    nuevo.Conservador = pagina.Comuna;
                    nuevo.Url         = busqueda.Contains("/") ? pagina.UrlBusqueda.Replace("{0}", apellido).Replace("{1}", nombre).Replace("{aniofin}", DateTime.Now.Year.ToString()) : pagina.UrlBusqueda.Replace("{0}", busqueda).Replace("{aniofin}", DateTime.Now.Year.ToString());
                    lista.Add(nuevo);
                }
            }

            return(lista);
        }
Esempio n. 14
0
        public async Task <List <PersonaViewModel> > BusquedaAjaxPorAnio(WebViewModel pagina, string busqueda)
        {
            var lista = new List <PersonaViewModel>();

            using (var client = new HttpClient())
            {
                for (int i = 1980; i <= DateTime.Now.Year; i++)
                {
                    var parametros = new Dictionary <string, string>();
                    foreach (var item in pagina.Params.ToList())
                    {
                        parametros.Add(item.Key, item.Value.Replace("{0}", busqueda).Replace("{anio}", i.ToString()));
                    }
                    var content  = new FormUrlEncodedContent(parametros);
                    var response = await client.PostAsync(pagina.UrlBusqueda, content);

                    if (response.IsSuccessStatusCode)
                    {
                        var htmlBody = await response.Content.ReadAsStringAsync();

                        var jsonn = JObject.Parse(htmlBody);
                        if (jsonn["obj"]["recordsTotal"].ToString() != "0")
                        {
                            foreach (var item in jsonn["obj"]["data"])
                            {
                                //System.Diagnostics.Debug.WriteLine(i);
                                var nuevo = new PersonaViewModel();
                                nuevo.Nombre      = item["titular"].ToString();
                                nuevo.Conservador = pagina.Comuna;
                                nuevo.Url         = pagina.Url;
                                lista.Add(nuevo);
                            }
                        }
                    }
                }
            }
            return(lista);
        }
Esempio n. 15
0
        public async Task <List <PersonaViewModel> > BusquedaAjax(WebViewModel pagina, string busqueda)
        {
            var lista    = new List <PersonaViewModel>();
            var apellido = "";
            var nombre   = "";

            string[] nonceSplit;
            var      nonce     = "";
            var      separados = false;

            if (busqueda.Contains("/"))
            {
                apellido  = busqueda.Split('/')[0];
                nombre    = busqueda.Split('/')[1];
                separados = true;
            }
            using (var client = new HttpClient())
            {
                var parametros = new Dictionary <string, string>();

                if (!string.IsNullOrEmpty(pagina.SelectorNonce))
                {
                    var llamadoGet = await client.GetAsync(pagina.Url);

                    var llamadoGetContent = await llamadoGet.Content.ReadAsStringAsync();

                    var htmlDocGet = new HtmlDocument();
                    htmlDocGet.LoadHtml(llamadoGetContent);

                    var nonce2 = htmlDocGet.DocumentNode.SelectNodes(pagina.SelectorNonce);
                    nonceSplit = nonce2[0].OuterHtml.Split("value=");
                    nonce      = nonceSplit[1].Substring(1, 10);
                }
                foreach (var item in pagina.Params.ToList())
                {
                    if (separados)
                    {
                        parametros.Add(item.Key, item.Value.Replace("{0}", apellido).Replace("{1}", nombre).Replace("{nonce}", nonce).Replace("{aniofin}", DateTime.Now.Year.ToString()));
                    }
                    else
                    {
                        parametros.Add(item.Key, item.Value.Replace("{0}", busqueda).Replace("{5}", "Ñ").Replace("{nonce}", nonce).Replace("{aniofin}", DateTime.Now.Year.ToString()));
                    }
                }

                var content = new FormUrlEncodedContent(parametros);
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("*/*"));
                var response = await client.PostAsync(pagina.UrlBusqueda, content);

                //var response = client.GetAsync(pagina.UrlBusqueda).Result;
                if (response.IsSuccessStatusCode)
                {
                    var htmlBody = await response.Content.ReadAsStringAsync();

                    var htmlDoc = new HtmlDocument();
                    htmlDoc.LoadHtml(htmlBody);

                    if (pagina.Json)
                    {
                        var jsonn = JObject.Parse(htmlBody);
                        if (jsonn[pagina.AtributoJson].ToString() != "No se han encontrado coincidencias" && jsonn[pagina.AtributoJson].ToString() != "0")
                        {
                            if (pagina.Url == "https://cbrlosandes.cl/consulta-propiedad/")
                            {
                                for (int i = 0; i < int.Parse(jsonn[pagina.AtributoJson].ToString()); i++)
                                {
                                    var nuevo = new PersonaViewModel();
                                    //System.Diagnostics.Debug.WriteLine(i);
                                    nuevo.Nombre      = jsonn["data"][i][1].ToString();
                                    nuevo.Conservador = pagina.Comuna;
                                    nuevo.Url         = pagina.Url;
                                    lista.Add(nuevo);
                                }
                            }
                            else
                            {
                                foreach (var item in jsonn["content"]["list"])
                                {
                                    var nuevo = new PersonaViewModel();
                                    nuevo.Nombre      = item["nombre"].ToString().Replace("{", "").Replace("}", "");
                                    nuevo.Conservador = pagina.Comuna;
                                    nuevo.Url         = pagina.Url;
                                    lista.Add(nuevo);
                                }
                            }
                        }
                    }
                    else
                    {
                        var nodos = htmlDoc.DocumentNode.SelectNodes(pagina.Selector);

                        if (nodos != null)
                        {
                            foreach (var nodo in nodos)
                            {
                                if (nodo.InnerText.ToUpper().Contains("COMPRADOR") || string.IsNullOrEmpty(nodo.InnerHtml))
                                {
                                    continue;
                                }
                                var nuevo = new PersonaViewModel();
                                nuevo.Nombre      = nodo.InnerText.Replace("&nbsp;", "");
                                nuevo.Conservador = pagina.Comuna;
                                nuevo.Url         = pagina.Url;
                                lista.Add(nuevo);
                            }
                        }
                    }
                }
            }
            return(lista);
        }
Esempio n. 16
0
 public Web()
 {
     InitializeComponent();
     DataContext = new WebViewModel();
 }
Esempio n. 17
0
        public async Task <List <PersonaViewModel> > BusquedaAjaxToken2(WebViewModel pagina, string busqueda)
        {
            var lista    = new List <PersonaViewModel>();
            var apellido = busqueda.Split('/')[0];
            var nombre   = busqueda.Split('/')[1];

            using (var client = new HttpClient())
            {
                var responseGet = await client.GetAsync(pagina.UrlBusqueda);

                var htmlBodyGet = await responseGet.Content.ReadAsStringAsync();

                var htmlDocGet = new HtmlDocument();
                htmlDocGet.LoadHtml(htmlBodyGet);

                var EVENTVALIDATIONSelector = htmlDocGet.DocumentNode.SelectNodes(pagina.SelectorEventValidation);
                var EVENTVALIDATIONSplit    = EVENTVALIDATIONSelector[0].OuterHtml.Split("value=");
                var EVENTVALIDATION         = EVENTVALIDATIONSplit[1].Substring(1, EVENTVALIDATIONSplit[1].Length - 3);

                var VIEWSTATESelector = htmlDocGet.DocumentNode.SelectNodes(pagina.SelectorState);
                var VIEWSTATESplit    = VIEWSTATESelector[0].OuterHtml.Split("value=");
                var VIEWSTATE         = VIEWSTATESplit[1].Substring(1, VIEWSTATESplit[1].Length - 3);

                var callBackSplit  = htmlBodyGet.Split("callbackState':'");
                var callBackSplit2 = callBackSplit[1].Split("','");
                var callBackState  = callBackSplit2[0];

                var cookieContent = responseGet.Headers.FirstOrDefault(x => x.Key == "Set-Cookie").Value.First().Split(" ")[0];
                var tokenCookie   = cookieContent.Split("=");
                var name          = tokenCookie[0];
                var value         = tokenCookie[1];

                var parametros = new Dictionary <string, string>();

                foreach (var item in pagina.Params.ToList())
                {
                    parametros.Add(item.Key.Replace("{4}", "ñ"), item.Value.Replace("{0}", apellido).Replace("{1}", nombre).Replace("{VIEWSTATE}", VIEWSTATE).Replace("{EVENTVALIDATION}", EVENTVALIDATION).Replace("{callbackState}", callBackState));
                }

                var content = new FormUrlEncodedContent(parametros);


                content.Headers.Add("Cookie", $"{name}={value}");
                var response = await client.PostAsync(pagina.UrlBusqueda, content);

                if (response.IsSuccessStatusCode)
                {
                    var htmlBody = await response.Content.ReadAsStringAsync();

                    var htmlDoc = new HtmlDocument();
                    htmlDoc.LoadHtml(htmlBody);
                    var nodos = htmlDoc.DocumentNode.SelectNodes(pagina.Selector);

                    if (nodos != null)
                    {
                        foreach (var nodo in nodos)
                        {
                            if (nodo.InnerText.ToUpper().Contains("COMPRADOR") || nodo.InnerText.ToUpper().Contains("&NBSP;") || nodo.InnerText.ToUpper().Contains("NOMBRE"))
                            {
                                continue;
                            }

                            var nuevo = new PersonaViewModel();
                            nuevo.Nombre      = nodo.InnerText;
                            nuevo.Conservador = pagina.Comuna;
                            nuevo.Url         = pagina.UrlBusqueda.Replace("{0}", busqueda);
                            lista.Add(nuevo);
                        }
                    }
                }
            }
            return(lista);
        }
Esempio n. 18
0
 public WebPage(WebViewModel viewModel)
 {
     InitializeComponent();
     BindingContext = _viewModel = viewModel;
 }
Esempio n. 19
0
 public WebViewModel Post([FromBody] WebViewModel viewModel)
 {
     return(_webPortalService.PostCreateViewModel(viewModel));
 }
Esempio n. 20
0
        public async Task <List <PersonaViewModel> > BusquedaPagina(WebViewModel pagina, string busqueda)
        {
            var lista = new List <PersonaViewModel>();

            Stopwatch timeTotal = new Stopwatch(); // Creación del Stopwatch.

            timeTotal.Start();

            long maxTime = 0;

            _logger.LogInformation($"Inicio Busqueda Fecha[" + DateTime.Now + "] -  Conservador[" + pagina.Comuna + "] - Nombre[" + busqueda + "]");
            Stopwatch sw = new Stopwatch(); // Creación del Stopwatch.

            if (!string.IsNullOrEmpty(pagina.UrlBusqueda) && pagina.Ajax == false && pagina.UrlBusquedaColumnasSeparadas == false)
            {
                try
                {
                    sw.Start();
                    lista.AddRange(await BusquedaUrl(pagina, busqueda));
                    sw.Stop();
                    _logger.LogInformation("Tiempo transcurrido: {0}", sw.Elapsed.ToString("hh\\:mm\\:ss\\.fff"));
                }
                catch (Exception ex)
                {
                    _logger.LogError($"Error Busqueda Fecha[" + DateTime.Now + "] -  Conservador[" + pagina.Comuna + "] - Nombre[" + busqueda + "] - Error[" + ex.Message + "]");
                }
            }
            if (pagina.UrlBusquedaColumnasSeparadas == true && pagina.Ajax == false)
            {
                try
                {
                    sw.Start();
                    lista.AddRange(await BusquedaUrlColumnasSeparadas(pagina, busqueda));
                    sw.Stop();
                    _logger.LogInformation("Tiempo transcurrido: {0}", sw.Elapsed.ToString("hh\\:mm\\:ss\\.fff"));
                }
                catch (Exception ex)
                {
                    _logger.LogError($"Error Busqueda Fecha[" + DateTime.Now + "] -  Conservador[" + pagina.Comuna + "] - Nombre[" + busqueda + "] - Error[" + ex.Message + "]");
                }
            }
            if (!string.IsNullOrEmpty(pagina.UrlBusquedaPaginada))
            {
                try
                {
                    sw.Start();
                    lista.AddRange(await BusquedaPaginada(pagina, busqueda));
                    sw.Stop();
                    _logger.LogInformation("Tiempo transcurrido: {0}", sw.Elapsed.ToString("hh\\:mm\\:ss\\.fff"));
                }
                catch (Exception ex)
                {
                    _logger.LogError($"Error Busqueda Fecha[" + DateTime.Now + "] -  Conservador[" + pagina.Comuna + "] - Nombre[" + busqueda + "] - Error[" + ex.Message + "]");
                }
            }
            if (!string.IsNullOrEmpty(pagina.UrlBusquedaPaginada2))
            {
                try
                {
                    sw.Start();
                    lista.AddRange(await BusquedaPaginada2(pagina, busqueda));
                    sw.Stop();
                    _logger.LogInformation("Tiempo transcurrido: {0}", sw.Elapsed.ToString("hh\\:mm\\:ss\\.fff"));
                }
                catch (Exception ex)
                {
                    _logger.LogError($"Error Busqueda Fecha[" + DateTime.Now + "] -  Conservador[" + pagina.Comuna + "] - Nombre[" + busqueda + "] - Error[" + ex.Message + "]");
                }
            }
            if (string.IsNullOrEmpty(pagina.PaginaAjax) && string.IsNullOrEmpty(pagina.AnioAjax) && pagina.Ajax == true && pagina.AjaxTablaDinamica == false && pagina.Token == false && pagina.Token2 == false)
            {
                try
                {
                    sw.Start();
                    lista.AddRange(await BusquedaAjax(pagina, busqueda));
                    sw.Stop();
                    _logger.LogInformation("Tiempo transcurrido: {0}", sw.Elapsed.ToString("hh\\:mm\\:ss\\.fff"));
                }
                catch (Exception ex)
                {
                    _logger.LogError($"Error Busqueda Fecha[" + DateTime.Now + "] -  Conservador[" + pagina.Comuna + "] - Nombre[" + busqueda + "] - Error[" + ex.Message + "]");
                }
            }
            if (!string.IsNullOrEmpty(pagina.PaginaAjax))
            {
                try
                {
                    sw.Start();
                    lista.AddRange(await BusquedaAjaxPaginada(pagina, busqueda));
                    sw.Stop();
                    _logger.LogInformation("Tiempo transcurrido: {0}", sw.Elapsed.ToString("hh\\:mm\\:ss\\.fff"));
                }
                catch (Exception ex)
                {
                    _logger.LogError($"Error Busqueda Fecha[" + DateTime.Now + "] -  Conservador[" + pagina.Comuna + "] - Nombre[" + busqueda + "] - Error[" + ex.Message + "]");
                }
            }
            if (!string.IsNullOrEmpty(pagina.AnioAjax))
            {
                try
                {
                    sw.Start();
                    lista.AddRange(await BusquedaAjaxPorAnio(pagina, busqueda));
                    sw.Stop();
                    _logger.LogInformation("Tiempo transcurrido: {0}", sw.Elapsed.ToString("hh\\:mm\\:ss\\.fff"));
                }
                catch (Exception ex)
                {
                    _logger.LogError($"Error Busqueda Fecha[" + DateTime.Now + "] -  Conservador[" + pagina.Comuna + "] - Nombre[" + busqueda + "] - Error[" + ex.Message + "]");
                }
            }
            if (pagina.AjaxTablaDinamica)
            {
                try
                {
                    sw.Start();
                    lista.AddRange(await BusquedaAjaxTablaDinamica(pagina, busqueda));
                    sw.Stop();
                    _logger.LogInformation("Time elapsed: {0}", sw.Elapsed.ToString("hh\\:mm\\:ss\\.fff"));
                }
                catch (Exception ex)
                {
                    _logger.LogError($"Error Busqueda Fecha[" + DateTime.Now + "] -  Conservador[" + pagina.Comuna + "] - Nombre[" + busqueda + "] - Error[" + ex.Message + "]");
                }
            }
            if (pagina.Token == true)
            {
                try
                {
                    sw.Start();
                    lista.AddRange(await BusquedaAjaxToken(pagina, busqueda));
                    sw.Stop();
                    _logger.LogInformation("Time elapsed: {0}", sw.Elapsed.ToString("hh\\:mm\\:ss\\.fff"));
                }
                catch (Exception ex)
                {
                    _logger.LogError($"Error Busqueda Fecha[" + DateTime.Now + "] -  Conservador[" + pagina.Comuna + "] - Nombre[" + busqueda + "] - Error[" + ex.Message + "]");
                }
            }
            if (pagina.Token2 == true)
            {
                try
                {
                    sw.Start();
                    lista.AddRange(await BusquedaAjaxToken2(pagina, busqueda));
                    sw.Stop();
                    _logger.LogInformation("Time elapsed: {0}", sw.Elapsed.ToString("hh\\:mm\\:ss\\.fff"));
                }
                catch (Exception ex)
                {
                    _logger.LogError($"Error Busqueda Fecha[" + DateTime.Now + "] -  Conservador[" + pagina.Comuna + "] - Nombre[" + busqueda + "] - Error[" + ex.Message + "]");
                }
            }
            maxTime = sw.ElapsedMilliseconds > maxTime ? sw.ElapsedMilliseconds : maxTime;
            _logger.LogInformation($"Fin Busqueda Fecha[" + DateTime.Now + "] -  Conservador[" + pagina.Comuna + "] - Nombre[" + busqueda + "] - Resultados Encontrados[" + lista.Count() + "]");

            return(lista);
        }
Esempio n. 21
0
 public Web()
 {
     InitializeComponent();
     DataContext = new WebViewModel();
 }
 public WebExplorerView(WebViewModel viewModel)
 {
     InitializeComponent();
     DataContext       = ViewModel = viewModel;
     viewModel.Closed += async(sender, args) => await DestroyWindowAsync();
 }
Esempio n. 23
0
        public override void OnApplyTemplate() {
            //csCommon.Resources.FloatingStyles fs = new FloatingStyles();
            //var ct = fs.FindName("SimpleFloatingStyle") as ControlTemplate;

            base.OnApplyTemplate();
            if (DesignerProperties.GetIsInDesignMode(this)) return;

            AppStateSettings.Instance.FullScreenFloatingElementChanged += InstanceFullScreenFloatingElementChanged;


            if (_fe.Style != null) {
                SetBinding(StyleProperty,
                    new Binding {
                        Source = _fe,
                        Path = new PropertyPath("Style"),
                        Mode = BindingMode.TwoWay,
                        UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged
                    });
            }

            //this.Style = this.FindResource("SimpleContainer") as Style;

            _svi.BorderThickness = new Thickness(0, 0, 0, 0);

            _svi.SingleInputRotationMode = (_fe.RotateWithFinger)
                ? SingleInputRotationMode.Default
                : SingleInputRotationMode.Disabled;

            _svi.ContainerManipulationDelta += _svi_ScatterManipulationDelta;


            _fe.ScatterViewItem = _svi;

            if (!_fe.ShowShadow) {
                SurfaceShadowChrome ssc;
                ssc = _svi.Template.FindName("shadow", _svi) as SurfaceShadowChrome;
                _svi.BorderBrush = null;
                _svi.Background = null;
                if (ssc != null) ssc.Visibility = Visibility.Hidden;
            }

            var closeButton = GetTemplateChild("PART_Close") as Button;
            if (closeButton != null)
                closeButton.Click += CloseButtonClick;

            _partAssociation = GetTemplateChild("PART_Association") as Line;
            _partContent = GetTemplateChild("PART_Content") as Grid;
            _partPreview = GetTemplateChild("PART_Preview") as FrameworkElement;
            _partStream = GetTemplateChild("PART_Stream") as SurfaceButton;
            _cpView = GetTemplateChild("cpView") as FrameworkElement;
            if (_fe == null) return;
            DataContext = _fe;

            _fe.CloseRequest += FeCloseRequest;
            _fe.ResetRequest += _fe_ResetRequest;


            _svi.SetBinding(WidthProperty,
                new Binding {Source = _fe, Path = new PropertyPath("Width"), Mode = BindingMode.Default});
            _svi.SetBinding(HeightProperty,
                new Binding {Source = _fe, Path = new PropertyPath("Height"), Mode = BindingMode.Default});

            _resize = GetTemplateChild("bResize") as Border;
            if (_resize != null) {
                SetResize(_resize);
            }

            UpdateAssociatedLine();

            var resizeBack = GetTemplateChild("bResize1") as Border;
            if (resizeBack != null) {
                SetResize(resizeBack);
            }

            _cc = GetTemplateChild("cpView") as ContentControl;

            // check for document, if not exist use ModelInstance
            if (_fe.Document != null) {
                IDocument vm = null;
                _fe.ConnectChannel = _fe.Document.Channel;
                _fe.ConnectMessage = _fe.Document.ToString();
                switch (_fe.Document.FileType) {
                    case FileTypes.image:
                        vm = new ImageViewModel {Doc = _fe.Document};
                        break;
                    case FileTypes.imageFolder:
                        vm = new ImageFolderViewModel {Doc = _fe.Document};
                        break;
                    case FileTypes.xps:
                        vm = new XpsViewModel {Doc = _fe.Document};
                        break;
                    case FileTypes.video:
                        vm = new VideoViewModel {Doc = _fe.Document};
                        break;
                    case FileTypes.web:
                        vm = new WebViewModel {Doc = _fe.Document};
                        break;
                    case FileTypes.html:
                        vm = new HtmlViewModel {Doc = _fe.Document};
                        break;
                }
                if (vm != null) {
                    var b = ViewLocator.LocateForModel(vm, null, null) as FrameworkElement;
                    if (b != null) {
                        b.Width = double.NaN;
                        b.Height = double.NaN;
                        b.HorizontalAlignment = HorizontalAlignment.Stretch;
                        b.VerticalAlignment = VerticalAlignment.Stretch;
                        ViewModelBinder.Bind(vm, b, null);
                        if (_cc != null) _cc.Content = b;
                    }
                }
            }
            else if (_fe.ModelInstance != null) {
                try {
                    var b = ViewLocator.LocateForModel(_fe.ModelInstance, null, null) as FrameworkElement;
                    if (b != null) {
                        b.HorizontalAlignment = HorizontalAlignment.Stretch;
                        b.VerticalAlignment = VerticalAlignment.Stretch;
                        ViewModelBinder.Bind(_fe.ModelInstance, b, null);
                        if (_cc != null) _cc.Content = b;
                    }
                }
                catch (Exception e) {
                    Logger.Log("Floating Container", "Error adding floating element", e.Message, Logger.Level.Error);
                }
            }

            UpdateBackInstance();

            if (_fe.DockingStyle == DockingStyles.None)
                if (_partPreview != null) _partPreview.Visibility = Visibility.Collapsed;

            _svi.PreviewTouchDown += (e, s) => {
                if (_svi.TouchesOver.Count() == 4) {
                    SwitchFullscreen();
                    s.Handled = true;
                    _svi.ReleaseAllTouchCaptures();
                }
                //return;
                // FIXME TODO: Unreachable code
//                if (!InteractiveSurface.PrimarySurfaceDevice.IsFingerRecognitionSupported)
//                    return;
//
//
//                _touchDown = DateTime.Now;
//                if (s.TouchDevice.GetIsFingerRecognized()) {
//                    _fe.OriginalOrientation = s.Device.GetOrientation(this);
//                    //double angle = s.TouchDevice.GetOrientation(Application.Current.MainWindow);
//                    //_reverse = (angle < 180);
//                }
//
//                if (!s.TouchDevice.GetIsFingerRecognized() &&
//                    !s.TouchDevice.GetIsTagRecognized()) {
//                    if (!string.IsNullOrEmpty(_fe.ConnectChannel) &&
//                        DateTime.Now > _lastBlobEvent.AddSeconds(1)) {
//                        AppStateSettings.Instance.Imb.SendMessage(_fe.ConnectChannel,
//                            _fe.ConnectMessage);
//                        s.Handled = true;
//                        _lastBlobEvent = DateTime.Now;
//                    }
//                }


                //Console.WriteLine(d.ToString());
            };
            //_svi.PreviewTouchUp += (e, s) =>
            //            {
            //              if (!_fe.Large && _touchDown.AddMilliseconds(300) > DateTime.Now && _fe.LastContainerPosition!=null)
            //              {
            //                ResetLastPosition();
            //              }
            //            };

            _svi.PreviewMouseDown += (e, s) => { _touchDown = DateTime.Now; };
            _svi.PreviewMouseUp += (e, s) => {
                if (!_fe.Large && _touchDown.AddMilliseconds(300) > DateTime.Now &&
                    _fe.LastContainerPosition != null) {
                    ResetLastPosition();
                }
            };

            if (_fe.IsFullScreen) {
                FrameworkElement fe = Application.Current.MainWindow;
                _svi.Center = new Point(fe.Width/2, fe.Height/2);
                _svi.Width = fe.Width;
                _svi.Height = fe.Height;
                _svi.Opacity = _fe.OpacityNormal;
            }

            if (_partStream != null) {
                _partStream.Click += _partStream_Click;
            }

            //b.HorizontalAlignment = HorizontalAlignment.Stretch;
            //b.VerticalAlignment = VerticalAlignment.Stretch;
        }
Esempio n. 24
0
        public async Task <List <PersonaViewModel> > BusquedaAjaxPaginada(WebViewModel pagina, string busqueda)
        {
            var lista     = new List <PersonaViewModel>();
            var apellido  = "";
            var nombre    = "";
            var separados = false;

            if (busqueda.Contains("/"))
            {
                apellido  = busqueda.Split('/')[0];
                nombre    = busqueda.Split('/')[1];
                separados = true;
            }
            using (var client = new HttpClient())
            {
                for (int i = pagina.InicioPagina != null ? pagina.InicioPagina.Value : 0; i < 1000; i = i + int.Parse(pagina.PaginaAjax))
                {
                    var parametros = new Dictionary <string, string>();
                    foreach (var item in pagina.Params.ToList())
                    {
                        if (separados)
                        {
                            parametros.Add(item.Key, item.Value.Replace("{0}", apellido).Replace("{1}", nombre).Replace("{pagina}", i.ToString()).Replace("{aniofin}", DateTime.Now.Year.ToString()));
                        }
                        else
                        {
                            parametros.Add(item.Key, item.Value.Replace("{0}", busqueda).Replace("{pagina}", i.ToString()).Replace("{aniofin}", DateTime.Now.Year.ToString()));
                        }
                    }
                    var content  = new FormUrlEncodedContent(parametros);
                    var response = await client.PostAsync(pagina.UrlBusqueda.Replace("{pagina}", i.ToString()), content);

                    //var response = client.GetAsync(pagina.UrlBusqueda).Result;
                    if (response.IsSuccessStatusCode)
                    {
                        var htmlBody = await response.Content.ReadAsStringAsync();

                        var htmlDoc = new HtmlDocument();
                        htmlDoc.LoadHtml(htmlBody);

                        var nodos = htmlDoc.DocumentNode.SelectNodes(pagina.Selector);
                        if (pagina.UrlBusquedaColumnasSeparadas)
                        {
                            var nodos2 = htmlDoc.DocumentNode.SelectNodes(pagina.Selector2);
                            if (nodos2 != null)
                            {
                                for (int j = 0; j < nodos2.Count; j++)
                                {
                                    var nuevo = new PersonaViewModel();
                                    nuevo.Nombre      = nodos[j].InnerText + " " + nodos2[j].InnerHtml;
                                    nuevo.Conservador = pagina.Comuna;
                                    nuevo.Url         = pagina.Url;
                                    lista.Add(nuevo);
                                }
                            }
                            else
                            {
                                break;
                            }
                        }
                        else
                        {
                            if (nodos != null)
                            {
                                foreach (var nodo in nodos)
                                {
                                    if (nodo.InnerText.ToUpper().Contains("COMPRADOR") || nodo.InnerText.ToUpper().Contains("PERSONA") || nodo.InnerText.ToUpper().Contains("PROPIETARIO"))
                                    {
                                        if (nodos.Count() == 1)
                                        {
                                            i = 1000;
                                            break;
                                        }
                                        continue;
                                    }
                                    var nuevo = new PersonaViewModel();
                                    nuevo.Nombre      = nodo.InnerText;
                                    nuevo.Conservador = pagina.Comuna;
                                    nuevo.Url         = pagina.Url;
                                    lista.Add(nuevo);
                                }
                            }
                            else
                            {
                                break;
                            }
                        }
                    }
                }
            }
            return(lista);
        }