Пример #1
0
 public void DeleteEngine(EngineDTO dto)
 {
     if (dto == null)
     {
         throw new ArgumentException("参数为空!");
     }
     Engine delEngine = _engineRepository.Get(dto.Id);
     //获取需要删除的对象。
     if (delEngine != null)
     {
         _engineRepository.DeleteEngine(delEngine); //删除实际发动机。
     }
 }
Пример #2
0
        public void ModifyEngine(EngineDTO dto)
        {
            //获取相关数据
            EngineType engineType = _engineTypeRepository.Get(dto.EngineTypeId);
            Airlines airlines = _airlinesRepository.Get(dto.AirlinesId);
            ActionCategory importCategory = _actionCategoryRepository.Get(dto.ImportCategoryId);
            Supplier supplier = _supplierRepository.Get(dto.SupplierId);

            //获取
            Engine updateEngine = _engineRepository.Get(dto.Id);
            if (updateEngine != null)
            {
                //更新实际发动机
                updateEngine.SetEngineType(engineType);
                updateEngine.SetAirlines(airlines);
                updateEngine.SetExportDate(dto.ExportDate);
                updateEngine.SetFactoryDate(dto.FactoryDate);
                updateEngine.SetImportCategory(importCategory);
                updateEngine.SetImportDate(dto.ImportDate);
                updateEngine.SetMaxThrust(dto.MaxThrust);
                updateEngine.SetSerialNumber(dto.SerialNumber);
                updateEngine.SetSupplier(supplier);

                //更新商业数据历史:
                List<EngineBusinessHistoryDTO> dtoEngineBusinessHistories = dto.EngineBusinessHistories;
                ICollection<EngineBusinessHistory> engineBusinessHistories = updateEngine.EngineBusinessHistories;
                DataHelper.DetailHandle(dtoEngineBusinessHistories.ToArray(),
                    engineBusinessHistories.ToArray(),
                    c => c.Id, p => p.Id,
                    i => InsertEngineBusinesHistory(updateEngine, i),
                    UpdateEngineBusinessHistory,
                    d => _engineRepository.RemoveEngineBusinessHistory(d));

                //更新所有权历史:
                List<EngineOwnershipHistoryDTO> dtoEngineOwnerShipHistories = dto.EngineOwnerShipHistories;
                ICollection<EngineOwnershipHistory> engineOwnerShipHistories = updateEngine.EngineOwnerShipHistories;
                DataHelper.DetailHandle(dtoEngineOwnerShipHistories.ToArray(),
                    engineOwnerShipHistories.ToArray(),
                    c => c.Id, p => p.Id,
                    i => InsertEngineOwnershipHistory(updateEngine, i),
                    UpdateEngineOwnershipHistory,
                    d => _engineRepository.RemoveEngineOwnershipHistory(d));
            }
            _engineRepository.Modify(updateEngine);
        }
Пример #3
0
        public void InsertEngine(EngineDTO dto)
        {
            //获取相关数据
            EngineType engineType = _engineTypeRepository.Get(dto.EngineTypeId);
            Airlines airlines = _airlinesRepository.Get(dto.AirlinesId);
            ActionCategory importCategory = _actionCategoryRepository.Get(dto.ImportCategoryId);
            Supplier supplier = _supplierRepository.Get(dto.SupplierId);

            //创建新的实际发动机
            Engine newEngine = EngineFactory.CreateEngine();
            newEngine.SetEngineType(engineType);
            newEngine.SetAirlines(airlines);
            newEngine.SetExportDate(dto.ExportDate);
            newEngine.SetFactoryDate(dto.FactoryDate);
            newEngine.SetImportCategory(importCategory);
            newEngine.SetImportDate(dto.ImportDate);
            newEngine.SetMaxThrust(dto.MaxThrust);
            newEngine.SetSerialNumber(dto.SerialNumber);
            newEngine.SetSupplier(supplier);

            //添加商业数据历史
            dto.EngineBusinessHistories.ToList().ForEach(line => InsertEngineBusinesHistory(newEngine, line));

            //添加所有权历史
            dto.EngineOwnerShipHistories.ToList().ForEach(line => InsertEngineOwnershipHistory(newEngine, line));

            _engineRepository.Add(newEngine);
        }