Пример #1
0
        public ActionResult Edit(string id, FormCreateViewModel model)
        {
            model.FirstName   = GetUserProperty(id, x => x.FirstName);
            model.LastName    = GetUserProperty(id, x => x.LastName);
            model.Email       = GetUserProperty(id, x => x.Email);
            model.Gender      = GetUserProperty(id, x => x.Gender);
            model.Description = context.UserDescriptions.Where(x => x.UserID == id).Select(x => x.Description).FirstOrDefault();
            var countryId = context.UserCountries.Where(x => x.UserID == id).Select(x => x.CountryID).FirstOrDefault();

            model.Country = context.Countries.Where(x => x.ID == countryId).Select(x => x.Name).FirstOrDefault();
            model.UserID  = id;

            CreateCourseList(model);
            return(View(model));
        }
Пример #2
0
        public ActionResult Edit(FormCreateViewModel model)
        {
            User user = context.Users.Where(u => u.ID == model.UserID).FirstOrDefault();

            TryUpdateModel(user, "", new string[] { "FirstName", "LastName", "Email", "Gender" });

            UserDescription userDescription = context.UserDescriptions.Where(u => u.UserID == model.UserID).FirstOrDefault();

            TryUpdateModel(userDescription, "", new string[] { "Description" });

            UserCountry userCountry = context.UserCountries.Where(u => u.UserID == model.UserID).FirstOrDefault();
            var         countryId   = context.Countries.Where(n => n.Name == model.Country).Select(i => i.ID).FirstOrDefault();

            if (userCountry.CountryID != countryId)
            {
                if (userCountry != null)
                {
                    context.UserCountries.Remove(userCountry);
                    context.SaveChanges();
                }
                UserCountry uCountry = new UserCountry();
                uCountry.UserID    = model.UserID;
                uCountry.CountryID = countryId;
                context.UserCountries.Add(uCountry);
            }

            var           userCourses = context.UserCourses.Where(u => u.UserID == model.UserID).ToList();
            List <string> uCourseIds  = new List <string>();

            foreach (var crId in userCourses)
            {
                uCourseIds.Add(crId.CourseID);
            }
            var           newCourses = model.Courses.Where(x => x.Checked == true).ToList();
            List <string> nCourseIds = new List <string>();

            foreach (var crId in newCourses)
            {
                nCourseIds.Add(crId.ID);
            }
            if (!uCourseIds.SequenceEqual(nCourseIds))
            {
                foreach (var crId in userCourses)
                {
                    UserCourse userCourse = context.UserCourses.Where(x => x.UserID == model.UserID && x.CourseID == crId.CourseID).FirstOrDefault();
                    context.UserCourses.Remove(userCourse);
                    context.SaveChanges();
                }
                foreach (var course in model.Courses)
                {
                    UserCourse userCourse = new UserCourse();
                    if (course.Checked == true)
                    {
                        userCourse.UserID   = user.ID;
                        userCourse.CourseID = course.ID;
                        userCourse.Checked  = true;
                        context.UserCourses.Add(userCourse);
                    }
                }
            }
            context.SaveChanges();

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