public void ActivateAmendment(ResaAmendment amendment, bool active = true) { var scope = serviceScopeFactory.CreateScope(); var resolutionService = scope.ServiceProvider.GetRequiredService <ResolutionService>(); resolutionService.ActivateAmendment(amendment, active); if (amendment is ResaDeleteAmendment delAmendment) { OperativeParagraphChanged?.Invoke(this, delAmendment.TargetParagraph); } else if (amendment is ResaChangeAmendment changeAmendment) { OperativeParagraphChanged?.Invoke(this, changeAmendment.TargetParagraph); } else if (amendment is ResaMoveAmendment moveAmendment) { OperativeParagraphChanged?.Invoke(this, moveAmendment.SourceParagraph); OperativeParagraphChanged?.Invoke(this, moveAmendment.VirtualParagraph); ResolutionChanged?.Invoke(this, Resolution); } else if (amendment is ResaAddAmendment addAmendment) { ResolutionChanged?.Invoke(this, Resolution); OperativeParagraphChanged?.Invoke(this, addAmendment.VirtualParagraph); } }
public void SubmitAmendment(ResaAmendment amendment) { if (amendment is ResaDeleteAmendment deleteAmendment) { var resolution = amendment.Resolution; var scope = serviceScopeFactory.CreateScope(); var resolutionService = scope.ServiceProvider.GetRequiredService <ResolutionService>(); resolutionService.SubmitDeleteAmendment(deleteAmendment); ResolutionChanged?.Invoke(this, resolution); } else if (amendment is ResaChangeAmendment changeAmendment) { var scope = serviceScopeFactory.CreateScope(); var resolutionService = scope.ServiceProvider.GetRequiredService <ResolutionService>(); resolutionService.SubmitChangeAmendment(changeAmendment); OperativeParagraphChanged?.Invoke(this, changeAmendment.TargetParagraph); } else if (amendment is ResaMoveAmendment moveAmendment) { var scope = serviceScopeFactory.CreateScope(); var resolutionService = scope.ServiceProvider.GetRequiredService <ResolutionService>(); resolutionService.SubmitMoveAmendment(moveAmendment); ResolutionChanged?.Invoke(this, Resolution); } else if (amendment is ResaAddAmendment addAmendment) { var scope = serviceScopeFactory.CreateScope(); var resolutionService = scope.ServiceProvider.GetRequiredService <ResolutionService>(); resolutionService.SubmitAddAmendment(addAmendment); ResolutionChanged?.Invoke(this, Resolution); } }
public void RevokeSupport(ResaAmendment amendment, int roleId) { var scope = serviceScopeFactory.CreateScope(); var resolutionService = scope.ServiceProvider.GetRequiredService <ResolutionService>(); resolutionService.RevokeSupport(amendment, roleId); NotifyOnAmendentChange(amendment); }
public void SupportAmendment(ResaAmendment amendment, int roleId) { _context.Update(amendment); var support = new ResaAmendmentSupporter() { Amendment = amendment, Role = _context.Delegates.Find(roleId), SupportTimestamp = DateTime.Now, }; amendment.Supporters.Add(support); _context.SaveChanges(); }
private void NotifyOnAmendentChange(ResaAmendment amendment) { if (amendment is ResaDeleteAmendment delete) { OperativeParagraphChanged?.Invoke(this, delete.TargetParagraph); } else if (amendment is ResaChangeAmendment change) { OperativeParagraphChanged?.Invoke(this, change.TargetParagraph); } else if (amendment is ResaMoveAmendment move) { OperativeParagraphChanged?.Invoke(this, move.SourceParagraph); } }
public void RevokeSupport(ResaAmendment amendment, int roleId) { _context.Update(amendment); var support = amendment.Supporters.FirstOrDefault(n => n.Role.RoleId == roleId); if (support == null) { support = _context.ResolutionAmendmentsSupporters.FirstOrDefault(n => n.Role.RoleId == roleId); } if (support != null) { amendment.Supporters.Remove(support); foreach (var toRemove in amendment.Supporters.Where(n => n.Role != null && n.Role.RoleId == roleId)) { amendment.Supporters.Remove(toRemove); } _context.SaveChanges(); } }
public void ActivateAmendment(ResaAmendment amendment, bool active = true) { _context.Update(amendment); amendment.Activated = active; _context.SaveChanges(); }