Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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();
        }
Exemple #5
0
        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));
        }
Exemple #6
0
        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);
        }
Exemple #7
0
        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));
        }