Example #1
0
        public ActionResult SelectInstituciones(string hdnInstitucion, int idUsuario)
        {
            ViewBag.Locales = new Local {
                IdInstitucion = int.Parse(hdnInstitucion)
            };

            ViewBag.instituciones = Session["Instituciones"] as List <Institucion>;

            var local = new Local
            {
                IdInstitucion = int.Parse(hdnInstitucion),
                IdUsuario     = idUsuario
            };

            var bl    = new LocalBl();
            var disas = bl.GetDisas(local);

            if (disas.Count == 1)
            {
                var idDisa = disas.First().IdDISA;

                var redes = GetRedByDisa(hdnInstitucion, idDisa, idUsuario);

                if (redes.Count == 1)
                {
                    var idRed = redes.First().IdRed;

                    var microredes = GetMicroRedByRed(hdnInstitucion, idDisa, idRed + idDisa, idUsuario);

                    if (microredes.Count == 1)
                    {
                        var idMicroRed = microredes.First().IdMicroRed;

                        var establecimientos = GetEstablecimientoByMicroRed(hdnInstitucion, idDisa, idRed + idDisa, idMicroRed + idRed + idDisa, idUsuario);
                        SetEstablecimientoView(establecimientos);
                    }

                    SetMicroRedView(microredes);
                }

                SetRedView(redes);
            }

            SetDisaView(disas);
            // Examenes Usuario
            try
            {
                var ExamenesUsuario = new UsuarioEnfermedadExamenBl().GetExamenByUsuarioId(idUsuario).ToList();
                Session["ExamenesUsuario"] = ExamenesUsuario;
            }
            catch (System.Exception ex)
            {
                Session["ExamenesUsuario"] = null;
            }
            //
            return(View("SelectLocal"));
        }
Example #2
0
        public ActionResult Login()
        {
            var usuario = Request["txtUser"];
            var clave   = Request["txtClave"];

            using (var dal = new UsuarioDal())
            {
                var remoteAddr      = Request.ServerVariables["REMOTE_ADDR"];
                var userHostAddress = Request.UserHostAddress;
                var forwardedfor    = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
                new bsPage().LogInfoLogin(usuario, remoteAddr, userHostAddress, forwardedfor);
                //uno de estos 3 valores va a pasar como nuevo parametro para el metodo LoginUsuario(usuario, clave, [nuevo])
                var user = dal.LoginUsuario(usuario, clave, remoteAddr);
                if (user != null)
                {
                    var respuesta = int.Parse(Session["respuesta"].ToString());

                    if (respuesta == 1)
                    {
                        Session["loginFault"] = 1;
                    }
                    else if (respuesta == 2)
                    {
                        Session["loginFault"] = 2;
                        Session["idusuario"]  = user.idUsuario;
                        return(RedirectToAction("NuevaContrasena", "Login"));
                    }
                    else if (respuesta == 3)
                    {
                        Session["loginFault"] = 3;
                    }
                    else if (respuesta == 4)
                    {
                        Session["loginFault"] = 4;
                    }
                    else if (respuesta == 5)
                    {
                        Session["loginFault"] = 5;
                    }
                    else if (respuesta == 6)
                    {
                        //int dias = (int)(user.fechaCaducidad.Date - System.DateTime.Now.Date).TotalDays;
                        //if (dias == 10 || dias == 5)
                        //{
                        //    EnvioCorreo correo = new EnvioCorreo();
                        //    string asunto = "Caducidad cuenta de usuario Netlab v2";
                        //    string contenido = "Estimado usuario, en " + dias + " su cuenta caducará, envíe el formulario de renovación. \nSi ya envió su solicitud no tome en cuenta este mensaje";
                        //    correo.EnviarCorreo(user.correo, asunto, contenido);
                        //}

                        var laboratorios = dal.getLaboratoriosUsuario(user.idUsuario);

                        var local = new Local
                        {
                            IdUsuario = user.idUsuario,
                            TipoLocal = TipoLocal.Institucion
                        };

                        var localBl     = new LocalBl();
                        var institucion = localBl.GetInstituciones(local);


                        Session["LaboratoriosLogin"] = laboratorios;
                        Session["UsuarioLogin"]      = user;
                        Session["LoginUserPassword"] = clave;
                        Session["Instituciones"]     = institucion;

                        if (institucion.Count == 1)
                        {
                            string defaultInstitucion = institucion.First().IdInstitucion;
                            local = new Local
                            {
                                IdInstitucion = int.Parse(defaultInstitucion),
                                IdUsuario     = user.idUsuario
                            };

                            // Examenes Usuario
                            try
                            {
                                var ExamenesUsuario = new UsuarioEnfermedadExamenBl().GetExamenByUsuarioId(user.idUsuario).ToList();
                                Session["ExamenesUsuario"] = ExamenesUsuario;
                            }
                            catch (System.Exception ex)
                            {
                                Session["ExamenesUsuario"] = null;
                            }

                            var bl    = new LocalBl();
                            var disas = bl.GetDisas(local);

                            if (disas.Count == 1)
                            {
                                var idDisa = disas.First().IdDISA;

                                var redes = GetRedByDisa(defaultInstitucion, idDisa, user.idUsuario);

                                if (redes.Count == 1)
                                {
                                    var idRed = redes.First().IdRed;

                                    var microredes = GetMicroRedByRed(defaultInstitucion, idDisa, idRed + idDisa, user.idUsuario);

                                    if (microredes.Count == 1)
                                    {
                                        var idMicroRed = microredes.First().IdMicroRed;

                                        var establecimientos = GetEstablecimientoByMicroRed(defaultInstitucion, idDisa, idRed + idDisa, idMicroRed + idRed + idDisa, user.idUsuario);
                                        if (establecimientos.Any() && establecimientos.Count == 1)
                                        {
                                            Session["EstablecimientosLogin"] = establecimientos;
                                            return(SetSelectLocal(defaultInstitucion, idDisa, idRed + idDisa, idMicroRed + idRed + idDisa, establecimientos.First().IdEstablecimiento.ToString(), true, true));
                                        }
                                        else
                                        {
                                            //return SetSelectLocal(defaultInstitucion, idDisa, idRed + idDisa, idMicroRed + idRed + idDisa, establecimientos.First().IdEstablecimiento.ToString(), true);
                                            return(SelectMicroRed(defaultInstitucion, idDisa, idRed + idDisa, idMicroRed + idRed + idDisa, user.idUsuario));
                                        }
                                    }

                                    SetMicroRedView(microredes);
                                }

                                SetRedView(redes);
                            }
                        }

                        return(RedirectToAction("SelectLocal", "Login"));
                    }
                }

                if (string.IsNullOrWhiteSpace(usuario))
                {
                    Session["loginFault"] = 7;
                }

                if (!string.IsNullOrWhiteSpace(usuario) && string.IsNullOrWhiteSpace(clave))
                {
                    Session["loginFault"] = 8;
                }

                return(RedirectToAction("Index", "Login"));
            }
        }