예제 #1
0
 public ConfigMailAddressVm(IFleetPlanService service)
     : base(service)
 {
     _service = service;
     _context = _service.Context;
     InitializeVm();
 }
예제 #2
0
 public QueryApprovalVM(IFleetPlanService service)
     : base(service)
 {
     _service = service;
     _context = _service.Context;
     InitialRequest(); //初始化申请
 }
예제 #3
0
 public FleetPlanLayVM(IFleetPlanService service)
     : base(service)
 {
     _service = service;
     _context = _service.Context;
     InitializeVM();
     InitializerCommand();
 }
예제 #4
0
 public ManageIndexAircraftVM(IFleetPlanService service)
     : base(service)
 {
     _service = service;
     _context = _service.Context;
     InitializeVM();
     InitializerCommand();
 }
예제 #5
0
 public ApuMaintainCostManageVm(IPaymentService service, IFleetPlanService fleetPlanService)
     : base(service)
 {
     _fleetPlanService = fleetPlanService;
     _service = service;
     _context = _service.Context;
     InitialVm(); //初始化Apu维修成本
 }
예제 #6
0
 public ManageEngineMaintainPlanVm(IPartService service, IFleetPlanService fleetPlanService)
     : base(service)
 {
     _service = service;
     _fleetPlanService = fleetPlanService;
     _context = _service.Context;
     InitializeVm();
 }
예제 #7
0
        public CountRegisteredFleetVm(IFleetPlanService service)
            : base(service)
        {
            _fleetPlanContext = service.Context;

            ViewModelInitializer();
            InitializeVm();
        }
예제 #8
0
 public FleetPlanDeliverVM(IRegionManager regionManager, IFleetPlanService service)
     : base(service)
 {
     _regionManager = regionManager;
     _service = service;
     _context = _service.Context;
     InitializeVM();
     InitializerCommand();
 }
예제 #9
0
        public CaacProgrammingVM(IFleetPlanService service)
            : base(service)
        {
            _service = service;
            _context = _service.Context;

            InitializeVM();
            InitializerCommand();
        }
예제 #10
0
 public AircraftOwnershipVM(IFleetPlanService service)
     : base(service)
 {
     _service = service;
     _context = _service.Context;
     InitialAircraft(); //初始化飞机信息
     InitialAircraftConfiguration();
     InitialCommand(); //初始化命令
 }
예제 #11
0
 public QueryPerformPlanVM(IFleetPlanService service)
     : base(service)
 {
     _service = service;
     _context = _service.Context;
     InitialPlan(); //加载计划
     InitialPlanHistory(); //加载计划明细
     InitialCommand();
 }
예제 #12
0
파일: QueryPlanVM.cs 프로젝트: unicloud/FRP
 public QueryPlanVM(IFleetPlanService service)
     : base(service)
 {
     _service = service;
     _context = _service.Context;
     InitialPlanHistory(); //加载计划
     InitialPlan(); //加载计划
     InitialComparePlan(); //加载比较计划
     InitialCommand(); //初始化命令
 }
예제 #13
0
 public FleetTrendVm(IFleetPlanService service)
     : base(service)
 {
     _service = service;
     _service.GetAirlineses(() => { });
     _fleetPlanContext = _service.Context;
     ViewModelInitializer();
     AddRadMenu(_aircraftWindow);
     InitializeVm();
 }
예제 #14
0
        public EngineImportTypeVm(IFleetPlanService service)
            : base(service)
        {
            _fleetPlanContext = service.Context;

            ViewModelInitializer();
            InitalizerRadWindows(_importTypeWindow, "ImportType", 220);
            AddRadMenu(_importTypeWindow);
            InitializeVm();
        }
예제 #15
0
파일: FleetAgeVm.cs 프로젝트: unicloud/FRP
        public FleetAgeVm(IFleetPlanService service)
            : base(service)
        {
            _fleetPlanContext = service.Context;

            ViewModelInitializer();
            InitalizerRadWindows(_ageWindow, "Age", 220);
            AddRadMenu(_ageWindow);
            InitializeVm();
        }
예제 #16
0
파일: AgeDeployVm.cs 프로젝트: unicloud/FRP
 public AgeDeployVm(IFleetPlanService service)
     : base(service)
 {
     _fleetPlanContext = service.Context;
     ViewModelInitializer();
     SaveCommand = new DelegateCommand<object>(OnSave, CanSave);
     AddCommand = new DelegateCommand<object>(OnAdd, CanAdd);
     RemoveCommand = new DelegateCommand<object>(OnRemove, CanRemove);
     AbortCommand = new DelegateCommand<object>(OnAbort, CanAbort);
     InitializeVm();
 }
예제 #17
0
        /// <summary>
        /// 创建运营计划明细
        /// 同一架计划飞机在一份计划中的明细项不得超过两条,且两条不得为同种操作类型(含运营计划与变更计划)
        /// </summary>
        /// <param name="plan"></param>
        /// <param name="allPlanHistories"></param>
        /// <param name="planAircraft"></param>
        /// <param name="aircraft"></param>
        /// <param name="actionType"></param>
        /// <param name="planType"></param>
        /// <param name="service"></param>
        /// <returns></returns>
        internal PlanHistoryDTO CreatePlanHistory(PlanDTO plan, QueryableDataServiceCollectionView<PlanHistoryDTO> allPlanHistories, ref PlanAircraftDTO planAircraft, AircraftDTO aircraft, string actionType, int planType, IFleetPlanService service)
        {
            if (plan == null) return null;
            // 创建新的计划历史
            var planDetail = new PlanHistoryDTO
            {
                Id = Guid.NewGuid(),
                PlanId = plan.Id,
                AirlinesId = plan.AirlinesId,
                AirlinesName = plan.AirlinesName,
                PerformAnnualId = plan.AnnualId,
                PerformMonth = 1,
                PlanType = planType,
                ActionType = actionType,
                ManageStatus = (int)ManageStatus.计划,
                CanRequest = (int)CanRequest.未报计划,
                CanDeliver = (int)CanDeliver.未申请,
            };

            planDetail.ActionCategories = service.GetActionCategoriesForPlanHistory(planDetail);
            planDetail.AircraftCategories = service.GetAircraftCategoriesForPlanHistory(planDetail);
            planDetail.AircraftTypes = service.GetAircraftTypesForPlanHistory(planDetail);

            // 1、计划飞机为空
            if (planAircraft == null)
            {
                planAircraft = new PlanAircraftDTO
                {
                    Id = Guid.NewGuid(),
                    AirlinesId = plan.AirlinesId,
                    AirlinesName = plan.AirlinesName,
                    Status = (int)ManageStatus.计划,
                    IsOwn = true
                };
                planDetail.PlanAircraftId = planAircraft.Id;
            }
            // 2、计划飞机非空
            else
            {
                // 获取计划飞机的所有计划明细集合
                Guid planAcId = planAircraft.Id;
                var planAcPhs = allPlanHistories.Where(p => p.PlanAircraftId == planAcId).ToList();
                // 获取计划飞机在当前计划中的计划明细集合
                PlanAircraftDTO dto = planAircraft;
                var currentPhs = allPlanHistories.Where(p => p.PlanId == plan.Id).ToList();
                var planDetails = currentPhs.Where(ph => ph.PlanAircraftId == dto.Id).ToList();
                // 2.1、不是针对现有飞机的计划明细
                if (planAircraft.AircraftId == null && aircraft == null)
                {
                    if (planAcPhs.Any())
                    {
                        // 获取计划飞机的最后一条计划明细,用于复制数据
                        var planHistory =
                            planAcPhs.OrderBy(ph => ph.Year)
                               .ThenBy(ph => ph.PerformMonth)
                               .LastOrDefault();
                        if (planHistory != null)
                        {
                            // 1、计划飞机在当前计划中没有明细项,(20140106补充)是预备状态的计划飞机
                            if (!planDetails.Any())
                            {
                                planDetail.AircraftTypeId = planAircraft.AircraftTypeId;
                                planDetail.ActionCategoryId = planHistory.ActionCategoryId;
                                planDetail.ActionType = planHistory.ActionType;
                                planDetail.TargetCategoryId = planHistory.TargetCategoryId;
                                planDetail.TargetType = planHistory.TargetType;
                                planDetail.SeatingCapacity = planHistory.SeatingCapacity;
                                planDetail.CarryingCapacity = planHistory.CarryingCapacity;
                                if (planHistory.NeedRequest)
                                {
                                    planDetail.CanRequest = (int)CanRequest.未报计划;
                                    planDetail.CanDeliver = (int)CanDeliver.未申请;
                                }
                                else
                                {
                                    planDetail.CanRequest = (int)CanRequest.无需申请;
                                    planDetail.CanDeliver = (int)CanDeliver.可交付;
                                }
                                planAircraft.Status = (int)ManageStatus.计划;
                            }
                            // 2、计划飞机在当前计划中已有明细项
                            else
                            {
                                planDetail.Regional = planAircraft.Regional;
                                planDetail.AircraftTypeName = planAircraft.AircraftTypeName;
                                planDetail.CaacAircraftTypeName = planAircraft.AircraftTypeName;
                                planDetail.AircraftTypeId = planAircraft.AircraftTypeId;
                                planDetail.SeatingCapacity = -planHistory.SeatingCapacity;
                                planDetail.CarryingCapacity = -planHistory.CarryingCapacity;
                                planDetail.CanRequest = (int)CanRequest.无需申请;
                                planDetail.CanDeliver = (int)CanDeliver.可交付;
                            }
                        }
                    }
                }
                // 2.2、是针对现有飞机的计划明细,退出或变更计划,无需改变计划飞机管理状态
                else
                {
                    if (planType == 1) //为退出计划
                    {
                        planDetail.Regional = aircraft.Regional;
                        planDetail.RegNumber = aircraft.RegNumber;
                        planDetail.AircraftTypeId = planAircraft.AircraftTypeId;
                        planDetail.AircraftTypeName = planAircraft.AircraftTypeName;
                        planDetail.CaacAircraftTypeName = planAircraft.AircraftTypeName;
                        planDetail.SeatingCapacity = -aircraft.SeatingCapacity;
                        planDetail.CarryingCapacity = -aircraft.CarryingCapacity;
                        planDetail.AircraftId = aircraft.AircraftId;
                        planDetail.CanRequest = (int)CanRequest.无需申请;
                        planDetail.CanDeliver = (int)CanDeliver.可交付;
                        planDetail.ManageStatus = (int)ManageStatus.运营;
                    }
                    else if (planType == 2) //为变更计划
                    {
                        // 获取飞机的当前商业数据,赋予新创建的变更计划明细
                        var abs = aircraft.AircraftBusinesses;
                        if (abs.Any())
                        {
                            var aircraftBusiness = abs.FirstOrDefault(a => a.EndDate == null);
                            if (aircraftBusiness != null)
                            {
                                planDetail.Regional = aircraft.Regional;
                                planDetail.RegNumber = aircraft.RegNumber;
                                planDetail.TargetCategoryId = aircraftBusiness.ImportCategoryId;
                                planDetail.SeatingCapacity = aircraftBusiness.SeatingCapacity;
                                planDetail.CarryingCapacity = aircraftBusiness.CarryingCapacity;
                                planDetail.AircraftId = aircraft.AircraftId;
                                planDetail.ManageStatus = (int)ManageStatus.运营;
                            }
                        }
                    }
                }
                planDetail.PlanAircraftId = planAircraft.Id;
            }
            return planDetail;
        }
예제 #18
0
 public MaintainCostReportVm(IPaymentService service, IFleetPlanService fleetPlanService)
     : base(service)
 {
     _fleetPlanService = fleetPlanService;
     _service = service;
     _context = _service.Context;
     InitialVm();
 }
예제 #19
0
 public OperationChildVM(IFleetPlanService service)
     : base(service)
 {
     _context = service.Context;
 }
예제 #20
0
 /// <summary>
 /// 移除所有权历史记录
 /// </summary>
 /// <param name="ownership"></param>
 /// <param name="service"></param>
 internal void RemoveOwnership(OwnershipHistoryDTO ownership, IFleetPlanService service)
 {
     //var ownweships =
     //    service.EntityContainer.GetEntitySet<OwnershipHistory>()
     //           .Where(os => os.Aircraft == ownership.Aircraft)
     //           .OrderBy(os => os.StartDate)
     //           .ToList();
     //var count = ownweships.Count;
     //// 所有权历史至少要保留一条
     //if (count > 1)
     //{
     //    service.EntityContainer.GetEntitySet<OwnershipHistory>().Remove(ownership);
     //    // 修改之前记录的结束日期
     //    ownweships[count - 2].EndDate = null;
     //}
 }
예제 #21
0
 /// <summary>
 /// 获取所有有效的计划
 /// </summary>
 /// <param name="service"></param>
 /// <returns></returns>
 internal ObservableCollection<PlanDTO> GetAllValidPlan(IFleetPlanService service)
 {
     //var validPlans = service.EntityContainer.GetEntitySet<Plan>().Where(p => p.IsValid);
     //return validPlans;
     return null;
 }
예제 #22
0
        public PassengerAircraftTrendVm(IFleetPlanService service)
            : base(service)
        {
            _service = service;
            _fleetPlanContext = _service.Context;
            _service.GetAirlineses(null);
            ViewModelInitializer();

            InitalizerRadWindows(_aircraftWindow, "Aircraft", 200);
            InitalizerRadWindows(_seatWindow, "Seat", 220);
            InitalizerRadWindows(_loadWindow, "Load", 240);
            AddRadMenu(_aircraftWindow);
            AddRadMenu(_seatWindow);
            AddRadMenu(_loadWindow);
            InitializeVm();
        }
예제 #23
0
 /// <summary>
 /// 创建新的所有权历史记录
 /// </summary>
 /// <param name="aircraft"></param>
 /// <param name="service"></param>
 /// <returns></returns>
 internal OwnershipHistoryDTO CreateNewOwnership(AircraftDTO aircraft, IFleetPlanService service)
 {
     //var ownership = new OwnershipHistory
     //{
     //    OwnershipHistoryID = Guid.NewGuid(),
     //    Aircraft = aircraft,
     //    Owner = service.CurrentAirlines,
     //    StartDate = DateTime.Now,
     //    Status = (int)OpStatus.Draft,
     //};
     //service.EntityContainer.GetEntitySet<OwnershipHistory>().Add(ownership);
     //return ownership;
     return null;
 }
예제 #24
0
 public FleetStructureVm(IFleetPlanService service)
     : base(service)
 {
     _fleetPlanContext = service.Context;
     ViewModelInitializer();
     InitalizerRadWindows(_regionalWindow, "Regional", 220);
     InitalizerRadWindows(_typeWindow, "Type", 240);
     AddRadMenu(_regionalWindow);
     AddRadMenu(_typeWindow);
     InitializeVm();
 }
예제 #25
0
        /// <summary>
        /// 完成计划项
        /// </summary>
        /// <param name="planDetail"></param>
        /// <param name="aircraft"></param>
        /// <param name="editAircraft"></param>
        /// <param name="service"></param>
        /// <returns></returns>
        internal void CompletePlan(PlanHistoryDTO planDetail, AircraftDTO aircraft, ref AircraftDTO editAircraft, IFleetPlanService service)
        {
            OperationHistoryDTO operationHistory;
            if (planDetail == null)
            {
                throw new ArgumentNullException("planDetail");
            }
            var actionName = planDetail.ActionName;
            if (actionName == null)
            {
                return;
            }
            // 根据引进方式调用不同的操作
            switch (actionName)
            {
                case "购买":
                    // 创建新飞机
                    editAircraft = CreateAircraft(planDetail);
                    break;
                case "融资租赁":
                    // 创建新飞机
                    editAircraft = CreateAircraft(planDetail);
                    break;
                case "经营租赁":
                    // 创建新飞机
                    editAircraft = CreateAircraft(planDetail);
                    break;
                case "湿租":
                    // 创建新飞机
                    editAircraft = CreateAircraft(planDetail);
                    break;
                case "经营租赁续租":
                    // 创建新运营历史
                    if (aircraft != null)
                    {
                        editAircraft = aircraft;
                        CreateOperationHistory(planDetail, ref editAircraft);
                    }
                    break;
                case "湿租续租":
                    // 创建新运营历史
                    if (aircraft != null)
                    {
                        editAircraft = aircraft;
                        CreateOperationHistory(planDetail, ref editAircraft);
                    }
                    break;
                case "出售":
                    // 更改运营历史状态
                    if (aircraft != null)
                    {
                        editAircraft = aircraft;
                        operationHistory = editAircraft.OperationHistories.LastOrDefault(oh => oh.EndDate == null);
                        if (operationHistory != null)
                        {
                            operationHistory.Status = (int)OperationStatus.草稿;
                            var actionCategoryDto =
                                service.GetActionCategories(null)
                                    .SourceCollection.Cast<ActionCategoryDTO>()
                                    .FirstOrDefault(ac => ac.ActionName == "出售");
                            if (actionCategoryDto != null)
                                operationHistory.ExportCategoryId = actionCategoryDto.Id;

                            if (planDetail.PlanType == 1) planDetail.RelatedGuid = operationHistory.OperationHistoryId;
                        }
                    }
                    break;
                case "出租":
                    // 更改运营历史状态
                    if (aircraft != null)
                    {
                        editAircraft = aircraft;
                        operationHistory = editAircraft.OperationHistories.LastOrDefault(oh => oh.EndDate == null);
                        if (operationHistory != null)
                        {
                            operationHistory.Status = (int)OperationStatus.草稿;
                            var actionCategoryDto =
                                service.GetActionCategories(null)
                                    .SourceCollection.Cast<ActionCategoryDTO>()
                                    .FirstOrDefault(ac => ac.ActionName == "出租");
                            if (actionCategoryDto != null)
                                operationHistory.ExportCategoryId = actionCategoryDto.Id;

                            if (planDetail.PlanType == 1) planDetail.RelatedGuid = operationHistory.OperationHistoryId;
                        }
                    }
                    break;
                case "退租":
                    // 更改运营历史状态
                    if (aircraft != null)
                    {
                        editAircraft = aircraft;
                        operationHistory = editAircraft.OperationHistories.LastOrDefault(oh => oh.EndDate == null);
                        if (operationHistory != null)
                        {
                            operationHistory.Status = (int)OperationStatus.草稿;
                            var actionCategoryDto =
                                service.GetActionCategories(null)
                                    .SourceCollection.Cast<ActionCategoryDTO>()
                                    .FirstOrDefault(ac => ac.ActionName == "退租");
                            if (actionCategoryDto != null)
                                operationHistory.ExportCategoryId = actionCategoryDto.Id;

                            if (planDetail.PlanType == 1) planDetail.RelatedGuid = operationHistory.OperationHistoryId;
                        }
                    }
                    break;
                case "退役":
                    // 更改运营历史状态
                    if (aircraft != null)
                    {
                        editAircraft = aircraft;
                        operationHistory = editAircraft.OperationHistories.LastOrDefault(oh => oh.EndDate == null);
                        if (operationHistory != null)
                        {
                            operationHistory.Status = (int)OperationStatus.草稿;
                            var actionCategoryDto =
                                service.GetActionCategories(null)
                                    .SourceCollection.Cast<ActionCategoryDTO>()
                                    .FirstOrDefault(ac => ac.ActionName == "退役");
                            if (actionCategoryDto != null)
                                operationHistory.ExportCategoryId = actionCategoryDto.Id;

                            if (planDetail.PlanType == 1) planDetail.RelatedGuid = operationHistory.OperationHistoryId;
                        }
                    }
                    break;
                case "货改客":
                    // 创建商业数据历史
                    if (aircraft != null)
                    {
                        editAircraft = aircraft;
                        CreateAircraftBusiness(planDetail, ref editAircraft);
                    }
                    break;
                case "客改货":
                    // 创建商业数据历史
                    if (aircraft != null)
                    {
                        editAircraft = aircraft;
                        CreateAircraftBusiness(planDetail, ref editAircraft);
                    }
                    break;
                case "售后经营租赁":
                    // 创建商业数据历史
                    if (aircraft != null)
                    {
                        editAircraft = aircraft;
                        CreateAircraftBusiness(planDetail, ref editAircraft);
                    }
                    break;
                case "售后融资租赁":
                    // 创建商业数据历史
                    if (aircraft != null)
                    {
                        editAircraft = aircraft;
                        CreateAircraftBusiness(planDetail, ref editAircraft);
                    }
                    break;
                case "一般改装":
                    // 创建商业数据历史
                    if (aircraft != null)
                    {
                        editAircraft = aircraft;
                        CreateAircraftBusiness(planDetail, ref editAircraft);
                    }
                    break;
                case "租转购":
                    // 创建商业数据历史
                    if (aircraft != null)
                    {
                        editAircraft = aircraft;
                        CreateAircraftBusiness(planDetail, ref editAircraft);
                    }
                    break;
            }
            //更改计划飞机状态
            planDetail.ManageStatus = (int)ManageStatus.运营; //TODO 修改计划飞机的状态(前台或后台处理)
        }