Пример #1
0
        private async Task SignInAsync(DMUser user, ClaimsIdentity identity = null, bool rememberMe = false)
        {
            if (identity == null)
            {
                identity = await _userManager.CreateIdentityAsync(user, DefaultAuthenticationTypes.ApplicationCookie);
            }

            AuthenticationManager.SignOut(DefaultAuthenticationTypes.ApplicationCookie);
            AuthenticationManager.SignIn(new AuthenticationProperties {
                IsPersistent = rememberMe
            }, identity);
        }
Пример #2
0
        public UUser selecEstudianteACurso(string curso, string seleccion, int selIdioma)
        {
            DMUser   datos  = new DMUser();
            UUser    enc    = new UUser();
            DMReg    mreg   = new DMReg();
            UIdioma  encId  = new UIdioma();
            LMIdioma idioma = new LMIdioma();

            List <Usuario> lusua = new List <Usuario>();

            EstudianteCurso est        = new EstudianteCurso();
            Int32           FORMULARIO = 9;

            encId = idioma.obtIdioma(FORMULARIO, selIdioma);

            if (curso == "0")
            {
                enc.Mensaje = encId.CompIdioma["L_ErrorUsuario_estudiante_curso"].ToString(); //"Debe Elegir un Curso";
            }
            else
            {
                enc.Documento = seleccion;
                enc           = datos.obtenerUsuarioMod(enc);

                est.id_ec_curso      = int.Parse(enc.IdUsua);
                est.id_ec_estudiante = int.Parse(curso);
                enc.Id_estudiante    = est.id_ec_estudiante.ToString();

                mreg.insertarEstudianteCurso(est);

                List <Materia> materias = mreg.obtener_MatCur(enc);

                foreach (Materia m in materias)
                {
                    enc.Materia = m.id_materia.ToString();
                    mreg.insertarNotaMateria(enc);
                }
                //int n = materias.DefaultView.Count;

                //for (int i = 0; i < n; i++)
                //{
                //    enc.Materia = materias.Rows[i]["id_materia"].ToString();
                //    datos.insertarNotaMateria(enc);

                //}

                enc.Mensaje = "";
            }

            return(enc);
        }
Пример #3
0
        public UUser selecObservador(string documento)
        {
            DMUser datos = new DMUser();
            UUser  enc   = new UUser();

            enc.Documento = documento;

            UUser registro = datos.obtenerUsuarioMod(enc);

            enc.Id_estudiante = registro.IdUsua.ToString();
            enc.Url           = ("~/View/Profesor/ProfesorListado.aspx");

            return(enc);
        }
    public List <DatosPersonalesEstOnceVista> Datospersonales()
    {
        try
        {
            if (SoapHeader == null)
            {
                throw new Exception("Requiere Validacion");
            }

            if (!SoapHeader.blCredencialesValidas(SoapHeader))
            {
                throw new Exception("Requiere Validacion");
            }

            DMUser dmus = new DMUser();
            return(dmus.listarEstudiantes11());
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }
    public List <NotasEstudiantesVista> NotasConDocumento(int doc)
    {
        try
        {
            if (SoapHeader == null)
            {
                throw new Exception("Requiere Validacion");
            }

            if (!SoapHeader.blCredencialesValidas(SoapHeader))
            {
                throw new Exception("Requiere Validacion");
            }

            DMUser dmus = new DMUser();
            return(dmus.NotasConDocumento(doc));
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }
    public DataSet listaEstudianteAcudiente()
    {
        try
        {
            if (SoapHeader == null)
            {
                throw new Exception("Requiere Validacion");
            }

            if (!SoapHeader.blCredencialesValidas(SoapHeader))
            {
                throw new Exception("Requiere Validacion");
            }

            DMUser  dmuser = new DMUser();
            DataSet table  = dmuser.listaEstAcuPrueba();
            return(table);
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }
Пример #7
0
        public UUser agregaraHorario(string curso, string anio, string dia, string docente, string hora, string materia, int selIdioma)
        {
            UUser    enc        = new UUser();
            DMReg    datos      = new DMReg();
            DMUser   muser      = new DMUser();
            UIdioma  encId      = new UIdioma();
            LMIdioma idioma     = new LMIdioma();
            Int32    FORMULARIO = 10;

            encId = idioma.obtIdioma(FORMULARIO, selIdioma);


            enc.Mensaje = " ";
            if (curso == "0" || anio == "0" || dia == "0" || docente == "0" || hora == "0" || materia == "0")
            {
                enc.Mensaje = encId.CompIdioma["L_Error_falta"].ToString(); //"Falta seleccionar";
            }
            else
            {
                bool ok = validar_horario(curso, dia, hora);

                if (ok == true)
                {
                    bool wp = validar_profesor(docente, dia, hora);
                    if (wp == true)
                    {
                        if (dia == "Monday")
                        {
                            dia = "Lunes";
                        }
                        if (dia == "Tuesday")
                        {
                            dia = "Martes";
                        }
                        if (dia == "Wednesday")
                        {
                            dia = "Miercoles";
                        }
                        if (dia == "Thursday")
                        {
                            dia = "Jueves";
                        }
                        if (dia == "Friday")
                        {
                            dia = "Viernes";
                        }
                        enc.Materia     = materia;
                        enc.Dia_materia = dia;
                        enc.Hora_in     = hora;

                        List <MateriaFecha> registros = datos.obtenerHora(enc);
                        if (registros.Count > 0)
                        {
                            foreach (MateriaFecha mf in registros)
                            {
                                enc.Cur_mat    = mf.id_mf.ToString(); //registros.Rows[0]["id_mf"].ToString();
                                enc.Curso      = curso;
                                enc.Id_docente = docente;

                                datos.insertarCursoMateria(enc);
                            }
                        }
                        int            cur = Convert.ToInt32(curso);
                        List <Usuario> est = muser.gEstudiante(cur);

                        foreach (Usuario u in est)
                        {
                            enc.Id_estudiante = u.id_usua.ToString();
                            enc.Materia       = materia;
                            datos.insertarNotaMateria(enc);
                        }

                        //int n = est.DefaultView.Count;

                        //for (int i = 0; i < n; i++)
                        //{
                        //    enc.Id_estudiante = est.Rows[i]["id_usua"].ToString();
                        //    enc.Materia = materia;
                        //    datos.insertarNotaMateria(enc);
                        //}
                        enc.Mensaje = encId.CompIdioma["L_Error_materia_insertada"].ToString(); //"Materia Insertada a Curso con Exito";
                        //this.Page.Response.Write("<script language='JavaScript'>window.alert('Materia Insertada a Curso con Exito');</script>");
                    }
                    else
                    {
                        enc.Mensaje = encId.CompIdioma["L_Error_docente_cruce"].ToString(); //"El docente presenta un cruce de Horarios";
                    }
                }
                else
                {
                    enc.Mensaje = encId.CompIdioma["L_Error_curce"].ToString(); //"Presenta un cruce de Horarios";
                }
            }
            return(enc);
        }
Пример #8
0
        public UUser agregarEstudianteACurso(string anio, string curso, string sesion, int cont, GridView GridView1, int selIdioma)
        {
            DMUser       datos      = new DMUser();
            UUser        enc        = new UUser();
            DMReg        mreg       = new DMReg();
            UIdioma      encId      = new UIdioma();
            LMIdioma     idioma     = new LMIdioma();
            DMSeguridad  dmseg      = new DMSeguridad();
            MEncEstCurso mencest    = new MEncEstCurso();
            Int32        FORMULARIO = 9;

            encId = idioma.obtIdioma(FORMULARIO, selIdioma);


            enc.Mensaje          = "";
            enc.MensajeAcudiente = "";

            if (anio == "0" || curso == "0")
            {
                enc.Mensaje = encId.CompIdioma["L_ErrorUsuario_aceptar"].ToString(); //"Debe Elegir un Curso";
            }
            else
            {
                for (int i = 0; i < cont; i++)
                {
                    CheckBox ch = (CheckBox)GridView1.Rows[i].FindControl("CBest");
                    Label    lb = (Label)GridView1.Rows[i].FindControl("label1");

                    if (ch.Checked == true)
                    {
                        enc.Documento = lb.Text;
                        //DataTable reg = datos.obtenerUsuarioMod(enc);

                        enc = datos.obtenerUsuarioMod(enc);

                        enc.Id_estudiante = enc.IdUsua;
                        enc.Curso         = curso;

                        EstudianteCurso ecur = new EstudianteCurso();
                        ecur.id_ec_curso      = int.Parse(curso);
                        ecur.id_ec_estudiante = int.Parse(enc.Id_estudiante);
                        mreg.insertarEstudianteCurso(ecur);

                        List <Materia> materias = mreg.obtener_MatCur(enc);
                        foreach (Materia m in materias)
                        {
                            enc.Materia = m.id_materia.ToString();
                            mreg.insertarNotaMateria(enc);
                        }
                        //int n = materias.DefaultView.Count;

                        //for (int k = 0; k < n; k++)
                        //{
                        //    enc.Materia = materias.Rows[k]["id_materia"].ToString();
                        //    mreg.insertarNotaMateria(enc);

                        //}

                        //L_ErrorUsuario.Text = "Debe Elegir un Curso";
                        enc.MensajeAcudiente           = encId.CompIdioma["L_OkUsuario_aceptar"].ToString(); //"Estudiantes Agregados al curso";
                        mencest.id_ec_estudiante_nuevo = ecur.id_ec_estudiante;
                        mencest.id_ec_curso_nuevo      = ecur.id_ec_curso;
                        dmseg.fiel_auditoria_agrega_estudiantes_curso("INSERT", sesion, mencest);
                    }
                }
            }
            return(enc);
        }
Пример #9
0
        public virtual async Task <ActionResult> Register(RegisterViewModel model)
        {
            try
            {
                CheckSelfRegistrationIsEnabled();

                CheckModelState();

                if (!model.IsExternalLogin && UseCaptchaOnRegistration())
                {
                    var recaptchaHelper = this.GetRecaptchaVerificationHelper();
                    if (recaptchaHelper.Response.IsNullOrEmpty())
                    {
                        throw new UserFriendlyException(L("CaptchaCanNotBeEmpty"));
                    }

                    if (recaptchaHelper.VerifyRecaptchaResponse() != RecaptchaVerificationResult.Success)
                    {
                        throw new UserFriendlyException(L("IncorrectCaptchaAnswer"));
                    }
                }

                if (!_multiTenancyConfig.IsEnabled)
                {
                    model.TenancyName = Tenant.DefaultTenantName;
                }
                else if (model.TenancyName.IsNullOrEmpty())
                {
                    throw new UserFriendlyException(L("TenantNameCanNotBeEmpty"));
                }

                var tenant = await GetActiveTenantAsync(model.TenancyName);

                if (!await SettingManager.GetSettingValueForTenantAsync <bool>(AppSettings.UserManagement.AllowSelfRegistration, tenant.Id))
                {
                    throw new UserFriendlyException(L("SelfUserRegistrationIsDisabledMessage_Detail"));
                }

                //Getting tenant-specific settings
                var isNewRegisteredUserActiveByDefault = await SettingManager.GetSettingValueForTenantAsync <bool>(AppSettings.UserManagement.IsNewRegisteredUserActiveByDefault, tenant.Id);

                var isEmailConfirmationRequiredForLogin = await SettingManager.GetSettingValueForTenantAsync <bool>(AbpZeroSettingNames.UserManagement.IsEmailConfirmationRequiredForLogin, tenant.Id);

                var user = new DMUser
                {
                    TenantId     = tenant.Id,
                    Name         = model.Name,
                    Surname      = model.Surname,
                    EmailAddress = model.EmailAddress,
                    IsActive     = isNewRegisteredUserActiveByDefault
                };

                ExternalLoginInfo externalLoginInfo = null;
                if (model.IsExternalLogin)
                {
                    externalLoginInfo = await AuthenticationManager.GetExternalLoginInfoAsync();

                    if (externalLoginInfo == null)
                    {
                        throw new ApplicationException("Can not external login!");
                    }

                    user.Logins = new List <DMUserLogin>
                    {
                        new DMUserLogin
                        {
                            LoginProvider = externalLoginInfo.Login.LoginProvider,
                            ProviderKey   = externalLoginInfo.Login.ProviderKey
                        }
                    };

                    model.UserName = model.EmailAddress;
                    model.Password = DMUser.CreateRandomPassword();

                    if (string.Equals(externalLoginInfo.Email, model.EmailAddress, StringComparison.InvariantCultureIgnoreCase))
                    {
                        user.IsEmailConfirmed = true;
                    }
                }
                else
                {
                    if (model.UserName.IsNullOrEmpty() || model.Password.IsNullOrEmpty())
                    {
                        throw new UserFriendlyException(L("FormIsNotValidMessage"));
                    }
                }

                user.UserName = model.UserName;
                user.Password = new PasswordHasher().HashPassword(model.Password);

                _unitOfWorkManager.Current.EnableFilter(AbpDataFilters.MayHaveTenant);
                _unitOfWorkManager.Current.SetFilterParameter(AbpDataFilters.MayHaveTenant, AbpDataFilters.Parameters.TenantId, tenant.Id);

                CheckErrors(await _userManager.CreateAsync(user));
                await _unitOfWorkManager.Current.SaveChangesAsync();

                if (!user.IsEmailConfirmed)
                {
                    user.SetNewEmailConfirmationCode();
                    await _userEmailer.SendEmailActivationLinkAsync(user);
                }

                //Directly login if possible
                if (user.IsActive && (user.IsEmailConfirmed || !isEmailConfirmationRequiredForLogin))
                {
                    DMUserManager <Tenant, User, DMUser> .DMLoginResult loginResult;
                    if (externalLoginInfo != null)
                    {
                        loginResult = await _userManager.LoginAsync(externalLoginInfo.Login, tenant.TenancyName);
                    }
                    else
                    {
                        loginResult = await GetLoginResultAsync(user.UserName, model.Password, tenant.TenancyName);
                    }

                    if (loginResult.Result == DMLoginResultType.Success)
                    {
                        await SignInAsync(loginResult.User, loginResult.Identity);

                        return(Redirect(Url.Action("Index", "Application")));
                    }

                    Logger.Warn("New registered user could not be login. This should not be normally. login result: " + loginResult.Result);
                }

                return(View("RegisterResult", new RegisterResultViewModel
                {
                    TenancyName = tenant.TenancyName,
                    NameAndSurname = user.Name + " " + user.Surname,
                    UserName = user.UserName,
                    EmailAddress = user.EmailAddress,
                    IsActive = user.IsActive,
                    IsEmailConfirmationRequired = isEmailConfirmationRequiredForLogin
                }));
            }
            catch (UserFriendlyException ex)
            {
                ViewBag.IsMultiTenancyEnabled = _multiTenancyConfig.IsEnabled;
                ViewBag.UseCaptcha            = !model.IsExternalLogin && UseCaptchaOnRegistration();
                ViewBag.ErrorMessage          = ex.Message;

                return(View("Register", model));
            }
        }