< Summary

Class:MUNity.Services.ConferenceWebsiteService
Assembly:MUNity.Services
File(s):C:\Users\aeuke\source\repos\PeerConradi\munity\src\MUNityServices\Services\ConferenceWebsiteService.cs
Covered lines:0
Uncovered lines:59
Coverable lines:59
Total lines:87
Line coverage:0% (0 of 59)
Covered branches:0
Total branches:6
Branch coverage:0% (0 of 6)
Covered methods:0
Total methods:4
Method coverage:0% (0 of 4)

Metrics

MethodBranch coverage Cyclomatic complexity Line coverage
GetMenuItems(...)100%10%
AddPage(...)0%40%
RenameMenuEntry(...)0%20%
.ctor(...)100%10%

File(s)

C:\Users\aeuke\source\repos\PeerConradi\munity\src\MUNityServices\Services\ConferenceWebsiteService.cs

#LineLine coverage
 1using System;
 2using System.Collections.Generic;
 3using System.Linq;
 4using System.Text;
 5using System.Threading.Tasks;
 6using MUNity.Database.Context;
 7using MUNity.Schema.Conference.Website;
 8
 9namespace MUNity.Services
 10{
 11    public class ConferenceWebsiteService
 12    {
 13        private MunityContext _context;
 14
 15        public List<MenuItem> GetMenuItems(string conferenceId)
 016        {
 017            return _context.ConferenceWebMenuEntries
 018                .Where(n => n.Conference.ConferenceId == conferenceId && n.Parent == null)
 019                .Select(n => new MenuItem()
 020                {
 021                    Id = n.ConferenceWebMenuEntryId,
 022                    PageId = n.TargetedPage.ConferenceWebPageId,
 023                    Title = n.Title,
 024                    Items = n.ChildEntries.Select(a => new MenuItem()
 025                    {
 026                        Id = a.ConferenceWebMenuEntryId,
 027                        PageId = a.TargetedPage.ConferenceWebPageId,
 028                        Title = a.Title
 029                    }).ToList()
 030                }).ToList();
 031        }
 32
 33        public CreatedPageResult AddPage(string conferenceId, int? parentItemId)
 034        {
 035            MUNity.Database.Models.Website.ConferenceWebMenuEntry parent = null;
 036            if (parentItemId != null)
 037                parent = _context.ConferenceWebMenuEntries.Find(parentItemId);
 38
 039            var page = new MUNity.Database.Models.Website.ConferenceWebPage()
 040            {
 041                Conference = _context.Conferences.Find(conferenceId),
 042                CreationDate = DateTime.Now,
 043                IsIndexPage = false,
 044                LastUpdateDate = DateTime.Now,
 045                Title = "New Page"
 046            };
 47
 048            var menuItem = new MUNity.Database.Models.Website.ConferenceWebMenuEntry()
 049            {
 050                Conference = _context.Conferences.Find(conferenceId),
 051                Parent = parent,
 052                TargetedPage = page,
 053                Title = "New Page"
 054            };
 55
 056            _context.ConferenceWebMenuEntries.Add(menuItem);
 057            _context.ConferenceWebPages.Add(page);
 058            var recaff = _context.SaveChanges();
 59
 060            var result = new CreatedPageResult();
 061            if (recaff > 0)
 062            {
 063                result.Success = true;
 064                result.PageId = page.ConferenceWebPageId;
 065                result.MenuItemId = menuItem.ConferenceWebMenuEntryId;
 066            }
 67
 068            return result;
 069        }
 70
 71        public bool RenameMenuEntry(int menuEntryId, string newName)
 072        {
 073            var entry = _context.ConferenceWebMenuEntries.Find(menuEntryId);
 074            if (entry == null)
 075                return false;
 76
 077            entry.Title = newName;
 078            _context.SaveChanges();
 079            return true;
 080        }
 81
 082        public ConferenceWebsiteService(MunityContext context)
 083        {
 084            _context = context;
 085        }
 86    }
 87}