Пример #1
0
        public ActionResult Edit(TeacherDetailsEditModel teacherModel)
        {
            if (!ModelState.IsValid)
            {
                ModelState.AddModelError(string.Empty, "User data has not been filled correctly. Please, re-enter");
                return(View(teacherModel));
            }

            Teacher teacher = this.teacherService.GetById(teacherModel.Id);

            if (teacher == null)
            {
                ModelState.AddModelError(string.Empty, "No such user exists");
                return(View());
            }

            bool usernameUnique = this.teacherService.IsUserNameUniqueOnEdit(
                teacher,
                teacherModel.AccountDetailsEditModel.UserName);

            if (!usernameUnique)
            {
                ModelState.AddModelError("AccountDetailsEditModel.UserName", "Duplicate usernames are not allowed.");
                return(View());
            }

            Mapper.Map <TeacherDetailsEditModel, Teacher>(teacherModel, teacher);
            Mapper.Map <AccountDetailsEditModel, ApplicationUser>(teacherModel.AccountDetailsEditModel, teacher.ApplicationUser);



            this.teacherService.Update(teacher);

            return(RedirectToAction("Index", "Teachers"));
        }
Пример #2
0
        public async Task <ActionResult> Details(string username)
        {
            if (username == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            Teacher teacher = this.teacherService.GetByUserName(username);

            if (teacher == null)
            {
                return(HttpNotFound());
            }

            TeacherDetailsEditModel model = Mapper.Map <Teacher, TeacherDetailsEditModel>(teacher);

            string scs = "";

            foreach (SchoolClass sc in teacher.SchoolClasses.ToList())
            {
                scs += "," + sc.ClassLetter + sc.ClassNumber + " ";
            }

            model.SchoolClasses           = scs.Substring(1);
            model.AccountDetailsEditModel = Mapper.Map <ApplicationUser, AccountDetailsEditModel>(teacher.ApplicationUser);

            return(View(model));
        }
Пример #3
0
        public async Task <ActionResult> Edit(string username)
        {
            if (string.IsNullOrEmpty(username))
            {
                ModelState.AddModelError(string.Empty, "No user has been selected");
                return(View());
            }

            Teacher teacher = this.teacherService.GetByUserName(username);

            if (teacher == null)
            {
                ModelState.AddModelError(string.Empty, "Such a user does not exist");
                return(View());
            }

            TeacherDetailsEditModel teacherModel = Mapper.Map <Teacher, TeacherDetailsEditModel>(teacher);//can check this

            string scs = "";

            foreach (SchoolClass sc in teacher.SchoolClasses.ToList())
            {
                scs += "," + sc.ClassLetter + sc.ClassNumber + " ";
            }

            teacherModel.SchoolClasses = scs.Substring(1);

            teacherModel.AccountDetailsEditModel = Mapper.Map <ApplicationUser, AccountDetailsEditModel>(teacher.ApplicationUser);

            return(View(teacherModel));
        }
Пример #4
0
        public ActionResult TeacherDetails(Guid id, string username)
        {
            Teacher     t           = this.teacherService.GetByUserName(username);
            SchoolClass schoolClass = this.schoolClassService.GetById(id);


            if (schoolClass == null)
            {
                return(RedirectToAction("Index", "SchoolClasses"));
            }

            TeacherDetailsEditModel teacherModel =
                Mapper.Map <Teacher, TeacherDetailsEditModel>(t);

            teacherModel.AccountDetailsEditModel = Mapper.Map <ApplicationUser, AccountDetailsEditModel>(
                t.ApplicationUser);

            return(View(teacherModel));
        }
Пример #5
0
        public async Task <ActionResult> Details(string username)
        {
            if (username == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            Teacher teacher = await this.teacherService.GetByUserName(username);

            if (teacher == null)
            {
                return(HttpNotFound());
            }

            TeacherDetailsEditModel model = Mapper.Map <Teacher, TeacherDetailsEditModel>(teacher);

            model.AccountDetailsEditModel = Mapper.Map <ApplicationUser, AccountDetailsEditModel>(teacher.ApplicationUser);

            return(View(model));
        }
Пример #6
0
        public async Task <ActionResult> Edit(string username)
        {
            if (string.IsNullOrEmpty(username))
            {
                ModelState.AddModelError(string.Empty, "No user has been selected");
                return(View());
            }

            Teacher teacher = await this.teacherService.GetByUserName(username);

            if (teacher == null)
            {
                ModelState.AddModelError(string.Empty, "Such user does not exist");
                return(View());
            }

            TeacherDetailsEditModel teacherModel = Mapper.Map <Teacher, TeacherDetailsEditModel>(teacher);

            teacherModel.AccountDetailsEditModel = Mapper.Map <ApplicationUser, AccountDetailsEditModel>(teacher.ApplicationUser);

            return(View(teacherModel));
        }
Пример #7
0
        public ActionResult Edit(TeacherDetailsEditModel teacherModel)
        {
            if (!ModelState.IsValid)
            {
                ModelState.AddModelError(string.Empty, "User data has not been filled correctly. Please, re-enter");
                return(View(teacherModel));
            }

            Teacher teacher = this.teacherService.GetById(teacherModel.Id);

            if (teacher == null)
            {
                ModelState.AddModelError(string.Empty, "No such user exists");
                return(View());
            }

            bool usernameUnique = this.teacherService.IsUserNameUniqueOnEdit(
                teacher,
                teacherModel.AccountDetailsEditModel.UserName);

            if (!usernameUnique)
            {
                ModelState.AddModelError("AccountDetailsEditModel.UserName", "Duplicate usernames are not allowed.");
                return(View());
            }

            Mapper.Map <TeacherDetailsEditModel, Teacher>(teacherModel, teacher);
            Mapper.Map <AccountDetailsEditModel, ApplicationUser>(teacherModel.AccountDetailsEditModel, teacher.ApplicationUser);

            List <string> validImageTypes = new List <string>()
            {
                "image/gif",
                "image/jpeg",
                "image/pjpeg",
                "image/png"
            };

            if (teacherModel.AccountDetailsEditModel.ImageUpload != null &&
                !validImageTypes.Contains(teacherModel.AccountDetailsEditModel.ImageUpload.ContentType))
            {
                ModelState.AddModelError("", "Please choose either a GIF, JPG or PNG image.");
                return(View(teacherModel));
            }

            var uploadDirectory = GlobalConstants.TeachersProfileImagesUploadDirectory;

            teacherModel.UploadProfilePhoto(uploadDirectory);

            if (teacherModel.AccountDetailsEditModel.ImageUpload == null ||
                teacherModel.AccountDetailsEditModel.ImageUpload.ContentLength == 0)
            {
                teacher.ApplicationUser.ImageUrl = GlobalConstants.DefaultProfileImageUrl;
            }
            else
            {
                teacher.ApplicationUser.ImageUrl = teacherModel.AccountDetailsEditModel.ImageUrl;
            }

            this.teacherService.Update(teacher);

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