public static PaymentItem ToDomain(this PaymentItemDTO paymentItem, PaymentItem originalPaymentItem = null) { if (originalPaymentItem != null && originalPaymentItem.ID == paymentItem.ID) { originalPaymentItem.SequenceNo = paymentItem.SequenceNo; originalPaymentItem.PaymentID = paymentItem.PaymentID; originalPaymentItem.Description = paymentItem.Description; originalPaymentItem.Amount = paymentItem.Amount; originalPaymentItem.InvoiceID = paymentItem.InvoiceID; originalPaymentItem.InvoiceNo = paymentItem.InvoiceNo; originalPaymentItem.CreateDate = paymentItem.CreateDate; originalPaymentItem.ChangeDate = paymentItem.ChangeDate; return(originalPaymentItem); } return(new PaymentItem() { ID = paymentItem.ID, SequenceNo = paymentItem.SequenceNo, PaymentID = paymentItem.PaymentID, Description = paymentItem.Description, Amount = paymentItem.Amount, InvoiceID = paymentItem.InvoiceID, InvoiceNo = paymentItem.InvoiceNo, Concurrency = paymentItem.Concurrency, CreateDate = paymentItem.CreateDate, ChangeDate = paymentItem.ChangeDate }); }
public static object ToDataShapeObject(this PaymentItemDTO paymentItem, List <string> lstOfFields) { if (!lstOfFields.Any()) { return(paymentItem); } else { ExpandoObject objectToReturn = new ExpandoObject(); foreach (var field in lstOfFields) { var fieldValue = paymentItem.GetType() .GetProperty(field, BindingFlags.IgnoreCase | BindingFlags.Public | BindingFlags.Instance) .GetValue(paymentItem, null); ((IDictionary <string, object>)objectToReturn).Add(field, fieldValue); } return(objectToReturn); } }