示例#1
0
 private void save()
 {
     if (!claim.Validate())
     {
         return;
     }
     ShowBusyIndicator();
     if (actionType == ActionType.AddClaim)
     {
         Claim.EmployeeNo = appController.CurrentUser.EmployeeNo;
         Claim.PeriodId   = appController.CurrentPriod.Id;
         claimService.AddClaim((res, exp) => appController.BeginInvokeOnDispatcher(() =>
         {
             HideBusyIndicator();
             if (exp != null)
             {
                 appController.HandleException(exp);
             }
             else
             {
                 appController.Publish(new UpdateClaimListArgs(Claim.EmployeeNo));
                 FinalizeAction();
             }
         }), Claim);
     }
 }
        public void DoAction(PeriodListVM vm)
        {
            var period = vm.SelectedPeriod;

            if (period == null)
            {
                pmsController.ShowMessage("دوره ای انتخاب نشده است");
                return;
            }
            if (pmsController.ShowConfirmationBox("آيا می خواهید برای محاسبه قطعی در این دوره نمرات کارکنان را آماده تایید کنید  ؟", "آغاز زمان تایید نمرات دوره "))
            {
                periodService.ChangePeriodState(exp => pmsController.BeginInvokeOnDispatcher(() =>
                {
                    if (exp != null)
                    {
                        pmsController.HandleException(exp);
                    }
                    else
                    {
                        pmsController.Publish(new UpdatePeriodListArgs());
                        //pmsController.GetCurrentPeriod();
                        //var action = new ShowPeriodCalculationStateService(periodController, pmsController, calculationService);
                        //action.DoAction(vm);
                    }
                }), period.Id, new PeriodStateDTO {
                    State = (int)PeriodStateEnum.Confirmation
                });
            }
        }
示例#3
0
 public void DoAction(UserListVM vm)
 {
     if (vm != null)
     {
         if (pmsController.ShowConfirmationBox("آیا از عملیات حذف  اطمینان دارید؟", "حذف کاربر"))
         {
             userService.DeleteUser((res, exp) => pmsController.BeginInvokeOnDispatcher(() =>
             {
                 if (exp == null)
                 {
                     pmsController.ShowMessage("عملیات حذف  با موفقیت انجام شد");
                     pmsController.Publish(new UpdateUserListArgs());
                 }
                 else
                 {
                     pmsController.HandleException(exp);
                 }
             }
                                                                                        ), vm.SelectedUser.PartyName);
         }
     }
     else
     {
         pmsController.ShowMessage("اطلاعات  جهت حذف معتبر نمی باشد");
     }
 }
 public void DoAction(UnitIndexTreeVM vm)
 {
     if (vm != null)
     {
         if (pmsController.ShowConfirmationBox("آیا از عملیات حذف دسته شاخص اطمینان دارید؟", "حذف دسته شاخص"))
         {
             unitIndexCategoryService.DeleteUnitIndexCategory((res, exp) => pmsController.BeginInvokeOnDispatcher(() =>
             {
                 if (exp == null)
                 {
                     pmsController.ShowMessage("عملیات حذف دسته شاخص با موفقیت انجام شد");
                     pmsController.Publish(new UpdateUnitIndexTreeArgs());
                 }
                 else
                 {
                     pmsController.HandleException(exp);
                 }
             }
                                                                                                                  ), vm.SelectedUnitIndex.Data.Id);
         }
     }
     else
     {
         pmsController.ShowMessage("اطلاعات دسته شاخص جهت  حذف معتبر نمی باشد");
     }
 }
示例#5
0
 public void DoAction(UnitListVM vm)
 {
     if (vm != null)
     {
         if (pmsController.ShowConfirmationBox("آیا از عملیات حذف واحد سازمانی اطمینان دارید؟", "حذف واحد سازمانی"))
         {
             unitService.DeleteUnit((res, exp) => pmsController.BeginInvokeOnDispatcher(() =>
             {
                 if (exp == null)
                 {
                     pmsController.ShowMessage("عملیات حذف واحد سازمانی با موفقیت انجام شد");
                     pmsController.Publish(new UpdateUnitListArgs());
                 }
                 else
                 {
                     pmsController.HandleException(exp);
                 }
             }), vm.SelectedUnit.Id);
         }
     }
     else
     {
         pmsController.ShowMessage("اطلاعات واحد سازمانی جهت حذف معتبر نمی باشد");
     }
 }
 public void DoAction(JobIndexInPeriodTreeVM vm)
 {
     if (vm != null)
     {
         if (pmsController.ShowConfirmationBox("آیا از عملیات حذف شاخص اطمینان دارید؟", "حذف شاخص"))
         {
             jobIndexInPeriodService.DeleteJobIndexInPeriod((res, exp) => pmsController.BeginInvokeOnDispatcher(() =>
             {
                 if (exp == null)
                 {
                     pmsController.ShowMessage("عملیات حذف شاخص با موفقیت انجام شد");
                     pmsController.Publish(new UpdateJobIndexInPeriodTreeArgs());
                 }
                 else
                 {
                     pmsController.HandleException(exp);
                 }
             })
                                                            , vm.Period.Id, vm.SelectedAbstractIndexInPeriod.Data.Id);
         }
     }
     else
     {
         pmsController.ShowMessage("اطلاعات شاخص جهت حذف معتبر نمی باشد");
     }
 }
示例#7
0
 public void DoAction(EmployeeClaimListVM vm)
 {
     if (vm.SelectedClaim != null)
     {
         if (pmsController.ShowConfirmationBox("آیا از عملیات حذف درخواست اعتراض اطمینان دارید؟", "حذف درخواست اعتراض"))
         {
             claimService.DeleteClaim((res, exp) => pmsController.BeginInvokeOnDispatcher(() =>
             {
                 if (exp == null)
                 {
                     pmsController.ShowMessage("عملیات حذف درخواست اعتراض با موفقیت انجام شد");
                     pmsController.Publish(new UpdateClaimListArgs(vm.SelectedClaim.EmployeeNo));
                 }
                 else
                 {
                     pmsController.HandleException(exp);
                 }
             }), vm.SelectedClaim.PeriodId, vm.SelectedClaim.Id);
         }
     }
     else
     {
         pmsController.ShowMessage("اطلاعات درخواست اعتراض جهت حذف معتبر نمی باشد");
     }
 }
        public void DoAction(CalculationListVM vm)
        {
            var period = vm.SelectedCalculation;

            if (period == null)
            {
                pmsController.ShowMessage("محاسبه ای انتخاب نشده است");
                return;
            }
            if (pmsController.ShowConfirmationBox("آیا می خواهید محاسبه انجام شود؟", "اجرای محاسبه"))
            {
                calculationService.ChangeCalculationState((exp) => pmsController.BeginInvokeOnDispatcher(() =>
                {
                    if (exp != null)
                    {
                        pmsController.HandleException(exp);
                    }
                    else
                    {
                        pmsController.Publish(new UpdateCalculationListArgs());
                        var action = new ShowPeriodCalculationStateService(periodController, pmsController, calculationService);
                        action.DoAction(vm);
                    }
                }), pmsController.CurrentPriod.Id, vm.SelectedCalculation.Id, new CalculationStateDTO {
                    State = (int)CalculationStateEnum.Running
                });
            }
        }
示例#9
0
 public void DoAction(CalculationListVM vm)
 {
     if (vm.SelectedCalculation != null)
     {
         if (pmsController.ShowConfirmationBox("آیا از عملیات حذف محاسبه دوره اطمینان دارید؟", "حذف محاسبه"))
         {
             calculationService.DeleteCalculation((res, exp) => pmsController.BeginInvokeOnDispatcher(() =>
             {
                 if (exp == null)
                 {
                     pmsController.ShowMessage("عملیات حذف محاسبه با موفقیت انجام شد");
                     pmsController.Publish(new UpdateCalculationListArgs());
                 }
                 else if (exp != null)
                 {
                     pmsController.HandleException(exp);
                 }
             })
                                                  , pmsController.CurrentPriod.Id, vm.SelectedCalculation.Id);
         }
     }
     else
     {
         pmsController.ShowMessage("اطلاعات محاسبه جهت حذف معتبر نمی باشد");
     }
 }
示例#10
0
 public void DoAction(JobInPeriodListVM vm)
 {
     if (vm != null && vm.SelectedJobInPeriod != null)
     {
         if (pmsController.ShowConfirmationBox("آیا از عملیات حذف شغل از دوره اطمینان دارید؟", "حذف شغل از دوره"))
         {
             jobInPeriodService.DeleteJobInPeriod((res, exp) => pmsController.BeginInvokeOnDispatcher(() =>
             {
                 {
                     if (exp == null)
                     {
                         pmsController.ShowMessage("عملیات حذف شغل از دوره با موفقیت انجام شد");
                         pmsController.Publish(new UpdateJobInPeriodListArgs());
                     }
                     else
                     {
                         pmsController.HandleException(exp);
                     }
                 }
             }), vm.Period.Id, vm.SelectedJobInPeriod.JobId);
         }
     }
     else
     {
         pmsController.ShowMessage("اطلاعات شغل دوره جهت حذف معتبر نمی باشد");
     }
 }
示例#11
0
        public void DoAction(PeriodListVM vm)
        {
            var period = vm.SelectedPeriod;

            if (period == null)
            {
                pmsController.ShowMessage("دوره ای انتخاب نشده است");
                return;
            }
            if (pmsController.ShowConfirmationBox("آیا می خواهید ارزیابی را تمام کنید ؟", "اتمام ارزیابی"))
            {
                periodService.ChangePeriodState(exp => pmsController.BeginInvokeOnDispatcher(() =>
                {
                    if (exp != null)
                    {
                        pmsController.HandleException(exp);
                    }
                    else
                    {
                        pmsController.Publish(new UpdatePeriodListArgs());
                        //pmsController.GetCurrentPeriod();
                        //var action = new ShowPeriodCalculationStateService(periodController, pmsController, calculationService);
                        //action.DoAction(vm);
                    }
                }), period.Id, new PeriodStateDTO {
                    State = (int)PeriodStateEnum.InquiryCompleted
                });
            }
        }
        public void DoAction(PeriodListVM vm)
        {
            var period = vm.SelectedPeriod;

            if (period == null)
            {
                pmsController.ShowMessage("دوره ای انتخاب نشده است");
                return;
            }
            if (pmsController.ShowConfirmationBox("آیا می خواهید دوره انتخاب شده را برای ارزیابی آماده کنید ؟", "آماده سازی برای ارزیابی"))
            {
                periodService.ChangePeriodState(exp => pmsController.BeginInvokeOnDispatcher(() =>
                {
                    if (exp != null)
                    {
                        pmsController.HandleException(exp);
                    }
                    else
                    {
                        pmsController.Publish(new UpdatePeriodListArgs());
                        periodController.ShowPeriodStatusView(period, ActionType.GetPeriodInitializingInquiryStatus);
                    }
                }), period.Id, new PeriodStateDTO {
                    State = (int)PeriodStateEnum.InitializingForInquiry
                });
            }
        }
示例#13
0
        private void save()
        {
            var selectedFields = JobCustomFieldDescriptionList.Where(f => f.IsChecked).ToList();

            appController.Publish(new UpdateJobCustomFieldListArgs(selectedFields));
            OnRequestClose();
        }
示例#14
0
        public void DoAction(PeriodListVM vm)
        {
            var period = vm.SelectedPeriod;

            if (period == null)
            {
                pmsController.ShowMessage("دوره ای انتخاب نشده است");
                return;
            }
            if (pmsController.ShowConfirmationBox("برگشت دوره میتواند موجب حذف بخشی از اطلاعات شود، آیا از برگشت دوره به وضعیت قبل اطمینان دارید ؟", "برگشت دوره"))
            {
                periodService.RollBackPeriodState(exp => pmsController.BeginInvokeOnDispatcher(() =>
                {
                    if (exp != null)
                    {
                        pmsController.HandleException(exp);
                    }
                    else
                    {
                        pmsController.Publish(new UpdatePeriodListArgs());
                        pmsController.GetCurrentPeriod();
                    }
                }), period.Id);
            }
        }
示例#15
0
 public void DoAction(CustomFieldListVM vm)
 {
     if (vm != null)
     {
         if (pmsController.ShowConfirmationBox("آیا از عملیات حذف فیلد اطمینان دارید؟", "حذف فیلد"))
         {
             customFieldService.DeleteCustomField((res, exp) => pmsController.BeginInvokeOnDispatcher(() =>
             {
                 if (exp == null)
                 {
                     pmsController.ShowMessage("عملیات حذف فیلد با موفقیت انجام شد");
                     pmsController.Publish(new UpdateCustomFieldListArgs());
                 }
                 else
                 {
                     pmsController.HandleException(exp);
                 }
             }
                                                                                                      ), vm.SelectedCustomField.Id);
         }
     }
     else
     {
         pmsController.ShowMessage("اطلاعات فیلد جهت حذف معتبر نمی باشد");
     }
 }
示例#16
0
 private void finalizeAction(bool doClose = true)
 {
     appController.Publish(new UpdateRuleListArgs());
     if (doClose)
     {
         OnRequestClose();
     }
 }
示例#17
0
 private void save()
 {
     if (JobPositionAssignment.Validate())
     {
         JobPositionAssignment.CustomFieldValueList = new ObservableCollection <CustomFieldValueDTO>(CustomFieldValueList);
         appController.Publish(new UpdateEmployeeJobPositionAssignment(jobPositionAssignment, Period, employee, actionType));
         OnRequestClose();
     }
 }
示例#18
0
        private void save()
        {
            var selectedJobIndices = jobIndexInPeriodList.Where(f => f.IsChecked).ToList();

            if (period != null && JobInPeriod != null)
            {
                appController.Publish(new UpdateJobInPeriodJobIndexListArgs(selectedJobIndices, Period.Id, JobInPeriod.JobId));
            }
            OnRequestClose();
        }
示例#19
0
        private void save()
        {
            var selectedFields = UnitCustomFieldDescriptionList.Where(f => f.IsChecked).ToList();

            if (period != null && Unit != null)
            {
                appController.Publish(new UpdateUnitInPeriodCustomFieldListArgs(selectedFields, Period.Id, Unit.Id));
            }
            OnRequestClose();
        }
示例#20
0
 public void DoAction(GridRuleListVM vm)
 {
     if (pmsController.ShowConfirmationBox("آیا از عملیات حذف قانون اطمینان دارید؟", "حذف قانون"))
     {
         ruleService.DeleteRule((res, exp) => pmsController.BeginInvokeOnDispatcher(() =>
         {
             if (exp == null)
             {
                 pmsController.ShowMessage("عملیات حذف قانون با موفقیت انجام شد");
                 pmsController.Publish(new UpdateRuleListArgs());
             }
             else
             {
                 pmsController.HandleException(exp);
             }
         }), vm.Policy.Id, vm.SelectedRule.Id);
     }
 }
示例#21
0
 public void DoAction(EmployeeListVM vm)
 {
     if (pmsController.ShowConfirmationBox("آیا از عملیات حذف کارمند اطمینان دارید؟", "حذف کارمند"))
     {
         employeeService.DeleteEmployee((res, exp) => pmsController.BeginInvokeOnDispatcher(() =>
         {
             if (exp == null)
             {
                 pmsController.ShowMessage("عملیات حذف کارمند با موفقیت انجام شد");
                 pmsController.Publish(new UpdateEmployeeListArgs());
             }
             else
             {
                 pmsController.HandleException(exp);
             }
         }), vm.Period.Id, vm.SelectedEmployee.PersonnelNo);
     }
 }
示例#22
0
 public void DoAction(JobListVM vm)
 {
     if (pmsController.ShowConfirmationBox("آیا از عملیات حذف شغل اطمینان دارید؟", "حذف شغل"))
     {
         jobService.DeleteJob((res, exp) => pmsController.BeginInvokeOnDispatcher(() =>
         {
             if (exp == null)
             {
                 pmsController.ShowMessage("عملیات حذف شغل با موفقیت انجام شد");
                 pmsController.Publish(new UpdateJobListArgs());
             }
             else
             {
                 pmsController.HandleException(exp);
             }
         }), vm.SelectedJob.Id);
     }
 }
示例#23
0
 public void DoAction(PolicyListVM vm)
 {
     if (pmsController.ShowConfirmationBox("آیا از عملیات حذف نظام محاسبه عملکرد اطمینان دارید؟", "حذف نظام محاسبه عملکرد"))
     {
         policyService.DeletePolicy((res, exp) => pmsController.BeginInvokeOnDispatcher(() =>
         {
             if (exp == null)
             {
                 pmsController.ShowMessage("عملیات حذف نظام محاسبه عملکرد با موفقیت انجام شد");
                 pmsController.Publish(new UpdatePolicyListArgs());
             }
             else
             {
                 pmsController.HandleException(exp);
             }
         }), vm.SelectedPolicy.Id);
     }
 }
        private void refresh()
        {
            var trigger = new AutoResetEvent(false);
            var success = false;

            ShowBusyIndicator();
            string oldStateName = string.Empty;

            if (summary != null)
            {
                oldStateName = summary.StateName;
            }

            ThreadPool.QueueUserWorkItem(s =>
            {
                periodService.GetPeriodStatus((res, exp) => appController.BeginInvokeOnDispatcher(() =>
                {
                    success = exp == null;
                    if (exp == null)
                    {
                        Summary = res;
                    }
                    else
                    {
                        appController.HandleException(exp);
                    }
                    trigger.Set();
                }), Period.Id);
                trigger.WaitOne();
                appController.BeginInvokeOnDispatcher(HideBusyIndicator);
                if (success)
                {
                    if (summary.StateName == "PeriodInitializingForInquiryState")
                    {
                        appController.BeginInvokeOnDispatcher(() => timer.Start());
                    }
                    else if (summary.StateName != oldStateName)
                    {
                        appController.BeginInvokeOnDispatcher(() =>
                                                              appController.Publish(new UpdatePeriodListArgs()));
                    }
                }
            });
        }
示例#25
0
        private void save()
        {
            ShowBusyIndicator();
            UserStateDTO userState = appController.CurrentUser;

            inquiryService.UpdateJobIndexInquiryForm((res, exp) => appController.BeginInvokeOnDispatcher(() =>
            {
                HideBusyIndicator();
                if (exp != null)
                {
                    appController.HandleException(exp);
                }
                else
                {
                    appController.Publish(new UpdateInquiryListArgs());
                    OnRequestClose();
                    appController.ShowMessage("فرم ارزیابی ثبت شد");
                }
            }), inquiryForm);
        }
        public void DoAction(CalculationListVM vm)
        {
            var period = vm.SelectedCalculation;

            if (period == null)
            {
                pmsController.ShowMessage("محاسبه ای انتخاب نشده است");
                return;
            }
            if (pmsController.ShowConfirmationBox("آیا می خواهید محاسبه انجام شده را قطعی کنید؟", "قطعی کردن محاسبه"))
            {
                calculationService.GetCalculation((calc, exp) => pmsController.BeginInvokeOnDispatcher(() =>
                {
                    if (exp != null)
                    {
                        pmsController.HandleException(exp);
                    }
                    else
                    {
                        calc.PutActionName   = "ChangeCalculationDeterministicStatus";
                        calc.IsDeterministic = true;
                        calc.EmployeeIdList  = "";

                        calculationService.ChangeDeterministicCalculation((expUpdate) => pmsController.BeginInvokeOnDispatcher(() =>
                        {
                            if (expUpdate != null)
                            {
                                pmsController.HandleException(expUpdate);
                            }
                            else
                            {
                                pmsController.ShowMessage("محاسبه انتخاب شده  قطعی گردید");
                                pmsController.Publish(new UpdateCalculationListArgs());
                            }
                        }), calc);
                    }
                }), vm.Period.Id, vm.SelectedCalculation.Id);
            }
        }
示例#27
0
 public void DoAction(FunctionListVM vm)
 {
     if (vm.SelectedFunction == null)
     {
         pmsController.ShowMessage("تابع مورد نظر جهت حذف یافت نشد");
         return;
     }
     if (pmsController.ShowConfirmationBox("آیا از خذف تابع اطمینان دارید؟", "حذف تابع"))
     {
         functionService.DeleteFunction((res, exp) => pmsController.BeginInvokeOnDispatcher(() =>
         {
             if (exp != null)
             {
                 pmsController.HandleException(exp);
             }
             else
             {
                 pmsController.Publish(new UpdateFunctionListArgs());
                 pmsController.ShowMessage("عملیات حذف  با موفقیت انجام شد");
             }
         }), vm.PolicyFunctions.PolicyId, vm.SelectedFunction.Id);
     }
 }
 public void DoAction(GridRuleListVM vm)
 {
     if (pmsController.ShowConfirmationBox("آیا از عملیات حذف آخرین قانون اطمینان دارید؟", "حذف آخرین قانون"))
     {
         ruleService.DeleteLastRuleVersion((res, exp) =>
         {
             if (exp == null && res)
             {
                 pmsController.ShowMessage("عملیات حذف آخرین قانون با موفقیت انجام شد");
                 pmsController.Publish(new UpdateRuleVersionsArgs());
             }
             else if (exp != null)
             {
                 pmsController.HandleException(exp);
             }
             else
             {
                 pmsController.ShowMessage("عملیات حذف آخرین قانون انجام نشد");
             }
         }
                                           , vm.SelectedRule.Id);
     }
 }
示例#29
0
        public void DoAction(PeriodListVM vm)
        {
            var period = vm.SelectedPeriod;

            if (period == null)
            {
                pmsController.ShowMessage("دوره ای انتخاب نشده است");
                return;
            }
            if (pmsController.ShowConfirmationBox("آیا می خواهید دوره انتخاب شده را فعال کنید ؟", "فعال سازی دوره"))
            {
                var periodDto = new PeriodDTO()
                {
                    Id            = period.Id,
                    StartDate     = period.StartDate,
                    EndDate       = period.EndDate,
                    Name          = period.Name,
                    PutActionName = "ChangeActiveStatus",
                    ActiveStatus  = true
                };

                periodService.ChangePeriodActiveStatus(exp => pmsController.BeginInvokeOnDispatcher(() =>
                {
                    if (exp != null)
                    {
                        pmsController.HandleException(exp);
                    }
                    else
                    {
                        pmsController.Publish(new UpdatePeriodListArgs());
                        pmsController.GetCurrentPeriod();
                        //var action = new ShowPeriodCalculationStateService(periodController, pmsController, calculationService);
                        //action.DoAction(vm);
                    }
                }), periodDto);
            }
        }
        public void DoAction(EmployeeListVM vm)
        {
            var employee = vm.SelectedEmployee;

            if (employee == null)
            {
                pmsController.ShowMessage("کارمندی انتخاب نشده است");
                return;
            }
            if (pmsController.ShowConfirmationBox("آیا مخواهید نمره کارمند مورد نظر را تایید کنید ؟", "تایید نمره کارمند"))
            {
                employeeService.ConfirmEmployeeAboveMaxPoint(exp => pmsController.BeginInvokeOnDispatcher(() =>
                {
                    if (exp != null)
                    {
                        pmsController.HandleException(exp);
                    }
                    else
                    {
                        pmsController.Publish(new UpdateEmployeeListArgs());
                    }
                }), employee.PersonnelNo, vm.Period.Id);
            }
        }