public ActionResult Page(UserInformation user, int page = 1, int pageSize          = 10, string numero         = null, int?id_naturaleza          = null,
                                 int?id_tipo_proceso            = null, int?id_materia     = null, string razon_social = null, int?id_abogado             = null, string numero_resolucion = null,
                                 DateTime?fecha_inicio          = null, DateTime?fecha_fin = null, int?id_estado       = null, string expediente_judicial = null)
        {
            var filters = new ProcesoFilters
            {
                numero              = numero,
                id_naturaleza       = id_naturaleza,
                id_tipo_proceso     = id_tipo_proceso,
                id_materia          = id_materia,
                razon_social        = razon_social,
                id_abogado          = id_abogado,
                numero_resolucion   = numero_resolucion,
                fecha_inicio        = fecha_inicio,
                fecha_fin           = fecha_fin,
                id_estado           = id_estado,
                expediente_judicial = expediente_judicial
            };

            return(this.TryCatch(() =>
            {
                var UsuarioEsProcurador = user.MiAplicacion.Exists(x => x.NombreRol == "Procurador");
                var pagination = this.procesoService.Page(page, pageSize, filters, user.Id, UsuarioEsProcurador);
                return this.JsonResponse(true, 200, null, new { pagination });
            }));
        }
        public List <VW_PROCESO> PaginaProc(int page, int pageSize, ProcesoFilters filters)
        {
            DB_PROCURADURIAEntities dataContext = base.Context.GetContext() as DB_PROCURADURIAEntities;
            var items = dataContext.sp_listar_pagina_proceso(page, pageSize, filters.numero, filters.id_abogado, filters.id_materia, filters.id_naturaleza, filters.id_tipo_proceso, filters.id_estado, filters.fecha_inicio, filters.fecha_fin, filters.razon_social, filters.numero_resolucion, filters.expediente_judicial);

            return(items.ToList());
        }
        public int ContarProc(ProcesoFilters filters)
        {
            DB_PROCURADURIAEntities dataContext = base.Context.GetContext() as DB_PROCURADURIAEntities;
            var total = new ObjectParameter("total", 0);

            dataContext.sp_contar_pagina_proceso(filters.numero, filters.id_abogado, filters.id_materia, filters.id_naturaleza, filters.id_tipo_proceso, filters.id_estado, filters.fecha_inicio, filters.fecha_fin, filters.razon_social, filters.numero_resolucion, filters.expediente_judicial, total);
            return(Convert.ToInt32(total.Value));
        }
Esempio n. 4
0
        // GET: Reporte
        public ActionResult Procesos(string numero         = null, int?id_naturaleza  = null,
                                     int?id_tipo_proceso   = null, int?id_materia     = null, string razon_social = null, int?id_abogado = null, string numero_resolucion = null,
                                     DateTime?fecha_inicio = null, DateTime?fecha_fin = null, int?id_estado       = null)
        {
            var filters = new ProcesoFilters
            {
                numero            = numero,
                id_naturaleza     = id_naturaleza,
                id_tipo_proceso   = id_tipo_proceso,
                id_materia        = id_materia,
                razon_social      = razon_social,
                id_abogado        = id_abogado,
                numero_resolucion = numero_resolucion,
                fecha_inicio      = fecha_inicio,
                fecha_fin         = fecha_fin,
                id_estado         = id_estado
            };

            using (var excel = new ExcelPackage())
            {
                var lista = this.procesoService.Page(1, 500, filters, 0, false);
                var data  = new List <ReporteProceso>();

                lista.items.ForEach(x =>
                {
                    var item = new ReporteProceso
                    {
                        numero       = x.numero,
                        materia      = x.materia_descripcion,
                        tipo_proceso = x.tipo_proceso_descripcion,
                        naturaleza   = x.naturaleza_descripcion,
                        razon_social = string.Join(", ", x.personas.Select(p => p.razonsocial).ToArray()),
                        abogado      = x.abogado,
                        resolucion   = string.Join(", ", x.resoluciones.Select(r => r.numero).ToArray()),
                        fecha        = x.auditmod,
                        estado       = x.estado_descripcion
                    };
                    data.Add(item);
                });

                return(this.Excel(data, "PROCESOS JUDICIALES", "PROCESOS JUDICIALES"));
            }

            return(null);
        }
Esempio n. 5
0
        public PaginationResponse <VwProcesoResponse> Page(int page, int pageSize, ProcesoFilters filters, int codigo_trabajador, bool usuarioEsProcurador)
        {
            if (filters.fecha_fin != null)
            {
                filters.fecha_fin = filters.fecha_fin.Value.AddDays(1);
            }
            try
            {
                var procesos = this.procesoRepositorio.PaginaProc(page, pageSize, filters);
                var total    = this.procesoRepositorio.ContarProc(filters);
                var items    = Mapper.Map <List <VW_PROCESO>, List <VwProcesoResponse> >(procesos);
                items.ForEach(x =>
                {
                    x._showFinalizarButton = usuarioEsProcurador;
                    x._readonly            = this.IsReadonly(new ProcesoResponse {
                        estado_proceso = x.estado_proceso, id_abogado = x.id_abogado
                    }, codigo_trabajador, usuarioEsProcurador);
                    x.personas     = detailProcesoService.ListarPersonas(x.id);
                    x.resoluciones = detailProcesoService.ListarResoluciones(x.id);
                    x.instancias   = detailProcesoService.ListarInstancias(x.id);
                });

                return(new PaginationResponse <VwProcesoResponse>
                {
                    items = items,
                    total = total,
                    page = page,
                    pageSize = pageSize
                });
            }
            catch (Exception e)
            {
                Abort(500, "Ocurrió un error interno", null, e);
            }

            return(null);
        }
        public PaginationResponse <VwProcesoResponse> PaginaProceso(int page, int pageSize, ProcesoFilters filters)
        {
            DB_PROCURADURIAEntities dataContext = base.Context.GetContext() as DB_PROCURADURIAEntities;

            if (filters.fecha_fin != null)
            {
                filters.fecha_fin = filters.fecha_fin.Value.AddDays(1);
            }
            Expression <Func <VW_PROCESO, bool> > _where = x =>
                                                           (string.IsNullOrEmpty(filters.numero) || x.numero.Contains(filters.numero)) &&
                                                           (filters.id_abogado == null || x.ID_ABOGADO == filters.id_abogado) &&
                                                           (filters.id_materia == null || x.id_materia == filters.id_materia) &&
                                                           (filters.id_naturaleza == null || x.id_naturaleza == filters.id_naturaleza) &&
                                                           (filters.id_tipo_proceso == null || x.id_tipo_proceso == filters.id_tipo_proceso) &&
                                                           (filters.id_estado == null || x.ESTADO_PROCESO == (filters.id_estado == 0 ? null : filters.id_estado)) &&
                                                           (filters.fecha_inicio == null || x.auditmod >= filters.fecha_inicio) &&
                                                           (filters.fecha_fin == null || x.auditmod <= filters.fecha_fin) &&
                                                           (string.IsNullOrEmpty(filters.razon_social) || dataContext.RZ_procuraduria.Count(rz => rz.id_proceso == x.id && dataContext.VW_PERSONA.Where(per => per.NOMBRE.Contains(filters.razon_social)).Any(m => m.ID == rz.id_persona)) > 0) &&
                                                           (string.IsNullOrEmpty(filters.numero_resolucion) || dataContext.RESOLIMPUGNADAXPROCESO.Any(r => r.ID_PROCESO == x.id && dataContext.VW_RESOLUCION_SITRADOC.Where(re => re.nro_resol.Contains(filters.numero_resolucion)).Any(m => m.id == r.ID_RESOLUCION)));


            var items = dataContext.VW_PROCESO.Where(_where)
                        .OrderByDescending(x => x.auditmod).Skip((page - 1) * pageSize).Take(pageSize)
                        .Select(x => new VwProcesoResponse
            {
                id     = x.id,
                numero = x.numero,
                materia_descripcion      = x.materia_descripcion,
                naturaleza_descripcion   = x.naturaleza_descripcion,
                tipo_proceso_descripcion = x.tipo_proceso_descripcion,
                abogado            = x.abogado,
                estado_descripcion = x.estado_descripcion,
                estado_proceso     = x.ESTADO_PROCESO,
                id_abogado         = x.ID_ABOGADO,
                auditmod           = x.auditmod,
                id_materia         = x.id_materia,
                id_naturaleza      = x.id_naturaleza,
                id_tipo_proceso    = x.id_tipo_proceso
            }).ToList();
            var total = dataContext.VW_PROCESO.Count(_where);


            return(new PaginationResponse <VwProcesoResponse>
            {
                items = items,
                total = total,
                page = page,
                pageSize = pageSize
            });
        }