Beispiel #1
0
        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 }));
        }
Beispiel #2
0
        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 }));
        }