public async Task <JObject> DetailsByType(string viewType, int?id = null)
        {
            switch (viewType)
            {
            case "spa":
                if (id.HasValue)
                {
                    var spaResult = await SpaModuleViewModel.Repository.GetSingleModelAsync(model => model.Id == id && model.Specificulture == _lang).ConfigureAwait(false);

                    return(JObject.FromObject(spaResult));
                }
                else
                {
                    var model = new SiocModule()
                    {
                        Specificulture = _lang, Status = (int)SWStatus.Preview
                    };

                    RepositoryResponse <SpaModuleViewModel> result = new RepositoryResponse <SpaModuleViewModel>()
                    {
                        IsSucceed = true,
                        Data      = await SpaModuleViewModel.InitAsync(model)
                    };
                    return(JObject.FromObject(result));
                }

            case "be":
                if (id.HasValue)
                {
                    var beResult = await BEModuleViewModel.Repository.GetSingleModelAsync(model => model.Id == id && model.Specificulture == _lang).ConfigureAwait(false);

                    return(JObject.FromObject(beResult));
                }
                else
                {
                    var model = new SiocModule()
                    {
                        Specificulture = _lang, Status = (int)SWStatus.Preview
                    };

                    RepositoryResponse <BEModuleViewModel> result = new RepositoryResponse <BEModuleViewModel>()
                    {
                        IsSucceed = true,
                        Data      = await BEModuleViewModel.InitAsync(model)
                    };
                    return(JObject.FromObject(result));
                }

            default:
                if (id.HasValue)
                {
                    var beResult = await FEModuleViewModel.Repository.GetSingleModelAsync(model => model.Id == id && model.Specificulture == _lang).ConfigureAwait(false);

                    return(JObject.FromObject(beResult));
                }
                else
                {
                    var model = new SiocModule();
                    RepositoryResponse <FEModuleViewModel> result = new RepositoryResponse <FEModuleViewModel>()
                    {
                        IsSucceed = true,
                        Data      = new FEModuleViewModel(model)
                        {
                            Specificulture = _lang, Status = SWStatus.Preview
                        }
                    };
                    return(JObject.FromObject(result));
                }
            }
        }