DtoResultadosProcesoElectoral ContarVotosProcesoElectoralUnipersonal(Pe01_ProcesoElectoral procesoElectoral)
        {
            if (procesoElectoral != null)
            {
                var listasProceso = procesoElectoral.Listas;
                if (listasProceso?.Count() > 0)
                {
                    var votosProceso    = _votoRepository.Get <Mv01_Voto>(x => x.Estado.Equals(Auditoria.EstadoActivo) && x.ProcesoElectoralId == procesoElectoral.Id);
                    var resultadoListas = new List <DtoVotoDetalleLista>();
                    listasProceso.ToList()?.ForEach(x =>
                    {
                        resultadoListas.Add(ObtenerInformacionListaUniPersonal(x, votosProceso));
                    });

                    return(new DtoResultadosProcesoElectoral()
                    {
                        NumeroEmpadronados = procesoElectoral?.PadronesVotacion?.Count() ?? 0,
                        NumeroVotosValidos = resultadoListas?.Sum(x => x.CantidadVotos) ?? 0,
                        NumeroVotosBlancos = resultadoListas?.Sum(x => x.CantidadBlancos) ?? 0,
                        NumeroVotosNulos = resultadoListas?.Sum(x => x.CantidadNulos) ?? 0,
                        PorcentajeVotantes = (procesoElectoral?.PadronesVotacion?.Count() ?? 0) == 0 ? 0 : ((votosProceso?.Count() ?? 0) / (procesoElectoral.PadronesVotacion.Count()) * 100),
                        DetallesListas = resultadoListas
                    });
                }
                throw new Exception("Proceso sin listas ");
            }
            throw new Exception("Proceso electoral votaciĆ³n no existe");
        }
        IEnumerable <DtoProcesoElectoral> mapearEntidadADto(Pe01_ProcesoElectoral ProcesoElectoral)
        {
            DtoProcesoElectoral dto = new DtoProcesoElectoral();

            dto.Id = ProcesoElectoral.Id;;
            dto.nombreProcesoElectoral = ProcesoElectoral.NombreProcesoElectoral;
            dto.fechaInicio            = ProcesoElectoral.FechaInicio;
            dto.fechaFin            = ProcesoElectoral.FechaFin;
            dto.eleccionId          = ProcesoElectoral.EleccionId;
            dto.usuarioCreacion     = ProcesoElectoral.UsuarioCreacion;
            dto.usuarioModificacion = ProcesoElectoral.UsuarioModificacion;
            dto.estado         = ProcesoElectoral.Estado;
            dto.nombreEleccion = ProcesoElectoral.Eleccion.NombreEleccion;
            //dto.listas = ProcesoElectoral.Listas;
            dto.tipoEleccion = ProcesoElectoral.Eleccion.TipoEleccion.NombreTipoEleccion;

            List <DtoProcesoElectoral> lista = new List <DtoProcesoElectoral>();

            lista.Add(dto);
            return(lista);
        }
 void Actualizar(Pe01_ProcesoElectoral ProcesoElectoral)
 {
     _procesoElectoralRepository.Update <Pe01_ProcesoElectoral>(ProcesoElectoral);
     _procesoElectoralRepository.Save();
 }
 void Crear(Pe01_ProcesoElectoral ProcesoElectoral)
 {
     _procesoElectoralRepository.Create <Pe01_ProcesoElectoral>(ProcesoElectoral);
     _procesoElectoralRepository.Save();
 }
 bool verificarespluriperdonal(Pe01_ProcesoElectoral proceso)
 => proceso?.Eleccion?.TipoEleccion?.NombreTipoEleccion?.ToLower()?.Equals("pluripersonal") ?? false;