Ejemplo n.º 1
0
        /// <summary>
        /// Deletes MitigationRisk and also Mitigation if no other MitigationRisk with MitigationId
        /// </summary>
        /// <param name="mitigationId"></param>
        /// <param name="riskId"></param>
        public void DeleteFromRisk(Guid mitigationId, Guid riskId)
        {
            IEnumerable <MitigationRisk> mitigationsOnRisk = _context.MitigationRisks.Where(x => x.RiskId.Equals(riskId));

            if (mitigationsOnRisk.Any())
            {
                MitigationRisk mr = mitigationsOnRisk.FirstOrDefault(x => x.MitigationId.Equals(mitigationId));
                if (mr is not null)
                {
                    _context.MitigationRisks.Remove(mr);
                    // If was only connection to Mitigation, delete Mitigation as well
                    if (mitigationsOnRisk.Count() == 1)
                    {
                        Mitigation mitigation = _context.Mitigations.Find(mitigationId);
                        _context.Mitigations.Remove(mitigation);
                    }
                }
            }
            _context.SaveChanges();
        }
Ejemplo n.º 2
0
        public IActionResult CreateMitigation(string rid, [FromBody] Mitigation mitigation)
        {
            mitigation.Id = Guid.NewGuid();
            Guid           riskId = Guid.Parse(rid);
            MitigationRisk mr     = new MitigationRisk()
            {
                MitigationId = mitigation.Id,
                RiskId       = riskId
            };

            try
            {
                _mitigationService.Create(mitigation, mr);
                return(Ok(mitigation));
            }
            catch (AppException ex)
            {
                // return error message if there was an exception
                return(BadRequest(new { message = ex.Message }));
            }
        }
Ejemplo n.º 3
0
 /// <summary>
 /// creates new mitigation
 /// </summary>
 /// <param name="mitigation"></param>
 /// <param name="mr"></param>
 public void Create(Mitigation mitigation, MitigationRisk mr)
 {
     _context.Mitigations.Add(mitigation);
     _context.MitigationRisks.Add(mr);
     _context.SaveChanges();
 }