Пример #1
0
        public async Task <WidgetPlacement> SaveWidgetPlacementAsync(PlacementParameter param)
        {
            var wp = await UpdateNewLayoutOrderAsync(param);

            await UpdatePreviousLayoutOrderAsync(param);

            return(wp);
        }
Пример #2
0
        public WidgetPlacement SaveWidgetPlacement(PlacementParameter param)
        {
            var wp = UpdateNewLayoutOrder(param);

            UpdatePreviousLayoutOrder(param);

            return(wp);
        }
Пример #3
0
        // Save Widget location
        public async Task <IActionResult> OnPostSaveWidgetPosition([FromBody] PlacementParameter model)
        {
            var placement = await _service.SaveWidgetPlacementAsync(model);

            if (placement == null)
            {
                return(StatusCode((int)HttpStatusCode.InternalServerError,
                                  $"Widget Placement (id:{model.PlacementId}) was NOT saved."));
            }

            return(new OkObjectResult("Widget Placement was saved."));
        }
Пример #4
0
        private void UpdatePreviousLayoutOrder(PlacementParameter param)
        {
            // update placements from previous layout.
            var placements = _context.GetPlacementsByLayout(param.PreviousLayout);
            var index      = 0;

            foreach (var wp in placements.Where(e => e.ColumnIndex == param.Column).OrderBy <WidgetPlacement, int>(e => e.WidgetIndex))
            {
                wp.WidgetIndex = index++;
            }

            _context.SaveChanges();
        }
Пример #5
0
        private async Task UpdatePreviousLayoutOrderAsync(PlacementParameter param)
        {
            // update placements from previous layout.
            var placements = await _context.GetPlacementsByLayoutAsync(param.PreviousLayout);

            var index = 0;

            foreach (var wp in placements.Where(e => e.ColumnIndex == param.Column).OrderBy <WidgetPlacement, int>(e => e.WidgetIndex))
            {
                wp.WidgetIndex = index++;
            }

            await _context.SaveChangesAsync(new CancellationToken());
        }
Пример #6
0
        public async Task <IActionResult> Put([FromBody] PlacementParameter model)
        {
            //var user = await GetCurrentUserAsync();

            var placement = await _service.SaveWidgetPlacementAsync(model);

            if (placement == null)
            {
                return(StatusCode((int)HttpStatusCode.InternalServerError,
                                  $"Widget Placement (id:{model.PlacementId}) was NOT saved."));
            }

            return(Ok("Widget Placement was saved."));
        }
        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));
        }
Пример #8
0
        private WidgetPlacement UpdateNewLayoutOrder(PlacementParameter param)
        {
            foreach (var plItem in param.PlacementList)
            {
                var wp = _context.GetWidgetPlacement(plItem.PlacementId);
                if (wp == null)
                {
                    continue;
                }

                if (wp.WidgetPlacementId == param.PlacementId)
                {
                    wp.LayoutRowId = param.LayoutRowId;
                    wp.ColumnIndex = param.Column;
                }
                wp.WidgetIndex = plItem.Index;
            }

            _context.SaveChanges();

            return(_context.GetWidgetPlacement(param.PlacementId));
        }
Пример #9
0
        private async Task <WidgetPlacement> UpdateNewLayoutOrderAsync(PlacementParameter param)
        {
            foreach (var plItem in param.PlacementList)
            {
                var wp = await _context.GetWidgetPlacementAsync(plItem.PlacementId);

                if (wp == null)
                {
                    continue;
                }

                if (wp.WidgetPlacementId == param.PlacementId)
                {
                    wp.LayoutRowId = param.LayoutRowId;
                    wp.ColumnIndex = param.Column;
                }
                wp.WidgetIndex = plItem.Index;
            }

            await _context.SaveChangesAsync(new CancellationToken());

            return(await _context.GetWidgetPlacementAsync(param.PlacementId));
        }