Ejemplo n.º 1
0
        public ActionResult RegisterAgent(RegisterAgentViewModel model)
        {
            if (ModelState.IsValid)
            {
                // Attempt to register the user
                try
                {
                    if (WebSecurity.UserExists(model.Register.UserName))
                    {
                        this.Error(Resource.val_UserExists);
                    }
                    else
                    {
                        IBLUser bUser = new BLUser(LogError.SLogPath);
                        if (bUser.ExistEmail(model.Register.Email))
                        {
                            this.Error(string.Format(Resource.val_UserEmailExists, model.Register.Email));
                        }
                        else
                        {
                            WebSecurity.CreateUserAndAccount(model.Register.UserName, model.Register.Password);
                            model.Register.UserId = WebSecurity.GetUserId(model.Register.UserName);
                            if (model.archivo != null)
                            {
                                string serverpath = Server.MapPath("~") + ConfigurationManager.AppSettings["urlImages"].ToString();
                                model.Register.PhotoProfile = DateTime.Now.ToString("yyyyMMdd") + "_" + model.Register.UserId + "." + model.archivo.ContentType.Split('/')[1].ToString();
                                model.archivo.SaveAs(serverpath + model.Register.PhotoProfile);
                            }
                            model.Register.TypeOfUser = enumTypeOfUsers.Agent;
                            setLocationNames(model.Register);
                            foreach (var item in model.Register.PassportHolders)
                            {
                                var place = Helper.Helper.getGlobalInformation().GetCountry(item.Value);
                                if (place != null)
                                {
                                    item.Text = place.Text;
                                }
                            }

                            bUser.SaveUser(model.Register);
                            WebSecurity.Login(model.Register.UserName, model.Register.Password);
                            IBLUser bl  = new BLUser(this.LogError.SLogPath);
                            var     usr = bl.GetUserDetails(WebSecurity.GetUserId(model.Register.UserName));
                            Helper.Helper.CurrentUser = usr;
                            return(RedirectToAction("Agent", "DashBoard"));
                        }
                    }
                }
                catch (Exception ex)
                {
                    ProcessExection("Web.AccountController.RegisterApplicant", ex, Resource.Error_RegisterApplicant);
                }
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
        public async Task <ActionResult> RegisterAgent(RegisterAgentViewModel model, HttpPostedFileBase uploadImage)
        {
            var isValid = ModelState.IsValid;
            var hasFile = uploadImage != null && uploadImage.ContentLength > 0;

            if (ModelState.IsValid && hasFile)
            {
                if (!uploadImage.ContentType.StartsWith("image/"))
                {
                    isValid = false;
                    ModelState.AddModelError("ProfileImage", "Invalid file");
                }
            }
            if (isValid)
            {
                var user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email
                };
                var result = await UserManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    UserManager.AddToRole(user.Id, "Agent");
                    await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);

                    string imageFileName = null;
                    if (hasFile)
                    {
                        var folderPath     = Server.MapPath("~/UserContent");
                        var extentionIndex = uploadImage.FileName.LastIndexOf(".");
                        var imageExtention = uploadImage.FileName.Substring(extentionIndex);
                        imageFileName = user.Id + imageExtention;
                        var imageFilePath = Path.Combine(folderPath, imageFileName);
                        uploadImage.SaveAs(imageFilePath);
                    }


                    var agent = new AgentAccount {
                        AboutMeText       = model.AboutMeText,
                        City              = model.City,
                        Company           = model.Company,
                        Email             = model.Email,
                        FacebookLink      = model.FacebookLink,
                        FirstName         = model.FirstName,
                        InstagramLink     = model.InstagramLink,
                        LastName          = model.LastName,
                        LicensedState     = model.LicensedState,
                        LinkedInLink      = model.LinkedInLink,
                        PhoneCell         = model.PhoneCell,
                        PhoneOffice       = model.PhoneOffice,
                        ProfileImage      = imageFileName,
                        RealEstateLicense = model.RealEstateLicense,
                        StateProv         = model.StateProv,
                        StreetName        = model.StreetName,
                        StreetNumber      = model.StreetNumber,
                        SuiteNumber       = model.SuiteNumber,
                        TwitterLink       = model.TwitterLink,
                        WebsiteLink       = model.WebsiteLink,
                        YearsOfExp        = model.YearsOfExp,
                        ZipCode           = model.ZipCode,
                        Id          = user.Id,
                        DateCreated = DateTime.Now
                    };

                    db.AgentAccounts.Add(agent);
                    db.SaveChanges();

                    return(RedirectToAction("Index", "Home"));
                }
                AddErrors(result);
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
Ejemplo n.º 3
0
        public ActionResult RegisterAgent()
        {
            RegisterAgentViewModel registerModel = new RegisterAgentViewModel();

            return(View(registerModel));
        }