public Result UpdateProfile(MemberFrontDto dto, int memberId) { var result = _memberUpdateValidator.ValidateResult(dto); if (!result.Success) { return(result); } var query = _memberRepository.AsNoTracking.Where(x => x.Id == memberId); query.Update(u => new Member { Name = dto.Name, Phone = dto.Phone, AddressLine1 = dto.AddressLine1, AddressLine2 = dto.AddressLine2, City = dto.City, State = dto.State, Degree = dto.Degree, College = dto.College, LastSemMark = dto.LastSemMark, Experience = dto.Experience }); MemberCacheManager.ClearCache(); result.SetSuccess("Your account updated successfully."); return(result); }
public Result Login(MemberFrontDto dto) { var result = _memberLoginValidator.ValidateResult(dto); if (!result.Success) { return(result); } var salt = SecurityHelper.GenerateSalt(); var password = SecurityHelper.GenerateHash(dto.Password, salt); var member = _memberRepository.AsNoTracking .FirstOrDefault(s => s.Email == dto.Email && s.IsActive); if (member == null || !SecurityHelper.VerifyHash(dto.Password, member.Password, member.Salt)) { result.SetError("You did not sign in correctly or your account is temporarily disabled."); result.Success = false; } else { SaveLastLogin(member); result.Data = member; result.SetSuccess("Logged in successfully."); result.Success = true; } return(result); }
public JsonNetResult EditProfile(MemberFrontDto dto) { var result = _memberService.UpdateProfile(dto, UserAuth.User.UserId); if (!result.Success) { return(new JsonNetResult(result)); } UserAuth.SignIn(UserAuth.User.UserId, dto.Name, dto.Email, true); result.Data = null; return(new JsonNetResult(result)); }
public void SendWelcomEmail(MemberFrontDto member) { var emailTemplate = _emailTemplateService.GetEmailTemplateBySlug("welcome-user"); new MailHelper() .To(member.Name, member.Email) .Subject(emailTemplate.Subject) .Body(emailTemplate.Content) .Variables(new Dictionary <string, object>() { { "FullName", member.Name }, { "WebsiteUrl", _appSettings.WebsiteUrl }, { "WebsiteName", _appSettings.WebsiteName }, { "Year", DateTime.Today.Year } }) .Send(); }
public JsonNetResult CheckoutLogin(MemberFrontDto dto) { var refUrl = Request["refUrl"]; var result = _memberService.Login(dto); if (!result.Success) { return(new JsonNetResult(result)); } UserAuth.SignIn(result.Data.Id, result.Data.Name, result.Data.Email, true); result.Data = null; result.IsRedirect = true; result.SetRedirect(refUrl); return(new JsonNetResult(result)); }
public Result SaveFront(MemberFrontDto dto) { var result = _memberValidator.ValidateResult(dto); if (!result.Success) { return(result); } var entity = Mapper.Map <Member>(dto); entity.Salt = SecurityHelper.GenerateSalt(); entity.Password = SecurityHelper.GenerateHash(dto.Password, entity.Salt); entity.IsActive = true; entity.LastLoginAt = DateTime.Now; _memberRepository.Insert(entity); _unitOfWork.Commit(); result.Data = dto.Email; result.Id = entity.Id; result.SetSuccess("Your account was created successfully."); return(result); }
public JsonNetResult Index(MemberFrontDto dto) { var refUrl = Convert.ToString(Request["refUrl"]); dto.CreatedSource = (int)MemberCreatedSource.SignUp; var result = _memberService.SaveFront(dto); if (!result.Success) { return(new JsonNetResult(result)); } //var emailService = new EmailService(_emailTemplateService, _appSettings); //emailService.SendWelcomEmail(dto); //UserAuth.SignIn(Convert.ToInt32(result.Id), dto.Name, dto.Email, true); result.Data = null; result.IsRedirect = true; result.SetRedirect(Url.RouteUrl("login")); return(new JsonNetResult(result)); }