示例#1
0
 private List <HiringTracking> GetTarget()
 {
     if (cmbFinalStatus.SelectedIndex == 0)
     {
         if (Position != SystemManager.strTotal)
         {
             return(DataCenter.GetHiringTrackByPosition(Position));
         }
         else
         {
             return(DataCenter.GetHiringTrackingDataSet());
         }
     }
     else
     {
         HiringTracking.FinalStatusEnum FinalStatus = (HiringTracking.FinalStatusEnum)cmbFinalStatus.SelectedIndex - 1;
         if (Position != SystemManager.strTotal)
         {
             return(DataCenter.GetHiringTrackByPosition(Position, FinalStatus));
         }
         else
         {
             return(DataCenter.GetHiringTrackByFinalStatus(FinalStatus));
         }
     }
 }
        /// <summary>
        /// Refresh
        /// </summary>
        /// <param name="strTitle"></param>
        private void RefreshChanel(string strTitle)
        {
            //图形化初始化
            chartResult.Series.Clear();
            chartResult.Titles.Clear();
            var SeriesResult = new Series(strTitle);
            List <HiringTracking> Target;

            if (cmbPhase.SelectedIndex == 0)
            {
                if (Position == SystemManager.strTotal)
                {
                    Target = DataCenter.HiringTrackingDataSet;
                }
                else
                {
                    Target = DataCenter.GetHiringTrackByPosition(Position);
                }
            }
            else
            {
                HiringTracking.FinalStatusEnum FinalStatus = (HiringTracking.FinalStatusEnum)cmbPhase.SelectedIndex - 1;
                if (Position == SystemManager.strTotal)
                {
                    Target = DataCenter.GetHiringTrackByFinalStatus(FinalStatus);
                }
                else
                {
                    Target = DataCenter.GetHiringTrackByPosition(Position, FinalStatus);
                }
            }

            foreach (HiringTracking.ChannelEnum item in Enum.GetValues(typeof(HiringTracking.ChannelEnum)))
            {
                DataPoint ColPoint;
                ColPoint = new DataPoint(0, Target.Count((x) =>
                {
                    return(x.Channel == item);
                }));
                if (Target.Count() == 0)
                {
                    ColPoint.LegendText = item.ToString() + "(0%)";
                }
                else
                {
                    ColPoint.LegendText = item.ToString() + "(" + Math.Round((ColPoint.YValues[0] / (double)Target.Count()) * 100, 2) + "%" + ")";
                }
                ColPoint.LabelToolTip = item.ToString();
                ColPoint.ToolTip      = item.ToString();
                SeriesResult.Points.Add(ColPoint);
            }
            //图形化加载
            SeriesResult.ChartType = SeriesChartType.Pie;
            chartResult.Series.Add(SeriesResult);
            chartResult.Titles.Add(strTitle);
        }
 /// <summary>
 /// Load
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void frmHiringTracking_Load(object sender, EventArgs e)
 {
     if (Position != SystemManager.strTotal)
     {
         ViewControl.FillHiringTrackingListView(lstHiringTracking, DataCenter.GetHiringTrackByPosition(Position));
     }
     else
     {
         ViewControl.FillHiringTrackingListView(lstHiringTracking, DataCenter.GetHiringTrackingDataSet());
     }
 }
示例#4
0
 /// <summary>
 /// Load
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void frmHiringTracking_Load(object sender, EventArgs e)
 {
     if (Position != SystemManager.strTotal)
     {
         ViewControl.FillHiringTrackingListView(lstHiringTracking, DataCenter.GetHiringTrackByPosition(Position), condition);
         btnClosePosition.Enabled = DataCenter.GetPositionStatisticInfo(Position).Gap == 0;
     }
     else
     {
         ViewControl.FillHiringTrackingListView(lstHiringTracking, DataCenter.GetHiringTrackingDataSet(), condition);
         btnEditPosition.Enabled = false;
     }
 }
        /// <summary>
        /// cmbFinalStatus Select Index Changed
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void cmbFinalStatus_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (cmbFinalStatus.SelectedIndex == 0)
            {
                if (Position != SystemManager.strTotal)
                {
                    ViewControl.FillHiringTrackingListView(lstHiringTracking, DataCenter.GetHiringTrackByPosition(Position));
                }
                else
                {
                    ViewControl.FillHiringTrackingListView(lstHiringTracking, DataCenter.GetHiringTrackingDataSet());
                }
            }
            else
            {
                HiringTracking.FinalStatusEnum FinalStatus = (HiringTracking.FinalStatusEnum)cmbFinalStatus.SelectedIndex - 1;
                ViewControl.ResetHiringTrackingField();
                switch (FinalStatus)
                {
                case HiringTracking.FinalStatusEnum.OpenOffer:
                case HiringTracking.FinalStatusEnum.ANOB:
                case HiringTracking.FinalStatusEnum.Onboard:
                    ViewControl.CurrentHiringTrackingFields = ViewStyleSheet.HiringTracking_OnboardSytle;
                    break;

                case HiringTracking.FinalStatusEnum.RejectOffer:
                    ViewControl.CurrentHiringTrackingFields = ViewStyleSheet.HiringTracking_RejectOfferSytle;
                    break;
                }
                if (Position != SystemManager.strTotal)
                {
                    ViewControl.FillHiringTrackingListView(lstHiringTracking, DataCenter.GetHiringTrackByPosition(Position, FinalStatus));
                }
                else
                {
                    ViewControl.FillHiringTrackingListView(lstHiringTracking, DataCenter.GetHiringTrackByFinalStatus(FinalStatus));
                }
            }
        }
        /// <summary>
        /// Phase图
        /// </summary>
        private void InitPhaseChart()
        {
            if (DataCenter.HiringTrackingDataSet.Count == 0)
            {
                return;
            }
            var QuerySeries = new Series("Pileline")
            {
                ChartType  = SeriesChartType.Line,
                XValueType = ChartValueType.String,
                YValueType = ChartValueType.Int32
            };

            PhaseChart.Series.Clear();
            PhaseChart.Series.Add(QuerySeries);

            List <HiringTracking> Target;

            if (Position == SystemManager.strTotal)
            {
                Target = DataCenter.GetHiringTrackingDataSet();
            }
            else
            {
                Target = DataCenter.GetHiringTrackByPosition(Position);
            }

            var queryPoint = new DataPoint();

            queryPoint.SetValueXY("Pipeline", Target.Count());
            PhaseChart.Series[0].Points.Add(queryPoint);


            queryPoint = new DataPoint();
            queryPoint.SetValueXY("ScreenPass", Target.Count((x) =>
            {
                return(!string.IsNullOrEmpty(x.FirstInterviewer));
            }));
            PhaseChart.Series[0].Points.Add(queryPoint);

            queryPoint = new DataPoint();
            queryPoint.SetValueXY("1stPass", Target.Count((x) =>
            {
                return(HiringTracking.InterviewPassCheck(x.FirstInterviewResult));
            }));
            PhaseChart.Series[0].Points.Add(queryPoint);


            queryPoint = new DataPoint();
            queryPoint.SetValueXY("2ndPass", Target.Count((x) =>
            {
                return(HiringTracking.InterviewPassCheck(x.SecondInterviewResult));
            }));
            PhaseChart.Series[0].Points.Add(queryPoint);


            queryPoint = new DataPoint();
            queryPoint.SetValueXY("3rdPass", Target.Count((x) =>
            {
                return(HiringTracking.InterviewPassCheck(x.ThirdInterviewResult));
            }));
            PhaseChart.Series[0].Points.Add(queryPoint);

            queryPoint = new DataPoint();
            queryPoint.SetValueXY("OB", Target.Count((x) =>
            {
                return(x.FinalStatus == HiringTracking.FinalStatusEnum.Onboard);
            }));
            PhaseChart.Series[0].Points.Add(queryPoint);
        }
        /// <summary>
        /// Phase图
        /// </summary>
        private void InitHiringTrackingChart()
        {
            if (DataCenter.HiringTrackingDataSet.Count == 0)
            {
                return;
            }
            var QuerySeries = new Series("First Date")
            {
                ChartType  = SeriesChartType.Line,
                XValueType = ChartValueType.String,
                YValueType = ChartValueType.Int32
            };

            HiringTrackingchart.Series.Clear();
            HiringTrackingchart.Series.Add(QuerySeries);

            List <HiringTracking> Target;

            if (Position == SystemManager.strTotal)
            {
                return;
            }
            else
            {
                Target = DataCenter.GetHiringTrackByPosition(Position);
            }

            DateTime BaseDate = DataCenter.GetBasicPositionInfo(Position).OpenDate;

            var queryPoint = new DataPoint();

            queryPoint.SetValueXY("Screen", Target.Min <HiringTracking>((x) =>
            {
                if (x.ScreenDate == DateTime.MinValue)
                {
                    return(999);
                }
                else
                {
                    return((x.ScreenDate.Date - BaseDate.Date).Days);
                };
            }));
            HiringTrackingchart.Series[0].Points.Add(queryPoint);

            queryPoint = new DataPoint();
            queryPoint.SetValueXY("1st", Target.Min <HiringTracking>((x) =>
            {
                if (x.FirstInterviewDate == DateTime.MinValue)
                {
                    return(999);
                }
                else
                {
                    return((x.FirstInterviewDate.Date - BaseDate.Date).Days);
                };
            }));
            HiringTrackingchart.Series[0].Points.Add(queryPoint);

            queryPoint = new DataPoint();
            queryPoint.SetValueXY("2nd", Target.Min <HiringTracking>((x) =>
            {
                if (x.SecondInterviewDate == DateTime.MinValue)
                {
                    return(999);
                }
                else
                {
                    return((x.SecondInterviewDate.Date - BaseDate.Date).Days);
                };
            }));
            HiringTrackingchart.Series[0].Points.Add(queryPoint);

            queryPoint = new DataPoint();
            queryPoint.SetValueXY("3rd", Target.Min <HiringTracking>((x) =>
            {
                if (x.ThirdInterviewDate == DateTime.MinValue)
                {
                    return(999);
                }
                else
                {
                    return((x.ThirdInterviewDate.Date - BaseDate.Date).Days);
                };
            }));
            HiringTrackingchart.Series[0].Points.Add(queryPoint);

            queryPoint = new DataPoint();
            queryPoint.SetValueXY("ANOB", Target.Min <HiringTracking>((x) =>
            {
                if (x.OfferOfferDate == DateTime.MinValue)
                {
                    return(999);
                }
                else
                {
                    return((x.OfferOfferDate.Date - BaseDate.Date).Days);
                };
            }));
            HiringTrackingchart.Series[0].Points.Add(queryPoint);

            queryPoint = new DataPoint();
            queryPoint.SetValueXY("OB", Target.Min <HiringTracking>((x) =>
            {
                if (x.OnboardDate == DateTime.MinValue)
                {
                    return(999);
                }
                else
                {
                    return((x.OnboardDate.Date - BaseDate.Date).Days);
                };
            }));
            HiringTrackingchart.Series[0].Points.Add(queryPoint);
        }