public string GenerarPadronElectoral_BL()
        {
            BDetalleProceso oBDetalleProceso = new BDetalleProceso();
            EDetalleProceso proceso          = oBDetalleProceso.ObtenerProcesoVigente_BL("Generar Padron Electoral");

            string mensaje = "";

            if (proceso != null)
            {
                int annioEscolar = DateTime.Now.Year;
                oDAlumnoEmpadronado = new DAlumnoEmpadronado();
                List <SP_GE_ListarAlumnosPadronElectoral_Result> result = oDAlumnoEmpadronado.ListarAlumnosPadronElectoral_DAL(annioEscolar);

                EAlumnoEmpadronado oEmpadronado;
                foreach (var alumno in result)
                {
                    oEmpadronado = new EAlumnoEmpadronado()
                    {
                        idAlumno   = alumno.idAlumno,
                        aƱoescolar = annioEscolar,
                        //codalumnoempadronado = 1,
                        idProceso = proceso.idProceso,
                        estado    = "Registrado"
                    };

                    oDAlumnoEmpadronado.RegistrarAlumnoPadronElectoral_DAL(oEmpadronado);
                }
            }
            else
            {
                mensaje = "El proceso no existe o esta fuera de fecha";
            }

            return(mensaje);
        }
Example #2
0
        public object GenerarResultados_BL(int anyo)
        {
            object result  = null;
            string mensaje = "";

            BDetalleProceso oBDetalleProceso = new BDetalleProceso();
            var             proceso          = oBDetalleProceso.ObtenerProcesoVigente_BL("Realizar Votaciones");

            if (proceso == null)
            {
                BPartidoPostulante oBPartidoPostulante = new BPartidoPostulante();

                var resultados = ListarResultadosVotos_BL(anyo);
                var conteo     = ListarConteoVotos_BL(anyo);

                //Maxima cantidad de votos
                int maxVotacion = resultados.Max(x => x.Votos);
                var ganadores   = resultados.Where(x => x.Votos == maxVotacion).ToList();

                object dataPartido = null;

                //Si existe un unico ganador
                if (ganadores.Count == 1)
                {
                    var ganador = ganadores.FirstOrDefault();

                    var p = oBPartidoPostulante.ListarPartidoPostulante_BL(ganador.idPartido);

                    string foto = "";
                    if (p.Logo != null)
                    {
                        foto   = string.Format("data:image/png;base64,{0}", System.Convert.ToBase64String(p.Logo));
                        p.Logo = null;
                    }

                    dataPartido = new
                    {
                        Partido     = p,
                        Logo        = foto,
                        Integrantes = oBPartidoPostulante.ListarIntegrantesPartido_BL(ganador.idPartido)
                    };
                }

                result = new
                {
                    Votos   = resultados,
                    Conteo  = conteo,
                    Ganador = dataPartido ?? ganadores
                };
            }
            else
            {
                mensaje = "El proceso de votaciĆ³n no ha concluido";
            }

            return(result ?? new { Mensaje = mensaje });
        }
        public int GenerarCredenciales_BL(List <SP_GE_ListarAlumnosPadronElectoral_Result> alumnos)
        {
            BDetalleProceso oBDetalleProceso = new BDetalleProceso();
            var             proceso          = oBDetalleProceso.ObtenerProcesoValido_BL("Realizar Votaciones");

            if (proceso != null)
            {
                EEmail emisor     = new EEmail("*****@*****.**", "Innova School");
                int    procesados = 0;

                string Plantilla = BOperaciones.GetHtmlPage(HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["PlantillaCredencialesVoto"]));

                EAlumnoEmpadronado oEAlumnoEmpadronado;

                var path        = VirtualPathUtility.ToAbsolute("~/GobiernoEscolar/Votacion");
                var urlVotacion = new Uri(HttpContext.Current.Request.Url, path).AbsoluteUri;

                Plantilla = Plantilla.Replace("{UrlVotacion}", urlVotacion);

                foreach (var item in alumnos)
                {
                    //Generar usuario y clave
                    oDAlumnoEmpadronado = new DAlumnoEmpadronado();

                    //Generamos una clave aleatorio de 5 digitos
                    string clave = BOperaciones.GetRandomNumber(10000, 99999).ToString(); //System.Web.Security.Membership.GeneratePassword(6, 1);

                    oEAlumnoEmpadronado = new EAlumnoEmpadronado()
                    {
                        idAlumno    = item.idAlumno,
                        usuario     = double.Parse(item.idAlumno.ToString()).ToString("#000000"), //Su usuario es su codigo de alumno
                        claveAcceso = BOperaciones.MD5Crypto(clave)                               //Encriptamos la clave
                    };

                    //Generamos las credenciales
                    int filas_afectadas = oDAlumnoEmpadronado.GenerarCredencialAlumno_DAL(oEAlumnoEmpadronado);

                    if (filas_afectadas > 0)
                    {
                        if (item.correoElectronico != null && item.correoElectronico != string.Empty)
                        {
                            EEmailStatus status = BEmail.EnviarEmail(emisor, new List <EEmail>()
                            {
                                new EEmail(item.correoElectronico, item.nombre + " " + item.apellidos)
                            },
                                                                     "Credenciales", Plantilla
                                                                     .Replace("{Nombres}", item.nombre)
                                                                     .Replace("{Apellidos}", item.apellidos)
                                                                     .Replace("{Usuario}", oEAlumnoEmpadronado.usuario)
                                                                     .Replace("{Clave}", clave)
                                                                     .Replace("{FechaVotacion}", string.Format("{0} al {1}", proceso.FechaInicio.Value.ToString("dd/MM/yyyy HH:mm"), proceso.FechaFin.Value.ToString("dd/MM/yyyy HH:mm")))
                                                                     .Replace("{LugarVotacion}", "Aula A1")
                                                                     );

                            if (status.Estado == true)
                            {
                                procesados++;
                            }
                        }
                    }
                }

                return(procesados);
            }

            return(-1);
        }