public PublishedReferential(IMultipleActionReferential referential) { Label = referential.Label; Description = referential.Description; FileHash = referential.Hash; //File = referential.CloudFile == null ? null : new PublishedFile(referential.CloudFile); }
/// <summary> /// Supprime un lien référentiel - Action. /// </summary> /// <param name="referential">Le référentiel.</param> /// <param name="action">L'action.</param> /// <returns><c>true</c> si la suppression a réussi.</returns> public static bool DeleteReferentialActionLink(IMultipleActionReferential referential, KAction action) { if (referential is Ref1) { return(Delete(action.Ref1, referential)); } if (referential is Ref2) { return(Delete(action.Ref2, referential)); } if (referential is Ref3) { return(Delete(action.Ref3, referential)); } if (referential is Ref4) { return(Delete(action.Ref4, referential)); } if (referential is Ref5) { return(Delete(action.Ref5, referential)); } if (referential is Ref6) { return(Delete(action.Ref6, referential)); } if (referential is Ref7) { return(Delete(action.Ref7, referential)); } throw new ArgumentOutOfRangeException(nameof(referential)); }
/// <summary> /// Obtient un lien référentiel - action. /// </summary> /// <param name="referential">Le référentiel.</param> /// <param name="action">L'action</param> /// <returns>Le lien.</returns> public static IReferentialActionLink GetReferentialActionLink(IMultipleActionReferential referential, KAction action) { if (referential is Ref1) { return(action.Ref1.FirstOrDefault(al => al.Referential == referential)); } if (referential is Ref2) { return(action.Ref2.FirstOrDefault(al => al.Referential == referential)); } if (referential is Ref3) { return(action.Ref3.FirstOrDefault(al => al.Referential == referential)); } if (referential is Ref4) { return(action.Ref4.FirstOrDefault(al => al.Referential == referential)); } if (referential is Ref5) { return(action.Ref5.FirstOrDefault(al => al.Referential == referential)); } if (referential is Ref6) { return(action.Ref6.FirstOrDefault(al => al.Referential == referential)); } if (referential is Ref7) { return(action.Ref7.FirstOrDefault(al => al.Referential == referential)); } throw new ArgumentOutOfRangeException(nameof(referential)); }
/// <summary> /// Crée un lien référentiel - Action. /// </summary> /// <param name="referential">Le référentiel.</param> /// <param name="action">L'action</param> /// <param name="quantity">La quantité.</param> /// <returns>Le lien.</returns> public static IReferentialActionLink CreateReferentialActionLink(IMultipleActionReferential referential, KAction action, int quantity) { IReferentialActionLink al; IList list; if (referential is Ref1) { al = new Ref1Action(); list = action.Ref1; } else if (referential is Ref2) { al = new Ref2Action(); list = action.Ref2; } else if (referential is Ref3) { al = new Ref3Action(); list = action.Ref3; } else if (referential is Ref4) { al = new Ref4Action(); list = action.Ref4; } else if (referential is Ref5) { al = new Ref5Action(); list = action.Ref5; } else if (referential is Ref6) { al = new Ref6Action(); list = action.Ref6; } else if (referential is Ref7) { al = new Ref7Action(); list = action.Ref7; } else { throw new ArgumentOutOfRangeException(nameof(referential)); } al.Action = action; al.Referential = referential; al.Quantity = quantity; list.Add(al); return(al); }
/// <summary> /// Supprime un lien référentiel - Action. /// </summary> /// <typeparam name="TActionLink">Le type de lien référentiel - action.</typeparam> /// <param name="collection">La collection dans laquelle l'élément doit être supprimé.</param> /// <param name="referential">Le référentiel.</param> /// <returns><c>true</c> si la suppression a réussi.</returns> static bool Delete <TActionLink>(TrackableCollection <TActionLink> collection, IMultipleActionReferential referential, bool cancelChanges = false) where TActionLink : IReferentialActionLink, IObjectWithChangeTracker { TActionLink al = collection.FirstOrDefault(c => c.Referential == referential); if (al != null) { if (cancelChanges) { al.Referential.CancelChanges(); } collection.Remove(al); if (al.IsMarkedAsAdded) { al.MarkAsUnchanged(); } return(true); } return(false); }