I have the class below and I'd like to factor out the common piece (the conversion of a DAL PolicytblPricingModelPrici
ngSavedPri
cing object to a domain Pricing object). Specifically, this...
select new Pricing
{
PricingModelID = q.PricingModelID,
PolicyFaceAmount = q.FaceAmt.HasValue ? q.FaceAmt.Value : 0
}
Select all Open in new window
Can someone provide some guidance on how to accomplish this? Is it possible? I am having difficulty figuring out how to extract this piece.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using PM.DAL;
using PM.Common.Domain;
using System.Linq.Expressions;
namespace PM.BusinessLogic.Converters
{
public static class TblSavedPricingConverter
{
public static IQueryable<Pricing> ConvertToPricing(this IQueryable<PolicytblPricingModelPricingSavedPricing> query)
{
var newQuery = from q in query
select new Pricing
{
PricingModelID = q.PricingModelID,
PolicyFaceAmount = q.FaceAmt.HasValue ? q.FaceAmt.Value : 0
};
return newQuery;
}
public static IEnumerable<Pricing> ConvertToPricing(this IEnumerable<PolicytblPricingModelPricingSavedPricing> inList)
{
var newList = from l in inList
select new Pricing
{
PricingModelID = l.PricingModelID,
PolicyFaceAmount = l.FaceAmt.HasValue ? l.FaceAmt.Value : 0
};
return newList.AsEnumerable();
}
public static Pricing ConvertToPricing(this PolicytblPricingModelPricingSavedPricing original)
{
if (original == null)
return new Pricing();
var newObject = new Pricing()
{
PricingModelID = original.PricingModelID,
PolicyFaceAmount = original.FaceAmt.HasValue ? original.FaceAmt.Value : 0
};
return newObject;
}
}
}
Select all Open in new window