/// <summary> /// Metodo per rimuovere fasi di lavoro /// </summary> /// <param name="faseDiLavoro"></param> public void RemoveFaseLavoro(FaseDiLavoro faseDiLavoro) { // Prima rimuovo tutte le lavorazioni figlie var lavToRemove = Lavorazioni.Where(l => l.FaseDiLavoroGuid == faseDiLavoro.FaseDiLavoroGuid).ToList(); while (lavToRemove.Count() > 0) { var lav = lavToRemove.FirstOrDefault(); if (Lavorazioni.Contains(lav)) { Lavorazioni.Remove(lav); } lavToRemove.Remove(lav); } // poi rimuvo la fase if (FasiDiLavoro.Contains(faseDiLavoro)) { FasiDiLavoro.Remove(faseDiLavoro); } }
/// <summary> /// Aggiunge o sovrascrive fase , se già presente lavorazione con stesso guid /// </summary> /// <param name="faseDiLavoro"></param> /// <returns></returns> public void AddFaseDiLavoro(FaseDiLavoro faseDiLavoro) { for (var i = 0; i < FasiDiLavoro.Count; i++) { if (FasiDiLavoro[i].Equals(faseDiLavoro)) { FasiDiLavoro[i] = faseDiLavoro; return; } } FasiDiLavoro.Add(faseDiLavoro); }
public FaseDiLavoro GetFaseDiLavoro(Guid guid) { return(FasiDiLavoro.Where(l => l.FaseDiLavoroGuid == guid).FirstOrDefault()); }