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)); } }
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)); } }
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)); } }