var recordCount = ctx.Cases.Count(a => a.Role == "admin" && a.Userid="userid");
ref:- https://stackoverflow.com/questions/20755099/linq-count-with-condition
var recordCount = ctx.Cases.Count(a => a.Role == "admin" && a.Userid="userid");
ref:- https://stackoverflow.com/questions/20755099/linq-count-with-condition
var ProceedingsActiveList = CourtApplicationProceedingsList.Where(t => t.IsActive == true).ToList();
ProceedingsActiveList.ForEach(p => { p.ConductingOfficerTypeName = ddlConductingProsecutor.Items.FindByValue(p.ConductingOfficerType.Value.ToString()).Text; p.LawOfficerName = });
dtOpenVacancy.AsEnumerable().OrderByDescending(a => a.Field<int>("id"));
IF WANT TO USE WITH GRID DATABASE:-
dtOpenVacancy.AsEnumerable().OrderByDescending(a => a.Field<int>("id")).CopyToDataTable()
or
gridview
private void BindOpenVacancy()
{
DataTable dtOpenVacancy = Repository.GetAllOpenVacancy();
if (dtOpenVacancy.Rows.Count > 0)
{
ViewState["vwOpenVacancy"] = dtOpenVacancy.AsEnumerable().OrderByDescending(a => a.Field<int>("id")).CopyToDataTable();
grdOpenVacancy.DataSource = dtOpenVacancy.AsEnumerable().OrderByDescending(a => a.Field<int>("id")).CopyToDataTable();
}
grdOpenVacancy.DataBind();
}
reference:- https://www.tutorialsteacher.com/linq/linq-sorting-operators-orderby-orderbydescending
var exceptionList =
allData.AsEnumerable().Where(a => dtOpenVacancy.AsEnumerable().Select(q => q.Field<string>("disciplinename")).Contains(a.Field<string>("discipline")) && dtOpenVacancy.AsEnumerable().Select(q => q.Field<string>("institutename")).Contains(a.Field<string>("institute")) && dtOpenVacancy.AsEnumerable().Select(q => q.Field<int>("cadreid")).Contains(int.Parse(ddlCadreType.SelectedItem.Value))).ToList();
ViewState["dt2"]= allData.AsEnumerable().Except(exceptionList.AsEnumerable()).CopyToDataTable();
Use Tolist somewhere
or you can use removeall from List.
DataTable dtOpenVacancy = ViewState["vwOpenVacancy"] as DataTable;
var allData = dt3.AsEnumerable().Where(p => p.Field<string>("institute") != null);
allData.Where(a => dtOpenVacancy.AsEnumerable().Select(q => q.Field<string>("disciplinename")).Contains( a.Field<string>("discipline")) && dtOpenVacancy.AsEnumerable().Select(q => q.Field<string>("institutename")).Contains(a.Field<string>("institute")) && dtOpenVacancy.AsEnumerable().Select(q => q.Field<int>("cadreid")).Contains(int.Parse( ddlCadreType.SelectedItem.Value))).Count();
reference:- https://stackoverflow.com/questions/14257360/linq-select-objects-in-list-where-exists-in-a-b-c
var ssIPVac = allData.Where(s => s.Field<string>("institute") == ddlInstitute.SelectedItem.Text && s.Field<string>("discipline") == ddlDiscipline.SelectedItem.Text).Select(d => new { ss = d.Field<int>("ss"), ip = d.Field<int>("ip"), vacancy = d.Field<int>("vacancy") }).First();
txtSanctionedStrength.Text = ssIPVac.ss.ToString();
txtInPosition.Text = ssIPVac.ip.ToString();
txtVacancy.Text = ssIPVac.ip.ToString();
var institutes = dt.AsEnumerable().Select(d => new { Institute = d.Field<String>("institute") }).Distinct();
string json = js.Serialize(institutes.Where(a => a.Institute != null));
/var disciplineCount = dt.AsEnumerable().GroupBy(x => x.Field<string>("Discipline"), (key, g)=> new { discipline = key, disciplinecount = g.Count() }).ToList();
if((disciplineCount.Exists(d => d.discipline == DataBinder.Eval(e.Row.DataItem, "Discipline").ToString() && d.disciplinecount > 1)))
{
}
Select is mapping, we want to select two columns from five. (select columns) gives all rows
where will select all the columns but gives the rows with that values. (select rows) gives all columns
example:-
var employee = _db.EMPLOYEEs
.Where(x => x.EMAIL == givenInfo || x.USER_NAME == givenInfo)
.Select(x => new { x.EMAIL, x.ID });reference:-https://stackoverflow.com/questions/6772267/linq-syntax-selecting-multiple-columns
Where ~= Filter
select = map the selected column
select for columns and where for rows.
var dt = GridView1.DataSource as DataTable;
var a= dt.AsEnumerable().GroupBy(s => s.Field<string>("Discipline").ToString());
//dt.DefaultView.Sort = sort;
var final = dt.AsEnumerable().GroupBy(x => x.Field<string>("Discipline"), (key, g) => g.OrderByDescending(s => DateTime.ParseExact(s.Field<string>("PresentInstitutePostingDate") == ""?"01/01/1990": s.Field<string>("PresentInstitutePostingDate"), "mm/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture)).First()).Select(t=> new { PresentInstitutePostingDate = (DateTime.ParseExact(t.Field<string>("PresentInstitutePostingDate") == "" ? "01/01/1990" : t.Field<string>("PresentInstitutePostingDate"), "mm/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture)), Discipline= t.Field<string>("Discipline") });
var tt = final.ToList();
if (tt.Exists(o => o.PresentInstitutePostingDate == DateTime.ParseExact(DataBinder.Eval(e.Row.DataItem, "PresentInstitutePostingDate").ToString(), "mm/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture) && o.Discipline == DataBinder.Eval(e.Row.DataItem, "Discipline").ToString()))
{
e.Row.BackColor = System.Drawing.ColorTranslator.FromHtml("#0000ff");
}
var dt = GridView1.DataSource as DataTable;
var a= dt.AsEnumerable().GroupBy(s => s.Field<string>("Discipline").ToString());
//dt.DefaultView.Sort = sort;
var final = dt.AsEnumerable().GroupBy(x => x.Field<string>("Discipline"), (key, g) => g.OrderByDescending(s => DateTime.ParseExact(s.Field<string>("PresentInstitutePostingDate") == ""?"01/01/1990": s.Field<string>("PresentInstitutePostingDate"), "mm/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture)).First()).Select(t=> new { PresentInstitutePostingDate = (DateTime.ParseExact(t.Field<string>("PresentInstitutePostingDate") == "" ? "01/01/1990" : t.Field<string>("PresentInstitutePostingDate"), "mm/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture)), Discipline= t.Field<string>("Discipline") });
var tt = final.ToList();
if (!string.IsNullOrEmpty(Convert.ToString(DataBinder.Eval(e.Row.DataItem, "PresentInstitutePostingDate"))))
{
DateTime.ParseExact(DataBinder.Eval(e.Row.DataItem, "PresentInstitutePostingDate").ToString(), "mm/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture).Date.ToString("D");
if (tt.Exists(o => o.PresentInstitutePostingDate == DateTime.ParseExact(DataBinder.Eval(e.Row.DataItem, "PresentInstitutePostingDate").ToString(), "mm/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture) && o.Discipline == DataBinder.Eval(e.Row.DataItem, "Discipline").ToString()))
{
e.Row.BackColor = System.Drawing.ColorTranslator.FromHtml("#0000ff");
}
}
var dt = GridView1.DataSource as DataTable;
var a= dt.AsEnumerable().GroupBy(s => s.Field<string>("Discipline").ToString());
//dt.DefaultView.Sort = sort;
var final = dt.AsEnumerable().GroupBy(x => x.Field<string>("Discipline"), (key, g) => g.OrderByDescending(s => DateTime.ParseExact(s.Field<string>("PresentInstitutePostingDate") == ""?"01/01/1990": s.Field<string>("PresentInstitutePostingDate"), "mm/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture)).First()).Select(t=> new { PresentInstitutePostingDate = (DateTime.ParseExact(t.Field<string>("PresentInstitutePostingDate") == "" ? "01/01/1990" : t.Field<string>("PresentInstitutePostingDate"), "mm/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture)), Discipline= t.Field<string>("Discipline") });
var tt = final.ToList();
if (!string.IsNullOrEmpty(Convert.ToString(DataBinder.Eval(e.Row.DataItem, "PresentInstitutePostingDate"))))
{
DateTime.ParseExact(DataBinder.Eval(e.Row.DataItem, "PresentInstitutePostingDate").ToString(), "mm/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture).Date.ToString("D");
if (tt.Exists(o => o.PresentInstitutePostingDate == DateTime.ParseExact(DataBinder.Eval(e.Row.DataItem, "PresentInstitutePostingDate").ToString(), "mm/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture) && o.Discipline == DataBinder.Eval(e.Row.DataItem, "Discipline").ToString()))
{
e.Row.BackColor = System.Drawing.ColorTranslator.FromHtml("#0000ff");
}
}
var dt = GridView1.DataSource as DataTable;
var a= dt.AsEnumerable().GroupBy(s => s.Field<string>("Discipline").ToString());
//dt.DefaultView.Sort = sort;
var final = dt.AsEnumerable().GroupBy(x => x.Field<string>("Discipline"), (key, g) => g.OrderByDescending(s => DateTime.ParseExact(s.Field<string>("PresentInstitutePostingDate") == ""?"01/01/1990": s.Field<string>("PresentInstitutePostingDate"), "mm/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture)).First()).Select(t=> new { PresentInstitutePostingDate = (DateTime.ParseExact(t.Field<string>("PresentInstitutePostingDate") == "" ? "01/01/1990" : t.Field<string>("PresentInstitutePostingDate"), "mm/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture)), Discipline= t.Field<string>("Discipline") });
var tt = final.ToList();
if (!string.IsNullOrEmpty(Convert.ToString(DataBinder.Eval(e.Row.DataItem, "PresentInstitutePostingDate"))))
{
DateTime.ParseExact(DataBinder.Eval(e.Row.DataItem, "PresentInstitutePostingDate").ToString(), "mm/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture).Date.ToString("D");
if (tt.Exists(o => o.PresentInstitutePostingDate == DateTime.ParseExact(DataBinder.Eval(e.Row.DataItem, "PresentInstitutePostingDate").ToString(), "mm/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture) && o.Discipline == DataBinder.Eval(e.Row.DataItem, "Discipline").ToString()))
{
e.Row.BackColor = System.Drawing.ColorTranslator.FromHtml("#0000ff");
}
}
reference:- https://www.aspsnippets.com/Articles/SELECT-multiple-columns-from-DataTable-using-LINQ-in-C-and-VBNet.aspx
var dt = GridView1.DataSource as DataTable;
var a= dt.AsEnumerable().GroupBy(s => s.Field<string>("Discipline").ToString());
//dt.DefaultView.Sort = sort;
var final = dt.AsEnumerable().GroupBy(x => x.Field<string>("Discipline"), (key, g) => g.OrderByDescending(s => DateTime.ParseExact(s.Field<string>("PresentInstitutePostingDate") == ""?"01/01/1990": s.Field<string>("PresentInstitutePostingDate"), "mm/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture)).First()).Select(t=> DateTime.ParseExact(t.Field<string>("PresentInstitutePostingDate") == "" ? "01/01/1990" : t.Field<string>("PresentInstitutePostingDate"), "mm/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture));
var tt = final.ToList();
if (!string.IsNullOrEmpty(Convert.ToString(DataBinder.Eval(e.Row.DataItem, "PresentInstitutePostingDate"))))
{
if (tt.Exists(o => o == DateTime.ParseExact(DataBinder.Eval(e.Row.DataItem, "PresentInstitutePostingDate").ToString(), "mm/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture)))
{
e.Row.BackColor = System.Drawing.ColorTranslator.FromHtml("#0000ff");
}
}
var dt = GridView1.DataSource as DataTable;
var a= dt.AsEnumerable().GroupBy(s => s.Field<string>("Discipline").ToString());
//dt.DefaultView.Sort = sort;
var final = dt.AsEnumerable().GroupBy(x => x.Field<string>("Discipline"), (key, g) => g.OrderByDescending(s => s.Field<Int64>("ID")).First()).Select(t=>t.Field<Int64>("ID"));
var tt = final.ToList();
if(tt.Exists(o=> o == Convert.ToInt64(DataBinder.Eval(e.Row.DataItem, "ID"))))
{
e.Row.BackColor = System.Drawing.ColorTranslator.FromHtml("#0000ff");
}
reference:-https://stackoverflow.com/questions/35170408/linq-how-to-get-the-max-id-with-a-group-by-clause
var ProcessAudList = ProcessAudService.Where(x => x.Active == "Y")
.GroupBy(x => x.ProjectSeq, (key,g)=>g.OrderByDescending(e=>e.ProjectValue).First());