public string DescargarDatos(int ObjetoId) { var filtrosSeleccionados = new List <FiltroSeleccionado>(); int userId = GetUsuarioLogueado(); userId = usuarioRepository.GetUsuarioPerformance(userId); int ClienteId = GetClienteSeleccionado(); int tableroid = datosRepository.GetIdTableroByObjetoUser(ObjetoId, userId); if (tableroid == 0) { tableroid = datosRepository.GetIdTableroByObjetoUser2(ObjetoId, userId); } int IdModulo = datosRepository.GetModuloTablero(tableroid); bool filtroBloqueado = datosRepository.ExistsFiltroPorTablero(tableroid); if (tableroid != 0 && filtroBloqueado) { filtrosSeleccionados = GetListFiltrosAplicadosPorTablero(IdModulo, tableroid); var filtros = GetFiltrosAplicadosPorTablero(IdModulo, tableroid); if (filtros != null) { foreach (var fc in filtros.FiltrosChecks) { var nfiltro = new FiltroSeleccionado { Filtro = fc.Id, TipoFiltro = TipoFiltro.CheckBox, Valores = fc.Items.Where(f => f.Selected).Select(f => f.IdItem).ToArray <string>() }; if (nfiltro.Valores.Length > 0 && !filtrosSeleccionados.Any(f => f.TipoFiltro == nfiltro.TipoFiltro && f.Filtro == nfiltro.Filtro)) { filtrosSeleccionados.Add(nfiltro); } } } } else { filtrosSeleccionados = GetFiltrosAplicadosDeUsuario(); } string _token = datosRepository.GenerarArchivo(filtrosSeleccionados, ClienteId, ObjetoId, userId); if (string.IsNullOrEmpty(_token)) { return(string.Empty); } else { return(_token); } }
protected List <FiltroSeleccionado> GetFiltrosAplicadosDeUsuario() { //Obtengo los Filtros aplicados del usuario int clienteId = GetClienteSeleccionado(); int userId = GetUsuarioLogueado(); userId = usuarioRepository.GetUsuarioPerformance(userId); var filtros = GetFiltrosAplicadosObj(clienteId, userId); List <FiltroSeleccionado> filtrosSeleccionados = new List <FiltroSeleccionado>(); if (filtros != null) { foreach (FiltroFecha ff in filtros.FiltrosFechas) { var nfiltro = new FiltroSeleccionado(); nfiltro.TipoFecha = ff.TipoFechaSeleccionada; nfiltro.Filtro = ff.Id; nfiltro.TipoFiltro = TipoFiltro.Fecha; switch (ff.TipoFechaSeleccionada) { case "D": string diadesde = null; string diahasta = null; if (ff.DiaDesde != null) { diadesde = System.DateTime.Parse(ff.DiaDesde).ToString("yyyyMMdd"); } if (ff.DiaHasta != null) { diahasta = System.DateTime.Parse(ff.DiaHasta).ToString("yyyyMMdd"); } nfiltro.Valores = new string[] { ff.TipoFechaSeleccionada, diadesde, diahasta }; break; case "S": string sdesde = null; string shasta = null; if (ff.SemanaDesde != null) { var aniodesde = int.Parse(ff.SemanaDesde.Substring(0, 4)); int semanadesde = int.Parse(ff.SemanaDesde.Substring(ff.SemanaDesde.Length - 2, 2)); sdesde = FirstDateOfWeekISO8601(aniodesde, semanadesde).ToString("yyyyMMdd"); } if (ff.SemanaHasta != null) { var aniohasta = int.Parse(ff.SemanaHasta.Substring(0, 4)); int semanahasta = int.Parse(ff.SemanaHasta.Substring(ff.SemanaHasta.Length - 2, 2)); shasta = FirstDateOfWeekISO8601(aniohasta, semanahasta).AddDays(6).ToString("yyyyMMdd"); } nfiltro.Valores = new string[] { ff.TipoFechaSeleccionada, sdesde, shasta }; break; case "M": string mesDesde = null; string mesHasta = null; if (ff.MesDesde != null) { mesDesde = System.DateTime.Parse(ff.MesDesde).ToString("yyyyMMdd"); } if (ff.MesHasta != null) { mesHasta = System.DateTime.Parse(ff.MesHasta).AddMonths(1).AddDays(-1).ToString("yyyyMMdd"); } nfiltro.Valores = new string[] { ff.TipoFechaSeleccionada, mesDesde, mesHasta }; break; case "T": switch (ff.TrimestreDesde) { case "1": ff.TrimestreDesde = new DateTime(DateTime.Today.Year, 1, 1).ToString("yyyyMMdd"); break; case "2": ff.TrimestreDesde = new DateTime(DateTime.Today.Year, 4, 1).ToString("yyyyMMdd"); break; case "3": ff.TrimestreDesde = new DateTime(DateTime.Today.Year, 7, 1).ToString("yyyyMMdd"); break; case "4": ff.TrimestreDesde = new DateTime(DateTime.Today.Year, 10, 1).ToString("yyyyMMdd"); break; default: ff.TrimestreDesde = null; break; } switch (ff.TrimestreHasta) { case "1": ff.TrimestreHasta = new DateTime(DateTime.Today.Year, 4, 1).AddDays(-1).ToString("yyyyMMdd"); break; case "2": ff.TrimestreHasta = new DateTime(DateTime.Today.Year, 7, 1).AddDays(-1).ToString("yyyyMMdd"); break; case "3": ff.TrimestreHasta = new DateTime(DateTime.Today.Year, 10, 1).AddDays(-1).ToString("yyyyMMdd"); break; case "4": ff.TrimestreHasta = new DateTime(DateTime.Today.Year, 1, 1).AddDays(-1).ToString("yyyyMMdd"); break; default: ff.TrimestreHasta = null; break; } nfiltro.Valores = new string[] { ff.TipoFechaSeleccionada, ff.TrimestreDesde, ff.TrimestreHasta }; break; } filtrosSeleccionados.Add(nfiltro); } foreach (FiltroCheck fc in filtros.FiltrosChecks) { var nfiltro = new FiltroSeleccionado(); nfiltro.Filtro = fc.Id; nfiltro.TipoFiltro = TipoFiltro.CheckBox; nfiltro.Valores = fc.Items.Where(f => f.Selected).Select(f => f.IdItem).ToArray <string>(); if (nfiltro.Valores.Length > 0) { filtrosSeleccionados.Add(nfiltro); } } } return(filtrosSeleccionados); }
protected List <FiltroSeleccionado> GetListFiltrosAplicadosPorTablero(int IdModulo, int tableroId) { int userId = GetUsuarioLogueado(); userId = usuarioRepository.GetUsuarioPerformance(userId); int ClienteId = GetClienteSeleccionado(); //traigo todos los posibles filtros Filtros filtros = filtroRepository.GetFiltros(userId, ClienteId, IdModulo); List <FiltroSeleccionado> filtrosSeleccionados = new List <FiltroSeleccionado>(); //Filtros aplicados por el usuario y actualizo dentro de los filtros generales el estado que tienen Filtros filtrosSeleccionadosPorUsuario = GetFiltrosAplicadosObj(ClienteId, userId); if (filtrosSeleccionadosPorUsuario == null) { foreach (FiltroFecha ff in filtros.FiltrosFechas) { var filtroSeleccionado = new FiltroSeleccionado { TipoFecha = ff.TipoFechaSeleccionada, Filtro = ff.Id, TipoFiltro = TipoFiltro.Fecha }; switch (ff.TipoFechaSeleccionada) { case "D": string diadesde = null; string diahasta = null; if (ff.DiaDesde != null) { diadesde = System.DateTime.Parse(ff.DiaDesde).ToString("yyyyMMdd"); } if (ff.DiaHasta != null) { diahasta = System.DateTime.Parse(ff.DiaHasta).ToString("yyyyMMdd"); } filtroSeleccionado.Valores = new string[] { ff.TipoFechaSeleccionada, diadesde, diahasta }; break; case "S": string sdesde = null; string shasta = null; if (ff.SemanaDesde != null) { var aniodesde = int.Parse(ff.SemanaDesde.Substring(0, 4)); int semanadesde = int.Parse(ff.SemanaDesde.Substring(ff.SemanaDesde.Length - 2, 2)); sdesde = FirstDateOfWeekISO8601(aniodesde, semanadesde).ToString("yyyyMMdd"); } if (ff.SemanaHasta != null) { var aniohasta = int.Parse(ff.SemanaHasta.Substring(0, 4)); int semanahasta = int.Parse(ff.SemanaHasta.Substring(ff.SemanaHasta.Length - 2, 2)); shasta = FirstDateOfWeekISO8601(aniohasta, semanahasta).AddDays(6).ToString("yyyyMMdd"); } filtroSeleccionado.Valores = new string[] { ff.TipoFechaSeleccionada, sdesde, shasta }; break; case "M": string mesDesde = null; string mesHasta = null; if (ff.MesDesde != null) { mesDesde = System.DateTime.Parse(ff.MesDesde).ToString("yyyyMMdd"); } if (ff.MesHasta != null) { mesHasta = System.DateTime.Parse(ff.MesHasta).AddMonths(1).AddDays(-1).ToString("yyyyMMdd"); } filtroSeleccionado.Valores = new string[] { ff.TipoFechaSeleccionada, mesDesde, mesHasta }; break; case "T": switch (ff.TrimestreDesde) { case "1": ff.TrimestreDesde = new DateTime(DateTime.Today.Year, 1, 1).ToString("yyyyMMdd"); break; case "2": ff.TrimestreDesde = new DateTime(DateTime.Today.Year, 4, 1).ToString("yyyyMMdd"); break; case "3": ff.TrimestreDesde = new DateTime(DateTime.Today.Year, 7, 1).ToString("yyyyMMdd"); break; case "4": ff.TrimestreDesde = new DateTime(DateTime.Today.Year, 10, 1).ToString("yyyyMMdd"); break; default: ff.TrimestreDesde = null; break; } switch (ff.TrimestreHasta) { case "1": ff.TrimestreHasta = new DateTime(DateTime.Today.Year, 4, 1).AddDays(-1).ToString("yyyyMMdd"); break; case "2": ff.TrimestreHasta = new DateTime(DateTime.Today.Year, 7, 1).AddDays(-1).ToString("yyyyMMdd"); break; case "3": ff.TrimestreHasta = new DateTime(DateTime.Today.Year, 10, 1).AddDays(-1).ToString("yyyyMMdd"); break; case "4": ff.TrimestreHasta = new DateTime(DateTime.Today.Year, 1, 1).AddDays(-1).ToString("yyyyMMdd"); break; default: ff.TrimestreHasta = null; break; } filtroSeleccionado.Valores = new string[] { ff.TipoFechaSeleccionada, ff.TrimestreDesde, ff.TrimestreHasta }; break; } filtrosSeleccionados.Add(filtroSeleccionado); } } else { foreach (FiltroFecha fl in filtrosSeleccionadosPorUsuario.FiltrosFechas) { var filtroSeleccionado = new FiltroSeleccionado { TipoFecha = fl.TipoFechaSeleccionada, Filtro = fl.Id, TipoFiltro = TipoFiltro.Fecha }; switch (fl.TipoFechaSeleccionada) { case "D": string diadesde = null; string diahasta = null; if (fl.DiaDesde != null) { diadesde = System.DateTime.Parse(fl.DiaDesde).ToString("yyyyMMdd"); } if (fl.DiaHasta != null) { diahasta = System.DateTime.Parse(fl.DiaHasta).ToString("yyyyMMdd"); } filtroSeleccionado.Valores = new string[] { fl.TipoFechaSeleccionada, diadesde, diahasta }; break; case "S": string sdesde = null; string shasta = null; if (fl.SemanaDesde != null) { var aniodesde = int.Parse(fl.SemanaDesde.Substring(0, 4)); int semanadesde = int.Parse(fl.SemanaDesde.Substring(fl.SemanaDesde.Length - 2, 2)); sdesde = FirstDateOfWeekISO8601(aniodesde, semanadesde).ToString("yyyyMMdd"); } if (fl.SemanaHasta != null) { var aniohasta = int.Parse(fl.SemanaHasta.Substring(0, 4)); int semanahasta = int.Parse(fl.SemanaHasta.Substring(fl.SemanaHasta.Length - 2, 2)); shasta = FirstDateOfWeekISO8601(aniohasta, semanahasta).AddDays(6).ToString("yyyyMMdd"); } filtroSeleccionado.Valores = new string[] { fl.TipoFechaSeleccionada, sdesde, shasta }; break; case "M": string mesDesde = null; string mesHasta = null; if (fl.MesDesde != null) { mesDesde = System.DateTime.Parse(fl.MesDesde).ToString("yyyyMMdd"); } if (fl.MesHasta != null) { mesHasta = System.DateTime.Parse(fl.MesHasta).AddMonths(1).AddDays(-1).ToString("yyyyMMdd"); } filtroSeleccionado.Valores = new string[] { fl.TipoFechaSeleccionada, mesDesde, mesHasta }; break; case "T": switch (fl.TrimestreDesde) { case "1": fl.TrimestreDesde = new DateTime(DateTime.Today.Year, 1, 1).ToString("yyyyMMdd"); break; case "2": fl.TrimestreDesde = new DateTime(DateTime.Today.Year, 4, 1).ToString("yyyyMMdd"); break; case "3": fl.TrimestreDesde = new DateTime(DateTime.Today.Year, 7, 1).ToString("yyyyMMdd"); break; case "4": fl.TrimestreDesde = new DateTime(DateTime.Today.Year, 10, 1).ToString("yyyyMMdd"); break; default: fl.TrimestreDesde = null; break; } switch (fl.TrimestreHasta) { case "1": fl.TrimestreHasta = new DateTime(DateTime.Today.Year, 4, 1).AddDays(-1).ToString("yyyyMMdd"); break; case "2": fl.TrimestreHasta = new DateTime(DateTime.Today.Year, 7, 1).AddDays(-1).ToString("yyyyMMdd"); break; case "3": fl.TrimestreHasta = new DateTime(DateTime.Today.Year, 10, 1).AddDays(-1).ToString("yyyyMMdd"); break; case "4": fl.TrimestreHasta = new DateTime(DateTime.Today.Year, 1, 1).AddDays(-1).ToString("yyyyMMdd"); break; default: fl.TrimestreHasta = null; break; } filtroSeleccionado.Valores = new string[] { fl.TipoFechaSeleccionada, fl.TrimestreDesde, fl.TrimestreHasta }; break; } filtrosSeleccionados.Add(filtroSeleccionado); } foreach (FiltroCheck fl in filtrosSeleccionadosPorUsuario.FiltrosChecks) { var filtroSeleccionadoUsuario = new FiltroSeleccionado { Filtro = fl.Id, TipoFiltro = TipoFiltro.CheckBox, Valores = fl.Items.Where(f => f.Selected).Select(f => f.IdItem).ToArray <string>() }; if (filtroSeleccionadoUsuario.Valores.Length > 0) { filtrosSeleccionados.Add(filtroSeleccionadoUsuario); } } } foreach (FiltroCheck fc in filtros.FiltrosChecks) { var filtroSeleccionado = new FiltroSeleccionado(); var idExistente = fc.Id; if (filtrosSeleccionados.Exists(fs => fs.Filtro == idExistente)) { filtroSeleccionado.Filtro = fc.Id; filtroSeleccionado.TipoFiltro = TipoFiltro.CheckBox; filtroSeleccionado.Valores = fc.Items.Where(f => f.Selected).Select(f => f.IdItem).ToArray <string>(); if (filtroSeleccionado.Valores.Length > 0) { filtrosSeleccionados.Add(filtroSeleccionado); } } } return(filtrosSeleccionados); }