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()); } }
/// <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); }