Exemple #1
0
        //POST : /api/auth/Login
        public async Task <IActionResult> Login(LoginVM model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(Ok(new { status = false, message = "The parameters are not correct" }));
                }
                var user = await _userManager.FindByEmailAsync(model.UserName);

                if (user == null)
                {
                    return(NotFound(new { status = false, message = "Sorry,Could not found the account with " + model.UserName }));
                }
                if (user != null && await _userManager.CheckPasswordAsync(user, model.Password))
                {
                    //check email confirmation
                    if ((!_userManager.IsEmailConfirmedAsync(user).Result) || (!_userManager.IsPhoneNumberConfirmedAsync(user).Result))
                    {
                        //changes to be made in responsecode
                        //return Ok(new { status = false, message = "Email is not confirmed" });
                    }

                    // change the security stamp only on correct username/password
                    await _userManager.UpdateSecurityStampAsync(user);

                    //get role assigned to the user
                    var roles = await _userManager.GetRolesAsync(user);

                    var accessToken = GlobalMethods.GenerateAccessToken(user, roles.FirstOrDefault(), _appSettings);

                    //create refresh token
                    user.RefreshToken = GlobalMethods.GenerateRefreshToken();

                    UserInfoVM userInfo = new UserInfoVM()
                    {
                        Id               = user.Id,
                        Name             = user.FirstName + " " + user.LastName,
                        Email            = user.Email,
                        AccessToken      = accessToken,
                        UserRole         = roles.FirstOrDefault(),
                        IsEmailConfirmed = user.EmailConfirmed,
                        IsPhoneConfirmed = user.PhoneNumberConfirmed
                    };

                    await _userManager.UpdateAsync(user);

                    return(Ok(new { status = true, message = "successfull login", userInfo }));
                }

                else
                {
                    return(Unauthorized(new { status = false, message = "username/password is incorrect" }));
                }
            }
            catch (Exception ae)
            {
                return(BadRequest(new { status = false, message = ae.Message.ToString() }));
            }
        }
        public ActionResult Edit(string id)
        {
            var user = _context.Users.SingleOrDefault(c => c.Id == id);

            if (user != null)
            {
                var viewModel = new UserInfoVM
                {
                    UserId       = user.Id,
                    FirstName    = user.FirstName,
                    LastName     = user.LastName,
                    DateOfBirth  = user.DateOfBirth,
                    GenderId     = user.GenderId,
                    Country      = user.Country,
                    Region       = user.Region,
                    City         = user.City,
                    Street       = user.Street,
                    StreetNumber = user.StreetNumber,
                    ZipCode      = user.ZipCode,
                    Genders      = _context.Genders.ToList()
                };

                ViewBag.Name = "Edit Profile";
                return(View("UserProfile", viewModel));
            }
            return(RedirectToAction("Login", "Account"));
        }
Exemple #3
0
        protected void UpdateUserInfo()
        {
            UserInfoVM objUserInfo = AuthHelper.getLogInUserInfo();

            if (objUserInfo != null)
            {
                //SiteMapDataSource1.SiteMapProvider = objUserInfo.IsNguoiDungCuaVu ? "userProvider" : "unitProvider";
                if (objUserInfo.IsAuthenticated)
                {
                    var myAccountItem = RightAreaMenu.Items.FindByName("MyAccountItem");
                    var userName      = (ASPxLabel)myAccountItem.FindControl("UserNameLabel");
                    var email         = (ASPxLabel)myAccountItem.FindControl("EmailLabel");
                    var accountImage  = (HtmlGenericControl)RightAreaMenu.Items[0].FindControl("AccountImage");
                    userName.Text = string.Format("{0} ({1})", objUserInfo.UserName, objUserInfo.FullName);
                    email.Text    = objUserInfo.Email;
                    accountImage.Attributes["class"] = "account-image";


                    if (string.IsNullOrEmpty(objUserInfo.ImagePath))
                    {
                        accountImage.InnerHtml = string.Format("{0}", objUserInfo.FullName[0]).ToUpper();
                    }
                    else
                    {
                        var avatarUrl = (HtmlImage)myAccountItem.FindControl("AvatarUrl");
                        avatarUrl.Attributes["src"]            = ResolveUrl(objUserInfo.ImagePath);
                        accountImage.Style["background-image"] = ResolveUrl(objUserInfo.ImagePath);
                    }
                }
            }
            else
            {
            }
        }
Exemple #4
0
        /// <summary>
        /// 列表
        /// </summary>
        /// <param name="_userInfoVM"></param>
        /// <param name="pn"></param>
        /// <returns></returns>
        public ActionResult List(UserInfoVM vm, int pn = 1)
        {
            if (Session["QueryData"] != null && vm.RefreshFlag == 1)
            {
                vm             = (UserInfoVM)Session["QueryData"];
                vm.RefreshFlag = 0;
            }
            else
            {
                Session["QueryData"] = vm;
            }

            int totalCount,
                pageIndex = pn,
                pageSize  = PagingConfig.PAGE_SIZE;
            var list      = _userService.GetManagerList(vm.QueryLoginName, pageIndex, pageSize, out totalCount);
            var paging    = new Paging <UserInfo>()
            {
                Items = list,
                Size  = PagingConfig.PAGE_SIZE,
                Total = totalCount,
                Index = pn,
            };

            vm.Paging = paging;
            return(View(vm));
        }
        public ActionResult ShowProfile(int id)
        {
            User       user;
            UserInfoVM uInfo = new UserInfoVM();

            using (SOFModel dc = new SOFModel())
            {
                user = dc.Users.Where(u => u.Id == id).SingleOrDefault();

                uInfo.Id        = user.Id;
                uInfo.FirstName = user.FirstName;
                uInfo.LastName  = user.LastName;
                uInfo.Mail      = user.Mail;

                if (user.BirthDate != null)
                {
                    uInfo.BirthDate = ((DateTime)(user.BirthDate)).ToShortDateString();
                }

                List <string> address = new List <string>();
                address.Add(user.Region);
                address.Add(user.City);
                address.Add(user.Country);

                uInfo.Address = default(String);
                for (int i = 0; i < address.Count; i++)
                {
                    if (!string.IsNullOrEmpty(address[i]))
                    {
                        uInfo.Address += address[i];
                        if (i != (address.Count - 1))
                        {
                            uInfo.Address += ", ";
                        }
                    }
                }

                if (user.Image != null)
                {
                    string base64 = Convert.ToBase64String(user.Image);
                    uInfo.Image = string.Format("data:image/gif;base64,{0}", base64);
                }

                uInfo.Rosettes = dc.UserRosettes.Where(ur => ur.User.Id == id).Select(ur => ur.Rosette).ToList();

                uInfo.Answers = dc.Answers.Where(a => a.User.Id == id).ToList();
                foreach (Answer item in uInfo.Answers)
                {
                    item.Question = dc.Answers.Where(a => a.Id == item.Id).Select(a => a.Question).SingleOrDefault();
                }
                uInfo.Questions = dc.Questions.Where(q => q.User.Id == id).ToList();

                uInfo.Followers  = dc.UserFollows.Where(uf => uf.FollowedFromWhoId == id).Select(uf => uf.User).ToList();
                uInfo.RepPoint   = user.RepPoint;
                uInfo.CreateDate = user.AccountCreateDate.ToShortDateString();
                uInfo.Role       = user.Role.RoleName;
            }

            return(View(uInfo));
        }
Exemple #6
0
        public ResponseResult AddUser(UserInfoVM userInfoVM)
        {
            ResponseResult responseResult = new ResponseResult();

            try
            {
                User user = new User()
                {
                    UId        = userInfoVM.UId,
                    FirstName  = userInfoVM.FirstName,
                    LastName   = userInfoVM.LastName,
                    Birthday   = userInfoVM.Birthday,
                    Gender     = userInfoVM.Gender,
                    Email      = userInfoVM.Email,
                    Password   = userInfoVM.Password,
                    UserTypeId = userInfoVM.UserTypeId,
                    Status     = userInfoVM.Status
                };

                _dbContext.Users.Add(user);
                //AssignGuardianWithStudent(userInfoVM.StudentId, userInfoVM.UId);
                _dbContext.SaveChanges();

                responseResult.Content       = null;
                responseResult.MessageCode   = MessageCode.Y.ToString();
                responseResult.SystemMessage = "Data Saved Succesfully.";
            }
            catch (Exception ex)
            {
                responseResult.Content       = null;
                responseResult.MessageCode   = MessageCode.N.ToString();
                responseResult.SystemMessage = ex.Message;
            }
            return(responseResult);
        }
Exemple #7
0
        public JsonResult Edite(UserInfoVM user)
        {
            var model = user.MapTo <UserInfo>();

            try
            {
                var result = userBll.UpdateEntity(model);

                if (result)
                {
                    return(Json(new Form {
                        Code = 1, Message = "修改成功!"
                    }));
                }
                else
                {
                    return(Json(new Form {
                        Code = 0, Message = "修改失败!"
                    }));
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
Exemple #8
0
        public async Task <IActionResult> RegisterDoctor(AppDoctorModelVM model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(new { status = false, message = "Parameters sent are invalid" }));
            }
            try
            {
                UserInfoVM userInfo = new UserInfoVM();
                var        user     = await _userManager.FindByEmailAsync(model.Email);

                if (user != null)
                {
                    userInfo.IsEmailConfirmed = user.EmailConfirmed;
                    userInfo.IsPhoneConfirmed = user.PhoneNumberConfirmed;

                    return(BadRequest(new { status = false, message = "You are already registered with this Email", userInfo }));
                }

                var applicationUser = new ApplicationUsers
                {
                    UserName        = model.Email,
                    FirstName       = model.FirstName,
                    LastName        = model.LastName,
                    Email           = model.Email,
                    Password        = model.Password,
                    ConfirmPassword = model.ConfirmPassword,
                    PhoneNumber     = model.PhoneNumber,
                    DOB             = model.DOB,
                    Gender          = model.Gender,
                    SpecialityId    = model.SpecialityId,
                    StateId         = model.StateId,
                    LicenseNumber   = model.LicenseNumber,
                    RecordedAt      = DateTime.Now
                };

                var result = await _userManager.CreateAsync(applicationUser, model.Password);

                //add role
                await _userManager.AddToRoleAsync(applicationUser, GlobalVariables.isDoctor);

                if (!result.Succeeded)
                {
                    return(BadRequest(new
                    {
                        status = false,
                        message = result.Errors.First().Code
                    }));
                }
                userInfo.IsEmailConfirmed = false;
                userInfo.IsPhoneConfirmed = false;

                return(Ok(new { status = true, message = "Registered Successfully", userInfo }));
            }
            catch (Exception ae)
            {
                return(BadRequest(new { status = false, message = ae.Message.ToString() }));
            }
        }
Exemple #9
0
        public async Task <IActionResult> RegisterPatient(AppPatientModelVM model)
        {
            if (!ModelState.IsValid)
            {
                return(Ok(new { status = false, message = "The parameters are not correct" }));
            }
            try
            {
                UserInfoVM userInfo = new UserInfoVM();

                var user = await _userManager.FindByEmailAsync(model.Email);

                if (user != null)
                {
                    userInfo.IsEmailConfirmed = user.EmailConfirmed;
                    userInfo.IsPhoneConfirmed = user.PhoneNumberConfirmed;

                    return(BadRequest(new { status = false, message = "You are already registered with this email." }));
                }
                int otpCode = GlobalMethods.GenerateOTP();

                var applicationUser = new ApplicationUsers
                {
                    UserName        = model.Email,
                    FirstName       = model.FirstName,
                    LastName        = model.LastName,
                    Email           = model.Email,
                    Password        = model.Password,
                    ConfirmPassword = model.ConfirmPassword,
                    PhoneNumber     = model.PhoneNumber,
                    DOB             = model.DOB,
                    Gender          = model.Gender,
                    OTP             = otpCode,
                    StateId         = model.StateId
                };
                var result = await _userManager.CreateAsync(applicationUser, model.Password);

                //add role
                await _userManager.AddToRoleAsync(applicationUser, GlobalVariables.isPatient);

                if (!result.Succeeded)
                {
                    return(BadRequest(new { status = false, message = result.Errors.First().Code }));
                }

                userInfo.IsEmailConfirmed = false;
                userInfo.IsPhoneConfirmed = false;

                return(BadRequest(new { status = true, message = "Registered successfully", userInfo }));
            }
            catch (Exception ae)
            {
                return(BadRequest(new
                {
                    status = false,
                    message = ae.Message.ToString()
                }));
            }
        }
Exemple #10
0
 /// 编辑
 /// </summary>
 /// <param name="_UserInfoVM"></param>
 /// <returns></returns>
 public ActionResult Edit(UserInfoVM _UserInfoVM)
 {
     _UserInfoVM.UserInfo     = _userInfo.GetById(_UserInfoVM.Id) ?? new UserInfo();
     _UserInfoVM.ImgInfo      = _imageInfoService.GetById(_UserInfoVM.UserInfo.ImageInfoId) ?? new ImageInfo();
     _UserInfoVM.SysGroupList = _sysGroupService.GetAll().ToList();
     _UserInfoVM.GradeList    = _gradeService.GetAll().ToList();
     return(View(_UserInfoVM));
 }
Exemple #11
0
        public ActionResult PartialHeader()
        {
            var model = new UserInfoVM();

            model.Email        = User.Identity.GetClaimValue(CustomClaims.Email).Value;
            model.UserName     = User.Identity.GetClaimValue(CustomClaims.UserName).Value;
            model.FriendlyName = User.Identity.GetClaimValue(CustomClaims.FriendlyName).Value;
            return(PartialView("PartialHeader", model));
        }
        public UserInfoVM UserInfo(string userName)
        {
            var        user       = _context.Users.FirstOrDefault(x => x.UserName == userName);
            UserInfoVM userInfoVM = new UserInfoVM();

            userInfoVM.Name    = user.Name;
            userInfoVM.Forname = user.Forname;
            return(userInfoVM);
        }
Exemple #13
0
        public async Task <IActionResult> AddUser(UserInfoVM userInfo)
        {
            await _userService.AddUser(userInfo);

            if (_noticehandler.HasNotification())
            {
                Ok(_noticehandler.GetNotifications());
            }
            return(Ok("true"));
        }
Exemple #14
0
        public async Task <IActionResult> Info(string Id)
        {
            var UserName = await _userManager.FindByNameAsync(Id);

            var ıd    = UserName.Id;
            var model = new UserInfoVM();

            model.UserId   = ıd;
            model.UserName = UserName.UserName;
            return(View(model));
        }
Exemple #15
0
        public async Task AddUser(UserInfoVM user)
        {
            AddUserCommand userInfo = new AddUserCommand()
            {
                CreateBy = "cc",
                Email    = user.Email,
                UserCode = user.UserCode,
                UserName = user.UserName,
                Password = user.Password
            };

            await this._mediator.Send <AddUserCommand>(userInfo);
        }
        public ActionResult Save(UserInfoVM userInfo)
        {
            if (!ModelState.IsValid)
            {
                return(View("UserProfile", userInfo));
            }


            //else if (String.IsNullOrEmpty(user.Id)
            //{ _context.Users.Add(user); }

            else
            {
                //return Content($"user first name : {user.FirstName}, user last name : {user.LastName}, birthdade : {user.DateOfBirth}");
                var userInDb = _context.Users.Single(c => c.Id == userInfo.UserId);

                userInDb.FirstName    = userInfo.FirstName;
                userInDb.LastName     = userInfo.LastName;
                userInDb.DateOfBirth  = userInfo.DateOfBirth;
                userInDb.GenderId     = userInfo.GenderId;
                userInDb.Country      = userInfo.Country;
                userInDb.Region       = userInfo.Region;
                userInDb.City         = userInfo.City;
                userInDb.Street       = userInfo.Street;
                userInDb.StreetNumber = userInfo.StreetNumber;
                userInDb.ZipCode      = userInfo.ZipCode;



                _context.Entry(userInDb).State = EntityState.Modified;
                _context.SaveChanges();
                return(RedirectToAction("Index", "Users"));
            }

            //userInDb.PasswordHash = user.PasswordHash;
            //userInDb.Id = user.Id;
            //userInDb.PhoneNumber = user.PhoneNumber;
            //userInDb.AccessFailedCount = user.AccessFailedCount;
            //userInDb.EmailConfirmed = user.EmailConfirmed;
            //userInDb.LockoutEnabled = user.LockoutEnabled;
            //userInDb.LockoutEndDateUtc = user.LockoutEndDateUtc;
            //userInDb.Email = user.Email;
            //userInDb.PhoneNumberConfirmed = user.PhoneNumberConfirmed;
            //userInDb.UserName = user.UserName;
            //userInDb.SecurityStamp = user.SecurityStamp;
            //userInDb.TwoFactorEnabled = user.TwoFactorEnabled;



            //TryUpdateModel(userInDb);  // There are some issues with this approach : It opens security holes!
        }
        /// <summary>
        /// 获取用户信息
        /// </summary>
        /// <returns></returns>
        public static UserInfoVM GetUserInfo()
        {
            // LogHelper.Info("2获取登录信息:"  );
            if (!HttpContextHelper.Current.User.Identity.IsAuthenticated)
            {
                //LogHelper.Info("2.1获取登录信息:IsAuthenticated::"+ HttpContext.Current.User.Identity.Name);
                return(null);
            }
            UserInfoVM user = new UserInfoVM();

            user.ID   = new Guid(HttpContextHelper.Current.User.Identity.Name);
            user.Name = HttpContextHelper.Current.User.Claims.FirstOrDefault(c => c.Type == "UserName")?.Value;
            return(user);
        }
Exemple #18
0
        public ActionResult AddUser(string FirstName, string LastName, long Phone,
                                    DateTime Birthday, string Gender, string Email, string Password,
                                    string RePassword, int UserTypeId)
        {
            if (Password != RePassword)
            {
                TempData["msgAlert"]        = "N";
                TempData["msgAlertDetails"] = "Password is not matched";
                return(RedirectToAction("Index"));
            }

            ResponseResult responseResult = new ResponseResult();
            UserInfoVM     userVMObj      = new UserInfoVM()
            {
                UId        = Phone,
                FirstName  = FirstName,
                LastName   = LastName,
                Birthday   = Birthday,
                Email      = Email,
                Gender     = Gender,
                UserTypeId = UserTypeId,
                Status     = "Y",
                Password   = Password
            };

            try
            {
                var    res         = _apiRequest.HttpPostRequest(userVMObj, "api/User/AddUser");
                string apiResponse = res.ToString();
                responseResult = JsonConvert.DeserializeObject <ResponseResult>(apiResponse);

                if (responseResult.MessageCode == "Y")
                {
                    TempData["msgAlert"]        = "Y";
                    TempData["msgAlertDetails"] = responseResult.SystemMessage;
                }
                else
                {
                    TempData["msgAlert"]        = "N";
                    TempData["msgAlertDetails"] = responseResult.SystemMessage;
                }
            }
            catch (Exception ex)
            {
                TempData["msgAlert"]        = "N";
                TempData["msgAlertDetails"] = ex.Message.ToString();
            }
            return(RedirectToAction("AddUser"));
        }
Exemple #19
0
 public static void saveLogInUserInfo(ClaimsIdentity item)
 {
     if (item != null)
     {
         var temp = new UserInfoVM()
         {
             UserName = item.Name,
             FullName = item.Name,
             Email    = item.Name,
             //ImagePath = item.Claims.ImagePath,
             //Roles = item.Roles.ToList().ToString()
         };
         HttpContext.Current.Session["User"] = item;
     }
 }
 public UserInfoVM GetUserInfoByMobile(string mobile)
 {
     using (var ctx = new ShtxSms2008Entities())
     {
         CustomerExtend ce       = ctx.CustomerExtend.FirstOrDefault(o => o.SendInterFace == 102 && o.Tel.Contains(mobile));
         UserInfoVM     userInfo = new UserInfoVM()
         {
             EndDate = ce.EndDate.Value.ToString("yyyy-MM-dd")
         };
         var appCustomer = ctx.AppCustomerTokens.FirstOrDefault(o => o.tel == mobile);
         if (appCustomer != null)
         {
             userInfo.IsSound = appCustomer.isSound ?? false;
         }
         return(userInfo);
     }
 }
        public IActionResult UserInfo(int id)
        {
            UserInfoVM model = new UserInfoVM();
            Clan       c     = _ctx.Clanovi.Include(x => x.Grad).Include(x => x.VrstaClanarine).Where(x => x.ClanId == id).FirstOrDefault();

            if (c != null)
            {
                model.ClanId        = c.ClanId;
                model.Email         = c.Email;
                model.ImePrezime    = c.Ime + " " + c.Prezime;
                model.DatumRodjenja = c.DatumRodjenja;
                model.Grad          = c.Grad.Naziv;
                model.Followers     = GetFollowers(id, "followers");
                model.Following     = GetFollowers(id, "following");
            }
            return(View("User-info", model));
        }
Exemple #22
0
        public ActionResult Edit(int id = 0)
        {
            if (Session.CurrentUser != null)
            {
                var userID = Session.CurrentUser.UserID;
                var user   = new User();
                if (id != 0)
                {
                    user = Services.UserService.GetUserWithEducation(id);
                }
                else
                {
                    user = Services.UserService.GetUserWithEducation(userID);
                }


                if (ModelState.IsValid)
                {
                    var userInfo = new UserInfoVM()
                    {
                        UserID            = user.UserID,
                        FirstName         = user.FirstName,
                        LastName          = user.LastName,
                        Birthday          = user.Birthday,
                        Gender            = user.Gender,
                        Nationality       = user.Nationality,
                        InterestAreas     = user.InterestAreas,
                        ContactEmail      = user.ContactEmail,
                        CurrentInsitution = user.CurrentInsitution,
                        EducationList     = user.EducationList.Select(i => new EducationVM()
                        {
                            EducationID = i.EducationID,
                            StartDate   = i.StartDate,
                            EndDate     = i.EndDate,
                            UserID      = i.UserID,
                            Institution = i.Institution,
                            Activities  = i.Activities
                        }).ToList()
                    };

                    return(View(userInfo));
                }
            }
            return(RedirectToAction("Login", "Account"));
        }
        /// <summary>
        /// 写入登录缓存
        /// </summary>
        /// <param name="userInfoVM">用户信息</param>
        public async static void SetUserInfo(UserInfoVM userInfoVM)
        {
            var user = new ClaimsPrincipal(
                new ClaimsIdentity(new[]
            {
                new Claim(ClaimTypes.Name, userInfoVM.ID.ToString()),
                new Claim("UserName", userInfoVM.Name)
            },
                                   CookieAuthenticationDefaults.AuthenticationScheme));

            await HttpContextHelper.Current.SignInAsync(
                CookieAuthenticationDefaults.AuthenticationScheme, user, new AuthenticationProperties
            {
                IsPersistent = true,
                ExpiresUtc   = DateTime.UtcNow.AddMinutes(30)//Add(TimeSpan.FromHours(2)) // Cookie 有效时间
            }
                );
        }
        public ActionResult SaveBasicInformation(UserInfoVM userInfoVM)
        {
            if (!ModelState.IsValid)
            {
                return(HttpNotFound());
            }
            try
            {
                var userFromDb = db.UserDetails.FirstOrDefault(u => u.UserID == userInfoVM.UserID);

                if (userFromDb == null)
                {
                    return(HttpNotFound());
                }
                else
                {
                    userFromDb.Name        = userInfoVM.Name;
                    userFromDb.Gender      = userInfoVM.Gender;
                    userFromDb.Phone       = userInfoVM.PhoneNumber;
                    userFromDb.DateOfBirth = userInfoVM.DateOfBirth;
                    userFromDb.Summary     = userInfoVM.Summary;
                    userFromDb.Languages.Clear();

                    if (userInfoVM.LanguageIds.Any())
                    {
                        var languages = db.Languages.Where(x => userInfoVM.LanguageIds.Contains(x.LanguageID)).ToList();
                        if (languages == null)
                        {
                            return(HttpNotFound());
                        }
                        userFromDb.Languages.AddRange(languages);
                    }

                    db.SaveChanges();

                    return(Json("Success", JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception)
            {
                return(HttpNotFound());
            }
        }
Exemple #25
0
        public IActionResult Info(UserInfoVM user)
        {
            var entity = new UserInfo()
            {
                UserId      = user.UserId,
                UserName    = user.UserName,
                FirstName   = user.FirstName,
                LastName    = user.LastName,
                Address     = user.Address,
                Birthdate   = user.Birthdate,
                City        = user.City,
                Description = user.Description,
                Phone       = user.Phone,
                Email       = user.Email
            };

            _service.Update(entity);
            return(Ok());
        }
        public ActionResult FollowList(int id)
        {
            User       user;
            UserInfoVM uInfo = new UserInfoVM();

            using (SOFModel dc = new SOFModel())
            {
                user = dc.Users.Where(u => u.Id == id).SingleOrDefault();

                uInfo.Id        = user.Id;
                uInfo.FirstName = user.FirstName;
                uInfo.LastName  = user.LastName;

                uInfo.Answers   = dc.Answers.Where(a => a.User.Id == id).ToList();
                uInfo.Questions = dc.Questions.Where(q => q.User.Id == id).ToList();
                uInfo.Followers = dc.UserFollows.Where(uf => uf.FollowedFromWhoId == id).Select(uf => uf.User).ToList();
            }

            return(View(uInfo));
        }
Exemple #27
0
        public static UserInfoVM getLogInUserInfo()
        {
            UserInfoVM userItem = (UserInfoVM)HttpContext.Current.Session["User"];

            if (userItem == null)
            {
                ClaimsIdentity userIdentity = (ClaimsIdentity)HttpContext.Current.User.Identity;
                userItem = new UserInfoVM()
                {
                    UserName        = userIdentity.Name,
                    FullName        = userIdentity.FindFirst("FullName")?.Value,
                    Email           = userIdentity.FindFirst("Email")?.Value,
                    ImagePath       = userIdentity.FindFirst("ImagePath")?.Value,
                    Roles           = string.Join(";", userIdentity.Claims.Where(c => c.Type == ClaimTypes.Role).Select(c => c.Value).ToList()),
                    IsAuthenticated = userIdentity.IsAuthenticated
                };
                HttpContext.Current.Session["User"] = userItem;
            }
            return(userItem);
        }
Exemple #28
0
        public async Task <IActionResult> LoginInfo(int?id, UserInfoVM vm)
        {
            var owner = await _context.Owner.FindAsync(id);

            var user = await _userManager.FindByIdAsync(owner.ApplicationUserId);

            if (owner == null || user == null)
            {
                return(NotFound());
            }

            // Need to see if we are changing the username, and if the username exists already
            var existingUser = await _userManager.FindByNameAsync(vm.Username);

            if (vm.Username.ToLower() != user.UserName.ToLower() && existingUser != null)
            {
                ModelState.AddModelError("Username", "There is already a user with that username");
                return(View(new UserInfoVM
                {
                    Username = vm.Username,
                    UserId = user.Id
                }));
            }

            // Set the username and password
            user.UserName     = vm.Username;
            user.PasswordHash = _userManager.PasswordHasher.HashPassword(user, vm.Password);
            var result = await _userManager.UpdateAsync(user);

            if (!result.Succeeded)
            {
                return(View(new UserInfoVM
                {
                    Username = vm.Username,
                    UserId = user.Id
                }));
            }

            return(RedirectToAction(nameof(Index)));
        }
Exemple #29
0
        public ActionResult Edit(UserInfoVM user)
        {
            if (ModelState.IsValid)
            {
                var userToUpdate = new User()
                {
                    UserID            = user.UserID,
                    FirstName         = user.FirstName,
                    LastName          = user.LastName,
                    Birthday          = user.Birthday,
                    Gender            = user.Gender,
                    Nationality       = user.Nationality,
                    InterestAreas     = user.InterestAreas,
                    ContactEmail      = user.ContactEmail,
                    CurrentInsitution = user.CurrentInsitution
                };
                if (user.Title != null)
                {
                    userToUpdate.Title = user.Title.ToString();
                }
                if (user.Rank != null)
                {
                    userToUpdate.Rank = user.Rank.ToString();
                }
                Services.UserService.UpdateUserInformation(userToUpdate);
                if (Session.CurrentUser.UserID == user.UserID)
                {
                    Session.CurrentUser.FirstName = userToUpdate.FirstName;
                    Session.CurrentUser.LastName  = userToUpdate.LastName;
                    Session.CurrentUser.Rank      = EnumHelp.GetDescription(userToUpdate.Rank);
                }
                return(RedirectToAction("Edit"));
            }

            return(View(user));
        }
Exemple #30
0
 public UserInfoPage(UserInfoVM vm) : this()
 {
     BindingContext = vm;
 }