/// <summary>
        /// Inserts the user feature permision.
        /// </summary>
        /// <param name="userfeaturePermision">The userfeature permision.</param>
        /// <returns></returns>
        public UserFeaturePermisionResponse InsertUserFeaturePermision(IList <UserFeaturePermisionEntity> userFeaturePermisions)
        {
            var response = new UserFeaturePermisionResponse {
                Acknowledge = AcknowledgeType.Success
            };

            try
            {
                if (!userFeaturePermisions.Any())
                {
                    response.Acknowledge = AcknowledgeType.Failure;
                    return(response);
                }
                using (var scope = new TransactionScope())
                {
                    //Delete UserFeaturePermision
                    var userFeaturePermision = userFeaturePermisions.FirstOrDefault();
                    if (userFeaturePermision == null)
                    {
                        response.Acknowledge = AcknowledgeType.Failure;
                        scope.Dispose();
                        return(response);
                    }
                    response.Message =
                        UserFeaturePermisionDao.DeleteUserFeaturePermision(userFeaturePermision.FeatureID,
                                                                           userFeaturePermision.UserProfileID);
                    if (!string.IsNullOrEmpty(response.Message))
                    {
                        response.Acknowledge = AcknowledgeType.Failure;
                        scope.Dispose();
                        return(response);
                    }
                    //Insert UserFeaturePermision
                    foreach (var userFeaturePermisionEntity in userFeaturePermisions)
                    {
                        userFeaturePermisionEntity.UserFeaturePermisionID = Guid.NewGuid().ToString();
                        response.Message =
                            UserFeaturePermisionDao.InsertUserFeaturePermision(userFeaturePermisionEntity);
                        if (!string.IsNullOrEmpty(response.Message))
                        {
                            response.Acknowledge = AcknowledgeType.Failure;
                            scope.Dispose();
                            return(response);
                        }
                    }
                    response.UserFeaturePermisionID = "Done";
                    scope.Complete();
                }
                return(response);
            }
            catch (Exception ex)
            {
                response.Message = ex.Message;
                return(response);
            }
        }
        /// <summary>
        /// Deletes the user feature permision.
        /// </summary>
        /// <param name="featureID">The feature identifier.</param>
        /// <param name="UserProfileID">The user profile identifier.</param>
        /// <returns></returns>
        public UserFeaturePermisionResponse DeleteUserFeaturePermision(string featureID, string UserProfileID)
        {
            var response = new UserFeaturePermisionResponse {
                Acknowledge = AcknowledgeType.Success
            };

            try
            {
                response.Message = UserFeaturePermisionDao.DeleteUserFeaturePermision(featureID, UserProfileID);
                return(response);
            }
            catch (Exception ex)
            {
                response.Message = ex.Message;
                return(response);
            }
        }