Ejemplo n.º 1
0
        //==========================================================



        //==========================================================
        // Создание профиля
        // Метод Get
        public ActionResult Create(string returnUrl)
        {
            ViewUserProfileCreate profile = new ViewUserProfileCreate();

            // создания списка выбора пола
            profile.GenderList = new SelectList(db.UserGenders.OrderBy(u => u.Id).ToList(), "Id", "Gender");
            ViewBag.ReturnUrl  = returnUrl;
            return(View(profile));
        }
Ejemplo n.º 2
0
        public ActionResult Create(ViewUserProfileCreate model, string returnUrl)
        {
            bool correct = true;

            if (ModelState.IsValid)
            {
                // проверка номера телефона
                if (model.ContactPhoneNumber != null)
                {
                    correct = DataChecking.Phone(model.ContactPhoneNumber, model.ContactPhoneCountryCode);
                    if (!correct)
                    {
                        ViewBag.ErrorCorrectPhones = "Один или несколько телефонов указаны неверно";
                    }
                }

                // проверка ссылок соц сетей
                if (model.ContactSocialNetworkLink != null)
                {
                    correct = DataChecking.SosialNetworkLink(model.ContactSocialNetworkLink);
                    if (!correct)
                    {
                        ViewBag.ErrorCorrectSocialNetworkLink = "Одна или несколько ссылок указаны неверно";
                    }
                }

                // если ошибок нет - сохранение профиля пользователя
                if (correct)
                {
                    string currentUserId = HttpContext.User.Identity.GetUserId();
                    ApplicationUserManager userManager = new ApplicationUserManager(new UserStore <ApplicationUser>(db));
                    ApplicationUser        currentUser = userManager.FindById(currentUserId);

                    currentUser.UserContactsPhones  = ConvertPhones(currentUser, model.ContactPhoneNumber, model.ContactPhoneCountryCode);
                    currentUser.UserContactsSkypes  = ConvertSkypes(currentUser, model.ContactSkype);
                    currentUser.UserContactsSocials = ConvertSocials(currentUser, model.ContactSocialNetworkLink);

                    //сохранение фото пользователя
                    //получение имя файла
                    string userPhoto = "";
                    if (model.FilePhoto != null)
                    {
                        string dirPath = HttpContext.Server.MapPath("~/Content/Images/UserPhoto");
                        userPhoto = Image.Save(
                            model.FilePhoto,
                            dirPath,
                            null,
                            currentUser.Id);
                    }

                    //пол пользователя
                    if (model.SelectedId != null)
                    {
                        UserGender gender = db.UserGenders.Find(model.SelectedId);
                        currentUser.UserGender = gender;
                        if (userPhoto == "")
                        {
                            if (gender.Gender == "Мужской")
                            {
                                userPhoto = "male200.jpg";
                            }
                            if (gender.Gender == "Женский")
                            {
                                userPhoto = "female200.jpg";
                            }
                        }
                    }
                    else
                    {
                        if (userPhoto == "")
                        {
                            userPhoto = "unknown200.jpg";
                        }
                    }

                    currentUser.UserProfile = new UserProfile
                    {
                        //фио
                        Name       = model.Name,
                        Patronymic = model.Patronymic,
                        Surname    = model.Surname,
                        //фото
                        Photo = userPhoto,
                        //адрес проживания
                        Country   = model.Country,
                        City      = model.City,
                        ZipCode   = model.ZipCode,
                        Street    = model.Street,
                        House     = model.House,
                        Apartment = model.Apartment,
                        //паспортные данные
                        PassportNumberAndSeries = model.PassportNumberAndSeries,
                        DateOfBirth             = model.DateOfBirth,
                        PassportIssuingDate     = model.PassportIssuingDate
                    };
                    userManager.Update(currentUser);
                    //db.SaveChanges();
                    if (returnUrl != null)
                    {
                        return(RedirectToLocal(returnUrl));
                    }
                    return(RedirectToAction("Index", "Profile", null));
                }
            }
            // создания списка выбора пола
            model.GenderList = new SelectList(db.UserGenders.OrderBy(u => u.Id).ToList(), "Id", "Gender", model.SelectedId);

            ViewBag.ReturnUrl = returnUrl;
            return(View(model));
        }