public async Task <IActionResult> Index([FromQuery] string cai, string filter, int pageIndex = 1, string sortExpression = "ServicesPointId") { //return View(await pdbDbContext.ToListAsync()); var user = await _userManger.GetUserAsync(User); IList <string> userRole = await _userManger.GetRolesAsync(user); string getSql = new GetUserDetailsController(_context).GetUserRoleWiseQuery("TblServicePoint", "ServicesPointId", user.Id, userRole); var query = _context.TblServicePoint.Include(t => t.ServicePointToPole).Include(t => t.ServicesPointToDistributionTransformer).Include(t => t.ServicePointType).Include(t => t.VoltageCategory).AsQueryable(); if (query == null) { return(RedirectToPage("/Account/AccessDenied", new { area = "Identity" })); } if (filter != null) { query = query.Where(p => p.ServicesPointId.Contains(filter)); } var model = await PagingList.CreateAsync(query, 10, pageIndex, sortExpression, "ServicesPointId"); model.RouteValue = new RouteValueDictionary { { "cai", cai }, { "Filter", filter } }; return(View(model)); }
public async Task <IActionResult> Index([FromQuery] string cai, string filter, int pageIndex = 1, string sortExpression = "SubstationId") { // RMO User Role wise query var user = await _userManger.GetUserAsync(User); IList <string> userRole = await _userManger.GetRolesAsync(user); string getSql = new GetUserDetailsController(_context).GetUserRoleWiseQuery("TblSubstation", "SubstationId", user.Id, userRole); var query = _context.TblSubstation.FromSqlRaw(getSql) .Include(st => st.SubstationType) .Include(st => st.SubstationToLookUpSnD.CircleInfo.ZoneInfo) .AsQueryable(); if (query == null) { return(RedirectToPage("/Account/AccessDenied", new { area = "Identity" })); } if (filter != null) { query = query.Where(p => p.SubstationId.Contains(filter)); } var model = await PagingList.CreateAsync(query, 10, pageIndex, sortExpression, "SubstationId"); model.RouteValue = new RouteValueDictionary { { "cai", cai }, { "Filter", filter } }; return(View(model)); }
//public async Task<IActionResult> Index([FromQuery] string cai, string poleId, string condition, string feederLineName, int pageIndex = 1, string sortExpression = "PoleId") public async Task <IActionResult> Index([FromQuery] string cai, string fieldName, string fieldValue, int pageIndex = 1, string sortExpression = "PoleId") { var fields = new List <SelectListItem> { new SelectListItem { Value = "plt.PoleId", Text = "Pole Id" }, new SelectListItem { Value = "flt.FeederName", Text = "Feeder Name" } //new SelectListItem {Value = "fltl.FeederLineTypeName", Text = "Feeder Line Type"}, //new SelectListItem {Value = "flcl.FeederConductorType", Text = "Feeder Conductor Type"}, //new SelectListItem {Value = "roil.RouteName", Text = "Route Name"}, //new SelectListItem {Value = "plt.PoleNo", Text = "Pole No"}, //new SelectListItem {Value = "plt.PreviousPoleNo", Text = "Previous Pole No"}, //new SelectListItem {Value = "pltl.PoleTypeName.Name", Text = "Pole Type"}, //new SelectListItem {Value = "plcl.PoleCondition.Name", Text = "Pole Condition"}, //new SelectListItem {Value = "plt.MSJNo", Text = "MSJ No"}, //new SelectListItem {Value = "plt.SleeveNo", Text = "Sleeve No"}, //new SelectListItem {Value = "plt.TwistNo", Text = "Twist No"}, //new SelectListItem {Value = "plt.PhaseA", Text = "Phase A"}, //new SelectListItem {Value = "plt.PhaseB", Text = "Phase B"}, //new SelectListItem {Value = "plt.PhaseC", Text = "Phase C"}, //new SelectListItem {Value = "plt.Neutral", Text = "Neutral"}, //new SelectListItem {Value = "plt.StreetLight", Text = "Street Light"}, //new SelectListItem {Value = "plt.Latitude", Text = "Latitude"}, //new SelectListItem {Value = "plt.Longitude", Text = "Longitude"}, //new SelectListItem {Value = "plt.SurveyDate", Text = "Survey Date"} }; var fieldList = new SelectList(fields, "Value", "Text"); ViewBag.FieldList = fieldList; //string getSql = await GetQuery("TblPole", "PoleId"); var user = await _userManger.GetUserAsync(User); IList <string> userRole = await _userManger.GetRolesAsync(user); string getSql = new GetUserDetailsController(_context).GetUserRoleWiseQuery("TblPole", "PoleId", user.Id, userRole); //string getSql = await new GetUserRoleData(_contextUser, _userManger).GetQuery("TblPole", "PoleId"); var query = _context.TblPole.FromSqlRaw(getSql).Include(i => i.PoleType).Include(i => i.PoleToRoute).Include(i => i.PoleToFeederLine).Include(i => i.PoleCondition).Include(i => i.LookUpLineType).Include(i => i.LookUpTypeOfWire).Include(i => i.WireLookUpCondition).Include(i => i.PhaseACondition).Include(i => i.PhaseBCondition).Include(i => i.PhaseCCondition).AsQueryable(); #region lemda epression //Expression<Func<TblPole, bool>> searchExp = null; //Expression<Func<TblPole, bool>> tempExp = null; //var user = await _userManger.GetUserAsync(User); //if (User.IsInRole("System Administrator")) //{ // searchExp = null; //} //else if ((User.IsInRole("Super User") && User.IsInRole("Zone")) || User.IsInRole("Zone")) //{ // //var user = await _userManger.GetUserAsync(User); // string zoneCode = _contextUser.UserProfileDetail.Where(i => i.Id == user.Id).Select(i => i.ZoneCode).SingleOrDefault(); // searchExp = i => i.PoleId.Substring(0, 1).Contains(zoneCode); //} //else if ((User.IsInRole("Super User") && User.IsInRole("Circle")) || User.IsInRole("Circle")) //{ // //var user = await _userManger.GetUserAsync(User); // string circleCode = _contextUser.UserProfileDetail.Where(i => i.Id == user.Id).Select(i => i.CircleCode).SingleOrDefault(); // searchExp = i => i.PoleId.Substring(0, 3).Contains(circleCode); //} //else if ((User.IsInRole("Super User") && User.IsInRole("SnD")) || User.IsInRole("SnD")) //{ // //var user = await _userManger.GetUserAsync(User); // string sndCode = _contextUser.UserProfileDetail.Where(i => i.Id == user.Id).Select(i => i.SnDCode).SingleOrDefault(); // searchExp = i => i.PoleId.Substring(0, 5).Contains(sndCode); //} //else if ((User.IsInRole("Super User") && User.IsInRole("Substation")) || User.IsInRole("Substation")) //{ // //var user = await _userManger.GetUserAsync(User); // string SubstationId = _contextUser.UserProfileDetail.Where(i => i.Id == user.Id).Select(i => i.SubstationId).SingleOrDefault(); // searchExp = i => i.PoleId.Substring(0, 7).Contains(SubstationId); //} //tempExp = p => p.PoleId.Contains(filter); //searchExp = searchExp!=null? ExpressionExtension<TblPole>.AndAlso(searchExp, tempExp): tempExp; //var qry = searchExp != null ? _context.TblPole.Where(searchExp).Include(t => t.LookUpLineType).Include(t => t.LookUpTypeOfWire).Include(t => t.PhaseACondition).Include(t => t.PhaseBCondition).Include(t => t.PhaseCCondition).Include(t => t.PoleCondition).Include(t => t.PoleToFeederLine).Include(t => t.PoleToRoute).Include(t => t.PoleType).Include(t => t.WireLookUpCondition).AsQueryable() : // _context.TblPole.Include(t => t.LookUpLineType).Include(t => t.LookUpTypeOfWire).Include(t => t.PhaseACondition).Include(t => t.PhaseBCondition).Include(t => t.PhaseCCondition).Include(t => t.PoleCondition).Include(t => t.PoleToFeederLine).Include(t => t.PoleToRoute).Include(t => t.PoleType).Include(t => t.WireLookUpCondition).AsQueryable(); #endregion if (query == null) { return(RedirectToPage("/Account/AccessDenied", new { area = "Identity" })); } if (fieldName != null && fieldValue != null) { if (fieldName == "plt.PoleId") { query = query.Where(p => p.PoleId.Contains(fieldValue)); } else { query = query.Where(p => p.PoleToFeederLine.FeederName.Contains(fieldValue)); } } var model = await PagingList.CreateAsync(query, 10, pageIndex, sortExpression, "PoleId"); //model.RouteValue = new RouteValueDictionary { { "cai", cai }, { "FeederLineName", feederLineName }, { "Condition", condition }, { "PoleId", poleId } }; model.RouteValue = new RouteValueDictionary { { "cai", cai }, { "FieldName", fieldName }, { "FieldValue", fieldValue } }; return(View(model)); }