Пример #1
0
        private void SaveData(IEnumerable <Student> listStudents, IEnumerable <Tutor> listTutors, AcademicGrade academicYearGrade, IReadOnlyList <string> emails)
        {
            var iterator = 0;

            foreach (var tutor in listTutors)
            {
                var temp = _tutorRepository.Filter(x => x.IdNumber == tutor.IdNumber);
                if (!temp.Any())
                {
                    _tutorRepository.Create(tutor);
                    var newUser = new User
                    {
                        UserOwner = tutor,
                        Email     = emails[iterator],//TODO: Possibly deprecated.
                        Password  = _passwordGenerationService.GenerateTemporaryPassword(),
                        IsUsingDefaultPassword = true,
                        IsActive = true,
                        Role     = _roleRepository.Filter(x => x.Name == "Tutor").FirstOrDefault()
                    };
                    newUser.DefaultPassword = newUser.Password;
                    newUser    = _userRepository.Create(newUser);
                    tutor.User = newUser;
                    _tutorRepository.Update(tutor);
                }
                iterator++;
            }
            foreach (var stu in listStudents)
            {
                var temp = _studentRepository.Filter(x => x.IdNumber == stu.IdNumber);
                if (!temp.Any())
                {
                    _studentRepository.Create(stu);
                    var studentTemp = _studentRepository.GetById(stu.Id);
                    academicYearGrade.Students.Add(studentTemp);
                    studentTemp.MyGrade = academicYearGrade;
                    _studentRepository.Update(studentTemp);
                    _academicGradeRepository.Update(academicYearGrade);
                }
                else
                {
                    var studentTemp = temp.FirstOrDefault();
                    if (studentTemp.MyGrade != null)
                    {
                        throw new Exception("Uno o mas de los estudiantes esta actualmente matriculado en otra seccion.");
                    }
                    academicYearGrade.Students.Add(studentTemp);
                    studentTemp.MyGrade = academicYearGrade;
                    _studentRepository.Update(studentTemp);
                    _academicGradeRepository.Update(academicYearGrade);
                }
            }
        }
Пример #2
0
        public ActionResult RecoverPassword(LostPasswordModel model)
        {
            var user = _userRepository.Filter(x => x.Email.Equals(model.Email)).FirstOrDefault();

            if (user == null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            var password = _passwordGenerationService.GenerateTemporaryPassword();

            user.Password = password;
            user.HashPassword();
            user.DefaultPassword        = user.Password;
            user.IsUsingDefaultPassword = true;
            _userRepository.Update(user);
            MailgunEmailService.SendEmailToUser(user, MessageService.ChangePasswordMessage(password));
            return(RedirectToAction("LogIn", "Account"));
        }
Пример #3
0
        public ActionResult Add(AdministrativeRegisterModel modelAmin)
        {
            var adminModel = Mapper.Map <AdministrativeRegisterModel, PeopleWithUser>(modelAmin);

            if (
                _peopleWithUserRepository.Filter(x => x.IdNumber.Equals(modelAmin.IdNumber) && !x.User.Role.Name.Equals("Tutor"))
                .Any())
            {
                _viewMessageLogic.SetNewMessage("Dato Inválido", "Ya existe un administrativo con ese número de Identidad", ViewMessageType.ErrorMessage);
                return(RedirectToAction("Index"));
            }
            if (_peopleWithUserRepository.Filter(x => x.User.Email == modelAmin.Email).Any())
            {
                _viewMessageLogic.SetNewMessage("Dato Inválido", "El Correo Electronico ya esta en uso", ViewMessageType.ErrorMessage);
                return(RedirectToAction("Index"));
            }
            _peopleWithUserRepository.Create(adminModel);
            var newUser = new User
            {
                Name     = modelAmin.FirstName,
                Email    = modelAmin.Email,
                Password = _passwordGenerationService.GenerateTemporaryPassword(),
                IsUsingDefaultPassword = true,
                IsActive  = true,
                Role      = _roleRepository.GetById(modelAmin.Role),
                UserOwner = adminModel
            };

            newUser.DefaultPassword = newUser.Password;
            newUser         = _userRepository.Create(newUser);
            adminModel.User = newUser;
            _peopleWithUserRepository.Update(adminModel);
            const string title   = "Administrativo Agregado";
            var          content = "El administrativo " + adminModel.FullName + " ha sido agregado exitosamente.";

            _viewMessageLogic.SetNewMessage(title, content, ViewMessageType.SuccessMessage);
            return(RedirectToAction("Index"));
        }
Пример #4
0
        public ActionResult Create(TutorRegisterModel modelTutor)
        {
            var tutorModel = Mapper.Map <TutorRegisterModel, Tutor>(modelTutor);

            if (_tutorRepository.Filter(x => x.IdNumber == modelTutor.IdNumber).Any())
            {
                _viewMessageLogic.SetNewMessage("Dato Inválido", "Ya existe un tutor con ese número de Identidad", ViewMessageType.ErrorMessage);
                return(RedirectToAction("Index"));
            }
            if (_peopleWithUserRepository.Filter(x => x.User.Email == modelTutor.Email).Any())
            {
                _viewMessageLogic.SetNewMessage("Dato Inválido", "El Correo Electronico ya esta en uso", ViewMessageType.ErrorMessage);
                return(RedirectToAction("Index"));
            }
            _tutorRepository.Create(tutorModel);
            var newUser = new User
            {
                Name      = modelTutor.FirstName,
                UserOwner = tutorModel,
                Email     = modelTutor.Email,
                Password  = _passwordGenerationService.GenerateTemporaryPassword(),
                IsUsingDefaultPassword = true,
                IsActive = true,
                Role     = _roleRepository.Filter(x => x.Name == "Tutor").FirstOrDefault()
            };

            newUser.DefaultPassword = newUser.Password;
            newUser         = _userRepository.Create(newUser);
            tutorModel.User = newUser;
            _tutorRepository.Update(tutorModel);
            const string title   = "Tutor Agregado";
            var          content = "El Tutor " + tutorModel.FullName + " ha sido agregado exitosamente.";

            _viewMessageLogic.SetNewMessage(title, content, ViewMessageType.SuccessMessage);
            return(RedirectToAction("Create"));
        }
Пример #5
0
        private void SaveData(IEnumerable <Student> listStudents, IEnumerable <Parent> listParents, AcademicYear academicYear, List <string> emails)
        {
            var allEnrolls = _enrollRepository.GetAllsEnrolls();
            var enrls      = allEnrolls.Where(x => x.AcademicYear.Id == academicYear.Id);

            if (enrls.Any())
            {
                throw new Exception("Ya hay alumos en este grado, borrelos e ingreselos denuevo");
            }

            var allParents  = _parentRepository.GetAllParents();
            var allStudents = _studentRepository.GetAllStudents();

            if (!(((EnrollRepository)_enrollRepository).GeContext().Equals(((ParentRepository)_parentRepository).GeContext())))
            {
                return;
            }
            if (!(((EnrollRepository)_enrollRepository).GeContext().Equals(((StudentRepository)_studentRepository).GeContext())))
            {
                return;
            }
            if (!(((EnrollRepository)_enrollRepository).GeContext().Equals(((AcademicYearRepository)_academicYearRepository).GeContext())))
            {
                return;
            }
            int iterator = 0;

            foreach (var pare in listParents)
            {
                var temp = allParents.Where(x => x.IdNumber == pare.IdNumber);
                if (!temp.Any())
                {
                    var newUser = new User
                    {
                        DisplayName = pare.FirstName,
                        Email       = emails[iterator],
                        Password    = _passwordGenerationService.GenerateTemporaryPassword(),
                        IsActive    = true,
                        Role        = Roles.Padre
                    };
                    //TODO: add to newUsers table.
                    newUser = _userRepository.Create(newUser);

                    pare.MyUser = newUser;
                    _parentRepository.Create(pare);
                }
                else
                {
                    pare.Id = temp.First().Id;
                }
                iterator++;
            }
            foreach (var stu in listStudents)
            {
                var temp = allStudents.Where(x => x.IdNumber == stu.IdNumber);
                if (!temp.Any())
                {
                    stu.MyUser = stu.Tutor1.MyUser;
                    _studentRepository.Create(stu);
                }
                else
                {
                    stu.Id = temp.First().Id;
                }
                var enr = allEnrolls.Where(x => x.AcademicYear.Id == academicYear.Id && x.Student.Id == stu.Id);
                if (enr.Any())
                {
                    continue;
                }
                var te = new Enroll();
                var academicYearTemp = _academicYearRepository.GetById(academicYear.Id);
                var studentTemp      = _studentRepository.GetById(stu.Id);
                te.AcademicYear = academicYearTemp;
                te.Student      = studentTemp;
                _enrollRepository.Create(te);
            }
        }