private static bool ArePartyIdsEqual( Model.PMode.Party pmodeParty, Model.Core.Party messageParty) { if (pmodeParty == null) { return(false); } return(messageParty.PartyIds.All(userPartyId => pmodeParty.PartyIds.Any(pmodePartyId => { bool noType = userPartyId.Type == Maybe <string> .Nothing && pmodePartyId?.Type == null; bool equalType = userPartyId .Type .Select(t => StringComparer.OrdinalIgnoreCase.Equals(t, pmodePartyId?.Type)) .GetOrElse(false); bool equalId = StringComparer .OrdinalIgnoreCase .Equals(userPartyId.Id, pmodePartyId?.Id); return equalId && (equalType || noType); }))); }
private static Party CreatePartyModel(Model.PMode.Party p) { var ids = p.PartyIds == null ? Enumerable.Empty <PartyId>() : p.PartyIds ?.Select(id => String.IsNullOrEmpty(id.Type) ? new PartyId(id.Id) : new PartyId(id.Id, id.Type)) .ToArray(); return(new Party(p.Role, ids)); }
/// <summary> /// Resolves the receiver party or ToParty from the <see cref="Model.PMode.Party"/> element. /// </summary> /// <param name="party">The party of the pmode to map to an ebMS party.</param> internal static Party ResolveReceiver(Model.PMode.Party party) { return(party != null?CreatePartyModel(party) : Party.DefaultTo); }
/// <summary> /// Resolves the sender party or FromParty from the <see cref="Model.PMode.Party"/> element. /// </summary> /// <param name="party">The party of the pmode to map to an ebMS party.</param> internal static Party ResolveSender(Model.PMode.Party party) { return(party != null?CreatePartyModel(party) : Party.DefaultFrom); }