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