public async Task <IActionResult> Login([FromForm] LoginViewModel model, string returnUrl = null) { MessageBase result = new MessageBase(); //ViewData["ReturnUrl"] = returnUrl; if (ModelState.IsValid) { AdminMemberDto dto = _adminMemberService.Find(model.UserName, model.Password); if (dto.Id > 0) { var user = new ClaimsPrincipal(new ClaimsIdentity(new[] { new Claim(ClaimTypes.NameIdentifier, dto.Id.ToString()), new Claim(ClaimTypes.Name, dto.UserName), new Claim("Nickname", dto.Nickname), new Claim(ClaimTypes.Role, dto.Authority.ToString()) }, CookieAuthenticationDefaults.AuthenticationScheme)); await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, user, new AuthenticationProperties { IsPersistent = true, ExpiresUtc = DateTimeOffset.Now.Add(TimeSpan.FromDays(180)) }); return(Json(result)); } else { result.Status = "false"; return(Json(result)); } } return(View()); }
public async Task <ApiResult <List <AdminMemberDto> > > UpdateMemberForAdmin(AdminMemberDto dto) { try { var member = await _context.Members.FirstOrDefaultAsync(m => m.Id == dto.Id); // TODO: update identity account username before updating the rest of member information await UpdateMemberPropertiesForAdmin(dto, member); // detach all positions to prevent duplicate entity tracking error when saving foreach (var position in dto.Positions) { _context.Entry(position).State = EntityState.Detached; } await _context.SaveChangesAsync(); var result = await GetMembers <AdminMemberDto>(); return(result); } catch (Exception ex) { _logger.LogError("An issue occured when trying to update a member: \n" + ex.Message + "\n\nStack Trace: \n" + ex.StackTrace); return(new ApiResult <List <AdminMemberDto> > { Successful = false, Error = "An issue occured when trying to update a member." }); } }
public async Task <ApiResult <List <AdminMemberDto> > > UpdateMember(AdminMemberDto dto) { var response = await _idpClient.PostAsJsonAsync($"{Constants.ControllerNames.Teams}/{Constants.Routes.Update}", dto); response = await _apiClient.PostAsJsonAsync($"{Constants.ControllerNames.Teams}/{Constants.Routes.Update}", dto); return(await response.Content.ReadFromJsonAsync <ApiResult <List <AdminMemberDto> > >()); }
public static AdminMemberDto GenerateAdminMemberDto(int id) { var dto = new AdminMemberDto { Id = id, Email = $"*****@*****.**", FirstName = $"testfirstupdated", LastName = $"testlastupdated", Address = "testAddress", City = "testcity", PostalCode = "T1R1L9", MainPhone = "5555555555", AlternatePhone1 = "5555555555", AlternatePhone2 = "5555555555", ApprovalStatus = ApprovalStatus.Pending, Birthdate = DateTime.Now, EmergencyFullName = "testemergency", EmergencyPhone1 = "5555555555", EmergencyPhone2 = "5555555555", EmergencyRelationship = "testrelationship", FoodSafe = false, FirstAidCpr = false, OtherCertificates = "TestOther", EducationTraining = "testeducation", SkillsInterestsHobbies = "testskills", Experience = "testexperience", OtherBoards = "otherboards", References = new List <ReferenceDto>() { new ReferenceDto() { Name = "Steve", Phone = "4034056785", Relationship = "Instructor", Occupation = "Professor" } }, WorkExperiences = new List <WorkExperienceDto>() { new WorkExperienceDto() { EmployerName = "testemployer", EmployerAddress = "testaddress", StartDate = DateTime.Now, EndDate = DateTime.Now.AddDays(20), EmployerPhone = "5555555555", ContactPerson = "testcontact", PositionWorked = "testposition" } } }; return(dto); }
/// <summary> /// 获取用户信息 /// </summary> /// <param name="userName">用户名</param> /// <param name="password">密码</param> /// <returns></returns> public AdminMemberDto Find(string userName, string password) { password = System.DEncryptHelper.Encrypt3DES(password); var member = this.AdminMemberRepository.Find(p => p.UserName == userName && p.Password == password && p.Status > 0); AdminMemberDto dto = new AdminMemberDto() { Id = member.Id, Authority = member.Authority.GetValueOrDefault(), UserName = member.UserName, Nickname = member.Nickname }; return(dto); }
private async Task UpdateMemberPropertiesForAdmin(AdminMemberDto dto, MemberProfile member) { var tempMember = _mapper.Map <MemberProfile>(dto); member.Email = tempMember.Email; member.FirstName = tempMember.FirstName; member.LastName = tempMember.LastName; member.Address = tempMember.Address; member.City = tempMember.City; member.PostalCode = tempMember.PostalCode; member.MainPhone = tempMember.MainPhone; member.AlternatePhone1 = tempMember.AlternatePhone1; member.AlternatePhone2 = tempMember.AlternatePhone2; member.Birthdate = tempMember.Birthdate; member.EmergencyFullName = tempMember.EmergencyFullName; member.EmergencyPhone1 = tempMember.EmergencyPhone1; member.EmergencyPhone2 = tempMember.EmergencyPhone2; member.EmergencyRelationship = tempMember.EmergencyRelationship; member.FoodSafe = tempMember.FoodSafe; member.FoodSafeExpiry = tempMember.FoodSafeExpiry; member.FirstAidCprLevel = tempMember.FirstAidCprLevel; member.FirstAidCpr = tempMember.FirstAidCpr; member.FirstAidCprExpiry = tempMember.FirstAidCprExpiry; member.OtherCertificates = tempMember.OtherCertificates; member.EducationTraining = tempMember.EducationTraining; member.SkillsInterestsHobbies = tempMember.SkillsInterestsHobbies; member.Experience = tempMember.Experience; member.OtherBoards = tempMember.OtherBoards; member.VolunteerConfidentiality = tempMember.VolunteerConfidentiality; member.VolunteerEthics = tempMember.VolunteerEthics; member.CriminalRecordCheck = tempMember.CriminalRecordCheck; member.DrivingAbstract = tempMember.DrivingAbstract; member.ConfirmationOfProfessionalDesignation = tempMember.ConfirmationOfProfessionalDesignation; member.ChildWelfareCheck = tempMember.ChildWelfareCheck; member.WorkExperiences = tempMember.WorkExperiences; if (member.ApprovalStatus == ApprovalStatus.Pending) { var appAlert = await _context.ApplicationAlerts.FirstOrDefaultAsync(m => m.Member == member); appAlert.AddressedBy = ""; member.ApprovalStatus = tempMember.ApprovalStatus; } member.Availabilities = tempMember.Availabilities; member.Positions = tempMember.Positions; }
protected async Task UpdateStatus(AdminMemberDto member, ApprovalStatus status) { member.ApprovalStatus = status; //alert.AddressedBy = await _memberService.UpdateMember(member); }
public async Task <IActionResult> UpdateMemberForAdmin([FromBody] AdminMemberDto dto) { return(new ObjectResult(await _teamService.UpdateMemberForAdmin(dto))); }