コード例 #1
0
        /// <summary>
        /// 获取单个教师请假情况
        /// </summary>
        /// <param name="SelectYear">年份</param>
        /// <param name="type">按年还是请假类型</param>
        /// <param name="userType">判断当前登录教师还是选择的教师</param>
        /// <param name="userId">教师ID</param>
        /// <returns></returns>
        public JsonResult GetTeacherLeaveByID(string SelectYear, string type, string userType = "", string userId = "")
        {
            var teahcerLeaveViewModel = new TeahcerLeaveViewModel();

            try
            {
                var          teacherLeaveList = new List <AL_Apply>();
                List <Guid?> userIdList       = new List <Guid?>();

                if (!string.IsNullOrEmpty(userType))
                {
                    userIdList.Add(new Guid(userId));
                }
                else
                {
                    userIdList.Add(userid);
                }

                List <SeriesPie> serList = new List <SeriesPie>();

                switch (type)
                {
                case "年份":
                    #region 年份

                    teacherLeaveList = oabll.GetLeaveListByTeahcerIdListAndYear(userIdList, SelectYear);

                    if (teacherLeaveList.Any())
                    {
                        for (int i = 1; i < 13; i++)
                        {
                            SeriesPie s = new SeriesPie();
                            s.name = i + "月";

                            var month = "";
                            if (i < 10)
                            {
                                month = "0" + i;
                            }
                            else
                            {
                                month = i.ToString();
                            }

                            var teacherHour =
                                teacherLeaveList.Where(
                                    //  e => e.StartDate.StartsWith(SelectYear + month));
                                    e => e.StartDate.StartsWith(SelectYear + "-" + month));

                            if (teacherHour.Any())
                            {
                                s.data = FormateHour((int)teacherHour.Sum(e => e.Hour));

                                serList.Add(s);
                            }
                        }

                        teahcerLeaveViewModel.SeriesPieList = serList;
                    }

                    #endregion
                    break;

                case "请假类型":
                    #region 请假类型

                    teacherLeaveList = oabll.GetLeaveListByTeahcerIdListAndYear(userIdList, SelectYear);

                    if (teacherLeaveList.Any())
                    {
                        var typeList = oabll.GetTypeNameList();

                        for (int i = 0; i < typeList.Count; i++)
                        {
                            SeriesPie s = new SeriesPie();
                            s.name = typeList[i];

                            var teacherHour =
                                teacherLeaveList.Where(
                                    e => e.CJR == typeList[i]);

                            if (teacherHour.Any())
                            {
                                s.data = FormateHour((int)teacherHour.Sum(e => e.Hour));
                                // s.data = FormateHour((int)teacherHour.Sum(e => e.Hour));
                                serList.Add(s);
                            }
                        }

                        teahcerLeaveViewModel.SeriesPieList = serList;
                    }

                    #endregion
                    break;
                }

                if (teacherLeaveList.Any())
                {
                    List <LeaveViewModel> leaveViewModelList = new List <LeaveViewModel>();

                    foreach (var leave in teacherLeaveList)
                    {
                        LeaveViewModel _leaveView = new LeaveViewModel
                        {
                            Date      = leave.StartDate + "—" + leave.EndDate,
                            DayNum    = FormateHour((int)leave.Hour.Value),
                            LeaveType = leave.CJR
                        };
                        leaveViewModelList.Add(_leaveView);
                    }
                    teahcerLeaveViewModel.TeacherLeaveDetailList = leaveViewModelList;
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(Json(teahcerLeaveViewModel, JsonRequestBehavior.AllowGet));
        }
コード例 #2
0
        public ViewModelBase()
        {
            List <double> data = new List <double>();

            data.Add(5);
            data.Add(6);
            data.Add(7);
            data.Add(5);
            data.Add(4);
            data.Add(3);
            Labels = new List <string>();
            Labels.Add("Pedro");
            Labels.Add("Juan");
            Labels.Add("Diego");
            Labels.Add("Pablo");
            Labels.Add("Marcos");
            Labels.Add("Manuel");

            ChartValues <double> cv = new ChartValues <double>();

            cv.AddRange(data);

            var lineSerie = new LineSeries
            {
                Title  = "Values",
                Values = cv,
            };

            Series.Clear();
            Series.Add(lineSerie);

            var barSerie = new BarSeries
            {
                Title  = "Values",
                Values = cv,
            };

            SeriesBar.Clear();
            SeriesBar.Add(barSerie);

            var pieSerie = new PieSeries
            {
                Title  = "Values",
                Values = cv,
            };

            SeriesPie.Clear();
            SeriesPie.Add(pieSerie);

            var radarSerie = new RadarSeries
            {
                Title  = "Values",
                Values = cv,
            };

            SeriesRadar.Clear();
            SeriesRadar.Add(radarSerie);

            var StackedBarChartSerie = new StackedBarSeries
            {
                Title  = "Values1",
                Values = cv,
            };
            var StackedBarChartSerie2 = new StackedBarSeries
            {
                Title  = "Values2",
                Values = cv,
            };

            SeriesStackedBarChart.Clear();
            SeriesStackedBarChart.Add(StackedBarChartSerie);
            SeriesStackedBarChart.Add(StackedBarChartSerie2);
        }