c# - Linq join values from two lists -
i need extract 2 values separate lists. have list of order objects , list of visitors objects, each contains full list of objects date.
i need access visitors property visitorslist , totalorders property orderslist. need devide each totalorders visitors third value (conversionrate). want add each conversionrate value list totalconversions.
i'm trying write linq query takes visitors , totalorders respective i'm not sure how this.
list<gavisitorsmodel> visitorslist = getgastatisticsreport(model); list<gc_ordersmodel> orderslist = getorderreport(model); list<gc_conversionratemodel> totalconversions = new list<gc_conversionratemodel>(); foreach (var order in orderslist) { string _date = order.date; var conversions = visitorslist.join(orderslist, x => x.visitors, y => y.totalorders, (x, y) => new { x = x, y = y }); foreach (var c in conversions) { //-- y / x = c //int _conversion = c; //-- gc_conversionratemodel gc_orders = new gc_conversionratemodel(_date, _conversion) } } return totalconversions;
list totalconversions should return list of conversions date.
these object classes:
gavisitorsmodel:
public class gavisitorsmodel : igavisitorsmodel { public string date { get; set; } public int visitors { get; set; } public gavisitorsmodel(string _date, string _visitors) { date = _date; visitors = _visitors; } }
gcordersmodel:
public class gc_ordersmodel { public string date { get; set; } public int totalorders { get; set; } public int totalproducts {get; set;} public gc_ordersmodel(string _date, int _totalorders, int _totalproducts) { date = _date; totalorders = _totalorders; totalproducts = _totalproducts; } }
gc_conversionratemodel:
public class gc_conversionratemodel { public string date { get; set; } public int conversionrate { get; set; } public gc_conversionratemodel(string _date, int _conversionrate) { date = _date; conversionrate = _conversionrate; } }
see if below works you
public list<gc_conversionratemodel> getconversionrate() { list<gavisitorsmodel> visitorslist = getgastatisticsreport(model); list<gc_ordersmodel> orderslist = getorderreport(model); list<gc_conversionratemodel> totalconversions = new list<gc_conversionratemodel>(); orderslist.foreach(o => { totalconversions.add((from v in visitorslist v.date == o.date select new gc_conversionratemodel(o.date, o.totalorders / v.visitors)).firstordefault()); }); return totalconversions; }
also, in gavisitorsmodel
there seem error when try assign string integer in visitors = _visitors;
in ctor
.
Comments
Post a Comment