示例#1
0
        public JsonResult QueryInsurance(string insuranceNo, string orderId, string passengerName,
                                         string mobile, string enumInsuranceStatus, string flightTripFrom, string flightTripTo,
                                         DateTime?flyStartTime, DateTime?flyEndTime, DateTime?buyStartTime, DateTime?buyEndTime,
                                         DateTime?insuranceLimitStartTime, DateTime?insuranceLimitEndTime, string insuranceCompany, int page = 1,
                                         int rows = 10)
        {
            var req = new RequestQueryInsurance();

            req.IsCtrlStationCall = false;
            req.InsuranceNo       = insuranceNo;
            req.OrderId           = orderId;
            req.PassengerName     = passengerName;
            req.Mobile            = mobile;
            if (string.IsNullOrWhiteSpace(enumInsuranceStatus) || enumInsuranceStatus == "0")
            {
                req.EnumInsuranceStatus = null;
            }
            else
            {
                req.EnumInsuranceStatus = EnumHelper.GetInstance <EnumInsuranceStatus>(enumInsuranceStatus);
            }
            req.FlightTripFrom          = flightTripFrom;
            req.FlightTripTo            = flightTripTo;
            req.FlyStartTime            = flyStartTime;
            req.FlyEndTime              = flyEndTime;
            req.BuyStartTime            = buyStartTime;
            req.BuyEndTime              = buyEndTime;
            req.InsuranceLimitStartTime = insuranceLimitStartTime;
            req.InsuranceLimitEndTime   = insuranceLimitEndTime;
            req.InsuranceCompany        = insuranceCompany;
            DataPack <ResponseInsurance> data = null;

            CommunicateManager.Invoke <IInsuranceService>(service =>
            {
                data = service.QueryInsurance(req, page, rows);
            });
            return(Json(data == null ? new { total = 0, rows = new List <ResponseInsurance>() } : new { total = data.TotalCount, rows = data.List }, JsonRequestBehavior.AllowGet));
        }
示例#2
0
        public void TestMethodInsurance()
        {
            BootStrapper.Boot();
            //var oser = ObjectFactory.GetInstance<OrderService>();
            //var model = oser.GetOrderByOrderId("04630474482726633176");
            //var str = JsonConvert.SerializeObject(model);
            //Console.WriteLine(str);
            var service = ObjectFactory.GetInstance <InsuranceService>();
            var dto     = new RequestInsurance();

            dto.OrderId = "05049269408530754042";//1个乘客
            //dto.OrderId = "05283589118296006288";//4个乘客
            //dto.SinglePrice = 20.00M;
            //dto.IsBuyRefundInsurance = true;
            //dto.Passenger = new List<PassengerDto>() { new PassengerDto() { CardNo = "513722198911054516" } };
            // dto.Passenger = new List<PassengerDto>() { new PassengerDto() { CardNo = "520201197209083216" }, new PassengerDto() { CardNo = "123654789" }, new PassengerDto() { CardNo = "G1452362" }, new PassengerDto() { CardNo = "513722198911054516" } };
            service.SaveInsurance(dto);
            var req  = new RequestQueryInsurance();
            var m1   = service.QueryInsurance(null, 1, 20);
            var str1 = JsonConvert.SerializeObject(m1);

            Console.WriteLine(str1);
        }
示例#3
0
        protected virtual void ExecuteQueryCommand()
        {
            #region 日期判断处理
            if (QueryInsurance.BuyStartTime != null && QueryInsurance.BuyEndTime != null)
            {
                if (QueryInsurance.BuyStartTime.Value.CompareTo(QueryInsurance.BuyEndTime.Value) > 0)
                {
                    UIManager.ShowMessage("航班日期选择开始日期大于结束日期");
                    return;
                }
            }
            if (QueryInsurance.InsuranceLimitStartTime != null && QueryInsurance.InsuranceLimitEndTime != null)
            {
                if (QueryInsurance.InsuranceLimitStartTime.Value.CompareTo(QueryInsurance.InsuranceLimitEndTime.Value) > 0)
                {
                    UIManager.ShowMessage("保险有限期日期选择开始日期大于结束日期");
                    return;
                }
            }
            if (QueryInsurance.FlyStartTime != null && QueryInsurance.FlyEndTime != null)
            {
                if (QueryInsurance.FlyStartTime.Value.CompareTo(QueryInsurance.FlyEndTime.Value) > 0)
                {
                    UIManager.ShowMessage("航班日期选择开始日期大于结束日期");
                    return;
                }
            }
            #endregion
            //保单接口查询实体
            var reQueryInsurance = new RequestQueryInsurance
            {
                IsClientCall            = true,
                BuyEndTime              = QueryInsurance.BuyEndTime,
                BuyStartTime            = QueryInsurance.BuyStartTime,
                EnumInsuranceStatus     = QueryInsurance.EnumInsuranceStatus.HasValue ? QueryInsurance.EnumInsuranceStatus : null,
                FlyEndTime              = QueryInsurance.FlyEndTime,
                FlyStartTime            = QueryInsurance.FlyStartTime,
                InsuranceLimitEndTime   = QueryInsurance.InsuranceLimitEndTime,
                InsuranceLimitStartTime = QueryInsurance.InsuranceLimitStartTime,
                InsuranceNo             = QueryInsurance.InsuranceNo,
                Mobile        = QueryInsurance.Mobile,
                OrderId       = QueryInsurance.OrderId,
                PassengerName = QueryInsurance.PassengerName,
                CardNo        = QueryInsurance.IdNo
            };
            IsBusy = true;
            Insurances.Clear();
            Action action = () => CommunicateManager.Invoke <IInsuranceService>(service =>
            {
                var data = service.QueryInsurance(reQueryInsurance, CurrentPageIndex, PageSize);
                if (data.List == null)
                {
                    return;
                }
                TotalCount = data.TotalCount;

                foreach (var item in data.List)
                {
                    DispatcherHelper.UIDispatcher.Invoke(new Action <ResponseInsurance>(Insurances.Add), item);
                }
            }, UIManager.ShowErr);

            Task.Factory.StartNew(action).ContinueWith(task =>
            {
                Action setBusyAction = () => { IsBusy = false; };
                DispatcherHelper.UIDispatcher.Invoke(setBusyAction);
            });
        }
示例#4
0
        public DataPack <ResponseInsurance> QueryInsurance(RequestQueryInsurance qInsurance, int pageIndex, int pageSize = 20)
        {
            pageIndex = (pageIndex - 1) * pageSize;
            var query = this._iInsuranceOrderRepository.getAllSearchItem();//this._iInsuranceOrderRepository.FindAll();

            if (qInsurance != null)
            {
                //是否是控台调用
                if (qInsurance.IsCtrlStationCall)
                {
                    //如果是控台调用,则筛选指定的运营商
                    if (!string.IsNullOrWhiteSpace(qInsurance.Code))
                    {
                        query = query.Where(p => p.CarrierCode == qInsurance.Code);
                    }
                }
                //是否是分销商
                else if (qInsurance.IsClientCall)
                {
                    query = query.Where(p => p.BussinessmanCode == _code);
                }
                //否则,仅显示当前运营商
                else
                {
                    query = query.Where(p => p.CarrierCode == _code);
                }

                //保单号
                if (!string.IsNullOrWhiteSpace(qInsurance.InsuranceNo))
                {
                    query = query.Where(p => p.InsuranceNo == qInsurance.InsuranceNo);
                }
                //机票订单号
                if (!string.IsNullOrWhiteSpace(qInsurance.OrderId))
                {
                    query = query.Where(p => p.OrderId == qInsurance.OrderId);
                }
                //乘客姓名
                if (!string.IsNullOrWhiteSpace(qInsurance.PassengerName))
                {
                    query = query.Where(p => p.PassengerName == qInsurance.PassengerName);
                }
                //电话
                if (!string.IsNullOrWhiteSpace(qInsurance.Mobile))
                {
                    query = query.Where(p => p.Mobile == qInsurance.Mobile);
                }
                //订单状态
                if (qInsurance.EnumInsuranceStatus != null)
                {
                    query = query.Where(p => p.EnumInsuranceStatus == qInsurance.EnumInsuranceStatus);
                }
                //购买开始时间
                if (qInsurance.BuyStartTime != null)
                {
                    query = query.Where(p => p.BuyTime >= qInsurance.BuyStartTime.Value);
                }
                //购买结束时间
                if (qInsurance.BuyEndTime != null)
                {
                    var date = qInsurance.BuyEndTime.Value.Date.AddDays(1).AddSeconds(-1);
                    query = query.Where(p => p.BuyTime <= date);
                }
                //起飞开始时间
                if (qInsurance.FlyStartTime != null)
                {
                    query = query.Where(p => p.StartDateTime >= qInsurance.FlyStartTime.Value);
                }
                //起飞结束时间
                if (qInsurance.FlyEndTime != null)
                {
                    var date = qInsurance.FlyEndTime.Value.Date.AddDays(1).AddSeconds(-1);
                    query = query.Where(p => p.StartDateTime <= date);
                }
                //航程起点
                if (!string.IsNullOrWhiteSpace(qInsurance.FlightTripFrom))
                {
                    //var cityCode = ExtHelper.GetCityCodeByName(qInsurance.FlightTripFrom);
                    query = query.Where(p => p.FromCity == qInsurance.FlightTripFrom);
                }
                //航程终点
                if (!string.IsNullOrWhiteSpace(qInsurance.FlightTripTo))
                {
                    //var cityCode = ExtHelper.GetCityCodeByName(qInsurance.FlightTripTo);
                    query = query.Where(p => p.ToCity == qInsurance.FlightTripTo);
                }
                //保险生效起始时间
                if (qInsurance.InsuranceLimitStartTime != null)
                {
                    query = query.Where(p => p.InsuranceLimitStartTime >= qInsurance.InsuranceLimitStartTime.Value);
                }
                //保险生效结束时间
                if (qInsurance.InsuranceLimitEndTime != null)
                {
                    var date = qInsurance.InsuranceLimitEndTime.Value.Date.AddDays(1).AddSeconds(-1);
                    query = query.Where(p => p.InsuranceLimitEndTime <= date);
                }
                //保险公司
                if (!string.IsNullOrWhiteSpace(qInsurance.InsuranceCompany))
                {
                    query = query.Where(p => p.InsuranceCompany == qInsurance.InsuranceCompany);
                }
                //流水号
                if (!string.IsNullOrWhiteSpace(qInsurance.PayNo))
                {
                    query = query.Where(p => p.SerialNum == qInsurance.PayNo);
                }
                //证件号
                if (!string.IsNullOrWhiteSpace(qInsurance.CardNo))
                {
                    query = query.Where(p => p.CardNo == qInsurance.CardNo);
                }
                //if(!string.IsNullOrWhiteSpace(qInsurance))
            }
            //var x = query.AsStreaming().ToString();
            query = query.OrderByDescending(p => p.BuyTime);
            var total = query.Count();

            query = query.Skip(pageIndex).Take(pageSize);

            List <ResponseInsurance> listinsurance = new List <ResponseInsurance>();

            query.ToList().ForEach(p => listinsurance.Add(AutoMapper.Mapper.Map <InsuranceSearchRecord, ResponseInsurance>(p)));
            var data = new DataPack <ResponseInsurance>
            {
                TotalCount = total,
                List       = listinsurance
            };

            return(data);
        }