Exemplo n.º 1
0
        public JsonResult GetAttendence(JQGridParameter jQGridParameter, string userid)
        {
            jQGridParameter.SortBy      = (jQGridParameter.SortBy == null) ? "Date" : jQGridParameter.SortBy;
            jQGridParameter.OrderBy     = (jQGridParameter.OrderBy == null) ? "asc" : jQGridParameter.OrderBy;
            jQGridParameter.Rows        = (jQGridParameter.Rows == 0) ? 20 : jQGridParameter.Rows;
            jQGridParameter.Page        = (jQGridParameter.Page == 0) ? 1 : jQGridParameter.Page;
            jQGridParameter.SearchValue = (jQGridParameter.SearchValue == null) ? "" : jQGridParameter.SearchValue;
            jQGridParameter.OrderBy     = (jQGridParameter.OrderBy == null) ? "" : jQGridParameter.OrderBy;
            int PageIndex = Convert.ToInt32(jQGridParameter.Page) - 1;
            int pagesize  = jQGridParameter.Rows;

            List <Attendence> AttendenceList = new List <Attendence>();

            using (HttpClient httpClient = new HttpClient())
            {
                UriBuilder url    = new UriBuilder(ConfigurationManager.AppSettings["detailsUrl"]);
                var        result = httpClient.GetAsync(url.Uri + "/GetAttendence?UserId=" + userid).Result;
                if (result.IsSuccessStatusCode)
                {
                    AttendenceList = JsonConvert.DeserializeObject <List <Attendence> >(result.Content.ReadAsStringAsync().Result);
                }
            }
            //if (jQGridParameter.Search)
            //{
            //    AttendenceList = AttendenceList.Where(t => (t.Date.Contains(jQGridParameter.SearchValue)) || (t.Mgr_Id.Contains(jQGridParameter.SearchValue))).ToList();
            //}


            //sorting and page size
            int totalRecords = AttendenceList.Count();
            var totalPages   = (int)Math.Ceiling((float)totalRecords / (float)jQGridParameter.Rows);

            // sorting of the data
            switch (jQGridParameter.SortBy.ToLower())
            {
            case "date":
                if (jQGridParameter.OrderBy.ToUpper() == "DESC")
                {
                    AttendenceList = AttendenceList.OrderByDescending(t => t.Date).ToList();
                    AttendenceList = AttendenceList.Skip(PageIndex * pagesize).Take(pagesize).ToList();
                }
                else
                {
                    AttendenceList = AttendenceList.OrderBy(t => t.Date).ToList();
                    AttendenceList = AttendenceList.Skip(PageIndex * pagesize).Take(pagesize).ToList();
                }

                break;

            case "attendencestatus":
                if (jQGridParameter.OrderBy.ToUpper() == "DESC")
                {
                    AttendenceList = AttendenceList.OrderByDescending(t => t.AttendenceStatus).ToList();
                    AttendenceList = AttendenceList.Skip(PageIndex * pagesize).Take(pagesize).ToList();
                }
                else
                {
                    AttendenceList = AttendenceList.OrderBy(t => t.AttendenceStatus).ToList();
                    AttendenceList = AttendenceList.Skip(PageIndex * pagesize).Take(pagesize).ToList();
                }

                break;
            }

            var jsondata = new
            {
                total = totalPages,
                jQGridParameter.Page,
                records = totalRecords,
                rows    = AttendenceList
            };


            return(Json(jsondata, JsonRequestBehavior.AllowGet));
        }
        //get the values in jqgrid
        /// <summary>
        /// get the projects from data base and pass it into the jq grid
        /// </summary>
        /// <param name="sidx"> sorting index</param>
        /// <param name="sord">sorting order</param>
        /// <param name="rows"> number of rows appeared in jqgrid</param>
        /// <param name="page">number of pages</param>
        /// <returns></returns>


        public JsonResult GetProjects(JQGridParameter jQGridParameter, string status)
        {
            jQGridParameter.SortBy      = (jQGridParameter.SortBy == null)? "project_name" : jQGridParameter.SortBy;
            jQGridParameter.OrderBy     = (jQGridParameter.OrderBy == null) ? "asc" : jQGridParameter.OrderBy;
            jQGridParameter.Rows        = (jQGridParameter.Rows == 0) ? 20 : jQGridParameter.Rows;
            jQGridParameter.Page        = (jQGridParameter.Page == 0)?1:jQGridParameter.Page;
            jQGridParameter.SearchValue = (jQGridParameter.SearchValue == null) ? "" : jQGridParameter.SearchValue;

            var token    = Session["token"];
            var username = Session["username"];

            jQGridParameter.OrderBy = (jQGridParameter.OrderBy == null) ? "" : jQGridParameter.OrderBy;
            int PageIndex = Convert.ToInt32(jQGridParameter.Page) - 1;
            int pagesize  = jQGridParameter.Rows;
            var list      = new List <ProjectViewModel>();
            var templist  = new List <ProjectViewModel>();

            //Retrieving the data from the server
            using (HttpClient client = new HttpClient())
            {
                UriBuilder url = new UriBuilder(ConfigurationManager.AppSettings["detailsUrl"]);
                //  url.Query = "username="******"Bearer", token.ToString());

                var result = client.GetAsync(url.Uri + "/getProjectDetails?username="******"&status=" + status).Result;
                if (result.IsSuccessStatusCode)
                {
                    list = JsonConvert.DeserializeObject <List <ProjectViewModel> >(result.Content.ReadAsStringAsync().Result);
                }
                else
                {
                }
            }


            //searching from the list
            if (jQGridParameter.Search)
            {
                list = list.Where(t => (t.Project_Name.Contains(jQGridParameter.SearchValue)) || (t.Mgr_Id.Contains(jQGridParameter.SearchValue))).ToList();

                /*   if (jQGridParameter.filters.groupOp == "AND")
                 * {
                 *     foreach(var rule in jQGridParameter.filters.rules)
                 *     {
                 *
                 *         switch(rule.field)
                 *         {
                 *             case "Project_Name":
                 *                 list = list.Where(t => t.Project_Name.Contains(rule.data)).ToList();
                 *                 break;
                 *             case "Mgr_Id":
                 *                 list = list.Where(t => t.Mgr_Id.Contains(rule.data)).ToList();
                 *                 break;
                 *         }
                 *     }
                 * }
                 * else if(jQGridParameter.filters.groupOp=="OR")
                 * {
                 *
                 *     foreach(var rule in jQGridParameter.filters.rules)
                 *     {
                 *         List<ProjectViewModel> temp;
                 *         switch (rule.field)
                 *         {
                 *             case "Project_Name":
                 *                 temp = list.Where(t => t.Project_Name.Contains(rule.data??"")).ToList();
                 *                 templist = templist.Concat(temp).ToList();
                 *                 break;
                 *             case "Mgr_Id":
                 *                 temp = list.Where(t => t.Mgr_Id.Contains(rule.data??"")).ToList();
                 *                 templist = templist.Concat(temp).ToList();
                 *                 break;
                 *         }
                 *     }
                 *     list = templist.Distinct().ToList();
                 * }*/
            }

            //sorting and page size
            int totalRecords = list.Count();
            var totalPages   = (int)Math.Ceiling((float)totalRecords / (float)jQGridParameter.Rows);



            // sorting of the data
            switch (jQGridParameter.SortBy.ToLower())
            {
            case "project_name":
                if (jQGridParameter.OrderBy.ToUpper() == "DESC")
                {
                    list = list.OrderByDescending(t => t.Project_Name).ToList();
                    list = list.Skip(PageIndex * pagesize).Take(pagesize).ToList();
                }
                else
                {
                    list = list.OrderBy(t => t.Project_Name).ToList();
                    list = list.Skip(PageIndex * pagesize).Take(pagesize).ToList();
                }

                break;

            case "manager_name":
                if (jQGridParameter.OrderBy.ToUpper() == "DESC")
                {
                    list = list.OrderByDescending(t => t.Mgr_Id).ToList();
                    list = list.Skip(PageIndex * pagesize).Take(pagesize).ToList();
                }
                else
                {
                    list = list.OrderBy(t => t.Mgr_Id).ToList();
                    list = list.Skip(PageIndex * pagesize).Take(pagesize).ToList();
                }

                break;
            }



            var jsondata = new
            {
                total = totalPages,
                jQGridParameter.Page,
                records = totalRecords,
                rows    = list
            };


            return(Json(jsondata, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 3
0
        // GET: EmployeeJqGrid
        public ActionResult GetEmployees(JQGridParameter jQGridParameter)
        {
            jQGridParameter.SortBy      = (jQGridParameter.SortBy == null) ? "Date" : jQGridParameter.SortBy;
            jQGridParameter.OrderBy     = (jQGridParameter.OrderBy == null) ? "asc" : jQGridParameter.OrderBy;
            jQGridParameter.Rows        = (jQGridParameter.Rows == 0) ? 20 : jQGridParameter.Rows;
            jQGridParameter.Page        = (jQGridParameter.Page == 0) ? 1 : jQGridParameter.Page;
            jQGridParameter.SearchValue = (jQGridParameter.SearchValue == null) ? "" : jQGridParameter.SearchValue;
            jQGridParameter.OrderBy     = (jQGridParameter.OrderBy == null) ? "" : jQGridParameter.OrderBy;
            int PageIndex = Convert.ToInt32(jQGridParameter.Page) - 1;
            int pagesize  = jQGridParameter.Rows;

            List <Employee> EmployeeList = new List <Employee>();

            using (HttpClient httpClient = new HttpClient())
            {
                UriBuilder url    = new UriBuilder(ConfigurationManager.AppSettings["detailsUrl"]);
                var        result = httpClient.GetAsync(url.Uri + "/GetEmployeeDetails").Result;
                if (result.IsSuccessStatusCode)
                {
                    EmployeeList = JsonConvert.DeserializeObject <List <Employee> >(result.Content.ReadAsStringAsync().Result);
                }
            }
            if (jQGridParameter.Search)
            {
                EmployeeList = EmployeeList.Where(t => (t.JoiningDate.ToShortDateString().Contains(jQGridParameter.SearchValue)) || (t.FullName.Contains(jQGridParameter.SearchValue)) || (t.Email.Contains(jQGridParameter.SearchValue)) || (t.UserId.Contains(jQGridParameter.SearchValue))).ToList();
            }


            //sorting and page size
            int totalRecords = EmployeeList.Count();
            var totalPages   = (int)Math.Ceiling((float)totalRecords / (float)jQGridParameter.Rows);

            // sorting of the data
            switch (jQGridParameter.SortBy.ToLower())
            {
            case "fullname":
                if (jQGridParameter.OrderBy.ToUpper() == "DESC")
                {
                    EmployeeList = EmployeeList.OrderByDescending(t => t.FullName).ToList();
                    EmployeeList = EmployeeList.Skip(PageIndex * pagesize).Take(pagesize).ToList();
                }
                else
                {
                    EmployeeList = EmployeeList.OrderBy(t => t.FullName).ToList();
                    EmployeeList = EmployeeList.Skip(PageIndex * pagesize).Take(pagesize).ToList();
                }

                break;

            case "joiningdate":
                if (jQGridParameter.OrderBy.ToUpper() == "DESC")
                {
                    EmployeeList = EmployeeList.OrderByDescending(t => t.JoiningDate).ToList();
                    EmployeeList = EmployeeList.Skip(PageIndex * pagesize).Take(pagesize).ToList();
                }
                else
                {
                    EmployeeList = EmployeeList.OrderBy(t => t.JoiningDate).ToList();
                    EmployeeList = EmployeeList.Skip(PageIndex * pagesize).Take(pagesize).ToList();
                }


                break;

            case "userid":
                if (jQGridParameter.OrderBy.ToUpper() == "DESC")
                {
                    EmployeeList = EmployeeList.OrderByDescending(t => t.UserId).ToList();
                    EmployeeList = EmployeeList.Skip(PageIndex * pagesize).Take(pagesize).ToList();
                }
                else
                {
                    EmployeeList = EmployeeList.OrderBy(t => t.UserId).ToList();
                    EmployeeList = EmployeeList.Skip(PageIndex * pagesize).Take(pagesize).ToList();
                }


                break;

            case "email":
                if (jQGridParameter.OrderBy.ToUpper() == "DESC")
                {
                    EmployeeList = EmployeeList.OrderByDescending(t => t.Email).ToList();
                    EmployeeList = EmployeeList.Skip(PageIndex * pagesize).Take(pagesize).ToList();
                }
                else
                {
                    EmployeeList = EmployeeList.OrderBy(t => t.Email).ToList();
                    EmployeeList = EmployeeList.Skip(PageIndex * pagesize).Take(pagesize).ToList();
                }
                break;
            }

            var jsondata = new
            {
                total = totalPages,
                jQGridParameter.Page,
                records = totalRecords,
                rows    = EmployeeList
            };


            return(Json(jsondata, JsonRequestBehavior.AllowGet));
        }