/// <summary> /// 初始化 /// </summary> public static void Init() { //View的初始化 ViewControl.ResetHiringTrackingField(); ViewControl.ResetPositionField(); //Folder Check if (!Directory.Exists(Application.StartupPath + "\\Data")) { Directory.CreateDirectory(Application.StartupPath + "\\Data"); } if (!Directory.Exists(Application.StartupPath + "\\Resume")) { Directory.CreateDirectory(Application.StartupPath + "\\Resume"); } if (File.Exists(HiringTrackingXmlFilename)) { XmlSerializer xml = new XmlSerializer(typeof(List <HiringTracking>)); List <HiringTracking> HiringTrackingList = (List <HiringTracking>)xml.Deserialize(new StreamReader(HiringTrackingXmlFilename)); DataCenter.HiringTrackingDataSet = HiringTrackingList; } if (File.Exists(PositionBasicInfoXmlFilename)) { XmlSerializer xml = new XmlSerializer(typeof(List <PositionBasicInfo>)); List <PositionBasicInfo> PositionBasicList = (List <PositionBasicInfo>)xml.Deserialize(new StreamReader(PositionBasicInfoXmlFilename)); DataCenter.PositionBasicDataSet = PositionBasicList; } ///Init UI DataCenter.ReCalulatePositionStatisti((x) => { return(true); }); }
/// <summary> /// 刷新数据 /// </summary> public void RefreshData() { DataCenter.ReCalulatePositionStatisti(condition); ViewControl.FillPositionListView(lstPosition, DataCenter.PositionStatisticDataSet, condition); InitPhaseChart(); RefreshChanel(cmbPhase.Text); }
/// <summary> /// cmbHiringType SelectedIndexChanged /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void cmbHiringType_SelectedIndexChanged(object sender, EventArgs e) { if (cmbHiringType.SelectedIndex == 0) { condition = (x) => { return(true); }; } else { condition = (x) => { return(x.HiringType.GetHashCode() == (cmbHiringType.SelectedIndex - 1)); }; } DataCenter.ReCalulatePositionStatisti(condition); ViewControl.FillPositionListView(lstPosition, DataCenter.PositionStatisticDataSet, condition); }
/// <summary> /// Hiring Manager Filter /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void cmbHiringManager_SelectedIndexChanged(object sender, EventArgs e) { if (cmbHiringManager.SelectedIndex == 0) { condition = (x) => { return(true); }; } else { condition = (x) => { return(x.HiringManager == cmbHiringManager.Text); }; } DataCenter.ReCalulatePositionStatisti(condition); ViewControl.FillPositionListView(lstPosition, DataCenter.PositionStatisticDataSet, condition); }
/// <summary> /// Import Data From GOM /// </summary> /// <param name="workbook"></param> private void ImportData(dynamic workbook) { List <HiringTracking> rawData = new List <HiringTracking>(); dynamic ActiveSheet = workbook.Sheets(1); int rowCount = 4; while (!string.IsNullOrEmpty(ActiveSheet.Cells(rowCount, ViewStyleSheet.ColPos.No).Text)) { HiringTracking Rec = new HiringTracking(); Rec.No = ActiveSheet.Cells(rowCount, ViewStyleSheet.ColPos.No).Text; Rec.Name = ActiveSheet.Cells(rowCount, ViewStyleSheet.ColPos.Name).Text; Rec.Position = ActiveSheet.Cells(rowCount, ViewStyleSheet.ColPos.Position).Text; Rec.Position = Rec.Position.Trim(); Rec.Channel = Utility.GetEnum <HiringTracking.ChannelEnum>(ActiveSheet.Cells(rowCount, ViewStyleSheet.ColPos.Channel).Text, HiringTracking.ChannelEnum.Agency); Rec.Contact = ActiveSheet.Cells(rowCount, ViewStyleSheet.ColPos.PhoneNumber).Text; Rec.University = ActiveSheet.Cells(rowCount, ViewStyleSheet.ColPos.University).Text; if (!string.IsNullOrEmpty(ActiveSheet.Cells(rowCount, ViewStyleSheet.ColPos.Language_EN).Text)) { Rec.Language = Rec.Language | HiringTracking.LanguageEnum.EN; } if (!string.IsNullOrEmpty(ActiveSheet.Cells(rowCount, ViewStyleSheet.ColPos.Language_CN).Text)) { Rec.Language = Rec.Language | HiringTracking.LanguageEnum.CN; } if (!string.IsNullOrEmpty(ActiveSheet.Cells(rowCount, ViewStyleSheet.ColPos.Language_JP).Text)) { Rec.Language = Rec.Language | HiringTracking.LanguageEnum.JP; } if (!string.IsNullOrEmpty(ActiveSheet.Cells(rowCount, ViewStyleSheet.ColPos.Language_KR).Text)) { Rec.Language = Rec.Language | HiringTracking.LanguageEnum.KR; } if (!string.IsNullOrEmpty(ActiveSheet.Cells(rowCount, ViewStyleSheet.ColPos.Language_Other).Text)) { Rec.Language = Rec.Language | HiringTracking.LanguageEnum.Other; } Rec.ITBackground = !string.IsNullOrEmpty(ActiveSheet.Cells(rowCount, ViewStyleSheet.ColPos.ITBakcground).Text); Rec.MarketBackground = !string.IsNullOrEmpty(ActiveSheet.Cells(rowCount, ViewStyleSheet.ColPos.MarketBackground).Text); Rec.ScreenDate = Utility.GetDate(ActiveSheet.Cells(rowCount, ViewStyleSheet.ColPos.ScreenData)); Rec.FirstInterviewDate = Utility.GetDate(ActiveSheet.Cells(rowCount, ViewStyleSheet.ColPos.firstInterviewDate)); Rec.FirstInterviewer = ActiveSheet.Cells(rowCount, ViewStyleSheet.ColPos.firstInterviewer).Text; Rec.FirstInterviewResult = Utility.GetEnum <HiringTracking.InterviewResultEnum>(ActiveSheet.Cells(rowCount, ViewStyleSheet.ColPos.firstInterviewresult).Text, HiringTracking.InterviewResultEnum.NotAvaliable); Rec.SecondInterviewDate = Utility.GetDate(ActiveSheet.Cells(rowCount, ViewStyleSheet.ColPos.secondInterviewDate)); Rec.SecondInterviewer = ActiveSheet.Cells(rowCount, ViewStyleSheet.ColPos.secondInterviewer).Text; Rec.SecondInterviewResult = Utility.GetEnum <HiringTracking.InterviewResultEnum>(ActiveSheet.Cells(rowCount, ViewStyleSheet.ColPos.secondInterviewresult).Text, HiringTracking.InterviewResultEnum.NotAvaliable); Rec.ThirdInterviewDate = Utility.GetDate(ActiveSheet.Cells(rowCount, ViewStyleSheet.ColPos.thirdInterviewDate)); Rec.ThirdInterviewer = ActiveSheet.Cells(rowCount, ViewStyleSheet.ColPos.thirdInterviewer).Text; Rec.ThirdInterviewResult = Utility.GetEnum <HiringTracking.InterviewResultEnum>(ActiveSheet.Cells(rowCount, ViewStyleSheet.ColPos.thirdInterviewresult).Text, HiringTracking.InterviewResultEnum.NotAvaliable); Rec.OfferOfferDate = Utility.GetDate(ActiveSheet.Cells(rowCount, ViewStyleSheet.ColPos.offerofferdate)); Rec.OnboardDate = Utility.GetDate(ActiveSheet.Cells(rowCount, ViewStyleSheet.ColPos.onboarddate)); Rec.RejectOfferReason = ActiveSheet.Cells(rowCount, ViewStyleSheet.ColPos.rejectofferreason).Text; Rec.FinalStatus = Utility.GetEnum <HiringTracking.FinalStatusEnum>(ActiveSheet.Cells(rowCount, ViewStyleSheet.ColPos.finalstatus).Text, HiringTracking.FinalStatusEnum.UnderScreen); rawData.Add(Rec); rowCount++; } XmlSerializer xml = new XmlSerializer(typeof(List <HiringTracking>)); xml.Serialize(new StreamWriter(SystemManager.HiringTrackingXmlFilename), rawData); DataCenter.HiringTrackingDataSet = rawData; DataCenter.ReCalulatePositionStatisti((x) => { return(true); }); }