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)); }
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); } }