Ejemplo n.º 1
0
        public HttpResponseMessage ValidatePassword([FromBody] UserPasswordActivation passwordToken)
        {
            UserPasswordActivation invitation = null;

            try
            {
                if (passwordToken != null)
                {
                    _context = new CivilWorksEntities2();

                    invitation = _context.UserPasswordActivations.Where(p => p.IsExpired != true && p.PasswordActivattionKey == passwordToken.PasswordActivattionKey).FirstOrDefault <UserPasswordActivation>();
                }

                if (invitation != null)
                {
                    invitation.IsExpired = true;
                    // _context.Entry(invitation).State = System.Data.Entity.EntityState.Modified;
                    _context.SaveChanges();
                }
                else
                {
                    //return new BO.ErrorObject { ErrorMessage = "Invalid appkey or other parameters.", errorObject = "", ErrorLevel = ErrorLevel.Error };
                    return(Request.CreateResponse(HttpStatusCode.BadRequest, "Invalid password link"));
                }
                return(Request.CreateResponse(HttpStatusCode.OK, invitation));
            }
            catch (Exception ex)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, ex.Message));
            }
        }
Ejemplo n.º 2
0
        public HttpResponseMessage ValidateInvitation(HttpRequestMessage request, T gbObject)
        {
            UserPasswordActivation invitationBO = (UserPasswordActivation)(object)gbObject;

            if (invitationBO == null)
            {
                return(request.CreateResponse(HttpStatusCode.BadRequest, new ErrorObject {
                    ErrorMessage = "Invitation object can't be null", errorObject = "", ErrorLevel = ErrorLevel.Error
                }));
            }
            var objResult = dataAccessManager.ValidateInvitation(gbObject);

            try
            {
                var res = objResult;
                if (res != null)
                {
                    return(request.CreateResponse(HttpStatusCode.Created, objResult));
                }
                else
                {
                    return(request.CreateResponse(HttpStatusCode.NotFound, objResult));
                }
            }
            catch (Exception ex)
            {
                return(request.CreateResponse(HttpStatusCode.BadRequest, objResult));
            }
        }
Ejemplo n.º 3
0
        public HttpResponseMessage GeneratePasswordResetLink([FromBody] User1 passwordToken)
        {
            _context = new CivilWorksEntities2();
            UserPasswordActivation passwordReset = null;

            try
            {
                User1 data_ = _context.User1.Where(x => x.UserName == passwordToken.UserName).FirstOrDefault <User1>();
                if (data_ == null)
                {
                    return(Request.CreateResponse(HttpStatusCode.BadRequest, "No record found for this user"));
                    // return new BO.ErrorObject { ErrorMessage = "No record found for this user.", errorObject = "", ErrorLevel = ErrorLevel.Error };
                }
                #region Insert link
                CivilWorksEntities2 context1 = new CivilWorksEntities2();
                userActivation.PasswordActivattionKey = Guid.NewGuid();
                userActivation.DateCreated            = System.DateTime.Now;
                userActivation.UserID     = data_.ID;
                userActivation.IsExpired  = false;
                userActivation.ExpiryDate = System.DateTime.Now.AddDays(1);
                context1.UserPasswordActivations.Add(userActivation);
                context1.SaveChanges();
                #endregion


                string Message = "Dear " + data_.FirstName + ",<br><br>You are receiving this email because you (or someone pretending to be you) requested that your password be reset on the " + Utility.GetConfigValue("Website") + " site.  If you do not wish to reset your password, please ignore this message.<br><br>To reset your password, please click the following link, or copy and paste it into your web browser:<br><br>" + Utility.GetConfigValue("ForgotPasswordLink") + "/" + userActivation.PasswordActivattionKey + " <br><br>Your username, in case you've forgotten: " + data_.UserName + "<br><br>Thanks";
                #region  company mail object
                EmailMessage emCompany = new EmailMessage();
                emCompany.ApplicationName = "Civil Works";
                emCompany.ToEmail         = passwordToken.UserName;
                emCompany.EMailSubject    = "Civil Works Reset Password Link";
                emCompany.EMailBody       = Message;
                #endregion

                MessagingHelper mh = new MessagingHelper();
                mh.SendMail(passwordToken.UserName, emCompany.EMailSubject, Message);


                User1 userDb = _context.User1.Where(p => p.UserName == passwordToken.UserName && p.IsDeleted.Value == false).FirstOrDefault <User1>();
                return(Request.CreateResponse(HttpStatusCode.OK, userDb));
            }
            catch (Exception ex)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, ex.Message));
            }
        }