Exemple #1
0
        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));
        }
Exemple #3
0
        //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));
        }