public async Task <ActionResult> RegisterCustomer(CustomerRegisterViewModel model) { if (ModelState.IsValid) { bool ajaxValidationResult = CaptchaControl.AjaxValidate (model.CaptchaId, model.CaptchaInput, model.InstanceId); if (ajaxValidationResult) { try { // Set customer details Customer customer = new Customer() { CompanyName = model.CompanyName }; var user = new PaskolUser { RegisteredDate = DateTime.Now, UserName = model.Name, Email = model.Email, Customer = customer, UserType = UserType.Customer, Status = UserStatus.Active }; // Create user var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { // assign user to role var roleResoult = await UserManager.AddToRoleAsync(user.Id, UserType.Customer.ToString()); // Sign in await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false); // email to customer EmailService.RegisterCustomer(model.Email, model.Name, model.Password); return(Json(new { suceeded = true, UserName = model.Name })); } AddErrors(result); } catch (Exception ex) { return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, "ארעה שגיאה אנא פנה לתמיכה")); } } else { // handle not valid captcha _errors.Add(new KeyValuePair <string, string>("Captcha", "")); } } return(Json(new { suceeded = false, errors = _errors })); }
public async Task <ActionResult> RegisterArtist(ArtistRegisterViewModel model) { if (ModelState.IsValid) { bool ajaxValidationResult = CaptchaControl.AjaxValidate (model.CaptchaId, model.CaptchaInput, model.InstanceId); if (ajaxValidationResult) { try { Artist artist = new Artist() { ContactManName = model.ContactManName, ContactManPhone = model.ContactManPhone, ParticipateInAuction = true }; var user = new PaskolUser { RegisteredDate = DateTime.Now, UserName = model.Name, Email = model.Email, Artist = artist, UserType = UserType.Artist, Status = UserStatus.WaitingNewArtist }; var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { // assign user artist to role var roleResoult = await UserManager.AddToRoleAsync(user.Id, UserType.Artist.ToString()); await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false); // Add to confirmation waiting _conSrv.Add(new Confirmation() { ConfirmType = ConfirmType.NewArtist, DateUpdate = DateTime.Now, EntityId = user.Id, Name = user.UserName }); // email to artist EmailService.RegisterArtist(model.Email, model.Name, model.Password); await _pdfService.ArtistPermissionAgreementAsync(DateTime.Now, user.UserName, user.Email, user.Id, WebConf.FSBaseRoute); return(Json(new { suceeded = true, UserName = model.Name })); } AddErrors(result); } catch (Exception ex) { return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, "ארעה שגיאה אנא פנה לתמיכה")); } } else { // handle not valid captcha _errors.Add(new KeyValuePair <string, string>("Captcha", "")); } } return(Json(new { suceeded = false, errors = _errors })); }