Beispiel #1
0
        public ActionResult Register(UserRegisterViewModel models, HttpPostedFileBase uploadImage)
        {
            var user = _userService.GetAllUsers().Any(u => u.Email.Equals(models.Email));
            if (user)
            {
                ModelState.AddModelError("", "User whith this address already registered.");
                return View(models);
            }

            if (models.Birthday > DateTime.Now || models.Birthday < DateTime.Now.AddYears(-60))
            {
                ModelState.AddModelError("", "Incorrect date birthday.");
                return View(models);
            }

            if (ModelState.IsValid)
            {
                SelectPhoto(models, uploadImage);

                var membershipUser = ((CustomMembershipProvider)Membership.Provider)
                     .CreateUser(models.ToUser());
                if (membershipUser != null)
                {
                    FormsAuthentication.SetAuthCookie(models.Email, false);
                    return RedirectToAction("MainPage", "Category");
                }
                ModelState.AddModelError("", "Error registration.");

                return View(models);
            }

            return View(models);
        }
Beispiel #2
0
        /// <summary>
        /// The method sets the user's photos.
        /// </summary>
        private void SelectPhoto(UserRegisterViewModel models, HttpPostedFileBase uploadImage)
        {
            byte[] imageData;
            if (ReferenceEquals(uploadImage, null))
            {
                var filePath = Server.MapPath("~/Image/NoPhoto.jpg");
                using (Stream fstream = System.IO.File.OpenRead(filePath))
                {
                    using (var binaryReader = new BinaryReader(fstream))
                    {
                        imageData = binaryReader.ReadBytes((int)fstream.Length);
                    }
                }
                models.MimeType = "image/jpeg";
            }
            else
            {
                using (var binaryReader = new BinaryReader(uploadImage.InputStream))
                {
                    imageData = binaryReader.ReadBytes(uploadImage.ContentLength);
                }
                models.MimeType = uploadImage.ContentType;
            }

            models.Photo = imageData;
        }