//Single Get for getting all data with queries/pagination public PaginatedItemsResponse <Job> GetAllJobsWithFilter(PaginatedRequest model) { List <Job> JobList = null; PaginatedItemsResponse <Job> response = null; DataProvider.ExecuteCmd(GetConnection, "dbo.Jobs_SelectAll" , inputParamMapper : delegate(SqlParameterCollection paramCollection) { paramCollection.AddWithValue("@CurrentPage", model.CurrentPage); paramCollection.AddWithValue("@ItemsPerPage", model.ItemsPerPage); paramCollection.AddWithValue("@Query", model.Query); paramCollection.AddWithValue("@QueryWebsiteId", model.QueryWebsiteId); paramCollection.AddWithValue("@QueryStatus", model.QueryStatus); paramCollection.AddWithValue("@QueryJobType", model.QueryJobType); paramCollection.AddWithValue("@QueryStartDate", model.QueryStartDate); paramCollection.AddWithValue("@QueryEndDate", model.QueryEndDate); }, map : delegate(IDataReader reader, short set) { if (set == 0) { Job SingleJob = new Job(); int startingIndex = 0; //startingOrdinal SingleJob.Id = reader.GetSafeInt32(startingIndex++); SingleJob.UserId = reader.GetSafeString(startingIndex++); SingleJob.JobStatus = reader.GetSafeEnum <JobStatus>(startingIndex++); SingleJob.JobType = reader.GetSafeEnum <JobsType>(startingIndex++); SingleJob.Price = reader.GetSafeDecimal(startingIndex++); SingleJob.Phone = reader.GetSafeString(startingIndex++); SingleJob.JobRequest = reader.GetSafeInt32(startingIndex++); SingleJob.SpecialInstructions = reader.GetSafeString(startingIndex++); SingleJob.Created = reader.GetSafeDateTime(startingIndex++); SingleJob.Modified = reader.GetSafeDateTime(startingIndex++); SingleJob.WebsiteId = reader.GetSafeInt32(startingIndex++); if (JobList == null) { JobList = new List <Job>(); } JobList.Add(SingleJob); } else if (set == 1) { response = new PaginatedItemsResponse <Job>(); response.TotalItems = reader.GetSafeInt32(0); } } ); response.Items = JobList; response.CurrentPage = model.CurrentPage; response.ItemsPerPage = model.ItemsPerPage; return(response); }
public Job MakeJob() { var id = GetNewJobId(); var j = new Job(id); JobList.Add(j); return(j); }
static void Main(string[] args) { JobList jobs = new JobList(); List <Employee> employees = new List <Employee>(); string input; while ((input = Console.ReadLine()) != "End") { string[] inputArgs = input.Split(); string command = inputArgs[0]; inputArgs = inputArgs.Skip(1).ToArray(); switch (command) { case "Job": string jobName = inputArgs[0]; int workingHours = int.Parse(inputArgs[1]); string employeeName = inputArgs[2]; Employee employee = employees.FirstOrDefault(e => e.Name == employeeName); Job currentJob = new Job(jobName, workingHours, employee); jobs.Add(currentJob); currentJob.JobDone += currentJob.OnJobDone; break; case "StandardEmployee": string standartEmployeeName = inputArgs[0]; employees.Add(new StandartEmployee(standartEmployeeName)); break; case "PartTimeEmployee": string partTimeEmployeeName = inputArgs[0]; employees.Add(new PartTimeEmployee(partTimeEmployeeName)); break; case "Pass": foreach (var job in jobs) { job.Update(); if (!jobs.Any()) { break; } } break; case "Status": foreach (var job in jobs.Where(j => j.IsDone == false)) { Console.WriteLine(job.ToString()); } break; } } }
public JobInPeriodListVM() { JobList.Add(new JobInPeriodDTOWithActions() { Name = "شغل 1", JobId = 1 }); selectedJobInPeriod = new JobInPeriodDTOWithActions() { JobId = 1, Name = "شغل1", DictionaryName = "jobDic1" }; init(); }
public IList <QueueWithTopEnqueuedJobsDto> Queues() { return(_dispatcher.QueryAndWait(state => { // TODO: Move all allocations outside of dispatcher thread, just in case it helps var result = new List <QueueWithTopEnqueuedJobsDto>(); foreach (var queueEntry in state.Queues) { var queueResult = new JobList <EnqueuedJobDto>(Enumerable.Empty <KeyValuePair <string, EnqueuedJobDto> >()); var index = 0; const int count = 5; foreach (var message in queueEntry.Value.Queue) { if (index++ >= count) { break; } Job job = null; if (state.Jobs.TryGetValue(message, out var jobEntry)) { job = jobEntry.TryGetJob(out _); } var stateName = jobEntry?.State?.Name; var inEnqueuedState = EnqueuedState.StateName.Equals( stateName, StringComparison.OrdinalIgnoreCase); queueResult.Add(new KeyValuePair <string, EnqueuedJobDto>(message, new EnqueuedJobDto { Job = job, State = stateName, InEnqueuedState = inEnqueuedState, EnqueuedAt = inEnqueuedState ? jobEntry?.State?.CreatedAt : null })); } result.Add(new QueueWithTopEnqueuedJobsDto { Length = queueEntry.Value.Queue.Count, Name = queueEntry.Key, FirstJobs = queueResult }); } // TODO: Case sensitivity return result.OrderBy(x => x.Name).ToList(); })); }
static void Main(string[] args) { JobList jobs = new JobList(); List <BaseEmployee> employees = new List <BaseEmployee>(); string[] input = Console.ReadLine().Split(); while (input[0] != "End") { switch (input[0]) { case "Job": Job realJob = new Job(input[1], int.Parse(input[2]), employees.FirstOrDefault(e => e.Name == input[3])); realJob.JobDone += realJob.OnJobDone; jobs.Add(realJob); break; case "StandartEmployee": BaseEmployee employee = new StandartEmployee(input[1]); employees.Add(employee); break; case "PartTimeEmployee": BaseEmployee pTemployee = new PartTimeEmployee(input[1]); employees.Add(pTemployee); break; case "Pass": foreach (var job in jobs) { job.Update(); } break; case "Status": foreach (var job in jobs) { if (!job.IsDone) { Console.WriteLine(job.ToString()); } } break; } input = Console.ReadLine().Split(); } }
public static JobList GetValidJobs(JobList jobList, string blockCompany = null) { // 去除該公司所提供的工作 JobList validJobs = new JobList(); foreach (Job job in jobList) { if (job.Company != blockCompany) { validJobs.Add(job); } } return(validJobs); }
private static void Main(string[] args) { IList <IEmployee> employees = new List <IEmployee>(); JobList jobs = new JobList(); string command = string.Empty; while ((command = Console.ReadLine()) != "End") { string[] tokens = command.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); IEmployee emp = null; switch (tokens[0]) { case "Job": emp = employees.First(e => e.Name == tokens[3]); Job job = new Job(tokens[1], int.Parse(tokens[2]), emp); job.JobDone += jobs.HandleJobCompletion; jobs.Add(job); break; case "StandartEmployee": emp = new StandartEmployee(tokens[1]); employees.Add(emp); break; case "PartTimeEmployee": emp = new PartTimeEmployee(tokens[1]); employees.Add(emp); break; case "Pass": List <Job> dummyJobs = new List <Job>(jobs); foreach (var j in dummyJobs) { j.Update(); } break; case "Status": jobs.ForEach(j => Console.WriteLine(j)); break; default: break; } } }
/// <summary> /// Job RepeatManager > Adding Job /// <para>key = JobKeyName, /// todo = ExecuteFunctionPointer, /// delay = Update Sequence Delay(Seconds), /// repeatCount = Total Execute Count, /// parameter = params object[] : Your Parameter /// todoCondition = Execute Condition(true = Available Execute, false = Block Execute), /// autoDropCondition = Job Drop Condition(Flag : true = Drop, false = MoveNext)</para> /// </summary> public bool AddDelegateJob(string key, JobTodo toDo, float delay = 1.0f, int repeatCount = 0, object[] parameter = null, JobEndAction endActionWhenDrop = null, JobToDoCondition toDoCondition = null, JobAutoDropCondition autoDropCondition = null, bool isImmediately = true) { // Already Registered Job Check if (JobList.Find(job => job.key.Equals(key)) != null) { return(false); } GameObject JobObject = new GameObject(key); JobObject.transform.parent = this.transform; JobRepeatBase newJob = JobObject.AddComponent <JobRepeatBase>(); newJob.key = key; newJob.jobCoroutine = null; newJob.jobTodo = toDo; newJob.repeatDelay = delay; newJob.repeatCount = repeatCount; newJob.excuteCount = 0; newJob.jobToDoCheck = toDoCondition; newJob.jobAutoDropCheck = autoDropCondition; newJob.jobEndAction = endActionWhenDrop; newJob.state = JOB_STATE.JOB_STANDBY; newJob.worker = CoJobHandle(key); newJob.parameter = parameter; if (toDo == null) { Debug.LogWarningFormat("Are You Sure Adding Empty Job? Todo Parameter is null (key:{0})", key); newJob.state = JOB_STATE.JOB_EMPTY; } newJob.repeatDelay = newJob.repeatDelay < m_MinDelayTime ? m_MinDelayTime : newJob.repeatDelay; JobList.Add(newJob); if (isImmediately) { StartCoroutine(newJob.worker); } return(true); }
public JobListViewModel(string mainNodeName, ObservableCollection <VM> _ActiveVMList) : base() { //Scheduler scheduler = new Scheduler(); MainNodeName = mainNodeName; jobList = new ObservableCollection <JobViewModel>(); CancelJobListCommand = new CompositeCommand(); RequeueJobListCommand = new CompositeCommand(); SelectAllCommand = new CompositeCommand(); UnselectAllCommand = new CompositeCommand(); CancelTaskListCommand = new CompositeCommand(); RequeueTaskListCommand = new CompositeCommand(); HpcScheduler = new Scheduler(); try { HpcScheduler.Connect(mainNodeName); ObservableCollection <VM> activeVMList = new ObservableCollection <VM>(_ActiveVMList); //IFilterCollection filters = scheduler.CreateFilterCollection(); //filters.Add(Microsoft.Hpc.Scheduler.Properties.FilterOperator.In, PropId. //SchedulerNode node = var query = from ISchedulerJob job in HpcScheduler.GetJobList(null, null) where activeVMList.Any(j => job.AllocatedNodes.Contains(j.GetDomainName())) select job; foreach (ISchedulerJob job in query) { JobList.Add(new JobViewModel(job, this)); } } catch (Exception e) { MessageBox.Show(e.Message, "Getting Job list error", MessageBoxButton.OK, MessageBoxImage.Error); } //CancelJobListCommand = new DelegateCommand<ObservableCollection<JobViewModel>>(CancelJobList, CanCancelJobList); View = new JobListView(); View.SetViewModel(this); ActionsView = new JobCommandsView(this); }
public static JobList GetValidJobs(FilterSetting filterSetting) { // 創建多個爬蟲(其數量不超過 NumberOfLogicalProcessors) string TargetUrl = filterSetting.CrawlUrl; char ConnectionChar = TargetUrl.Last() == '/' ? '?' : '&'; List <JobCrawler> JobCrawlers = new List <JobCrawler> { new JobCrawler($"{TargetUrl}{ConnectionChar}page=1"), new JobCrawler($"{TargetUrl}{ConnectionChar}page=2"), new JobCrawler($"{TargetUrl}{ConnectionChar}page=3"), new JobCrawler($"{TargetUrl}{ConnectionChar}page=4"), new JobCrawler($"{TargetUrl}{ConnectionChar}page=5"), new JobCrawler($"{TargetUrl}{ConnectionChar}page=6"), }; // 令爬蟲們抓取頁面 & 取得工作列表 GetTargetPages(JobCrawlers); GetJobSections(JobCrawlers); // 根據設定檔來過濾每一隻爬蟲所擁有的工作列表 JobList validJobs = new JobList(); foreach (JobCrawler jobCrawler in JobCrawlers) { if (!jobCrawler.IsEncounterError()) { foreach (Job job in jobCrawler.GetJobs()) { if (IsValidJob(filterSetting, job)) { validJobs.Add(job); } } } } return(validJobs); }
/// <summary> /// Add a job. /// </summary> public void add(CadKit.Threads.Jobs.Job job) { if (null == job) { return; } if (true == this.Contains(job)) { return; } using (this.Lock.write()) { _jobs.Add(job); } job.queue(); if (null != this.JobAdded) { this.JobAdded(job); } }
public static JobList buildJobList( string strSuffixCode, string strCountry) { // build all jobs JobList jl = new JobList(); JobItem ji; string aspecttblname = strCountry; DataTable dtAspects = CCLib.Cache.GetCachedDataTableWithNoExpire("MM_ALL_JOBS_" + strSuffixCode, "SELECT tblAspects" + aspecttblname + ".OccNumber, Central, Secondary, ID, Other, Education, EssentialSkills, DesirableSkills, OccName FROM Jobinfo" + strSuffixCode + " INNER JOIN tblAspects" + aspecttblname + " ON Jobinfo" + strSuffixCode + ".OccNumber = tblAspects" + aspecttblname + ".OccNumber order by OccName"); foreach (DataRow rt in dtAspects.Rows) { ji = new JobItem(); ji.JobRef = Convert.ToInt16(rt["OccNumber"].ToString()); ji.JobTitle = rt["OccName"].ToString(); jl.Add(ji); }; //prepare rank int i = 1; foreach (JobItem ji1 in jl) { ji1.Rank = i; i++; }; return (jl); }
public IList <QueueWithTopEnqueuedJobsDto> Queues() { return(_dispatcher.QueryAndWait(state => { var result = new List <QueueWithTopEnqueuedJobsDto>(); foreach (var queueEntry in state.Queues) { var queueResult = new JobList <EnqueuedJobDto>(Enumerable.Empty <KeyValuePair <string, EnqueuedJobDto> >()); var counter = 0; var from = 0; var perPage = 5; foreach (var message in queueEntry.Value.Queue) { if (counter < from) { counter++; continue; } if (counter >= from + perPage) { break; } Job job = null; if (state.Jobs.TryGetValue(message, out var jobEntry)) { try { job = jobEntry.InvocationData.DeserializeJob(); } catch (JobLoadException) { } } queueResult.Add(new KeyValuePair <string, EnqueuedJobDto>(message, new EnqueuedJobDto { Job = job, State = jobEntry?.State?.Name, InEnqueuedState = EnqueuedState.StateName.Equals(jobEntry?.State?.Name, StringComparison.OrdinalIgnoreCase), EnqueuedAt = jobEntry?.State?.CreatedAt })); counter++; } result.Add(new QueueWithTopEnqueuedJobsDto { Fetched = 0, Length = queueEntry.Value.Queue.Count, Name = queueEntry.Key, FirstJobs = queueResult }); } return result; })); }
public static JobList buildJobList(string strSuffixCode, string strCountry, AspectResultSet aspectResultSet, HealthResultSet healthResultSet, LevelResultSet levelResultSet) { //do a match JobList jl = new JobList(); JobItem ji; string aspecttblname=strCountry; //mrm 15/8/2006 change SQL to exclude Talent jobs DataTable dtAspects = CCLib.Cache.GetCachedDataTableWithNoExpire("MM_ALL_JOBST_" + strSuffixCode, "SELECT tblAspects" + aspecttblname + ".OccNumber, Central, Secondary, ID, Other, Education, EssentialSkills, DesirableSkills, Talent, OccName FROM Jobinfo" + strSuffixCode + " INNER JOIN tblAspects" + aspecttblname + " ON Jobinfo" + strSuffixCode + ".OccNumber = tblAspects" + aspecttblname + ".OccNumber WHERE (Talent IS NULL) or (Talent=0) ORDER BY OccName"); bool [] levelvals= new bool[MaxNoOfLevels+1]; bool [] healthvals= new bool[MaxNoOfHealth+1]; int [] aspectres= new int[MaxNoOfAspects+1] ; CreateFastClientArrays(aspectResultSet, levelResultSet, healthResultSet, healthvals, levelvals, aspectres); foreach (DataRow rt in dtAspects.Rows) { ji = new JobItem(); ji.Score = ScoreArticle(rt,healthvals,levelvals,aspectres,ref ji.MatchCat,ref ji.MatchMore); ji.JobRef = Convert.ToInt16(rt["OccNumber"].ToString()); ji.JobTitle = rt["OccName"].ToString();// +ji.MatchCat.ToString(); //JM 20/04/2006 don't add jobs where they are a poor match if (((int)ji.MatchCat/100)<6) { jl.Add(ji); }; }; jl.Sort(delegate (JobItem x, JobItem y){return Comparer.Default.Compare(y.Score,x.Score);}); // we only want the top 40 if (jl.Count > 40) { jl.RemoveRange(40, jl.Count - 40); }; //prepare rank int i = 1; foreach (JobItem ji1 in jl) { ji1.Rank = i; i++; }; return (jl); }
public static JobList buildJobList(string strSuffixCode, string strCountry, AspectResultSet aspectResultSet, HealthResultSet healthResultSet, LevelResultSet levelResultSet, string strClusterCode, string strCluster) { //do a match, but only include those inside a cluster JobList jl = new JobList(); JobItem ji; string aspecttblname = strCountry; //mrm 15/8/2006 change SQL to exclude Talent jobs DataTable dtAspects = CCLib.Cache.GetCachedDataTableWithNoExpire("MM_ALL_JOBST_" + strSuffixCode, "SELECT tblAspects" + aspecttblname + ".OccNumber, Central, Secondary, ID, Other, Education, EssentialSkills, DesirableSkills, Talent, OccName FROM Jobinfo" + strSuffixCode + " INNER JOIN tblAspects" + aspecttblname + " ON Jobinfo" + strSuffixCode + ".OccNumber = tblAspects" + aspecttblname + ".OccNumber WHERE (Talent IS NULL) or (Talent=0) ORDER BY OccName"); bool[] levelvals = new bool[MaxNoOfLevels + 1]; bool[] healthvals = new bool[MaxNoOfHealth + 1]; int[] aspectres = new int[MaxNoOfAspects + 1]; CreateFastClientArrays(aspectResultSet, levelResultSet, healthResultSet, healthvals, levelvals, aspectres); //set up arrays for fast matching foreach (DataRow rt in dtAspects.Rows) { ji = new JobItem(); ji.Score = ScoreArticle(rt, healthvals, levelvals, aspectres, ref ji.MatchCat, ref ji.MatchMore); //get job score ji.JobRef = Convert.ToInt16(rt["OccNumber"].ToString()); ji.JobTitle = rt["OccName"].ToString(); if (((int)ji.MatchCat / 100) < 6) { jl.Add(ji); }; }; //sort the list by score jl.Sort(delegate(JobItem x, JobItem y) { return Comparer.Default.Compare(y.Score, x.Score); }); // we only want the top 40 if (jl.Count > 40) { jl.RemoveRange(40, jl.Count - 40); }; //prepare rank int i = 1; foreach (JobItem ji1 in jl) { ji1.Rank = i; i++; }; //now we check against the clusters table //next section is more or less lifted from cluster.aspx DataTable dtCluster = CCLib.Cache.GetCachedDataTable("Cluster" + strSuffixCode , "select * from Clusters" + strSuffixCode + "_View"); DataRow[] drsClusterCodes; string strClusterType = strCluster; string strSQL=strClusterType+"= '"+strClusterCode.Replace("'","''")+"' or "+strClusterType+" like '"+strClusterCode.Replace("'","''")+",%' or "+strClusterType+" like '%,"+strClusterCode.Replace("'","''")+"' or "+strClusterType+" like '%,"+strClusterCode.Replace("'","''")+",%'"; drsClusterCodes = dtCluster.Select(strSQL); //yuk!! sequential search - need to check for better way JobList jlResultList = new JobList(); JobItem jitmp; foreach (DataRow dr in drsClusterCodes) { int strOccNumber = (int)dr["OccNumber"]; //copy into local variable to keep things quick jitmp = jl.Find(delegate(JobItem ji1) { return ji1.JobRef == strOccNumber; }); if (jitmp!=null) {jlResultList.Add(jitmp);}; } jlResultList.Sort(delegate(JobItem x, JobItem y) { return Comparer.Default.Compare(y.Score, x.Score); }); return (jlResultList); }
public static DataTable createComments(int intJobRef, string strSuffixCode, string strCountry, AspectResultSet aspectResultSet, HealthResultSet healthResultSet, LevelResultSet levelResultSet, SkillsResultSet skillsResultSet) { string asComment = ""; string geComment = ""; // string htComment = ""; string lvComment = ""; string skcomment = ""; int i,x,cd,sd,od,cdnm,sdnm,slvm,clvm; int tmpcat,cscomm,sscomm; string strTemp; string aspecttblname = strCountry; DataTable dtAspects = CCLib.Cache.GetCachedDataTableWithNoExpire("MM_ALL_JOBS_" + strSuffixCode, "SELECT tblAspects" + aspecttblname + ".OccNumber, Central, Secondary, ID, Other, Education, EssentialSkills, DesirableSkills, OccName FROM Jobinfo" + strSuffixCode + " INNER JOIN tblAspects" + aspecttblname + " ON Jobinfo" + strSuffixCode + ".OccNumber = tblAspects" + aspecttblname + ".OccNumber order by OccName"); bool [] levelvals= new bool[MaxNoOfLevels+1]; bool [] healthvals= new bool[MaxNoOfHealth+1]; int [] aspectres= new int[MaxNoOfAspects+1] ; CreateFastClientArrays(aspectResultSet, levelResultSet, healthResultSet, healthvals, levelvals, aspectres); DataRow[] dr = dtAspects.Select("occnumber=" + intJobRef); //jm 02/11/2006 - added catch here.. if (dr.Length > 0) { DataRow rt = dr[0]; //should probably catch this //score job JobItem ji = new JobItem(); ji.Score = ScoreArticle(rt, healthvals, levelvals, aspectres, ref ji.MatchCat, ref ji.MatchMore); ji.JobRef = Convert.ToInt16(rt["OccNumber"].ToString()); ji.JobTitle = rt["OccName"].ToString(); //prepare general comment tmpcat = ji.MatchCat / 100; if ((ji.MatchMore) && (tmpcat != 7)) { geComment = geComment + "00"; }; cscomm = 0; sscomm = 0; cd = 0; cdnm = 0; clvm = 0; sd = 0; sdnm = 0; slvm = 0; od = 0; // check for unanswered core and secondry and store dislikes and LVM counts strTemp = rt["Central"].ToString(); for (i = 0; (i + 1) < strTemp.Length; i = i + 3) { x = aspectres[Convert.ToInt16(strTemp.Substring(i, 3))]; switch (x) { case 0: cscomm = cscomm + 1; break; case 1: cd = cd + 1; break; case 2: cd = cd + 1; break; case 3: cdnm = cdnm + 1; break; case 5: clvm = clvm + 1; break; case 6: clvm = clvm + 1; break; } } strTemp = rt["Secondary"].ToString(); for (i = 0; (i + 1) < strTemp.Length; i = i + 3) { x = aspectres[Convert.ToInt16(strTemp.Substring(i, 3))]; switch (x) { case 0: sscomm = sscomm + 1; break; case 1: sd = sd + 1; break; case 2: sd = sd + 1; break; case 3: sdnm = sdnm + 1; break; case 5: slvm = slvm + 1; break; case 6: slvm = slvm + 1; break; } } strTemp = rt["Other"].ToString(); for (i = 0; (i + 1) < strTemp.Length; i = i + 3) { x = aspectres[Convert.ToInt16(strTemp.Substring(i, 3))]; switch (x) { case 1: od = od + 1; break; case 2: od = od + 1; break; } } //if unaswered core or secondry then return appropriate comment if (cscomm > 1) { geComment = geComment + "07"; } else if (cscomm == 1) { geComment = geComment + "08"; } else if (sscomm > 1) { geComment = geComment + "09"; } else if (sscomm == 1) { geComment = geComment + "10"; }; if (!ji.MatchMore) { switch (tmpcat) { case 1: geComment = geComment + "01"; break; case 2: geComment = geComment + "02"; break; case 3: geComment = geComment + "03"; break; case 4: geComment = geComment + "04"; break; case 5: geComment = geComment + "04"; break; case 6: geComment = geComment + "05"; break; case 7: geComment = geComment + "05"; break; case 8: geComment = geComment + "06"; break; }; }; //end of general comment //aspect comment asComment = ""; tmpcat = (ji.MatchCat % 100); if (ji.MatchMore) { asComment = "00"; // return positive comments if (clvm == 1) { asComment = asComment + "10"; }; if (clvm > 1) { asComment = asComment + "11"; }; if (slvm == 1) { asComment = asComment + "12"; }; if (slvm > 1) { asComment = asComment + "13"; }; } else { switch (tmpcat) { case 1: asComment = "01"; break; case 2: asComment = "02"; break; case 3: asComment = "03"; break; case 4: asComment = "04"; break; case 5: asComment = "05"; break; } //return negative comments if (cd > 1) { asComment = asComment + "01"; }; if (cd == 1) { asComment = asComment + "02"; }; if (cdnm > 1) { asComment = asComment + "03"; }; if (cdnm == 1) { asComment = asComment + "04"; }; if (sd > 1) { asComment = asComment + "05"; }; if (sd == 1) { asComment = asComment + "06"; }; if (sdnm > 3) { asComment = asComment + "07"; }; if (od > 1) { asComment = asComment + "08"; }; if (od == 1) { asComment = asComment + "09"; }; }; //end of aspect comments //start of level comments lvComment = ""; int iLvlCount = 0; foreach (LevelResult lr in levelResultSet) { iLvlCount = (lr.LevelResponse == true) ? iLvlCount + 1 : iLvlCount; } if (iLvlCount == 0) { lvComment = "07"; }//mrm changed to use flags not levelResultSet.Count else { bool accept = true; //if all levels are selected for (i = 1; i <= 5; i++) { if (levelvals[i] == false) { accept = false; };}; if (accept == true) { lvComment = "06"; } else //else calc comments { //mrm need to look at flags if (levelResultSet.Count > 1) { lvComment = "00"; }; if (iLvlCount > 1) { lvComment = "00"; }; x = 0; for (i = 1; i <= 5; i++) { if (levelvals[i] == true) { x = i; }; }//get highest level switch (rt["Education"].ToString().Substring(x - 1, 1))//mrm 19/4/2006 bug fix - was x { case "+": lvComment = lvComment + "01"; break; case "A": lvComment = lvComment + "02"; break; case "N": lvComment = lvComment + "03"; break; case "B": lvComment = lvComment + "04"; break; case "-": lvComment = lvComment + "05"; break; } } }; //end of level comments //skills comment int e1 = 0; int e2 = 0; int e3 = 0; int e4 = 0; int e5 = 0; int e0 = 0; int d1 = 0; int d2 = 0; int d3 = 0; int d4 = 0; int d5 = 0; int d0 = 0; if (rt["EssentialSkills"].ToString().Length > 0) { for (i = 0; i < rt["EssentialSkills"].ToString().Length; i = i + 3) { SkillsResult skillsResult = skillsResultSet.Find( delegate(SkillsResult sr) { return sr.SkillsRef == Convert.ToInt32(rt["EssentialSkills"].ToString().Substring(i, 3)); } ); if (skillsResult != null) { switch (skillsResult.SkillsResponse) { case 0: e0 = e0 + 1; break; case 1: e1 = e1 + 1; break; case 2: e2 = e2 + 1; break; case 3: e3 = e3 + 1; break; case 4: e4 = e4 + 1; break; case 5: e5 = e5 + 1; break; default: e0 = e0 + 1; break; } } else { e0 = e0 + 1; }; } } if (rt["DesirableSkills"].ToString().Length > 0) { for (i = 0; i < rt["DesirableSkills"].ToString().Length; i = i + 3) { SkillsResult skillsResult = skillsResultSet.Find( delegate(SkillsResult sr) { return sr.SkillsRef == Convert.ToInt32(rt["DesirableSkills"].ToString().Substring(i, 3)); } ); if (skillsResult != null) { switch (skillsResult.SkillsResponse) { case 0: d0 = d0 + 1; break; case 1: d1 = d1 + 1; break; case 2: d2 = d2 + 1; break; case 3: d3 = d3 + 1; break; case 4: d4 = d4 + 1; break; case 5: d5 = d5 + 1; break; default: d0 = d0 + 1; break; } } else { d0 = d0 + 1; }; } } // get skills cat JobList jl = new JobList(); jl.Add(ji); getSkillsCategories(strCountry, jl, skillsResultSet); skcomment = "0" + ji.SkillsCat.ToString() + '0' + ji.SkillsCat.ToString(); if (e2 == 1) { skcomment = skcomment + "01"; }; if (e2 == 2) { skcomment = skcomment + "02"; }; if (e2 == 3) { skcomment = skcomment + "03"; }; if (e2 >= 4) { skcomment = skcomment + "04"; }; if (e1 == 1) { skcomment = skcomment + "05"; }; if (e1 == 2) { skcomment = skcomment + "06"; }; if (e1 == 3) { skcomment = skcomment + "07"; }; if (e1 == 4) { skcomment = skcomment + "08"; }; if (e1 > 4) { skcomment = skcomment + "09"; }; if (d2 == 1) { skcomment = skcomment + "10"; }; if (d2 == 2) { skcomment = skcomment + "11"; }; if (d2 == 3) { skcomment = skcomment + "12"; }; if (d2 == 4) { skcomment = skcomment + "13"; }; if (d2 == 5) { skcomment = skcomment + "14"; }; if (d2 > 5) { skcomment = skcomment + "15"; }; if (d1 == 1) { skcomment = skcomment + "16"; }; if (d1 == 2) { skcomment = skcomment + "17"; }; if (d1 == 3) { skcomment = skcomment + "18"; }; if (d1 == 4) { skcomment = skcomment + "19"; }; if (d1 == 5) { skcomment = skcomment + "20"; }; if (d1 > 5) { skcomment = skcomment + "21"; }; if (skcomment == "") { skcomment = "00"; }; //end skills comment DataTable dt = new DataTable(); dt.Columns.Add("General", typeof(string)); dt.Columns.Add("Aspect", typeof(string)); dt.Columns.Add("Level", typeof(string)); dt.Columns.Add("Skill", typeof(string)); dt.Rows.Add(); dt.Rows[0]["General"] = geComment; dt.Rows[0]["Aspect"] = asComment; dt.Rows[0]["Level"] = lvComment; dt.Rows[0]["Skill"] = skcomment; return (dt); } else { //we didn't find the job aspects DataTable dt = new DataTable(); return (dt); } }
public void AddJobItem(JobItem job) { JobList.Add(job.job.ID, job); }