public ElectronicDocumentDataItem DeepCopy() { var result = new ElectronicDocumentDataItem(); result.Number = Number; result.Status = Status; result.ServiceType = ServiceType; result.NotStoredInPNR = NotStoredInPNR; result.ExchangedTicketNumber = ExchangedTicketNumber; if (ConjunctionNumbers != null) { result.ConjunctionNumbers = new ConjunctionTicketNumberList(ConjunctionNumbers); } result.IssueDateTime = IssueDateTime?.Copy(); result.ExecutionTimeLimit = ExecutionTimeLimit?.Copy(); result.EMDSpecificData = EMDSpecificData?.Copy(); result.VAT = VAT?.Copy(); result.VATBreakdown = VATBreakdown?.Copy(); result.IssuedBy = IssuedBy; return(result); }
public override bool Equals(object obj) { var other = obj as ElectronicDocumentDataItem; if (other == null) { return(false); } if (ConjunctionNumbers == null && other.ConjunctionNumbers != null || ConjunctionNumbers != null && other.ConjunctionNumbers == null) { return(false); } if (ConjunctionNumbers != null && (ConjunctionNumbers.Count != other.ConjunctionNumbers.Count || ConjunctionNumbers.Exists(number => !other.ConjunctionNumbers.Contains(number)))) { return(false); } return(Number == other.Number && Status == other.Status && ServiceType == other.ServiceType && Equals(IssueDateTime, other.IssueDateTime) && NotStoredInPNR == other.NotStoredInPNR && Equals(ExecutionTimeLimit, other.ExecutionTimeLimit) && EMDSpecificData.Equals(EMDSpecificData, other.EMDSpecificData) && Equals(VAT, other.VAT) && VATBreakdown.CompareWithoutTaxBreakdown(VATBreakdown, other.VATBreakdown)); }