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

Popular posts from this blog

windows - Single EXE to Install Python Standalone Executable for Easy Distribution -

c# - Access objects in UserControl from MainWindow in WPF -

javascript - How to name a jQuery function to make a browser's back button work? -