// GET: PropertyManagement
        public ActionResult Index()
        {
            PropertyManagementVM model = new PropertyManagementVM();

            model.UserAccount = db.UserAccounts.Where(u => u.UserName.Equals(User.Identity.Name.ToString())).FirstOrDefault();
            return(View(model));
        }
        // GET: TrackRentDetail
        public ActionResult Index(int PropertyID, int TenantID)
        {
            var model = new PropertyManagementVM();
            //To Find userid
            UserAccount usr = db.UserAccounts.Where(u => u.UserName.Equals(User.Identity.Name.ToString())).FirstOrDefault();

            if (usr != null)
            {
                model.PropertyID   = PropertyID;
                model.TenantID     = TenantID;
                model.PropertyName = Convert.ToString(db.Properties.Where(x => x.PropertyID == PropertyID).Select(x => x.Title).FirstOrDefault());
                model.TenantName   = Convert.ToString(db.Tenants.Where(x => x.TenantID == TenantID).Select(x => x.TenantName).FirstOrDefault());
                model.RentDetails  = db.UserRentDetails.Where(e => e.UserID == usr.UserID).Where(e => e.PropertyID == PropertyID).Where(e => e.TenantID == TenantID).Select(e => e.RentDetail).ToList();
            }
            return(View(model));
        }
        public ActionResult MyTenants(int?PropertyID, int?pageNo)
        {
            PopulatePropertyDropDownList();
            var         model = new PropertyManagementVM();
            UserAccount usr   = db.UserAccounts.Where(u => u.UserName.Equals(User.Identity.Name.ToString())).FirstOrDefault();

            //Dropdown
            if (PropertyID.HasValue && PropertyID.Value > 0)
            {
                //model.Properties = db.UserTenants.Where(e => e.UserAccount.UserID == usr.UserID).Select(e => e.Property).ToList();
                var tenantObj = db.UserTenants.Where(e => e.UserAccount.UserID == usr.UserID).Where(e => e.PropertyID == PropertyID).Select(e => e.Tenant).AsEnumerable();


                int count = tenantObj.Count();
                pageNo = pageNo ?? 1;
                var skipCount = (pageNo.Value - 1) * pageSize;

                tenantObj = tenantObj.OrderByDescending(x => x.TenantID).Skip(skipCount).Take(pageSize);

                model.Pager   = new Pager(count, pageNo, pageSize);
                model.Tenants = tenantObj;
            }
            else
            {
                //model.Properties = db.UserTenants.Where(e => e.UserAccount.UserID == usr.UserID).Select(e => e.Property).ToList();
                var tenantObj = db.UserTenants.Where(e => e.UserAccount.UserID == usr.UserID).Select(e => e.Tenant).AsEnumerable();

                int count = tenantObj.Count();
                pageNo = pageNo ?? 1;
                var skipCount = (pageNo.Value - 1) * pageSize;

                tenantObj = tenantObj.OrderByDescending(x => x.TenantID).Skip(skipCount).Take(pageSize);

                model.Pager   = new Pager(count, pageNo, pageSize);
                model.Tenants = tenantObj;
            }

            model.PropertyID  = PropertyID ?? default(int);;
            model.UserTenants = db.UserTenants;

            return(PartialView(model));
        }
        public ActionResult MyProperties(int?pageNo)
        {
            var         model = new PropertyManagementVM();
            UserAccount usr   = db.UserAccounts.Where(u => u.UserName.Equals(User.Identity.Name.ToString())).FirstOrDefault();

            if (usr != null)
            {
                var propertyObj = db.UserProperties.Where(e => e.UserAccount.UserID == usr.UserID).Select(e => e.Property).AsEnumerable();

                int count = propertyObj.Count();
                pageNo = pageNo ?? 1;
                var skipCount = (pageNo.Value - 1) * pageSize;

                propertyObj = propertyObj.OrderByDescending(x => x.PropertyID).Skip(skipCount).Take(pageSize);

                model.Pager      = new Pager(count, pageNo, pageSize);
                model.Properties = propertyObj;
            }
            return(PartialView(model));
        }