예제 #1
0
        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);
            }
        }
예제 #2
0
 private void loadJobInPeriod()
 {
     //ShowBusyIndicator("در حال دریافت اطلاعات");
     jobInPeriodService.GetAllJobInPeriod((res, exp) => appController.BeginInvokeOnDispatcher(() =>
     {
         //HideBusyIndicator();
         if (exp == null)
         {
             JobInPeriods = res.ToList();
         }
         else
         {
             appController.HandleException(exp);
         }
     }), JobPositionInPeriod.PeriodId);
 }