Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }