diff --git a/EnvelopeGenerator.Web/Services/EnvelopeService.cs b/EnvelopeGenerator.Web/Services/EnvelopeService.cs index f194c8e3..d4811196 100644 --- a/EnvelopeGenerator.Web/Services/EnvelopeService.cs +++ b/EnvelopeGenerator.Web/Services/EnvelopeService.cs @@ -75,6 +75,8 @@ namespace EnvelopeGenerator.Web.Services throw new NullReferenceException("Receiver not found"); } + envelope.Documents = FilterElementsByReceiver(envelope, receiverId); + return new() { Receiver = receiver, @@ -82,6 +84,18 @@ namespace EnvelopeGenerator.Web.Services }; } + private static List FilterElementsByReceiver(Envelope envelope, int receiverId) + { + return envelope.Documents. + Select((document) => + { + var elements = document.Elements.Where((e) => e.ReceiverId == receiverId); + document.Elements = elements.ToList(); + return document; + }). + ToList(); + } + public List LoadEnvelopes(int pReceiverId) { return (List)envelopeModel.List(pReceiverId);