Ejemplo n.º 1
0
        public IHttpActionResult UserForgetPassWord(ReSetPassWordPostRequest requestData)
        {
            deleteResponse         = new BaseResponse <string>();
            deleteResponse.Success = false;
            deleteResponse.Message = "驗證碼失敗或查無此信箱,請確認輸入信箱是否有註冊!!!";
            deleteResponse.State   = LogState.Error;

            var checkColumnKeys = new string[2] {
                "code", "email"
            };
            //確認是否遺漏參數
            var checkEmpty = CheckEmpty(requestData, checkColumnKeys) as NegotiatedContentResult <BaseResponse <string> >;

            if (checkEmpty.Content.Success == false)
            {
                return(checkEmpty);
            }

            var captchaCacheKey = "captchaString";
            var getcaptchaKey   = HttpContext.Current != null?HttpContext.Current.Cache.Get(captchaCacheKey).ToString() : null;

            if (getcaptchaKey == null)
            {
                deleteResponse.Success = false;
                deleteResponse.Message = "重新確認驗證碼";
                deleteResponse.State   = Infrastructure.ViewModel.Base.LogState.RequestDataError;
                return(Content(HttpStatusCode.BadRequest, deleteResponse));
            }
            var reSetPassWordService = new ReSetPassWordService();
            var response             = reSetPassWordService.Do(requestData.Code, getcaptchaKey, requestData.Email);

            if (response)
            {
                var captchaImg = ConfigurationManager.AppSettings["DrivePath"].ToString();
                //刪除驗證碼
                System.IO.File.Delete(string.Format("{0}\\captcha\\{1}.gif", captchaImg.ToString(), requestData.Code));
                deleteResponse.Success = true;
                deleteResponse.Message = "修改成功,請收信";
                return(Ok(deleteResponse));
            }

            return(Content(HttpStatusCode.BadRequest, deleteResponse));
        }
Ejemplo n.º 2
0
        public IHttpActionResult Put(ReSetPassWordPutRequest requestData)
        {
            var responseData = new Infrastructure.ViewModel.Base.BaseResponse <string>();

            responseData.Success = false;
            responseData.Message = "修改失敗!!!";
            responseData.State   = Infrastructure.ViewModel.Base.LogState.Error;
            var requestService = new Service.Utility.RequestDataHelper <ReSetPassWordPutRequest>();


            var checkColumnKeys = new string[2] {
                "oldpassword", "newpassword"
            };
            var checkEmpty = requestService.CheckColumnEmpty(requestData, checkColumnKeys);

            if (checkEmpty == false)
            {
                responseData.Success = false;
                responseData.Message = "遺漏參數!!!";
                responseData.State   = Infrastructure.ViewModel.Base.LogState.RequestDataError;
                return(Content(HttpStatusCode.BadRequest, responseData));
            }
            var reSetPassWordService = new ReSetPassWordService();
            var encryptionService    = new Service.Utility.Encryption();

            var response = reSetPassWordService.DoByToken(requestData.Token.ToLower(), requestData.OldPassword, requestData.NewPassword);

            if (response)
            {
                responseData.Success = true;
                responseData.Message = "修改成功!!!";
                responseData.State   = Infrastructure.ViewModel.Base.LogState.Suscess;
                return(Ok(responseData));
            }

            return(Content(HttpStatusCode.NoContent, responseData));
        }