Ejemplo n.º 1
0
        /// <summary>
        /// Sets the userProfiles.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <returns></returns>
        public UserProfileResponse SetUserProfiles(UserProfileRequest request)
        {
            var response = new UserProfileResponse();

            var userProfileEntity = request.UserProfile;

            if (request.Action != PersistType.Delete && userProfileEntity != null)
            {
                if (!userProfileEntity.Validate())
                {
                    foreach (var error in userProfileEntity.ValidationErrors)
                    {
                        response.Message += error + Environment.NewLine;
                    }
                    response.Acknowledge = AcknowledgeType.Failure;
                    return(response);
                }
            }
            try
            {
                if (request.Action == PersistType.Insert)
                {
                    if (userProfileEntity != null)
                    {
                        userProfileEntity.UserProfileId = UserProfileDao.InsertUserProfile(userProfileEntity);
                        if (userProfileEntity.UserProfileId == 0)
                        {
                            response.Acknowledge = AcknowledgeType.Failure;
                            return(response);
                        }
                    }
                }
                else if (request.Action == PersistType.Update)
                {
                    response.Message = UserProfileDao.UpdateUserProfile(userProfileEntity);
                    if (response.Message != null)
                    {
                        response.Acknowledge = AcknowledgeType.Failure;
                        return(response);
                    }
                }
                else if (request.Action == PersistType.Delete)
                {
                    var userProfileForDelete = UserProfileDao.GetUserProfile(request.UserProfileId);
                    response.Message = UserProfileDao.DeleteUserProfile(userProfileForDelete);
                    if (response.Message != null)
                    {
                        response.Acknowledge  = AcknowledgeType.Failure;
                        response.RowsAffected = 0;
                        return(response);
                    }
                    response.RowsAffected = 1;
                }
                else
                {
                    var userProfileForUpdate = UserProfileDao.GetUserProfileByUserProfileName(request.UserProfileName, request.OldPassword);
                    if (userProfileForUpdate == null)
                    {
                        response.Acknowledge = AcknowledgeType.Failure;
                        response.Message     = @"Mật khẩu cũ không chính xác !";
                        return(response);
                    }
                    //assign new password
                    userProfileForUpdate.Password = request.Password;
                    response.Message = UserProfileDao.UpdateUserProfile(userProfileForUpdate);
                    if (response.Message != null)
                    {
                        response.Acknowledge = AcknowledgeType.Failure;
                        return(response);
                    }
                    response.RowsAffected = 1;
                }
            }
            catch (Exception ex)
            {
                response.Acknowledge = AcknowledgeType.Failure;
                response.Message     = ex.Message;
                return(response);
            }
            response.UserProfileId = userProfileEntity != null ? userProfileEntity.UserProfileId : 0;
            return(response);
        }