public async Task <HttpResponseMessage> ActivateDeactivateFeature([FromUri] int id, [FromUri] int flag)
        {
            #region Old implementation
            ////var result = await featureService.ActivateDeactivateFeature(id, flag);
            ////if (result)
            ////{
            ////    if (flag == 1)
            ////    {
            ////        return CreateHttpResponse<bool>(
            ////            HttpStatusCode.OK, HttpCustomStatus.Success, result, GetLocalisedString("msgFeatureActivate"));
            ////    }
            ////    else
            ////    {
            ////        return CreateHttpResponse<bool>(
            ////            HttpStatusCode.OK,
            ////            HttpCustomStatus.Success,
            ////            result,
            ////            GetLocalisedString("msgFeatureDeActivate"));
            ////    }
            ////}
            ////else
            ////{
            ////    return CreateHttpResponse<bool>(
            ////        HttpStatusCode.BadRequest,
            ////        HttpCustomStatus.Failure,
            ////        result,
            ////        GetLocalisedString("msgWebServiceError"));
            ////}
            #endregion

            try
            {
                if (flag == 1)
                {
                    var result = await featureService.ActivateFeature(id);

                    if (!result)
                    {
                        return(CreateHttpResponse <bool>(HttpStatusCode.Accepted, HttpCustomStatus.Failure, result, GetLocalisedString("msgAlreadyActivated")));
                    }

                    if (result)
                    {
                        return(CreateHttpResponse <bool>(HttpStatusCode.OK, HttpCustomStatus.Success, result, "Feature activated successfully."));
                    }
                }

                if (flag == 0)
                {
                    var result = await featureService.DeactivateFeature(id);

                    if (!result)
                    {
                        return(CreateHttpResponse <bool>(HttpStatusCode.Accepted, HttpCustomStatus.Failure, result, GetLocalisedString("msgAlreadyDeactivated")));
                    }

                    if (result)
                    {
                        return(CreateHttpResponse <bool>(HttpStatusCode.OK, HttpCustomStatus.Success, result, "Feature deactivated successfully."));
                    }
                }

                return(CreateHttpResponse <bool>(HttpStatusCode.InternalServerError, HttpCustomStatus.Failure, false, "Operation failed."));
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message);
                return(CreateHttpResponse <ISORole>(HttpStatusCode.InternalServerError, HttpCustomStatus.Failure, null, GetLocalisedString("msgWebServiceError")));
            }
        }