public void Load(long periodId, long?jobId, ActionType actionTypeParam) { actionType = actionTypeParam; preLoad(periodId, jobId); if (jobId.HasValue) // modify job { Jobs = new List <JobInPeriodDTO>(); ShowBusyIndicator("در حال دریافت اطلاعات..."); jobInPeriodService.GetJobInPeriod((res, exp) => appController.BeginInvokeOnDispatcher(() => { HideBusyIndicator(); if (exp == null) { Jobs.Add(res); SelectedJobInPeriod = res; } }), periodId, jobId.Value); } else // add new job => action is ActionType.AddJobInPrdField { ShowBusyIndicator(); jobInPeriodService.GetAllJobInPeriod((jobInPeriodListRes, exp) => appController.BeginInvokeOnDispatcher(() => { if (exp == null) { jobService.GetAllJobs((jobsRes, jobsExp) => appController.BeginInvokeOnDispatcher(() => { HideBusyIndicator(); if (jobsExp == null) { var jList = jobsRes.Where(r => !jobInPeriodListRes.Select(jip => jip.JobId).Contains(r.Id)).ToList(); Jobs = jList.Select( j => new JobInPeriodDTO() { Name = j.Name, JobId = j.Id, CustomFields = new List <CustomFieldDTO>() }).ToList(); } else { appController.HandleException(jobsExp); } })); } else { appController.HandleException(exp); } }), periodId); } }
private void loadJobInPeriod() { //ShowBusyIndicator("در حال دریافت اطلاعات"); jobInPeriodService.GetAllJobInPeriod((res, exp) => appController.BeginInvokeOnDispatcher(() => { //HideBusyIndicator(); if (exp == null) { JobInPeriods = res.ToList(); } else { appController.HandleException(exp); } }), JobPositionInPeriod.PeriodId); }