protected void LoginButton_Click(object sender, EventArgs e)
        {
            //  HttpContext.Current.Response.Redirect("AdminIndex.aspx", true);
            PW3_20152C_TP2_MaratonesEntities3 context = new PW3_20152C_TP2_MaratonesEntities3();

            try
            {
                string  encriptado = getMd5Hash(Password.Text);
                Usuario usuario    = context.Usuario.Where(r => r.Nombre == UserName.Text && r.Contrasenia == encriptado && r.Admin == true).First();
                if (usuario != null)
                {
                    string roles = "Admin,Member";
                    FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(
                        1,
                        usuario.IdUsuario.ToString() + "-" + usuario.Nombre.ToString(), //user id
                        DateTime.Now,
                        DateTime.Now.AddMinutes(20),                                    // expiry
                        false,                                                          //do not remember
                        roles,
                        "/");
                    HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName,
                                                       FormsAuthentication.Encrypt(authTicket));
                    Response.Cookies.Add(cookie);
                    HttpContext.Current.Response.Redirect("AdminIndex.aspx", true);
                }
                else
                {
                    lblIncorrecto.Text = "Contraseña o Usuario Incorrecto";
                }
            }
            catch (Exception ex)
            {
                lblIncorrecto.Text = "Contraseña o Usuario Incorrecto ";
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {

            /*Esta pantalla deberá contener el listado de todos los maratones realizados por un usuario
            logueado. Además, indicar la posición en la que llegó en ese maratón, el tiempo que tardó en
            finalizar la carrera y, en caso de haber ganado un premio, mostrar la cantidad de dinero.
            */

            PW3_20152C_TP2_MaratonesEntities3 context = new PW3_20152C_TP2_MaratonesEntities3();
            Usuario usuario = GetIdUsuario(context);
            //if (usuario != null)
            //{
            //    int id_usuario = usuario.IdUsuario;

            //    var qh = (from mr in context.ResultadoMaratonParticipante
            //              join m in context.Maraton
            //              on mr.IdMaraton equals m.IdMaraton

            //              where (mr.IdUsuario == id_usuario) && (mr.PosicionFinal != null)
            //              orderby m.FechaHorarioComienzo descending

            //              select new {
            //                  Maraton = m.Nombre,
            //                  Posicion = mr.PosicionFinal,
            //                  Tiempo = mr.TiempoLlegada,
            //                  Premio = mr.PosicionFinal==3 ? m.TercerPremio : (mr.PosicionFinal == 2 ? m.SegundoPremio : (mr.PosicionFinal == 1 ? m.PrimerPremio : 0))
            //              }).ToList();
            //    GVHistorial.DataSource = qh;
            //    GVHistorial.DataBind();


            //}
        public List<ResultadoMaratonUsuario> ObtenerMaratonesRealizados()
        {
            var dataContext = new PW3_20152C_TP2_MaratonesEntities3();
            Usuario usuario = GetIdUsuario(dataContext);
            var q = from a in dataContext.Usuario
                    join r in dataContext.ResultadoMaratonParticipante on a.IdUsuario equals r.IdUsuario
                    join m in dataContext.Maraton on r.IdMaraton equals m.IdMaraton
                    where a.IdUsuario == usuario.IdUsuario
                    select new ResultadoMaratonUsuario { Maraton = m.Nombre };

            var qh = (from mr in dataContext.ResultadoMaratonParticipante
                      join m in dataContext.Maraton
                       on mr.IdMaraton equals m.IdMaraton

                       where (mr.IdUsuario == usuario.IdUsuario) && (mr.PosicionFinal != null)
                       orderby m.FechaHorarioComienzo descending

                      select new ResultadoMaratonUsuario
                       {
                           Maraton = m.Nombre,
                           Posicion = mr.PosicionFinal,
                           Tiempo = mr.TiempoLlegada,
                           Premio = mr.PosicionFinal == 3 ? m.TercerPremio : (mr.PosicionFinal == 2 ? m.SegundoPremio : (mr.PosicionFinal == 1 ? m.PrimerPremio : 0))
                       }).ToList();
            return qh;


        }
        protected void btnEditarUser_Click(object sender, EventArgs e)
        {
            PW3_20152C_TP2_MaratonesEntities3 context = new PW3_20152C_TP2_MaratonesEntities3();
            DateTime fecha;
            bool     dateConvert = DateTime.TryParse(txtFechaNacimiento.Text, out fecha);

            try
            {
                Usuario usuario = GetIdUsuario(context);
                if (usuario != null)
                {
                    usuario.Nombre          = txtNombre.Text;
                    usuario.Apellido        = txtApellido.Text;
                    usuario.LugarResidencia = txtResidencia.Text;
                    usuario.FechaNac        = fecha;

                    context.SaveChanges();
                    SuccessMessage.Visible = true;
                }
            }
            catch (Exception ex)
            {
                SuccessMessage.Visible = false;
            }
        }
Beispiel #5
0
        public List <ResultadoMaratonUsuario> ObtenerMaratonesRealizados()
        {
            var     dataContext = new PW3_20152C_TP2_MaratonesEntities3();
            Usuario usuario     = GetIdUsuario(dataContext);
            var     q           = from a in dataContext.Usuario
                                  join r in dataContext.ResultadoMaratonParticipante on a.IdUsuario equals r.IdUsuario
                                  join m in dataContext.Maraton on r.IdMaraton equals m.IdMaraton
                                  where a.IdUsuario == usuario.IdUsuario
                                  select new ResultadoMaratonUsuario {
                Maraton = m.Nombre
            };

            var qh = (from mr in dataContext.ResultadoMaratonParticipante
                      join m in dataContext.Maraton
                      on mr.IdMaraton equals m.IdMaraton

                      where (mr.IdUsuario == usuario.IdUsuario) && (mr.PosicionFinal != null)
                      orderby m.FechaHorarioComienzo descending

                      select new ResultadoMaratonUsuario
            {
                Maraton = m.Nombre,
                Posicion = mr.PosicionFinal,
                Tiempo = mr.TiempoLlegada,
                Premio = mr.PosicionFinal == 3 ? m.TercerPremio : (mr.PosicionFinal == 2 ? m.SegundoPremio : (mr.PosicionFinal == 1 ? m.PrimerPremio : 0))
            }).ToList();

            return(qh);
        }
        protected void Page_Load(object sender, EventArgs e)
        {


            if (!IsPostBack)
            {
                PW3_20152C_TP2_MaratonesEntities3 context = new PW3_20152C_TP2_MaratonesEntities3();

                var qMaraton = (from m in context.Maraton  where m.FechaHorarioComienzo < DateTime.Now
                                    select m);
                DDLMaraton.DataValueField = "IdMaraton";
                DDLMaraton.DataTextField = "Nombre";
                DDLMaraton.DataSource = qMaraton;
                DDLMaraton.DataBind();

                var part = context.Usuario.Select(u => new { IdUsuario = u.IdUsuario, NombreCompleto = u.Nombre + " " + u.Apellido });
                DDLParticipante.DataValueField = "IdUsuario";
                DDLParticipante.DataTextField = "NombreCompleto";
                DDLParticipante.DataSource = part;
                DDLParticipante.DataBind();
            }



        }
Beispiel #7
0
        protected void Page_Load(object sender, EventArgs e)
        {
            /*Esta pantalla deberá contener el listado de todos los maratones realizados por un usuario
             * logueado. Además, indicar la posición en la que llegó en ese maratón, el tiempo que tardó en
             * finalizar la carrera y, en caso de haber ganado un premio, mostrar la cantidad de dinero.
             */

            PW3_20152C_TP2_MaratonesEntities3 context = new PW3_20152C_TP2_MaratonesEntities3();
            Usuario usuario = GetIdUsuario(context);
            //if (usuario != null)
            //{
            //    int id_usuario = usuario.IdUsuario;

            //    var qh = (from mr in context.ResultadoMaratonParticipante
            //              join m in context.Maraton
            //              on mr.IdMaraton equals m.IdMaraton

            //              where (mr.IdUsuario == id_usuario) && (mr.PosicionFinal != null)
            //              orderby m.FechaHorarioComienzo descending

            //              select new {
            //                  Maraton = m.Nombre,
            //                  Posicion = mr.PosicionFinal,
            //                  Tiempo = mr.TiempoLlegada,
            //                  Premio = mr.PosicionFinal==3 ? m.TercerPremio : (mr.PosicionFinal == 2 ? m.SegundoPremio : (mr.PosicionFinal == 1 ? m.PrimerPremio : 0))
            //              }).ToList();
            //    GVHistorial.DataSource = qh;
            //    GVHistorial.DataBind();


            //}
        }
        protected void btnEditarUser_Click(object sender, EventArgs e)
        {
            PW3_20152C_TP2_MaratonesEntities3 context = new PW3_20152C_TP2_MaratonesEntities3();
            DateTime fecha;
            bool dateConvert = DateTime.TryParse(txtFechaNacimiento.Text, out fecha);

            try
            {
                Usuario usuario = GetIdUsuario(context);
                if (usuario != null)
                {
                    usuario.Nombre = txtNombre.Text;
                    usuario.Apellido = txtApellido.Text;
                    usuario.LugarResidencia = txtResidencia.Text;
                    usuario.FechaNac = fecha;

                    context.SaveChanges();
                    SuccessMessage.Visible = true;
                }
            }
            catch (Exception ex)
            {
                SuccessMessage.Visible = false;
            }

        }
        protected void Page_Load(object sender, EventArgs e)
        {
            bool val1 = (System.Web.HttpContext.Current.User != null) && System.Web.HttpContext.Current.User.Identity.IsAuthenticated;
            if (val1)
            {
                HttpContext.Current.Response.Redirect("UserIndex.aspx", true);
            }

            /*el resultado del último maratón registrado con los primeros 10 competidores.
            Si hay más de un maratón en simultáneo, mostrar el que tenga mayor cantidad de participantes
            registrados.*/

            //genero la vatiable context
            PW3_20152C_TP2_MaratonesEntities3 context = new PW3_20152C_TP2_MaratonesEntities3();

            //Obtengo primero la ultima maratón corrida
            DateTime hoy = DateTime.Now;
            List<Maraton> qm = (from ms in context.Maraton
                      join mr in context.ResultadoMaratonParticipante
                      on ms.IdMaraton equals mr.IdMaraton

                      where ms.FechaHorarioComienzo <= hoy && mr.PosicionFinal >=1 && mr.PosicionFinal<=10
                     orderby ms.FechaHorarioComienzo descending, ms.MaxParticipantes descending

                     select ms ).ToList();

            //var qmlista = qm.ToList();
            String NombreMaraton = "NO HAY MARATONES PARA MOSTRAR";
            if (qm.Count() > 0)
            {
                NombreMaraton = qm[0].Nombre;
                int idMaraton = qm[0].IdMaraton;

                var qp = (from mr in context.ResultadoMaratonParticipante
                                    join us in context.Usuario
                                    on mr.IdUsuario equals us.IdUsuario

                                    where (mr.IdMaraton == idMaraton) && (mr.PosicionFinal <= 10)
                                    orderby mr.PosicionFinal ascending

                                    select new { Nombre = us.Nombre + " " + us.Apellido, Posicion = mr.PosicionFinal }).ToList();
                GVResultados.DataSource = qp;
                GVResultados.DataBind();

            }//End if



            hMaraton.InnerText = NombreMaraton;

            //ResultadoMaratonParticipante contextResultadoMaratonParticipante = new ResultadoMaratonParticipante();

            //PW3_20152C_TP2_MaratonesEntities3 context = new PW3_20152C_TP2_MaratonesEntities3();

            //GVResultados.DataSource = context.ResultadoMaratonParticipante;
            //GVResultados.DataBind();

        }
Beispiel #10
0
        protected void Page_Load(object sender, EventArgs e)
        {
            bool val1 = (System.Web.HttpContext.Current.User != null) && System.Web.HttpContext.Current.User.Identity.IsAuthenticated;

            if (val1)
            {
                HttpContext.Current.Response.Redirect("UserIndex.aspx", true);
            }

            /*el resultado del último maratón registrado con los primeros 10 competidores.
             * Si hay más de un maratón en simultáneo, mostrar el que tenga mayor cantidad de participantes
             * registrados.*/

            //genero la vatiable context
            PW3_20152C_TP2_MaratonesEntities3 context = new PW3_20152C_TP2_MaratonesEntities3();

            //Obtengo primero la ultima maratón corrida
            DateTime       hoy = DateTime.Now;
            List <Maraton> qm  = (from ms in context.Maraton
                                  join mr in context.ResultadoMaratonParticipante
                                  on ms.IdMaraton equals mr.IdMaraton

                                  where ms.FechaHorarioComienzo <= hoy && mr.PosicionFinal >= 1 && mr.PosicionFinal <= 10
                                  orderby ms.FechaHorarioComienzo descending, ms.MaxParticipantes descending

                                  select ms).ToList();

            //var qmlista = qm.ToList();
            String NombreMaraton = "NO HAY MARATONES PARA MOSTRAR";

            if (qm.Count() > 0)
            {
                NombreMaraton = qm[0].Nombre;
                int idMaraton = qm[0].IdMaraton;

                var qp = (from mr in context.ResultadoMaratonParticipante
                          join us in context.Usuario
                          on mr.IdUsuario equals us.IdUsuario

                          where (mr.IdMaraton == idMaraton) && (mr.PosicionFinal <= 10)
                          orderby mr.PosicionFinal ascending

                          select new { Nombre = us.Nombre + " " + us.Apellido, Posicion = mr.PosicionFinal }).ToList();
                GVResultados.DataSource = qp;
                GVResultados.DataBind();
            }//End if



            hMaraton.InnerText = NombreMaraton;

            //ResultadoMaratonParticipante contextResultadoMaratonParticipante = new ResultadoMaratonParticipante();

            //PW3_20152C_TP2_MaratonesEntities3 context = new PW3_20152C_TP2_MaratonesEntities3();

            //GVResultados.DataSource = context.ResultadoMaratonParticipante;
            //GVResultados.DataBind();
        }
        protected void btnRegistrarResultados_Click(object sender, EventArgs e)
        {
            PW3_20152C_TP2_MaratonesEntities3 context = new PW3_20152C_TP2_MaratonesEntities3();
            int id_maraton = Int32.Parse(DDLMaraton.SelectedValue);
            int id_usuario = Int32.Parse(DDLParticipante.SelectedValue);

            bool estado = bool.Parse(DDLCarreraStatus.SelectedValue);

            try
            {
                int posicion         = Int32.Parse(txtPosicion.Text);
                var consultaPosicion = (from rm in context.ResultadoMaratonParticipante
                                        where rm.IdMaraton == id_maraton && rm.PosicionFinal == posicion
                                        select rm).ToList();



                if (consultaPosicion.Count() == 0)
                {
                    ResultadoMaratonParticipante resultadoMaraton = (from rm in context.ResultadoMaratonParticipante
                                                                     where rm.IdMaraton == id_maraton && rm.IdUsuario == id_usuario
                                                                     select rm).First();

                    Maraton maraton = (from m in context.Maraton where m.IdMaraton == id_maraton select m).First();

                    if (resultadoMaraton.NroInscripcion <= maraton.MaxParticipantes)
                    {
                        resultadoMaraton.PosicionFinal = posicion;
                        resultadoMaraton.TiempoLlegada = Int32.Parse(txtTiempo.Text);
                        resultadoMaraton.Finalizo      = estado;

                        context.SaveChanges();

                        txtPosicion.Text       = "";
                        txtTiempo.Text         = "";
                        ErrorMessage.Text      = null;
                        SuccessMessage.Visible = true;
                    }
                    else
                    {
                        ErrorMessage.Text      = "El participante se encuentra en lista de espera";
                        SuccessMessage.Visible = false;
                    }
                }
                else
                {
                    ErrorMessage.Text      = "La posición ya fue ingresada para otro participante";
                    SuccessMessage.Visible = false;
                }
            }
            catch (Exception ex)
            {
                ErrorMessage.Text      = "El Participante seleccionado no corresponde con el maraton";
                SuccessMessage.Visible = false;
            }
        }
Beispiel #12
0
        private Usuario GetIdUsuario(PW3_20152C_TP2_MaratonesEntities3 context)
        {
            int result = 0;

            string[] id = HttpContext.Current.User.Identity.Name.Split('-');
            bool     ok = Int32.TryParse(id[0], out result);

            try
            {
                return(context.Usuario.Where(r => r.IdUsuario == result).First());
            }
            catch (Exception ex)
            {
                return(null);
            }
        }
        private Usuario GetIdUsuario(PW3_20152C_TP2_MaratonesEntities3 context)
        {

            int result = 0;
            string[] id = HttpContext.Current.User.Identity.Name.Split('-');
            bool ok = Int32.TryParse(id[0], out result);

            try
            {
                return context.Usuario.Where(r => r.IdUsuario == result).First();
            }
            catch (Exception ex)
            {
                return null;
            }

        }
Beispiel #14
0
        public void CustomersGridView_SelectedIndexChanged(Object sender, EventArgs e)
        {
            int         cantidad = 0;
            GridViewRow row      = GVMaratones.SelectedRow;
            // row.FindControl("inscipto").va
            //  if(row.Row.Cells[iEstado].Text = GetLocalResourceObject("CONCILIADO").ToString();)
            PW3_20152C_TP2_MaratonesEntities3 context = new PW3_20152C_TP2_MaratonesEntities3();

            ResultadoMaratonParticipante resultadoMaraton = new ResultadoMaratonParticipante();
            Usuario user = GetIdUsuario(context);

            int IdUsuario = user.IdUsuario;

            int  IdMaraton  = 0;
            bool id_maraton = Int32.TryParse(row.Cells[1].Text, out IdMaraton);

            //Query consulta cantidad total de inscripciones

            try
            {
                var qc = (from rm in context.ResultadoMaratonParticipante
                          where IdMaraton == rm.IdMaraton
                          group rm by rm.IdMaraton into m
                          select m.Count()).First()
                ;

                cantidad = qc;
            }
            catch (Exception ex) {}
            cantidad++; //Incrementa cantidad de inscripciones en 1



            if (id_maraton)
            {
                resultadoMaraton.IdMaraton      = IdMaraton;
                resultadoMaraton.IdUsuario      = IdUsuario;
                resultadoMaraton.NroInscripcion = cantidad;
                context.ResultadoMaratonParticipante.AddObject(resultadoMaraton);
                context.SaveChanges();
            }

            this.GVMaratones_load(); //Recarga GridView
        }
        protected void btnCrearMaraton_Click(object sender, EventArgs e)
        {
            int cantidadMaximaParticipantes = 0, primerPremio = 0, segundoPremio = 0, tercerPremio = 0, cantidadListaEspera = 0;
            Maraton maraton = new Maraton();
            PW3_20152C_TP2_MaratonesEntities3 context = new PW3_20152C_TP2_MaratonesEntities3();

            DateTime fecha;

            bool parseParticipantes = Int32.TryParse(txtCantParticipantes.Text, out  cantidadMaximaParticipantes);
            bool parseLista = Int32.TryParse(txtCantLista.Text, out  cantidadListaEspera);
            bool parsePrimerPremio = Int32.TryParse(txtPuesto1.Text, out  primerPremio);
            bool parseSegundoPremio = Int32.TryParse(txtPuesto2.Text, out  segundoPremio);
            bool parseTercerPremio = Int32.TryParse(txtPuesto3.Text, out  tercerPremio);
            bool dateConvert = DateTime.TryParse(txtFechaHora.Text, out fecha);
            

            if (parseParticipantes || parseLista || parsePrimerPremio || parseSegundoPremio || parseTercerPremio)
            {
                maraton.Nombre = txtNombre.Text;
                maraton.MaxParticipantes = cantidadMaximaParticipantes;
                maraton.LugarSalida = txtLugarSalida.Text;
                maraton.ParticipantesEnEspera = cantidadListaEspera;
                maraton.PrimerPremio = primerPremio;
                maraton.SegundoPremio = segundoPremio;
                maraton.TercerPremio = tercerPremio;
                maraton.FechaHorarioComienzo = fecha;

            }
            context.Maraton.AddObject(maraton);
            context.SaveChanges();

            /**/
            txtNombre.Text = null;
            txtCantLista.Text = null;
            txtLugarSalida.Text = null;
            txtCantParticipantes.Text = null;
            txtPuesto1.Text = null;
            txtPuesto2.Text = null;
            txtPuesto3.Text = null;
            txtFechaHora.Text = null;

            SuccessMessage.Visible = true;
        }
        protected void btnCrearMaraton_Click(object sender, EventArgs e)
        {
            int     cantidadMaximaParticipantes = 0, primerPremio = 0, segundoPremio = 0, tercerPremio = 0, cantidadListaEspera = 0;
            Maraton maraton = new Maraton();
            PW3_20152C_TP2_MaratonesEntities3 context = new PW3_20152C_TP2_MaratonesEntities3();

            DateTime fecha;

            bool parseParticipantes = Int32.TryParse(txtCantParticipantes.Text, out cantidadMaximaParticipantes);
            bool parseLista         = Int32.TryParse(txtCantLista.Text, out cantidadListaEspera);
            bool parsePrimerPremio  = Int32.TryParse(txtPuesto1.Text, out primerPremio);
            bool parseSegundoPremio = Int32.TryParse(txtPuesto2.Text, out segundoPremio);
            bool parseTercerPremio  = Int32.TryParse(txtPuesto3.Text, out tercerPremio);
            bool dateConvert        = DateTime.TryParse(txtFechaHora.Text, out fecha);


            if (parseParticipantes || parseLista || parsePrimerPremio || parseSegundoPremio || parseTercerPremio)
            {
                maraton.Nombre                = txtNombre.Text;
                maraton.MaxParticipantes      = cantidadMaximaParticipantes;
                maraton.LugarSalida           = txtLugarSalida.Text;
                maraton.ParticipantesEnEspera = cantidadListaEspera;
                maraton.PrimerPremio          = primerPremio;
                maraton.SegundoPremio         = segundoPremio;
                maraton.TercerPremio          = tercerPremio;
                maraton.FechaHorarioComienzo  = fecha;
            }
            context.Maraton.AddObject(maraton);
            context.SaveChanges();

            /**/
            txtNombre.Text            = null;
            txtCantLista.Text         = null;
            txtLugarSalida.Text       = null;
            txtCantParticipantes.Text = null;
            txtPuesto1.Text           = null;
            txtPuesto2.Text           = null;
            txtPuesto3.Text           = null;
            txtFechaHora.Text         = null;

            SuccessMessage.Visible = true;
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                PW3_20152C_TP2_MaratonesEntities3 context = new PW3_20152C_TP2_MaratonesEntities3();

                var qMaraton = (from m in context.Maraton  where m.FechaHorarioComienzo < DateTime.Now
                                select m);
                DDLMaraton.DataValueField = "IdMaraton";
                DDLMaraton.DataTextField  = "Nombre";
                DDLMaraton.DataSource     = qMaraton;
                DDLMaraton.DataBind();

                var part = context.Usuario.Select(u => new { IdUsuario = u.IdUsuario, NombreCompleto = u.Nombre + " " + u.Apellido });
                DDLParticipante.DataValueField = "IdUsuario";
                DDLParticipante.DataTextField  = "NombreCompleto";
                DDLParticipante.DataSource     = part;
                DDLParticipante.DataBind();
            }
        }
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!IsPostBack)
     {
         try
         {
             PW3_20152C_TP2_MaratonesEntities3 context = new PW3_20152C_TP2_MaratonesEntities3();
             Usuario usuario = GetIdUsuario(context);
             if (usuario != null)
             {
                 txtNombre.Text          = usuario.Nombre;
                 txtApellido.Text        = usuario.Apellido;
                 txtResidencia.Text      = usuario.LugarResidencia;
                 txtFechaNacimiento.Text = usuario.FechaNac.ToString();
             }
         }
         catch (Exception ex)
         {
         }
     }
 }
        protected void LoginButton_Click(object sender, EventArgs e)
        {
          //  HttpContext.Current.Response.Redirect("AdminIndex.aspx", true);
            PW3_20152C_TP2_MaratonesEntities3 context = new PW3_20152C_TP2_MaratonesEntities3();
            try
            {
                string encriptado = getMd5Hash(Password.Text);
                Usuario usuario = context.Usuario.Where(r => r.Nombre == UserName.Text && r.Contrasenia == encriptado && r.Admin == true).First();
                if (usuario != null)
                {
                    string roles = "Admin,Member";
                    FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(
                      1,
                      usuario.IdUsuario.ToString() + "-" + usuario.Nombre.ToString(),  //user id
                      DateTime.Now,
                      DateTime.Now.AddMinutes(20),  // expiry
                      false,  //do not remember
                      roles,
                      "/");
                    HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName,
                                                       FormsAuthentication.Encrypt(authTicket));
                    Response.Cookies.Add(cookie);
                    HttpContext.Current.Response.Redirect("AdminIndex.aspx", true);

                }
                else
                {
                    lblIncorrecto.Text = "Contraseña o Usuario Incorrecto";
                }

            }
            catch (Exception ex)
            {
                lblIncorrecto.Text = "Contraseña o Usuario Incorrecto ";
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                try
                {
                    PW3_20152C_TP2_MaratonesEntities3 context = new PW3_20152C_TP2_MaratonesEntities3();
                    Usuario usuario = GetIdUsuario(context);
                    if (usuario != null)
                    {
                        txtNombre.Text = usuario.Nombre;
                        txtApellido.Text = usuario.Apellido;
                        txtResidencia.Text = usuario.LugarResidencia;
                        txtFechaNacimiento.Text = usuario.FechaNac.ToString();
                        
                    }
                }
                catch (Exception ex)
                {
                    
                }

            }
        }
        private void GVMaratones_load()
        {
            int i = 0;
            PW3_20152C_TP2_MaratonesEntities3 context = new PW3_20152C_TP2_MaratonesEntities3();

            //Obtengo codigo de usuario
            Usuario user = GetIdUsuario(context);
            int IdUsuario = user.IdUsuario;
            //------------------------------

            //Query Maratones disponibles para inscripcion. Verifica fecha de inscripcion, solo muestra en caso de haber disponibilidad y ademas verifica si el que el usuario logueado no este previamente inscripto
            var query = from m in context.Maraton
                        where m.FechaHorarioComienzo >= DateTime.Now
                          //&& (m.MaxParticipantes + m.ParticipantesEnEspera) >
                          //                                                  (from rm in context.ResultadoMaratonParticipante
                          //                                                   where rm.IdMaraton == m.IdMaraton
                          //                                                   select rm).Count()
                        //&& !(from rm in context.ResultadoMaratonParticipante
                        //     where rm.IdUsuario == IdUsuario
                        //     select rm.IdMaraton).Contains(m.IdMaraton)

                        select new
                        {
                            m.IdMaraton,
                            m.Nombre,
                            m.LugarSalida,
                            m.FechaHorarioComienzo,
                            m.MaxParticipantes,
                            estado = (from rm in context.ResultadoMaratonParticipante
                                      where rm.IdMaraton == m.IdMaraton
                                      select rm.IdUsuario).Contains(IdUsuario) ? "Inscripto" :
                                      (
                                        (m.MaxParticipantes + m.ParticipantesEnEspera) <=
                                                                            (from rm in context.ResultadoMaratonParticipante
                                                                             where rm.IdMaraton == m.IdMaraton
                                                                             select rm).Count() ? "Lleno" :
                                       ((from rm in context.ResultadoMaratonParticipante
                                       where rm.IdMaraton == m.IdMaraton
                                       select rm).Count()) >= m.MaxParticipantes ? "En Espera" : "Disponible")
                        };
            String mensaje = "No existen maratones disponibles por el momento";
            if (query.Count() > 0)
            {
                mensaje = "Cantidad de maratones disponibles: " + query.Count();
                GVMaratones.DataSource = query;
                GVMaratones.DataBind();
             //   Convert.ToInt32(((HiddenField)e.Row.FindControl("hfReversas")).Value);
            //  GVMaratones
                foreach (var datos in query)
                  {
                    
                      if (datos.estado == "Inscripto" || datos.estado == "Lleno")
                      {
                              if(datos.estado == "Inscripto" )
                              {
                                   ResultadoMaratonParticipante resultadoMaraton = (from rm in context.ResultadoMaratonParticipante
                                                                         where rm.IdMaraton == datos.IdMaraton && rm.IdUsuario == IdUsuario
                                                                         select rm).First();
                                   if (datos.MaxParticipantes < resultadoMaraton.NroInscripcion)
                                   {
                                       GVMaratones.Rows[i].BackColor = Color.Orange;
                                       GVMaratones.Rows[i].Cells[5].Text = "Inscripto en Espera";
                                   }
                              }
                                  
                          GVMaratones.Rows[i].Enabled = false;
                          GVMaratones.Rows[i].Cells[0].Text = "";
                      }
                      i++;
                  }
            }
            
        }
        public void CustomersGridView_SelectedIndexChanged(Object sender, EventArgs e)
        {
           int cantidad = 0;
            GridViewRow row = GVMaratones.SelectedRow;
           // row.FindControl("inscipto").va
          //  if(row.Row.Cells[iEstado].Text = GetLocalResourceObject("CONCILIADO").ToString();)
            PW3_20152C_TP2_MaratonesEntities3 context = new PW3_20152C_TP2_MaratonesEntities3();

            ResultadoMaratonParticipante resultadoMaraton = new ResultadoMaratonParticipante();
            Usuario user = GetIdUsuario(context);

            int IdUsuario = user.IdUsuario;

            int IdMaraton = 0;
            bool id_maraton = Int32.TryParse(row.Cells[1].Text, out IdMaraton);

            //Query consulta cantidad total de inscripciones

            try
            {
                var qc = (from rm in context.ResultadoMaratonParticipante
                          where IdMaraton == rm.IdMaraton
                          group rm by rm.IdMaraton into m
                          select m.Count()).First()
                      ;

                 cantidad = qc;
               
            }
            catch( Exception ex){}
            cantidad++; //Incrementa cantidad de inscripciones en 1
            
        

            if (id_maraton)
            {
                resultadoMaraton.IdMaraton = IdMaraton;
                resultadoMaraton.IdUsuario = IdUsuario;
                resultadoMaraton.NroInscripcion = cantidad;
                context.ResultadoMaratonParticipante.AddObject(resultadoMaraton);
                context.SaveChanges();

            }

            this.GVMaratones_load(); //Recarga GridView

        }
        protected void btnRegistrarResultados_Click(object sender, EventArgs e)
        {
            PW3_20152C_TP2_MaratonesEntities3 context = new PW3_20152C_TP2_MaratonesEntities3();
            int id_maraton = Int32.Parse(DDLMaraton.SelectedValue);
            int id_usuario = Int32.Parse(DDLParticipante.SelectedValue);
            
            bool estado = bool.Parse(DDLCarreraStatus.SelectedValue);
                          
            try
                {
                    int posicion = Int32.Parse(txtPosicion.Text);
                    var consultaPosicion = (from rm in context.ResultadoMaratonParticipante
                                                                     where rm.IdMaraton == id_maraton && rm.PosicionFinal == posicion
                                                                     select rm).ToList();
               



                    if (consultaPosicion.Count()==0)
                    {
                        ResultadoMaratonParticipante resultadoMaraton = (from rm in context.ResultadoMaratonParticipante
                                                                         where rm.IdMaraton == id_maraton && rm.IdUsuario == id_usuario
                                                                         select rm).First();

                        Maraton maraton = (from m in context.Maraton where m.IdMaraton == id_maraton select m).First();

                        if (resultadoMaraton.NroInscripcion <= maraton.MaxParticipantes)
                        {
                            resultadoMaraton.PosicionFinal = posicion;
                            resultadoMaraton.TiempoLlegada = Int32.Parse(txtTiempo.Text);
                            resultadoMaraton.Finalizo = estado;

                            context.SaveChanges();

                            txtPosicion.Text = "";
                            txtTiempo.Text = "";
                            ErrorMessage.Text = null;
                            SuccessMessage.Visible = true;
                        }
                        else
                        {

                            ErrorMessage.Text = "El participante se encuentra en lista de espera";
                            SuccessMessage.Visible = false;
                        }
                }
                else
                {
                    ErrorMessage.Text = "La posición ya fue ingresada para otro participante";
                    SuccessMessage.Visible = false;
                }
                    
            }
                catch(Exception ex)
                {
                    ErrorMessage.Text = "El Participante seleccionado no corresponde con el maraton";
                    SuccessMessage.Visible = false;
            }




        }
Beispiel #24
0
        private void GVMaratones_load()
        {
            int i = 0;
            PW3_20152C_TP2_MaratonesEntities3 context = new PW3_20152C_TP2_MaratonesEntities3();

            //Obtengo codigo de usuario
            Usuario user      = GetIdUsuario(context);
            int     IdUsuario = user.IdUsuario;
            //------------------------------

            //Query Maratones disponibles para inscripcion. Verifica fecha de inscripcion, solo muestra en caso de haber disponibilidad y ademas verifica si el que el usuario logueado no este previamente inscripto
            var query = from m in context.Maraton
                        where m.FechaHorarioComienzo >= DateTime.Now
                        //&& (m.MaxParticipantes + m.ParticipantesEnEspera) >
                        //                                                  (from rm in context.ResultadoMaratonParticipante
                        //                                                   where rm.IdMaraton == m.IdMaraton
                        //                                                   select rm).Count()
                        //&& !(from rm in context.ResultadoMaratonParticipante
                        //     where rm.IdUsuario == IdUsuario
                        //     select rm.IdMaraton).Contains(m.IdMaraton)

                        select new
            {
                m.IdMaraton,
                m.Nombre,
                m.LugarSalida,
                m.FechaHorarioComienzo,
                m.MaxParticipantes,
                estado = (from rm in context.ResultadoMaratonParticipante
                          where rm.IdMaraton == m.IdMaraton
                          select rm.IdUsuario).Contains(IdUsuario) ? "Inscripto" :
                         (
                    (m.MaxParticipantes + m.ParticipantesEnEspera) <=
                    (from rm in context.ResultadoMaratonParticipante
                     where rm.IdMaraton == m.IdMaraton
                     select rm).Count() ? "Lleno" :
                    ((from rm in context.ResultadoMaratonParticipante
                      where rm.IdMaraton == m.IdMaraton
                      select rm).Count()) >= m.MaxParticipantes ? "En Espera" : "Disponible")
            };
            String mensaje = "No existen maratones disponibles por el momento";

            if (query.Count() > 0)
            {
                mensaje = "Cantidad de maratones disponibles: " + query.Count();
                GVMaratones.DataSource = query;
                GVMaratones.DataBind();
                //   Convert.ToInt32(((HiddenField)e.Row.FindControl("hfReversas")).Value);
                //  GVMaratones
                foreach (var datos in query)
                {
                    if (datos.estado == "Inscripto" || datos.estado == "Lleno")
                    {
                        if (datos.estado == "Inscripto")
                        {
                            ResultadoMaratonParticipante resultadoMaraton = (from rm in context.ResultadoMaratonParticipante
                                                                             where rm.IdMaraton == datos.IdMaraton && rm.IdUsuario == IdUsuario
                                                                             select rm).First();
                            if (datos.MaxParticipantes < resultadoMaraton.NroInscripcion)
                            {
                                GVMaratones.Rows[i].BackColor     = Color.Orange;
                                GVMaratones.Rows[i].Cells[5].Text = "Inscripto en Espera";
                            }
                        }

                        GVMaratones.Rows[i].Enabled       = false;
                        GVMaratones.Rows[i].Cells[0].Text = "";
                    }
                    i++;
                }
            }
        }