Exemplo n.º 1
0
        public ActionResult ViewUser()
        {
            string roleName = Request.QueryString["view"];

            Session["roleName"] = roleName;
            if (User.Identity.IsAuthenticated)
            {
                UserAddTableModel _UserAddTableModel = new UserAddTableModel();
                _UserAddTableModel.ApplicationUsers = Index();
                _UserAddTableModel.UpdateViewModel  = new UpdateViewModel();
                return(View(_UserAddTableModel));
            }
            return(View("RegisterAnony"));
        }
Exemplo n.º 2
0
        public async Task <ActionResult> Register([Bind(Exclude = "Photo")] RegisterViewModel model, HttpPostedFileBase Photo)
        {
            string roleName = Request.QueryString["add"];

            Session["roleName"] = roleName;
            bool flag = checkRegister(model);

            if (ModelState.IsValid)
            {
                if (Photo != null)
                {
                    model.Photo = new byte[Photo.ContentLength];
                    Photo.InputStream.Read(model.Photo, 0, Photo.ContentLength);
                }
                else
                {
                    // Get image path
                    string imgPath = Server.MapPath("~/Images/default.png");
                    // Convert image to byte array
                    model.Photo = System.IO.File.ReadAllBytes(imgPath);
                }

                var user = new ApplicationUser
                {
                    UserName    = model.UserName,
                    Email       = model.Email,
                    FirstName   = model.FirstName,
                    LastName    = model.LastName,
                    PhoneNumber = model.Phone,
                    Address     = model.Address,
                    Photo       = model.Photo
                };
                //var user = new ApplicationUser
                //{
                //    UserName = "******",
                //    Email = model.Email,
                //    FirstName = model.FirstName,
                //    LastName = model.LastName,
                //    PhoneNumber = model.Phone,
                //    Address = model.Address,
                //    Photo = model.Photo
                //};
                var result = await _userManager.CreateAsync(user, model.Password);

                //await UserManager.AddToRoleAsync(user.Id, "BasicAdmin");

                if (result.Succeeded && !flag)
                {
                    // Send Email Config
                    string code = await _userManager.GenerateEmailConfirmationTokenAsync(user.Id);

                    string msg = string.Format("Dear {0}<BR/>Thank you for your registration, please click on the below link to comlete your registration: <a href=\"{1}\" title=\"User Email Confirm\">{1}</a>", user.UserName, Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, Request.Url.Scheme));
                    // Email.Send("*****@*****.**", "Mail Configuration", msg);



                    //Add Users
                    if (Request.QueryString["add"] == "" || Request.QueryString["add"] == null || Request.QueryString["add"] == "Member")
                    {
                        roleName = "Member";
                        MemberModels member = new MemberModels()
                        {
                            status_id = 0, CanBorrow = false, DatedExceed = DateTime.Now, MemeberId = user.Id
                        };

                        db.Members.Add(member);
                        db.SaveChanges();
                    }

                    await _userManager.AddToRoleAsync(user.Id, roleName);

                    if (!User.IsInRole("Member") && User.Identity.IsAuthenticated)
                    {
                        EmployeeModel employee = new EmployeeModel()
                        {
                            Salary = model.Salary, HireDate = (DateTime)model.HireDate, EmployeeId = user.Id
                        };

                        db.Employees.Add(employee);
                        db.SaveChanges();
                    }


                    if (Request.QueryString["add"] == "" || Request.QueryString["add"] == null)// Anony
                    {
                        return(RedirectToAction("Login", "Account", new { view = roleName }));
                    }
                    return(PartialView("_Data", Index()));
                }
                AddErrors(result);
                ViewBag.ModelValid = result.Errors.First().ToString();
            }

            // If we got this far, something failed, redisplay form
            //return View(model);
            if (User.Identity.IsAuthenticated)
            {
                UserAddTableModel _UserAddTableModel = new UserAddTableModel();
                _UserAddTableModel.ApplicationUsers = Index();

                _UserAddTableModel.RegisterViewModel = new RegisterViewModel();
                // return new HttpStatusCodeResult(500);
                return(PartialView("_Data", Index()));
            }
            return(View("RegisterAnony", model));
        }