Exemplo n.º 1
0
        public async Task <ActionResult> ChangeProfilePicAsync(ChangeProfileViewModel model)
        {
            TARUser currentUser = UserManager.FindById(User.Identity.GetUserId());

            if (ModelState.IsValid)
            {
                if (model.ImageFile == null)
                {
                    model.ImagePath = currentUser.ImagePath;
                }
                else
                {
                    string fileName  = Path.GetFileNameWithoutExtension(model.ImageFile.FileName);
                    string extension = Path.GetExtension(model.ImageFile.FileName);
                    fileName        = fileName + DateTime.Now.ToString("yymmssfff") + extension;
                    model.ImagePath = "~/Content/Images/" + fileName;
                    fileName        = Path.Combine(Server.MapPath("~/Content/Images/"), fileName);
                    model.ImageFile.SaveAs(fileName);
                }

                currentUser.ImagePath   = model.ImagePath;
                currentUser.DisplayName = model.Name;

                var manager = new UserManager <TARUser>
                                  (new UserStore <TARUser>
                                      (new TARDBContext()));

                context.Entry(currentUser).State = System.Data.Entity.EntityState.Modified;
                await context.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            return(RedirectToAction("Index"));
        }
Exemplo n.º 2
0
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new TARUser {
                    UserName = model.Email, Email = model.Email
                };
                var result = await UserManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);

                    // For more information on how to enable account confirmation and password reset please visit https://go.microsoft.com/fwlink/?LinkID=320771
                    // Send an email with this link
                    // string 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 <a href=\"" + callbackUrl + "\">here</a>");

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

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
Exemplo n.º 3
0
        public void AddAdministrator(TARUserViewModel user)
        {
            // TARUser aRUser= SaveUser(user);
            TARUser aRUser = Mapper.Map <TARUser>(user);

            AddUserToRole(aRUser, "Admin");
        }
Exemplo n.º 4
0
 public void DeleteUser(TARUserViewModel user)
 {
     using (var scope = new TransactionScope())
     {
         TARUser aRUser = Mapper.Map <TARUser>(user);
         _unitOfWork.UserRepository.Delete(aRUser);
         _unitOfWork.Save();
         scope.Complete();
     }
 }
Exemplo n.º 5
0
        public ActionResult ChangeProfilePic()
        {
            TARUser model = UserManager.FindById(User.Identity.GetUserId());

            ChangeProfileViewModel c = new ChangeProfileViewModel {
                Name = model.DisplayName
            };

            return(PartialView("_ChangeProfilePic", c));
        }
Exemplo n.º 6
0
        public void UpdateUser(TARUserViewModel user)
        {
            TARUser tARUser = Mapper.Map <TARUserViewModel, TARUser>(user);

            using (var scope = new TransactionScope())
            {
                _unitOfWork.UserRepository.Update(tARUser);
                _unitOfWork.Save();
                scope.Complete();
            }
        }
Exemplo n.º 7
0
 private TARUser SaveUser(TARUserViewModel user)
 {
     using (var scope = new TransactionScope())
     {
         TARUser aUser = Mapper.Map <TARUser>(user);
         aUser.CreatedAt = DateTime.Now;
         _unitOfWork.UserRepository.Insert(aUser);
         _unitOfWork.Save();
         return(aUser);
     }
 }
Exemplo n.º 8
0
 private void RemoveUserToRole(TARUser tARUser, string RoleName)
 {
     using (var scope = new TransactionScope())
     {
         IdentityUserRole userRole = new IdentityUserRole();
         IdentityRole     role     = _unitOfWork.RoleRepository.GetWithInclude(m => m.Name == RoleName, "Users").First();
         userRole = tARUser.Roles.FirstOrDefault(m => m.RoleId == role.Id);
         if (userRole != null)
         {
             role.Users.Remove(userRole);
         }
         _unitOfWork.Save();
         scope.Complete();
     }
 }
Exemplo n.º 9
0
 private void AddUserToRole(TARUser tARUser, string RoleName)
 {
     using (var scope = new TransactionScope())
     {
         IdentityUserRole userRole = new IdentityUserRole();
         string           roleid   = _unitOfWork.RoleRepository.GetFirst(m => m.Name == RoleName)?.Id;
         userRole.RoleId = roleid;
         userRole.UserId = tARUser.Id;
         if (!tARUser.Roles.Any(m => m.RoleId == roleid))
         {
             tARUser.Roles.Add(userRole);
         }
         _unitOfWork.Save();
         scope.Complete();
     }
 }
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                if (model.ImageFile == null)
                {
                    model.ImagePath = "~/Content/Images/Empty_pic.png";
                }
                else
                {
                    string fileName  = Path.GetFileNameWithoutExtension(model.ImageFile.FileName);
                    string extension = Path.GetExtension(model.ImageFile.FileName);
                    fileName        = fileName + DateTime.Now.ToString("yymmssfff") + extension;
                    model.ImagePath = "~/Content/Images/" + fileName;
                    fileName        = Path.Combine(Server.MapPath("~/Content/Images/"), fileName);
                    model.ImageFile.SaveAs(fileName);
                }

                var user = new TARUser {
                    CreatedAt = DateTime.Now, LastModifiedAt = DateTime.Now, DisplayName = model.Name, ImagePath = model.ImagePath, UserName = model.Email, Email = model.Email
                };
                var result = await UserManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);

                    await UserManager.AddToRoleAsync(user.Id, "Member");

                    /* For more information on how to enable account confirmation and password reset please visit https://go.microsoft.com/fwlink/?LinkID=320771
                     * Send an email with this link
                     * string 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 <a href=\"" + callbackUrl + "\">here</a>"); */


                    ModelState.Clear();

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

            /* If we got this far, something failed, redisplay form */

            return(View(model));
        }
        /*<summary>
         * Create and edit pitStops for the eventId
         * </summary>
         * <returns>
         * List of pitStops created/updated
         * </returns>*/
        /// <param name="pitStop"></param>
        /// <param name="currentUser"></param>
        /// <param name="eventId"></param>
        /// <param name="userId"></param>
        public List <PitStop> CreatePitStopList(PitStop pitStop, string currentUser, int eventId, string userId)
        {
            if (pitStop.PitStopID > 0)
            {
                PitStop editPitStops = db.PitStops.SingleOrDefault(x => x.PitStopID == pitStop.PitStopID);
                editPitStops.PitStopName    = pitStop.PitStopName;
                editPitStops.SequenceNumber = pitStop.SequenceNumber;
                editPitStops.Address        = pitStop.Address;
                editPitStops.Latitude       = pitStop.Latitude;
                editPitStops.Longitude      = pitStop.Longitude;
                editPitStops.LastModifiedBy = currentUser;
                Event currentEvent = db.Events.SingleOrDefault(x => x.EventID == eventId);
                pitStop.Event = currentEvent;


                TARUser staffInfo = db.Users.FirstOrDefault(d => d.Id == userId);
                editPitStops.Staff = staffInfo;


                editPitStops.LastModifiedAt = DateTime.Now;
                db.SaveChanges();

                pitStop.CreatedBy = currentUser;
                //db.PitStops.Add(pitStop);

                db.SaveChanges();
            }
            else
            {
                pitStop.CreatedBy = currentUser;
                pitStop.Staff.Id  = userId;
                Event   currentEvent = db.Events.SingleOrDefault(x => x.EventID == eventId);
                TARUser staffInfo    = db.Users.FirstOrDefault(d => d.Id == userId);
                pitStop.Staff = staffInfo;
                pitStop.Event = currentEvent;
                db.PitStops.Add(pitStop);
                db.SaveChanges();
            }

            return(getPitStopOfEvent(eventId));
        }
Exemplo n.º 12
0
        public async Task <ActionResult> ExternalLoginConfirmation(ExternalLoginConfirmationViewModel model, string returnUrl)
        {
            if (User.Identity.IsAuthenticated)
            {
                return(RedirectToAction("Index", "Manage"));
            }

            if (ModelState.IsValid)
            {
                // Get the information about the user from the external login provider
                var info = await AuthenticationManager.GetExternalLoginInfoAsync();

                if (info == null)
                {
                    return(View("ExternalLoginFailure"));
                }
                var user = new TARUser {
                    UserName = model.Email, Email = model.Email
                };
                var result = await UserManager.CreateAsync(user);

                if (result.Succeeded)
                {
                    result = await UserManager.AddLoginAsync(user.Id, info.Login);

                    if (result.Succeeded)
                    {
                        await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);

                        return(RedirectToLocal(returnUrl));
                    }
                }
                AddErrors(result);
            }

            ViewBag.ReturnUrl = returnUrl;
            return(View(model));
        }
        public async System.Threading.Tasks.Task <ActionResult> DeleteMember(int memberId)
        {
            int eventId = Convert.ToInt32(Session["eventId"]);

            Member singleMember = memberBAL.GetMemberName(memberId);
            int    teamId       = singleMember.Team.TeamID;
            var    UserManager  = HttpContext.GetOwinContext().GetUserManager <ApplicationUserManager>();

            var user = await UserManager.FindByNameAsync(singleMember.MemberName);

            var userId = user.Id;

            TARUser currentUser = UserManager.FindById(userId);

            currentUser.isAssigned      = false;
            db.Entry(currentUser).State = System.Data.Entity.EntityState.Modified;
            await db.SaveChangesAsync();

            memberBAL.deleteMember(memberId);
            List <Member> members = memberBAL.getMembers(teamId, eventId);

            return(PartialView("_MemberList", members));
        }
        public async System.Threading.Tasks.Task <ActionResult> AddMember(String email)
        {
            int teamId  = Convert.ToInt32(Session["teamIdForMember"]);
            int eventId = Convert.ToInt32(Session["eventIdForMember"]);

            //String email = tarUserViewModel.Email;

            List <Member> members = memberBAL.AddMembers(email, teamId, eventId);

            var UserManager = HttpContext.GetOwinContext().GetUserManager <ApplicationUserManager>();

            var user = await UserManager.FindByNameAsync(email);

            var userId = user.Id;

            TARUser currentUser = UserManager.FindById(userId);

            currentUser.isAssigned      = true;
            db.Entry(currentUser).State = System.Data.Entity.EntityState.Modified;
            await db.SaveChangesAsync();

            return(PartialView("_MemberList", members));
        }
        public async System.Threading.Tasks.Task <ActionResult> DeleteTeam(int teamId)
        {
            int eventId = Convert.ToInt32(Session["eventId"]);

            List <Member> members = memberBAL.getMembersByTeam(teamId);

            for (int i = 0; i < members.Count(); i++)
            {
                var UserManager = HttpContext.GetOwinContext().GetUserManager <ApplicationUserManager>();

                var user = await UserManager.FindByNameAsync(members[i].MemberName);

                var userId = user.Id;

                TARUser currentUser = UserManager.FindById(userId);

                currentUser.isAssigned      = false;
                db.Entry(currentUser).State = System.Data.Entity.EntityState.Modified;
                await db.SaveChangesAsync();
            }
            teamBAL.DeleteTeam(teamId);

            return(PartialView("LoadTeams", teamBAL.GetTeams(eventId)));
        }
Exemplo n.º 16
0
        public void MoveMembertoAdmin(TARUserViewModel user)
        {
            TARUser tARUser = Mapper.Map <TARUserViewModel, TARUser>(user);

            AddUserToRole(tARUser, "Admin");
        }
Exemplo n.º 17
0
        public void MoveMembertoAdmin(string userid)
        {
            TARUser tARUser = _unitOfWork.UserRepository.GetByID(userid);

            AddUserToRole(tARUser, "Admin");
        }
Exemplo n.º 18
0
        public void MoveMembertoStaff(TARUserViewModel user)
        {
            TARUser tARUser = Mapper.Map <TARUserViewModel, TARUser>(user);

            AddUserToRole(tARUser, "Staff");
        }
Exemplo n.º 19
0
        public void RemoveMemberasAdmin(TARUserViewModel user)
        {
            TARUser tARUser = Mapper.Map <TARUserViewModel, TARUser>(user);

            RemoveUserToRole(tARUser, "Admin");
        }
Exemplo n.º 20
0
        public void AddStaff(TARUserViewModel user)
        {
            TARUser aRUser = Mapper.Map <TARUser>(user);

            AddUserToRole(aRUser, "Staff");
        }
Exemplo n.º 21
0
        public void AddMember(TARUserViewModel user)
        {
            TARUser aRUser = Mapper.Map <TARUser>(user);

            AddUserToRole(aRUser, "Member");
        }
Exemplo n.º 22
0
        public void RemoveMemberasStaff(TARUserViewModel user)
        {
            TARUser tARUser = Mapper.Map <TARUserViewModel, TARUser>(user);

            RemoveUserToRole(tARUser, "Staff");
        }
Exemplo n.º 23
0
        public void RemoveMemberasStaff(string userid)
        {
            TARUser tARUser = _unitOfWork.UserRepository.GetByID(userid);

            RemoveUserToRole(tARUser, "Staff");
        }