public async Task<ActionResult> Register(RegisterViewModel model, HttpPostedFileBase profileImage)
 {
     string imagePath = null;
     if(profileImage != null && profileImage.ContentLength > 0)
     {
         var imageFileName = Path.GetFileName(profileImage.FileName);
         imagePath = FileHelper.NextAvailableFilename(Path.Combine(Server.MapPath(ConfigurationManager.AppSettings["UsersImgPath"]), imageFileName));
         profileImage.SaveAs(imagePath);
         imagePath = Path.GetFileName(imagePath);
     }
     if (ModelState.IsValid)
     {
         var checkUserEmail = userMgr.ReadUser(model.Email);
         if(checkUserEmail != null)
         {
             ModelState.AddModelError("Email", "Email is already in use");
             return View(model);
         }
         var user = userMgr.CreateUser(model.Email, model.LastName, model.FirstName, model.NickName, imagePath);
         var appUser = new ApplicationUser { UserName = model.Email, Email = model.Email };
         var result = await UserManager.CreateAsync(appUser, model.Password);
         if (result.Succeeded)
         {
             UserManager.AddToRole(appUser.Id, "User");
             await SignInManager.SignInAsync(appUser, isPersistent: false, rememberBrowser: false);
             return RedirectToAction("Index", "Home");
         }
         userMgr.DeleteUser(user.Id);
         AddErrors(result);
         ModelState.AddModelError("Password", "Password must contain a capital and a number");
     }
     // If we got this far, something failed, redisplay form
     
     return View(model);
 }