Cov IT
asked on
Refactoring C# Code for Conversion
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...
Can someone provide some guidance on how to accomplish this? Is it possible? I am having difficulty figuring out how to extract this piece.
select new Pricing
{
PricingModelID = q.PricingModelID,
PolicyFaceAmount = q.FaceAmt.HasValue ? q.FaceAmt.Value : 0
}
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;
}
}
}
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER