public void AddAddAmendment(ResaElement resolution, int roleId, string newText) { _context.Update(resolution); var paragraph = new ResaOperativeParagraph() { AllowAmendments = false, IsVirtual = true, IsLocked = true, OrderIndex = resolution.OperativeParagraphs.Count, Parent = null, Resolution = resolution, Text = newText }; resolution.OperativeParagraphs.Add(paragraph); _context.OperativeParagraphs.Add(paragraph); var amendment = new ResaAddAmendment() { Resolution = resolution, Submitter = _context.Delegates.Find(roleId), VirtualParagraph = paragraph }; resolution.AddAmendments.Add(amendment); _context.ResolutionAddAmendments.Add(amendment); _context.SaveChanges(); }
public ResaPreambleParagraph CreatePreambleParagraph([NotNull] ResaElement resolution, string text = "") { if (resolution == null) { throw new ArgumentNullException("This method CreatePReambleParagraph received an resolution element null"); } _context.Update(resolution); var paragraph = new ResaPreambleParagraph() { ResaElement = resolution, OrderIndex = _context.PreambleParagraphs.Count(n => n.ResolutionId == resolution.ResaElementId), Text = text }; if (resolution.PreambleParagraphs == null) { resolution.PreambleParagraphs = new List <ResaPreambleParagraph>(); } resolution.PreambleParagraphs.Add(paragraph); _context.PreambleParagraphs.Add(paragraph); _context.SaveChanges(); return(paragraph); }
public ResaElement CreateResolutionForCommittee(string committeeId, int?roleId) { ConferenceDelegateRole role = null; if (roleId != null) { role = _context.Delegates.FirstOrDefault(n => n.RoleId == roleId.Value); } Committee committee = _context.Committees.FirstOrDefault(n => n.CommitteeId == committeeId); var element = new ResaElement() { Topic = "Neuer Resolutionsentwurf", SubmitterName = role?.RoleName ?? "-", SubmitterRole = role, CommitteeName = committee?.Name ?? "-", }; var auth = new ResolutionAuth() { Resolution = element, Committee = committee, }; _context.ResolutionAuths.Add(auth); _context.Resolutions.Add(element); _context.SaveChanges(); _logger.LogInformation("New Resolution with id {0} for committee {1} created.", element.ResaElementId, committeeId); return(element); }
public void TestCreateResolution() { resolution = new ResaElement(); _context.Resolutions.Add(resolution); _context.SaveChanges(); Assert.AreEqual(1, _context.Resolutions.Count()); }
public void RemoveResolution(ResaElement resolution) { _context.Update(resolution); _context.PreambleParagraphs.RemoveRange(resolution.PreambleParagraphs); _context.ResolutionAddAmendments .RemoveRange(_context.ResolutionAddAmendments .Where(n => n.Resolution.ResaElementId == resolution.ResaElementId)); _context.ResolutionChangeAmendments .RemoveRange(_context.ResolutionChangeAmendments .Where(n => n.Resolution.ResaElementId == resolution.ResaElementId)); _context.ResolutionDeleteAmendments .RemoveRange(_context.ResolutionDeleteAmendments .Where(n => n.Resolution.ResaElementId == resolution.ResaElementId)); _context.ResolutionMoveAmendments .RemoveRange(_context.ResolutionMoveAmendments .Where(n => n.Resolution.ResaElementId == resolution.ResaElementId)); _context.OperativeParagraphs .RemoveRange(_context.OperativeParagraphs .Where(n => n.Resolution.ResaElementId == resolution.ResaElementId)); _context.Resolutions.Remove(resolution); _context.SaveChanges(); }
public ResaElement CreateResolution() { var element = new ResaElement(); _context.Resolutions.Add(element); _context.SaveChanges(); _logger.LogInformation("New Resolution with id {0} created.", element.ResaElementId); return(element); }
public void RevokeSupport(ResaElement resolution, int roleId) { var scope = serviceScopeFactory.CreateScope(); var resolutionService = scope.ServiceProvider.GetRequiredService <ResolutionService>(); resolutionService.RevokeSupport(resolution, roleId); ResolutionChanged?.Invoke(this, resolution); }
public void RevokeSupport(ResaElement resolution, int roleId) { var support = resolution.Supporters.FirstOrDefault(n => n.Role.RoleId == roleId); if (support != null) { resolution.Supporters.Remove(support); _context.Update(support); _context.ResolutionSupporters.Remove(support); _context.SaveChanges(); } }
public void SupportResolution(ResaElement resolution, int roleId) { _context.Update(resolution); var support = new ResaSupporter() { Role = _context.Delegates.Find(roleId), Resolution = resolution, }; resolution.Supporters.Add(support); _context.ResolutionSupporters.Add(support); _context.SaveChanges(); }
public ResaOperativeParagraph CreateOperativeParagraph([NotNull] ResaElement resolution, string text = "") { _context.Update(resolution); var operativeParagraph = new ResaOperativeParagraph() { Resolution = resolution, OrderIndex = _context.OperativeParagraphs.Count(n => n.Resolution.ResaElementId == resolution.ResaElementId), Text = text }; resolution.OperativeParagraphs.Add(operativeParagraph); _context.OperativeParagraphs.Add(operativeParagraph); _context.SaveChanges(); return(operativeParagraph); }
public void TestCreateAResolution() { var resolution = new ResaElement(); var auth = new ResolutionAuth(); auth.Resolution = resolution; auth.Conference = _context.Conferences.Find("munsh22"); auth.Committee = _context.Committees.Find("munsh22-gv"); _context.Resolutions.Add(resolution); _context.ResolutionAuths.Add(auth); _context.SaveChanges(); Assert.AreEqual(1, _context.ResolutionAuths.Count()); Assert.AreEqual(1, _context.Resolutions.Count()); }
public IList <ResaOperativeParagraph> GetOperativeParagraphs(ResaElement resolution, ResaOperativeParagraph parent = null) { var paragraphs = _context.OperativeParagraphs .Where(n => n.Resolution == resolution && n.Parent == parent) .Include(n => n.ChangeAmendments) .Include(n => n.MoveAmendments) .OrderBy(n => n.OrderIndex) .ToList(); foreach (var paragraph in paragraphs) { paragraph.Resolution = resolution; paragraph.DeleteAmendments = GetDeleteAmendments(paragraph); } return(paragraphs); }
public void TestRemoveResolutionDeletePreambleParagraphs() { var resolution = new ResaElement(); var preambleParagraph = new ResaPreambleParagraph(); resolution.PreambleParagraphs.Add(preambleParagraph); _context.Resolutions.Add(resolution); _context.SaveChanges(); Assert.AreEqual(1, _context.Resolutions.Count()); Assert.AreEqual(1, _context.PreambleParagraphs.Count()); _context.Resolutions.Remove(resolution); _context.SaveChanges(); Assert.AreEqual(0, _context.Resolutions.Count()); Assert.AreEqual(0, _context.PreambleParagraphs.Count()); }
public void TestRemoveResolutionDeletesOperativeParagraphs() { var resolution = new ResaElement(); var operativeParagraph = new ResaOperativeParagraph(); resolution.OperativeParagraphs.Add(operativeParagraph); _context.Resolutions.Add(resolution); _context.SaveChanges(); Assert.AreEqual(1, _context.Resolutions.Count()); Assert.AreEqual(1, _context.OperativeParagraphs.Count()); _context.Resolutions.Remove(resolution); _context.SaveChanges(); Assert.AreEqual(0, _context.Resolutions.Count()); Assert.AreEqual(0, _context.OperativeParagraphs.Count()); }
public void TestRemovingResolutionRemovesAuth() { var resolution = new ResaElement(); var auth = new ResolutionAuth(); resolution.Authorizations.Add(auth); _context.Resolutions.Add(resolution); _context.SaveChanges(); Assert.AreEqual(1, _context.Resolutions.Count()); Assert.AreEqual(1, _context.ResolutionAuths.Count(), "Expected to have a resolution auth, but there were none..."); Assert.AreEqual(_context.Resolutions.First().ResaElementId, _context.ResolutionAuths.First().Resolution.ResaElementId); // Perform deletion _context.Resolutions.Remove(resolution); _context.SaveChanges(); Assert.AreEqual(0, _context.Resolutions.Count()); Assert.AreEqual(0, _context.ResolutionAuths.Count()); }
public void TestRemoveParentOperativeParagraphRemovesChildren() { var resolution = new ResaElement(); var operativeParagraph = new ResaOperativeParagraph(); var subParagraph = new ResaOperativeParagraph(); subParagraph.Resolution = resolution; operativeParagraph.Children.Add(subParagraph); resolution.OperativeParagraphs.Add(operativeParagraph); _context.Resolutions.Add(resolution); _context.SaveChanges(); Assert.AreEqual(1, _context.Resolutions.Count()); Assert.AreEqual(2, _context.OperativeParagraphs.Count()); _context.OperativeParagraphs.Remove(operativeParagraph); _context.SaveChanges(); Assert.AreEqual(0, _context.OperativeParagraphs.Count()); }
public void TestRemoveOperativeParagraphRemovesMoveAmendments() { var resolution = new ResaElement(); var operativeParaph = new ResaOperativeParagraph(); resolution.OperativeParagraphs.Add(operativeParaph); var moveAmendment = new ResaMoveAmendment(); moveAmendment.SourceParagraph = operativeParaph; operativeParaph.MoveAmendments.Add(moveAmendment); _context.Resolutions.Add(resolution); _context.SaveChanges(); Assert.AreEqual(1, _context.Resolutions.Count()); Assert.AreEqual(1, _context.ResolutionMoveAmendments.Count()); Assert.AreEqual(1, _context.OperativeParagraphs.Count()); _context.OperativeParagraphs.Remove(operativeParaph); _context.SaveChanges(); Assert.AreEqual(1, _context.Resolutions.Count()); Assert.AreEqual(0, _context.ResolutionMoveAmendments.Count()); Assert.AreEqual(0, _context.ResolutionDeleteAmendments.Count()); }
public void TestRemoveOperativeParagraphRemovesChangeAmendment() { var resolution = new ResaElement(); var operativeParagraph = new ResaOperativeParagraph(); resolution.OperativeParagraphs.Add(operativeParagraph); var changeAmendment = new ResaChangeAmendment(); operativeParagraph.ChangeAmendments.Add(changeAmendment); _context.Resolutions.Add(resolution); _context.SaveChanges(); Assert.AreEqual(1, _context.Resolutions.Count()); Assert.AreEqual(1, _context.OperativeParagraphs.Count()); Assert.AreEqual(1, _context.ResolutionChangeAmendments.Count()); _context.OperativeParagraphs.Remove(operativeParagraph); _context.SaveChanges(); Assert.AreEqual(1, _context.Resolutions.Count()); Assert.AreEqual(0, _context.OperativeParagraphs.Count()); Assert.AreEqual(0, _context.ResolutionChangeAmendments.Count()); }
public void TestCanCreateInstance() { resolution = new ResaElement(); Assert.NotNull(resolution); }
public int UpdateResaElement(ResaElement element) { _context.Update(element); return(_context.SaveChanges()); }