public IQueryable <ComboBoxResult> GetGodownForContraSiteFilters(int id, string term) { int SiteId = (int)System.Web.HttpContext.Current.Session["SiteId"]; int DivisionId = (int)System.Web.HttpContext.Current.Session["DivisionId"]; var settings = new StockHeaderSettingsService(_unitOfWork).GetStockHeaderSettingsForDocument(id, DivisionId, SiteId); string[] ContraSites = null; if (!string.IsNullOrEmpty(settings.filterContraSites)) { ContraSites = settings.filterContraSites.Split(",".ToCharArray()); } else { ContraSites = new string[] { "NA" }; } return(from p in db.Godown where p.IsActive == true && (string.IsNullOrEmpty(term) ? 1 == 1 : p.GodownName.ToLower().Contains(term.ToLower())) && (string.IsNullOrEmpty(settings.filterContraSites) ? p.SiteId == SiteId : ContraSites.Contains(p.SiteId.ToString())) group p by p.GodownId into g orderby g.Max(m => m.GodownName) select new ComboBoxResult { text = g.Max(m => m.GodownName), id = g.Key.ToString(), }); }
public IQueryable <ComboBoxResult> GetCustomPerson(int Id, string term, int?ProcessId = null) { int DocTypeId = Id; int SiteId = (int)System.Web.HttpContext.Current.Session["SiteId"]; int DivisionId = (int)System.Web.HttpContext.Current.Session["DivisionId"]; var settings = new StockHeaderSettingsService(_unitOfWork).GetStockHeaderSettingsForDocument(DocTypeId, DivisionId, SiteId); string[] PersonRoles = null; if (!string.IsNullOrEmpty(settings.filterPersonRoles)) { PersonRoles = settings.filterPersonRoles.Split(",".ToCharArray()); } else { PersonRoles = new string[] { "NA" }; } string DivIdStr = "|" + DivisionId.ToString() + "|"; string SiteIdStr = "|" + SiteId.ToString() + "|"; var list = (from p in db.Persons join bus in db.BusinessEntity on p.PersonID equals bus.PersonID into BusinessEntityTable from BusinessEntityTab in BusinessEntityTable.DefaultIfEmpty() join pp in db.PersonProcess on p.PersonID equals pp.PersonId into PersonProcessTable from PersonProcessTab in PersonProcessTable.DefaultIfEmpty() join pr in db.PersonRole on p.PersonID equals pr.PersonId into PersonRoleTable from PersonRoleTab in PersonRoleTable.DefaultIfEmpty() where (ProcessId == null ? 1 == 1 : PersonProcessTab.ProcessId == ProcessId) && (string.IsNullOrEmpty(term) ? 1 == 1 : (p.Name.ToLower().Contains(term.ToLower()) || p.Code.ToLower().Contains(term.ToLower()))) && (string.IsNullOrEmpty(settings.filterPersonRoles) ? 1 == 1 : PersonRoles.Contains(PersonRoleTab.RoleDocTypeId.ToString())) && BusinessEntityTab.DivisionIds.IndexOf(DivIdStr) != -1 && BusinessEntityTab.SiteIds.IndexOf(SiteIdStr) != -1 && (p.IsActive == null ? 1 == 1 : p.IsActive == true) group new { p } by new { p.PersonID } into Result orderby Result.Max(m => m.p.Name) select new ComboBoxResult { id = Result.Key.PersonID.ToString(), text = Result.Max(m => m.p.Name + ", " + m.p.Suffix + " [" + m.p.Code + "]"), } ); return(list); }