(1)Linq query on DataTable get top 10 records based on group by
=============================================================
DataSet resultSet = new DataSet();
if (resultSet.Tables[0].Rows.Count > 0)
{
var groupedData = (from b in resultSet.Tables[0].AsEnumerable()
group b by b.Field<int>("CityId") into g
orderby g.Sum(x => x.Field<int>("AppointmentCount")) descending
select new
{
CityId = g.Key,
AppCount = g.Sum(x => x.Field<int>("AppointmentCount"))
}).Take(10);
foreach (var item in groupedData)
{
intermediateAppointmentCount = intermediateAppointmentCount + Convert.ToInt32(item.AppCount);
}
}
Input datatable
====================
AppointmentCount CityId
====================
2 1
2 12
1 12
(2) Source is datatable out put is get single column values as coma seperator
==========================================================
DoctorXSpecialitiesDataViewResult = DoctorXSpecialitiesDataView.ToTable();
var SpecialityIds = DoctorXSpecialitiesDataViewResult.AsEnumerable().Select(r => r.Field<int>(1)).Distinct();
SpecialitiesIDWithComa = string.Join(",", SpecialityIds);
(3)Select distinct id in list
===========================================================
if (specialityList.Any())
{
model.Specialities = specialityList.GroupBy(x => x.SpecialityId)
.Select(grp => grp.First())
.ToList();
model.Specialities = model.Specialities.OrderBy(x => x.SpecialityName).ToList();
}
(4)Not in link query
=========================================================
List<string> specialitiesnotin=new List<string>();
var getDocDataEach = (from doc in getDocData
select new { city = doc.CityName, keyword = doc.keyword }).Distinct().ToList();
specialitiesnotin.AddRange(new string[]{"gynecologist","orthopedic","neurologist","dermatologist","pediatrician",
"urologist","cardiologist","gastroenterologist","oncologist","diabetologist"});
getDocDataEach = getDocDataEach.Where(x => !specialitiesnotin.Contains(x.keyword.ToLower())).ToList();
removeDataListEach = removeDataListEach.Where(x => !specialitiesnotin.Contains(x.keyword.ToLower())).ToList();
=============================================================
DataSet resultSet = new DataSet();
if (resultSet.Tables[0].Rows.Count > 0)
{
var groupedData = (from b in resultSet.Tables[0].AsEnumerable()
group b by b.Field<int>("CityId") into g
orderby g.Sum(x => x.Field<int>("AppointmentCount")) descending
select new
{
CityId = g.Key,
AppCount = g.Sum(x => x.Field<int>("AppointmentCount"))
}).Take(10);
foreach (var item in groupedData)
{
intermediateAppointmentCount = intermediateAppointmentCount + Convert.ToInt32(item.AppCount);
}
}
Input datatable
====================
AppointmentCount CityId
====================
2 1
2 12
1 12
(2) Source is datatable out put is get single column values as coma seperator
==========================================================
DoctorXSpecialitiesDataViewResult = DoctorXSpecialitiesDataView.ToTable();
var SpecialityIds = DoctorXSpecialitiesDataViewResult.AsEnumerable().Select(r => r.Field<int>(1)).Distinct();
SpecialitiesIDWithComa = string.Join(",", SpecialityIds);
(3)Select distinct id in list
===========================================================
if (specialityList.Any())
{
model.Specialities = specialityList.GroupBy(x => x.SpecialityId)
.Select(grp => grp.First())
.ToList();
model.Specialities = model.Specialities.OrderBy(x => x.SpecialityName).ToList();
}
(4)Not in link query
=========================================================
List<string> specialitiesnotin=new List<string>();
var getDocDataEach = (from doc in getDocData
select new { city = doc.CityName, keyword = doc.keyword }).Distinct().ToList();
specialitiesnotin.AddRange(new string[]{"gynecologist","orthopedic","neurologist","dermatologist","pediatrician",
"urologist","cardiologist","gastroenterologist","oncologist","diabetologist"});
getDocDataEach = getDocDataEach.Where(x => !specialitiesnotin.Contains(x.keyword.ToLower())).ToList();
removeDataListEach = removeDataListEach.Where(x => !specialitiesnotin.Contains(x.keyword.ToLower())).ToList();
No comments:
Post a Comment