Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        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);
            }
        }
Exemplo n.º 3
0
        public void RevokeSupport(ResaAmendment amendment, int roleId)
        {
            var scope             = serviceScopeFactory.CreateScope();
            var resolutionService = scope.ServiceProvider.GetRequiredService <ResolutionService>();

            resolutionService.RevokeSupport(amendment, roleId);

            NotifyOnAmendentChange(amendment);
        }
Exemplo n.º 4
0
        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();
        }
Exemplo n.º 5
0
 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);
     }
 }
Exemplo n.º 6
0
        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();
            }
        }
Exemplo n.º 7
0
 public void ActivateAmendment(ResaAmendment amendment, bool active = true)
 {
     _context.Update(amendment);
     amendment.Activated = active;
     _context.SaveChanges();
 }