public async Task <IActionResult> AddWidget([FromBody] AddWidgetParameter model)
        {
            var success = await _service.AddWidgetToTabAsync(model.TabId, model.WidgetId);

            var result = new TuxResponse
            {
                Success = true,
                Message = new TuxViewMessage(
                    success ? "Widget added." : "Widget was NOT added.",
                    success ? TuxMessageType.Success : TuxMessageType.Danger)
            };

            return(Json(result));
        }
        public async Task <IActionResult> Put([FromBody] PlacementParameter model)
        {
            //var user = await GetCurrentUserAsync();

            var placement = await _service.SaveWidgetPlacementAsync(model);

            var result = new TuxResponse
            {
                Success = placement != null,
                Message = new TuxViewMessage(
                    placement != null ? "Widget placement saved." : "Widget placement NOT saved.",
                    placement != null ? TuxMessageType.Success : TuxMessageType.Danger)
            };

            return(Ok(result));
        }
        public async Task <IActionResult> RemoveWidget([FromBody] DeleteWidgetParameter model)
        {
            // var user = await GetCurrentUserAsync();

            var result = new TuxResponse {
                Success = true
            };

            var success = await _service.RemoveWidgetAsync(model.PlacementId);

            result.Message = new TuxViewMessage(
                success ? "Widget removed." : "Widget was NOT removed.",
                success ? TuxMessageType.Success : TuxMessageType.Danger,
                success, id: model.PlacementId);

            return(Json(result));
        }
        public async Task <IActionResult> SaveLayout([FromBody] SaveLayoutViewModel model)
        {
            var layout = await _service.GetLayoutFromTabAsync(model.TabId);

            var success = await _service.SaveLayoutAsync(layout, model.LayoutList);

            var result = new TuxResponse
            {
                Success = true,
                Message = new TuxViewMessage(
                    success ? "Layout saved." : "Layout NOT saved.",
                    success ? TuxMessageType.Success : TuxMessageType.Danger,
                    success)
            };

            return(Json(result));
        }