How to sum between dates in a DataTable with multi conditions using LINQ?

Kay Lee
Name           issue_date      free_coupon_days category
Einstein       25/Dec/2015           60          movie 
Hellen Keller  01/Jan/2016            7          movie
Einstein       09/Jul/1999            9          movie
Einstein       14/Jun/2015            3          waterpark
Hellen Keller  19/Nov/1980           30          movie
Einstein       29/Sep/2015           19          movie

I have a DataTable dt, for example.

And I want to sum free_coupon_days with criteria as 'Eienstein', Date between '27/Sep/2015 ~ 27/Dec/2015', 'movie'.

The desirable output is 79 as calculated the rows as below.

Name           issue_date      free_coupon_days category    
Einstein       25/Dec/2015           60          movie
Einstein       29/Sep/2015           19          movie

I've tried some ways, but I'm beginner against complicated conditions.

This is some of the code I tried:

int sum_freecoupon_days_between_dates = (from item in dt
                                         where item.issue_date >= '27/Sep/2015' && item.issue_date <= '27/Dec/2015' &&
                                         item.Name == "Einstein" &&
                                         item.category == "movie"
                                         select item).Sum(k => k.free_coupon_days);

How can I do this in LINQ ?

Kay Lee

I share my solution:

int sum = dt.AsEnumerable().Where(dr => dr.Field<string>("Name") == "Einstein" &&                                                                                                           
                                        dr.Field<string>("category") == "movie" &&
                                       (dr.Field<DateTime>("issue_date").Date >= Convert.ToDateTime("27/09/2015") && dr.Field<DateTime>("issue_date").Date <= Convert.ToDateTime("27/12/2015"))).
                                        Select(dr => dr.Field<int>("free_coupon_days")).                                                         
                                        Sum();

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

Sum values in datatable using linq based on conditions

From Dev

Using Linq to GroupBy and Sum datatable

From Dev

datatable colum sum using linq in c#

From Dev

how can i get the sum of Datatable with linq

From Dev

Using LINQ to search between two Dates and Times

From Dev

How to count and sum a field between 2 dates?

From Dev

Convert Datatable GroupBy Multiple Columns with Sum using Linq

From Dev

how to sum of some rows in dataTable using footercallback

From Dev

How to sum a field using some conditions in Axapta?

From Dev

How make sum using some conditions in sql?

From Dev

Linq query between dates

From Dev

Linq query between dates

From Dev

how to get data to datatable using linq

From Dev

How to Check conditions in Order By clause using LINQ?

From Dev

how to count days between two dates with where conditions

From Dev

how to count days between two dates with where conditions

From Dev

How to split string of dates and convert into UTC dates using linq

From Dev

LINQ sum datatable column where

From Dev

How to sum Timespan of subtraction between two datetimes in Linq when using group by?

From Dev

How to Sum total between two given dates in sql server 2008

From Dev

How to merge trees (and sum counts) using LINQ?

From Dev

how to Sum in LINQ using C#

From Dev

Find the sum of amount between dates

From Dev

Dynamic Linq Query between dates

From Dev

How sum in datatable? PHP

From Dev

how to calculate sum (Total) of DataTable Columns using C#

From Dev

how to calculate sum (Total) of DataTable Columns using C#

From Dev

How to create a testing / temp in memory only DataTable using Linq

From Dev

How to select * from DataTable Where... using Linq

Related Related

HotTag

Archive