Example #1
0
        public ApiResult <UpdatePasswordViewModel> UpdatePassword(UpdatePasswordViewModel model)
        {
            var dbResult = new ApiResult <UpdatePasswordViewModel>();

            try
            {
                // Validate dữ liệu
                if (!ValidateUpdatePassword(model).Succeeded)
                {
                    return(ValidateUpdatePassword(model));
                }

                // Đặt lại mật khẩu trong database
                model.NewPassword = Libs.GetMd5(model.NewPassword + EncryptCore.PassKey);
                model.NewPassword = model.NewPassword;

                dbResult = userDAL.UpdatePassword(model);

                return(dbResult);
            }
            catch (Exception ex)
            {
                dbResult.Failed(new ErrorObject()
                {
                    Code        = Constants.ERR_EXCEPTION,
                    Description = ex.Message
                });
                return(dbResult);
            }
        }
Example #2
0
        public IHttpActionResult ChangePassword(ChangePWModel Item)
        {
            Item.NewPassword = Libs.GetMd5(Item.NewPassword + EncryptCore.PassKey);
            Item.OldPassword = Libs.GetMd5(Item.OldPassword + EncryptCore.PassKey);

            ApiResult <bool> rs = userDAL.ChangePassword(UserInfo.Id, Item);

            return(rs.Succeeded ? Ok(rs) : (IHttpActionResult)Content(HttpStatusCode.BadRequest, rs));
        }
Example #3
0
        public IHttpActionResult Register(UserPostData item)
        {
            var Rs = new ApiResult <User>();

            if (!ModelState.IsValid)
            {
                // Lỗi validate dữ liệu trả ra từ model
                foreach (string key in ModelState.Keys)
                {
                    ModelState current = ModelState[key];
                    foreach (ModelError error in current.Errors)
                    {
                        Rs.Failed(new ErrorObject()
                        {
                            Code        = key,
                            Description = error.ErrorMessage
                        });
                    }
                }
                return(Content(HttpStatusCode.BadRequest, Rs));
            }

            if (item.RoleId == 0)
            {
                item.RoleId = 1;
            }
            UserResult userInfo;

            try
            {
                userInfo = UserInfo;
            }
            catch (Exception)
            {
                userInfo = new UserResult();
            }

            if (userInfo.Id > 0)
            {
                item.CreatedUser = userInfo.Id;
            }
            item.Password = Libs.GetMd5(item.Password + EncryptCore.PassKey);
            Rs            = userDAL.Register(item);
            if (Rs.Succeeded)
            {
                string OTP = userDAL.GetOtp(Rs.Data.Id);
                string Url = ConfigUtil.DomainBaseHttp + "/Api/Acc/ConfirmEmail?Id=" + Rs.Data.Id.ToString() + "&OTP=" + OTP;
                if (!String.IsNullOrEmpty(item.SucRedirectUrl))
                {
                    Url += "&SucRedirectUrl=" + item.SucRedirectUrl;
                }

                if (!String.IsNullOrEmpty(item.FailRedirectUrl))
                {
                    Url += "&FailRedirectUrl=" + item.FailRedirectUrl;
                }
                object DataContent = new
                {
                    Link = Url,
                    item.FirstName
                };
                var EmailContent = EmailContentHtml.EmailContentFormat(DataContent, "ConfirmEmail.html");
                var e            = EmailUtility.SendMail(ConfigUtil.Email_DisplayName, item.Email, "Xác thực Email", EmailContent);
                return(Ok(Rs));
            }
            else
            {
                return(Content(HttpStatusCode.BadRequest, Rs));
            }
        }
Example #4
0
        public IHttpActionResult Login(UserPostLogin item)
        {
            var Rs = new ApiResult <UserResult>();

            try
            {
                if (string.IsNullOrEmpty(item.Email))
                {
                    Rs.Failed(new ErrorObject()
                    {
                        Code        = "1",
                        Description = "Chưa nhập Email"
                    });
                }
                if (string.IsNullOrEmpty(item.Password))
                {
                    Rs.Failed(new ErrorObject()
                    {
                        Code        = "2",
                        Description = "Chưa nhập Password"
                    });
                }

                if (Rs.Errors.Count > 0)
                {
                    return(Content(HttpStatusCode.Unauthorized, Rs));
                }
                var Login = userDAL.Login(item);
                if (Login.Succeeded && Login.Data != null)
                {
                    if (Libs.GetMd5(item.Password + EncryptCore.PassKey) != Login.Data.Password)
                    {
                        Rs.Failed(new ErrorObject
                        {
                            Code        = "400",
                            Description = "Sai Mật Khẩu"
                        });
                        return(Content(HttpStatusCode.Unauthorized, Rs));
                    }


                    Random rnd       = new Random();
                    int    RndNumber = rnd.Next(1, 9999);
                    var    TokenCode = "";
                    var    User      = Login.Data;
                    if (User.EmailConfirmed > 0)
                    {
                        TokenCode = EncryptCore.Md5Get(item.Email + User.Id + EncryptCore.PassKey + DateTime.Now.ToString("ddMMyyyyhhmmss") + RndNumber);
                    }
                    else
                    {
                        Rs.Failed(new ErrorObject
                        {
                            Code        = "EMAIL_NOT_CONFIRM",
                            Description = "Email is not comfirmed"
                        });
                    }
                    var UserInf = new UserResult()
                    {
                        Id             = User.Id,
                        Email          = User.Email,
                        AccessToken    = TokenCode,
                        FirstName      = User.FirstName,
                        LastName       = User.LastName,
                        PhoneNumber    = User.PhoneNumber,
                        Address        = User.Address,
                        DistrictCode   = User.DistrictCode,
                        ProvinceCode   = User.ProvinceCode,
                        RoleDesc       = User.RoleDesc,
                        RoleId         = User.RoleId,
                        UserAvatar     = User.UserAvatar,
                        EmailConfirmed = User.EmailConfirmed
                    };
                    CacheUtil.InsertCacheObject(TokenCode, UserInf, 60 * 24 * 30);
                    Rs.Data = UserInf;
                    return(Content(HttpStatusCode.OK, Rs));
                }
                else
                {
                    Rs.Failed(new ErrorObject
                    {
                        Code        = Login.Errors[0].Code,
                        Description = Login.Errors[0].Description
                    });
                    return(Content(HttpStatusCode.BadRequest, Rs));
                }
            }
            catch (Exception ex)
            {
                Rs.Failed(new ErrorObject()
                {
                    Code        = Constants.ERR_EXCEPTION,
                    Description = ex.ToString()
                });
                return(Content(HttpStatusCode.Unauthorized, Rs));
            }
        }