public AccountRepository() { if (SnippetCacheModelContext == null) SnippetCacheModelContext = new SnippetCacheDataServiceClient(); if (AspNetAccountServices == null) AspNetAccountServices = new AccountServicesDataContext(); }
public void Init() { _dataClient = new SnippetCacheDataServiceClient("BasicHttpBinding_ISnippetCacheDataService"); }
public ActionResult Register(RegisterModel model) { if (ModelState.IsValid) { // Attempt to register the user MembershipCreateStatus createStatus; Membership.CreateUser(model.UserName, model.Password, model.Email, null, null, true, null, out createStatus); if (createStatus == MembershipCreateStatus.Success) { // Put into default Role "RegisteredUser". "Administrators" are flagged manually // in the database. _accountRepository.AssignUserToRole(model.UserName, "RegisteredUser"); // Add user data to the custom model database var snippetData = new SnippetCacheDataServiceClient(); var aspnetData = new AccountRepository(snippetData); const string defaultImagePath = "~/Content/images/default_user_avatar.png"; { using ( var avatarStream = new FileStream(System.Web.HttpContext.Current.Server.MapPath(defaultImagePath), FileMode.Open)) { var buffer = new byte[avatarStream.Length]; avatarStream.Read(buffer, 0, (int) avatarStream.Length); var request = new CreateNewUserRequest { LoginName = model.UserName, Email = model.Email, FormsAuthId = aspnetData.GetUserGuid(model.UserName), //AvatarImage = Encoding.UTF8.GetBytes(Url.Content("~/Content/images/default_user_avatar.png")) AvatarImage = buffer }; CreateNewUserResponse response = snippetData.CreateNewUser(request); if (!response.Success) { const string message = "Failure creating new user."; var e = new Exception(response.FailureInformation); Logger.LogError(message, e); throw new AuthenticationException(message, e); } // Create welcome message for user's inbox _managerService.CreateNewUserNotification(new NotificationDTO { NotificationType_Id = 1, User_FormsAuthId = response.FormsAuthId, User_Id = response.Id, Text = "Welcome to SnippetCache!", DateCreated = DateTime.UtcNow }); } FormsAuthentication.SetAuthCookie(model.UserName, false); } ; return RedirectToAction("Index", "Home"); } } else { ModelState.AddModelError("Error", "Please correct any issues and try again."); } // If we got this far, something failed, redisplay form return View(model); }