Exemple #1
0
        //GET: Application/Apply/[openFriendshipId]
        public ActionResult Apply(int openFriendshipId)
        {
            if (User.IsInRole("Friend"))
            {
                var userId = User.Identity.GetUserId();

                if (db.UserDetails.Find(userId).ResumeFilename == null)
                {
                    TempData["ErrorMessage"] = "Please upload a resume before applying";
                    TempData["ApplyingTo"]   = openFriendshipId;
                    return(RedirectToAction("Index", "Manage"));
                }

                Application application = new Application();
                application.ApplicationStatusId = 1;
                application.ApplicationDate     = DateTime.Now;
                application.UserId           = userId;
                application.OpenFriendshipId = openFriendshipId;
                application.ResumeFilename   = db.UserDetails.Find(userId).ResumeFilename;

                db.Applications.Add(application);
                db.SaveChanges();
                return(RedirectToAction("Index", "OpenFriendships"));
            }

            return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
        }
        public ActionResult Create([Bind(Include = "FriendshipId,Title,Description")] Friendship friendship)
        {
            if (ModelState.IsValid)
            {
                db.Friendships.Add(friendship);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(friendship));
        }
        public ActionResult Create([Bind(Include = "ApplicationStatusId,StatusName,StatusDescription")] ApplicationStatus applicationStatus)
        {
            if (ModelState.IsValid)
            {
                db.ApplicationStatuses.Add(applicationStatus);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(applicationStatus));
        }
        public ActionResult Create([Bind(Include = "OpenFriendshipId,FriendshipId,CliqueId")] OpenFriendship openFriendship)
        {
            if (ModelState.IsValid)
            {
                db.OpenFriendships.Add(openFriendship);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            string userId = User.Identity.GetUserId();

            ViewBag.CliqueId     = new SelectList(db.Cliques.Where(c => c.BetaId == userId), "CliqueId", "Name", openFriendship.CliqueId);
            ViewBag.FriendshipId = new SelectList(db.Friendships, "FriendshipId", "Title", openFriendship.FriendshipId);
            return(View(openFriendship));
        }
Exemple #5
0
        public ActionResult Create([Bind(Include = "CliqueId,Name,City,State,BetaId")] Clique clique)
        {
            if (ModelState.IsValid)
            {
                db.Cliques.Add(clique);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            var managerRoleId = db.AspNetRoles.Where(r => r.Name == "Beta").Select(r => r.Id).Single();
            var betaUsers     = db.UserDetails.Where(x => db.AspNetUserRoles.Where(y => y.RoleId == managerRoleId).Select(y => y.UserId).Contains(x.UserId));

            ViewBag.BetaId = new SelectList(betaUsers, "UserId", "FullName", clique.BetaId);

            return(View(clique));
        }
        public async Task <ActionResult> Register(RegisterViewModel model, HttpPostedFileBase resumeFile)
        {
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email
                };
                var result = await UserManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    // Add new user to the Friend role
                    await UserManager.AddToRolesAsync(user.Id, "Friend");

                    #region Dealing with custom user details
                    UserDetail newUserDetails = new UserDetail();
                    newUserDetails.UserId    = user.Id;
                    newUserDetails.FirstName = model.FirstName;
                    newUserDetails.LastName  = model.LastName;

                    // Handling resume upload
                    if (resumeFile != null)
                    {
                        string fileName = resumeFile.FileName;

                        string ext = fileName.Substring(fileName.LastIndexOf('.')).ToLower();

                        if (ext.Equals(".pdf"))
                        {
                            fileName = System.Guid.NewGuid() + ext;
                            resumeFile.SaveAs(Server.MapPath("~/Content/Resumes/" + fileName));
                        }
                        else
                        {
                            // Handle non-PDFs
                            TempData["ErrorMessage"] = "Resumes must be a PDF";
                        }

                        newUserDetails.ResumeFilename = fileName;
                    }

                    FriendlyEntities db = new FriendlyEntities();
                    db.UserDetails.Add(newUserDetails);
                    db.SaveChanges();
                    #endregion

                    //var code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
                    //var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                    //await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking this link: <a href=\"" + callbackUrl + "\">link</a>");
                    //ViewBag.Link = callbackUrl;
                    return(RedirectToAction("Login"));
                }
                AddErrors(result);
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
Exemple #7
0
        public ActionResult Index(UserDetail model, HttpPostedFileBase resumeFile, int?openFriendshipId)
        {
            if (ModelState.IsValid)
            {
                UserDetail userDetails = db.UserDetails.Find(User.Identity.GetUserId());
                if (userDetails == null)
                {
                    return(HttpNotFound());
                }
                userDetails.FirstName = model.FirstName;
                userDetails.LastName  = model.LastName;
                // Handling resume upload
                if (resumeFile != null)
                {
                    string fileName = resumeFile.FileName;

                    string ext = fileName.Substring(fileName.LastIndexOf('.')).ToLower();

                    if (ext.Equals(".pdf"))
                    {
                        fileName = System.Guid.NewGuid() + ext;
                        resumeFile.SaveAs(Server.MapPath("~/Content/Resumes/" + fileName));
                        userDetails.ResumeFilename = fileName;
                    }
                    else
                    {
                        // TODO: handle non-PDFs
                        TempData["ErrorMessage"] = "Resumes must be a PDF";

                        if (openFriendshipId != null)
                        {
                            TempData["ErrorMessage"] += "\nPlease upload a resume before applying";
                            TempData["ApplyingTo"]    = openFriendshipId;
                        }
                    }
                }

                db.SaveChanges();

                if (openFriendshipId != null)
                {
                    return(RedirectToAction("Apply", "Applications", new { openFriendshipId }));
                }

                return(RedirectToAction("Index"));
            }
            return(View(model));
        }
        public async Task <ActionResult> Create(RegisterViewModel userViewModel, params string[] selectedRoles)
        {
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser {
                    UserName = userViewModel.Email, Email = userViewModel.Email
                };
                var adminresult = await UserManager.CreateAsync(user, userViewModel.Password);

                //Add User to the selected Roles
                if (adminresult.Succeeded)
                {
                    if (selectedRoles != null)
                    {
                        var result = await UserManager.AddToRolesAsync(user.Id, selectedRoles);

                        if (!result.Succeeded)
                        {
                            ModelState.AddModelError("", result.Errors.First());
                            ViewBag.RoleId = new SelectList(await RoleManager.Roles.ToListAsync(), "Name", "Name");
                            return(View());
                        }
                    }

                    #region Dealing with custom user details
                    UserDetail newUserDetails = new UserDetail();
                    newUserDetails.UserId    = user.Id;
                    newUserDetails.FirstName = userViewModel.FirstName;
                    newUserDetails.LastName  = userViewModel.LastName;

                    FriendlyEntities db = new FriendlyEntities();
                    db.UserDetails.Add(newUserDetails);
                    db.SaveChanges();
                    #endregion
                }
                else
                {
                    ModelState.AddModelError("", adminresult.Errors.First());
                    ViewBag.RoleId = new SelectList(RoleManager.Roles, "Name", "Name");
                    return(View());
                }
                return(RedirectToAction("Index"));
            }
            ViewBag.RoleId = new SelectList(RoleManager.Roles, "Name", "Name");
            return(View());
        }