Ejemplo n.º 1
0
        public BuySingleInsuranceViewModel()
        {
            if (IsInDesignMode)
            {
                return;
            }
            IsBusy = true;
            Action action = () => CommunicateManager.Invoke <IInsuranceService>(service =>
            {
                #region 保险相关设置
                var re         = service.GetCurentInsuranceCfgInfo();
                var leaveCount = service.GetCurentInsuranceCfgInfo(true).LeaveCount;
                if (re.IsOpenCurrenCarrierInsurance && re.IsOpenUnexpectedInsurance && leaveCount > 0)
                {
                    BuySingleInsuranceModel = new BuySingleInsuranceModel
                    {
                        FlightStartDate = DateTime.Now.Date,
                        BirthDay        = DateTime.Now.AddYears(-16),
                        InsuranceCount  = 1,
                        SumInsured      = 400000,
                        IsAdultType     = true,
                        Gender          = true,
                        IsIdType        = true,
                    };
                }
                else
                {
                    UIManager.ShowMessage("剩余保险数量不足");
                    IsDone = true;
                }
                #endregion
            }, UIManager.ShowErr);

            Task.Factory.StartNew(action).ContinueWith(task =>
            {
                Action setBusyAction = () => { IsBusy = false; };
                DispatcherHelper.UIDispatcher.Invoke(setBusyAction);
            });
        }
Ejemplo n.º 2
0
        public void ExecuteBuySingleInsuranceCommand()
        {
            if (BuySingleInsuranceModel == null)
            {
                return;
            }
            if (!BuySingleInsuranceModel.Check())
            {
                return;
            }
            if (BuySingleInsuranceModel.BirthDay == null)
            {
                return;
            }
            var rbim = new RequestBuyInsuranceManually
            {
                CardNo =
                    string.IsNullOrWhiteSpace(BuySingleInsuranceModel.IdNo) &&
                    (BuySingleInsuranceModel.IsBabyType || BuySingleInsuranceModel.IsChildType)
                        ? BuySingleInsuranceModel.BirthDay.Value.ToString("yyyy-MM-dd")
                        : BuySingleInsuranceModel.IdNo,
                Count        = BuySingleInsuranceModel.InsuranceCount,
                FlightNumber = BuySingleInsuranceModel.FlightNumber
            };

            if (BuySingleInsuranceModel.IsIdType)
            {
                rbim.IdType = EnumIDType.NormalId;
            }
            else if (BuySingleInsuranceModel.IsMilitaryIdType)
            {
                rbim.IdType = EnumIDType.MilitaryId;
            }
            else if (BuySingleInsuranceModel.IsPassportIdType)
            {
                rbim.IdType = EnumIDType.Passport;
            }
            else if (BuySingleInsuranceModel.IsOtherType)
            {
                rbim.IdType = EnumIDType.Other;
            }
            if (BuySingleInsuranceModel.IsAdultType)
            {
                rbim.PassengerType = EnumPassengerType.Adult;
            }
            else if (BuySingleInsuranceModel.IsChildType)
            {
                rbim.PassengerType = EnumPassengerType.Child;
            }
            else if (BuySingleInsuranceModel.IsBabyType)
            {
                rbim.PassengerType = EnumPassengerType.Baby;
            }
            rbim.InsuranceLimitEndTime   = BuySingleInsuranceModel.FlightStartDate.Date.AddDays(1).AddSeconds(-1);
            rbim.InsuranceLimitStartTime = BuySingleInsuranceModel.FlightStartDate.Date;
            rbim.StartDateTime           = BuySingleInsuranceModel.FlightStartDate;
            rbim.InsuredName             = BuySingleInsuranceModel.Name;
            rbim.Mobile     = BuySingleInsuranceModel.Mobile;
            rbim.PNR        = BuySingleInsuranceModel.PNR;
            rbim.SexType    = BuySingleInsuranceModel.Gender ? EnumSexType.Male : EnumSexType.Female;
            rbim.Birth      = BuySingleInsuranceModel.BirthDay;
            rbim.ToCityName = BuySingleInsuranceModel.ToCityName;
            IsBusy          = true;
            Action action = () => CommunicateManager.Invoke <IInsuranceService>(service =>
            {
                service.BuyInsuranceManually(rbim);
                UIManager.ShowMessage("投保成功!");
                IsDone = true;
            }, UIManager.ShowErr);

            Task.Factory.StartNew(action).ContinueWith(task =>
            {
                Action setBusyAction = () => { IsBusy = false; };
                DispatcherHelper.UIDispatcher.Invoke(setBusyAction);
            });
        }