Exemple #1
0
        public void ConvertUnitIndex(Period period)
        {
            var unitIndexInperiodList = new List <UnitIndexInPeriodDTO>();
            var sourceUnitIndexListId = unitIndexDataProvider.GetUnitIndexListId();

            foreach (var sourceUnitIndexId in sourceUnitIndexListId)
            {
                var sourceUnitIndexDTO = unitIndexDataProvider.GetBy(sourceUnitIndexId);
                var unitIndexWithCf    = unitIndexService.GetUnitIndexByTransferId(sourceUnitIndexDTO.TransferId);
                if (unitIndexWithCf == null)
                {
                    var desUnitIndexDTO    = createDestinationUnitIndex(sourceUnitIndexDTO);
                    var unitIndexWithOutCf = unitIndexService.AddUnitIndex(desUnitIndexDTO);
                    unitIndexWithCf = unitIndexService.GetUnitIndex(unitIndexWithOutCf.Id);
                }
                var periodUnitIndexDTO = createPeriodUnitIndexDTO(unitIndexWithCf, period);
                var res = unitIndexAssignmentService.AddUnitIndexInPeriod(periodUnitIndexDTO);

                unitIndexInperiodList.Add(res);

                //unitIndexService.AddUnitIndex((unitIndexWithOutCf, addUnitIndexExp) =>
                //{
                //    if (addUnitIndexExp != null)
                //    {
                //        handleException(addUnitIndexExp);
                //    }
                //    else
                //    {
                //        unitIndexService.GetUnitIndex((unitIndexWithCf, getUnitIndexExp) =>
                //        {
                //            if (getUnitIndexExp != null)
                //                handleException(getUnitIndexExp);
                //            else
                //            {
                //                var periodUnitIndexDTO = createPeriodUnitIndexDTO(unitIndexWithCf, period);
                //                unitIndexAssignmentService.AddUnitIndexInPeriod((res, exp) =>
                //                {
                //                    if (exp != null)
                //                    {
                //                        handleException(exp);
                //                    }
                //                    else
                //                    {
                //                        unitIndexInperiodList.Add(res);
                //                        if (unitIndexInperiodList.Count == sourceUnitIndexListId.Count)
                //                            publisher.Publish(new UnitIndexConverted(unitIndexInperiodList));
                //                    }

                //                }, periodUnitIndexDTO);
                //            }
                //        }, unitIndexWithOutCf.Id);
                //    }

                //}, desUnitIndexDTO);
            }
            publisher.Publish(new UnitIndexConverted(unitIndexInperiodList));
        }
Exemple #2
0
        private void save()
        {
            //if (!unitIndexInPeriod.Validate()) return;

            ShowBusyIndicator();
            UnitIndexInPeriod.UnitIndexId    = SelectedUnitIndex.Id;
            UnitIndexInPeriod.Name           = selectedUnitIndex.Name;
            unitIndexInPeriod.DictionaryName = selectedUnitIndex.DictionaryName;
            UnitIndexInPeriod.CustomFields   = AbstractCustomFields.Where(a => a.IsChecked).ToList();//.ToDictionary(a => a, a => a.Value);

            if (actionType == ActionType.AddUnitIndexInPeriod)
            {
                unitIndexInPeriodService.AddUnitIndexInPeriod((res, exp) => appController.BeginInvokeOnDispatcher(() =>
                {
                    HideBusyIndicator();
                    if (exp != null)
                    {
                        appController.HandleException(exp);
                    }
                    else
                    {
                        FinalizeAction();
                    }
                }), UnitIndexInPeriod);
            }
            else if (actionType == ActionType.ModifyUnitIndexInPeriod)
            {
                unitIndexInPeriodService.UpdateUnitIndexInPeriod((res, exp) => appController.BeginInvokeOnDispatcher(() =>
                {
                    HideBusyIndicator();
                    if (exp != null)
                    {
                        appController.HandleException(exp);
                    }
                    else
                    {
                        FinalizeAction();
                    }
                }), unitIndexInPeriod);
            }
        }