コード例 #1
0
        /// <summary>
        /// 获取航空公司集合
        /// </summary>
        /// <param name="AirportName">航空公司名字(null或空时不做条件)</param>
        /// <returns></returns>
        public virtual IList <EyouSoft.Model.TicketStructure.TicketFlightCompany> GetList(string AirportName)
        {
            IList <EyouSoft.Model.TicketStructure.TicketFlightCompany> ResultList = new List <EyouSoft.Model.TicketStructure.TicketFlightCompany>();
            string    StrSql = " SELECT [id],[AirportCode],[AirportName] FROM tbl_TicketFlightCompany ";
            DbCommand dc     = null;

            dc = base.TourStore.GetSqlStringCommand(StrSql);
            if (!string.IsNullOrEmpty(AirportName))
            {
                StrSql     += " WHERE [AirportName] LIKE  @AirportName ";
                AirportName = "%" + AirportName + "%";
                dc          = base.TourStore.GetSqlStringCommand(StrSql);
                base.TourStore.AddInParameter(dc, "AirportName", DbType.String, AirportName);
            }
            using (IDataReader dr = DbHelper.ExecuteReader(dc, base.TicketStore))
            {
                EyouSoft.Model.TicketStructure.TicketFlightCompany model = null;
                while (dr.Read())
                {
                    model             = new EyouSoft.Model.TicketStructure.TicketFlightCompany();
                    model.Id          = dr.GetInt32(dr.GetOrdinal("id"));
                    model.AirportCode = dr.IsDBNull(dr.GetOrdinal("AirportCode")) ? string.Empty : dr.GetString(dr.GetOrdinal("AirportCode"));
                    model.AirportName = dr.IsDBNull(dr.GetOrdinal("AirportName")) ? string.Empty : dr.GetString(dr.GetOrdinal("AirportName"));
                    ResultList.Add(model);
                }
                model = null;
            }
            return(ResultList);
        }
コード例 #2
0
        protected string GetFlightName(string FlightId)
        {
            string tmpVal = string.Empty;

            EyouSoft.Model.TicketStructure.TicketFlightCompany model = EyouSoft.BLL.TicketStructure.TicketFlightCompany.CreateInstance().GetTicketFlightCompany(Convert.ToInt32(FlightId));
            if (model != null)
            {
                tmpVal = model.AirportName;
            }
            model = null;
            return(tmpVal);
        }
コード例 #3
0
        /// <summary>
        /// 获取航空公司实体
        /// </summary>
        /// <param name="id">航空公司id</param>
        /// <returns></returns>
        public virtual EyouSoft.Model.TicketStructure.TicketFlightCompany GetModel(int id)
        {
            string    StrSql = " SELECT [id],[AirportCode],[AirportName] FROM tbl_TicketFlightCompany  WHERE [id]=@Id ";
            DbCommand dc     = null;

            dc = base.TourStore.GetSqlStringCommand(StrSql);
            base.TourStore.AddInParameter(dc, "Id", DbType.Int32, id);
            EyouSoft.Model.TicketStructure.TicketFlightCompany model = null;
            using (IDataReader dr = DbHelper.ExecuteReader(dc, base.TicketStore))
            {
                while (dr.Read())
                {
                    model             = new EyouSoft.Model.TicketStructure.TicketFlightCompany();
                    model.Id          = dr.GetInt32(dr.GetOrdinal("id"));
                    model.AirportCode = dr.IsDBNull(dr.GetOrdinal("AirportCode")) ? string.Empty : dr.GetString(dr.GetOrdinal("AirportCode"));
                    model.AirportName = dr.IsDBNull(dr.GetOrdinal("AirportName")) ? string.Empty : dr.GetString(dr.GetOrdinal("AirportName"));
                }
            }
            return(model);
        }
コード例 #4
0
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";

            string logId = context.Request.QueryString["logId"];

            if (!String.IsNullOrEmpty(logId))
            {
                EyouSoft.Model.TicketStructure.TicketFreightBuyLog model = EyouSoft.BLL.TicketStructure.FreightBuyLog.CreateInstance().GetModel(logId);
                string url = "";

                /*
                 * 常规购买:套餐项目-常规  类型-团队  运价数-19 开始10.1-10.3
                 * 套餐购买:套餐项目-华东区  类型-团队  航空公司-CA 始发地-上海 目的地-所有 开始10.1-10.3
                 * 促销购买:套餐项目-华东区  类型-团队  航空公司-CA 始发地-上海 目的地-北京 开始10.1-10.3
                 */
                string batch_no = "";
                companyModel = EyouSoft.BLL.CompanyStructure.CompanyInfo.CreateInstance().GetModel(model.CompanyId);
                string bankType = context.Request.QueryString["bankType"];
                if (companyModel == null || String.IsNullOrEmpty(context.Request.QueryString["uid"]) || String.IsNullOrEmpty(bankType))
                {
                    context.Response.Write("error");
                    return;
                }
                switch (bankType)
                {
                case "ZFB":
                    switch (model.PackageType)
                    {
                    case EyouSoft.Model.TicketStructure.PackageTypes.常规: url = this.GetPayUrlByZFB(model.OrderNo, string.Format("常规购买:套餐项目-{0}、类型-团队、运价数-{1}、开始{2}-{3}", model.PackageName, model.BuyCount.ToString(), model.StartMonth.ToString("yyyy.MM"), model.EndMonth.ToString("yyyy.MM")), "暂无", Utils.GetDecimal((model.SumPrice * 100).ToString("0")) / 100); break;

                    case EyouSoft.Model.TicketStructure.PackageTypes.套餐: url = this.GetPayUrlByZFB(model.OrderNo, string.Format("套餐购买:套餐项目-{0}、类型-团队、航空公司-{1}、始发地-{2}、目的地-{3}、开始{4}-{5}", model.PackageName, model.FlightName, model.HomeCityName, model.DestCityNames, model.StartMonth.ToString("yyyy.MM"), model.EndMonth.ToString("yyyy.MM")), "暂无", Utils.GetDecimal((model.SumPrice * 100).ToString("0")) / 100); break;

                    default: url = this.GetPayUrlByZFB(model.OrderNo, string.Format("促销购买:套餐项目-{0}、类型-团队  航空公司-{1}、始发地-{2}、目的地-{3}、开始{4}-{5}", model.PackageName, model.FlightName, model.HomeCityName, model.DestCityNames, model.StartMonth.ToString("yyyy.MM"), model.EndMonth.ToString("yyyy.MM")), "暂无", Utils.GetDecimal((model.SumPrice * 100).ToString("0")) / 100); break;
                    }

                    EyouSoft.BLL.TicketStructure.FreightBuyLog.CreateInstance().AddTicketPay(model.Id, model.OrderNo, context.Request.QueryString["uid"], companyModel.ID, Utils.GetDecimal((model.SumPrice * 100).ToString("0")) / 100, EyouSoft.Model.TicketStructure.TicketAccountType.支付宝, out batch_no); break;

                case "CFT":
                    switch (model.PackageType)
                    {
                    case EyouSoft.Model.TicketStructure.PackageTypes.常规: url = this.GetPayUrlByCFT(model.OrderNo, string.Format("常规购买:套餐项目-{0}、类型-团队、运价数-{1}、开始{2}-{3}", model.PackageName, model.BuyCount.ToString(), model.StartMonth.ToString("yyyy.MM"), model.EndMonth.ToString("yyyy.MM")), Utils.GetDecimal((model.SumPrice * 100).ToString("0")), context); break;

                    case EyouSoft.Model.TicketStructure.PackageTypes.套餐: url = this.GetPayUrlByCFT(model.OrderNo, string.Format("套餐购买:套餐项目-{0}、类型-团队、航空公司-{1}、始发地-{2}、目的地-{3}、开始{4}-{5}", model.PackageName, model.FlightName, model.HomeCityName, model.DestCityNames, model.StartMonth.ToString("yyyy.MM"), model.EndMonth.ToString("yyyy.MM")), Utils.GetDecimal((model.SumPrice * 100).ToString("0")), context); break;

                    default: url = this.GetPayUrlByCFT(model.OrderNo, string.Format("促销购买:套餐项目-{0}、类型-团队、航空公司-{1}、始发地-{2}、目的地-{3}、开始{4}-{5}", model.PackageName, model.FlightName, model.HomeCityName, model.DestCityNames, model.StartMonth.ToString("yyyy.MM"), model.EndMonth.ToString("yyyy.MM")), Utils.GetDecimal((model.SumPrice * 100).ToString("0")), context); break;
                    }
                    EyouSoft.BLL.TicketStructure.FreightBuyLog.CreateInstance().AddTicketPay(model.Id, model.OrderNo, context.Request.QueryString["uid"], companyModel.ID, Utils.GetDecimal((model.SumPrice * 100).ToString("0")) / 100, EyouSoft.Model.TicketStructure.TicketAccountType.财付通, out batch_no);
                    break;

                default: context.Response.Write("error"); return;
                }


                if (url != "")
                {
                    context.Response.Write(url);
                }
                else
                {
                    context.Response.Write("error");
                }
                return;
            }

            //购买数
            int buyCount = Utils.GetInt(context.Request.QueryString["buyCount"]);
            //公司ID
            string companyId = context.Request.QueryString["companyId"];
            //开始时间
            DateTime?startMonth = Utils.GetDateTimeNullable(context.Request.QueryString["SartDateTime"]);
            //套餐编号
            int packageId = Utils.GetInt(context.Request.QueryString["packageId"]);
            //购买时间类型
            string type = Utils.GetQueryStringValue("type");
            //购买类型: cg = 常规  cs = 套餐 + 促销
            string p = context.Request.QueryString["p"];
            //购买运价类型 2 = 套餐  3 = 促销
            string packageType = context.Request.QueryString["packageType"];

            if (startMonth == null)
            {
                context.Response.Write("error");
                return;
            }

            if (p != null)
            {
                //获得公司信息
                companyModel = EyouSoft.BLL.CompanyStructure.CompanyInfo.CreateInstance().GetModel(companyId);
                if (companyModel == null)
                {
                    context.Response.Write("error");
                    return;
                }
                //获取购买运价信息
                packageModel = EyouSoft.BLL.TicketStructure.FreightPackageInfo.CreateInstance().GetModel(packageId);
                if (packageModel == null)
                {
                    context.Response.Write("error");
                    return;
                }
                decimal onePrice = 0.00M;
                //结束时间计算
                DateTime endTime   = DateTime.Now;
                DateTime startDate = Convert.ToDateTime(startMonth);
                //如果开始日期是本月
                if (Convert.ToDateTime(startMonth).Month == DateTime.Now.Month)
                {
                    //计算当月的剩余天数的比例
                    int today = Convert.ToDateTime(startMonth).Day;

                    decimal ratio = Decimal.Parse((DateTime.DaysInMonth(startDate.Year, startDate.Month) - today + 1).ToString("0.00")) / Decimal.Parse(Convert.ToDecimal(DateTime.DaysInMonth(startDate.Year, startDate.Month)).ToString("0.00"));
                    switch (type)
                    {
                    case "1":
                        //单价 = 当月剩余天数比率 * 每月价格
                        onePrice = packageModel.MonthPrice * ratio;
                        endTime  = Convert.ToDateTime(startDate.Year + "-" + startDate.Month + "-" + DateTime.DaysInMonth(startDate.Year, startDate.Month));
                        break;

                    case "2":
                        //单价 = 当月剩余天数比率 * 每月价格 + 其它两月的价格
                        onePrice = ratio * packageModel.QuarterPrice / 3 + packageModel.QuarterPrice / 3 * 2;
                        endTime  = Convert.ToDateTime(startDate.AddMonths(2).Year + "-" + startDate.AddMonths(2).Month + "-" + DateTime.DaysInMonth(startDate.AddMonths(2).Year, startDate.AddMonths(2).Month));
                        break;

                    default:
                        //单价 = 当月剩余天数比率 * 每月价格 + 其它五月的价格
                        onePrice = ratio * packageModel.HalfYearPrice / 6 + packageModel.HalfYearPrice / 6 * 5;
                        endTime  = Convert.ToDateTime(startDate.AddMonths(5).Year + "-" + startDate.AddMonths(5).Month + "-" + DateTime.DaysInMonth(startDate.AddMonths(5).Year, startDate.AddMonths(5).Month));
                        break;
                    }
                }
                //如果开始日期是大于本月
                else
                {
                    //设置开始日期为每月 1 号
                    startDate = Convert.ToDateTime(startDate.Year + "-" + startDate.Month + "-01");

                    switch (type)
                    {
                    case "1":
                        //单价 = 当月剩余天数比率 * 每月价格
                        onePrice = packageModel.MonthPrice;
                        endTime  = Convert.ToDateTime(startDate.Year + "-" + startDate.Month + "-" + DateTime.DaysInMonth(startDate.Year, startDate.Month));
                        break;

                    case "2":
                        //单价 = 当月剩余天数比率 * 每月价格 + 其它两月的价格
                        onePrice = packageModel.QuarterPrice;
                        endTime  = Convert.ToDateTime(startDate.AddMonths(2).Year + "-" + startDate.AddMonths(2).Month + "-" + DateTime.DaysInMonth(startDate.AddMonths(2).Year, startDate.AddMonths(2).Month));
                        break;

                    default:
                        //单价 = 当月剩余天数比率 * 每月价格 + 其它五月的价格
                        onePrice = packageModel.HalfYearPrice;
                        endTime  = Convert.ToDateTime(startDate.AddMonths(5).Year + "-" + startDate.AddMonths(5).Month + "-" + DateTime.DaysInMonth(startDate.AddMonths(5).Year, startDate.AddMonths(5).Month));
                        break;
                    }
                }

                if (p == "cg")
                {
                    if (buyCount == 0 || string.IsNullOrEmpty(companyId) || packageId == 0 || type == "" || string.IsNullOrEmpty(p))
                    {
                        context.Response.Write("error");
                        return;
                    }

                    //获得支付总金额
                    decimal sumPrice = onePrice * buyCount;
                    EyouSoft.Model.TicketStructure.TicketFreightBuyLog model = new EyouSoft.Model.TicketStructure.TicketFreightBuyLog();
                    model.BuyCount  = buyCount;
                    model.BuyTime   = DateTime.Now;
                    model.CompanyId = companyId;
                    model.EndMonth  = endTime;
                    model.FlightId  = packageModel.FlightId;

                    EyouSoft.Model.TicketStructure.TicketFlightCompany flightCompanyModel = EyouSoft.BLL.TicketStructure.TicketFlightCompany.CreateInstance().GetTicketFlightCompany(packageModel.FlightId);

                    if (flightCompanyModel != null)
                    {
                        model.FlightName = flightCompanyModel.AirportName;
                    }

                    if (string.IsNullOrEmpty(model.FlightName))
                    {
                        model.FlightName = string.Empty;
                    }

                    model.OperatorId = companyModel.ID;
                    model.PackageId  = packageId;

                    EyouSoft.Model.TicketStructure.TicketFreightPackageInfo ticketFreightModel = EyouSoft.BLL.TicketStructure.FreightPackageInfo.CreateInstance().GetModel(packageId);

                    if (ticketFreightModel != null)
                    {
                        model.PackageName = ticketFreightModel.PackageName;
                    }
                    model.PackageType = EyouSoft.Model.TicketStructure.PackageTypes.常规;

                    model.PayState   = false;
                    model.RateType   = EyouSoft.Model.TicketStructure.RateType.团队散拼;
                    model.StartMonth = Convert.ToDateTime(startMonth);
                    model.SumPrice   = Utils.GetDecimal((sumPrice * 100).ToString("0")) / 100;

                    bool result = EyouSoft.BLL.TicketStructure.FreightBuyLog.CreateInstance().Add(model);
                    if (result)
                    {
                        context.Response.Write(model.Id);
                    }
                    else
                    {
                        context.Response.Write("error");
                    }
                }

                if (p == "cs")
                {
                    if (string.IsNullOrEmpty(companyId) || startMonth == null || packageId == 0 || type == "" || string.IsNullOrEmpty(p))
                    {
                        context.Response.Write("error");
                        return;
                    }

                    //获得支付总金额
                    decimal sumPrice = onePrice;
                    EyouSoft.Model.TicketStructure.TicketFreightBuyLog model = new EyouSoft.Model.TicketStructure.TicketFreightBuyLog();
                    model.BuyCount  = buyCount;
                    model.BuyTime   = DateTime.Now;
                    model.CompanyId = companyId;
                    model.EndMonth  = endTime;
                    model.FlightId  = packageModel.FlightId;
                    if (EyouSoft.BLL.TicketStructure.TicketFlightCompany.CreateInstance().GetTicketFlightCompany(packageModel.FlightId) != null)
                    {
                        model.FlightName = EyouSoft.BLL.TicketStructure.TicketFlightCompany.CreateInstance().GetTicketFlightCompany(packageModel.FlightId).AirportName;
                    }
                    model.OperatorId  = companyModel.ID;
                    model.PackageId   = packageId;
                    model.PackageName = EyouSoft.BLL.TicketStructure.FreightPackageInfo.CreateInstance().GetModel(packageId).PackageName;
                    if (packageType == "2")
                    {
                        model.PackageType = EyouSoft.Model.TicketStructure.PackageTypes.套餐;
                    }
                    else
                    {
                        model.PackageType = EyouSoft.Model.TicketStructure.PackageTypes.促销;
                    }
                    model.PayState      = false;
                    model.RateType      = EyouSoft.Model.TicketStructure.RateType.团队散拼;
                    model.StartMonth    = Convert.ToDateTime(startMonth);
                    model.SumPrice      = Utils.GetDecimal((sumPrice * 100).ToString("0")) / 100;
                    model.HomeCityId    = packageModel.HomeCityId;
                    model.HomeCityName  = GetCityNameById(packageModel.HomeCityId.ToString());
                    model.DestCityIds   = packageModel.DestCityIds;
                    model.DestCityNames = GetCityNameById(packageModel.DestCityIds).Replace('、', ',');

                    bool result = EyouSoft.BLL.TicketStructure.FreightBuyLog.CreateInstance().Add(model);
                    if (result)
                    {
                        context.Response.Write(model.Id);
                    }
                    else
                    {
                        context.Response.Write("error");
                    }
                }
            }
        }
コード例 #5
0
        private void LoadBindData(string orderId)
        {
            EyouSoft.Model.TicketStructure.OrderInfo orderInfo = EyouSoft.BLL.TicketStructure.TicketOrder.CreateInstance().GetOrderInfoById(orderId);
            if (orderInfo != null)
            {
                hidOrderId.Value = orderInfo.OrderId;
                #region 航班信息
                EyouSoft.Model.TicketStructure.TicketFlightCompany companyModel = EyouSoft.BLL.TicketStructure.TicketFlightCompany.CreateInstance().GetTicketFlightCompany(orderInfo.FlightId);
                if (companyModel != null)
                {
                    ltr_gysCompanyName.Text = companyModel.AirportName; //航空公司名
                    companyModel            = null;
                }
                ltr_gysGoDate.Text = orderInfo.LeaveTime.ToString("yyyy-MM-dd");
                //ltr_gysGoRun.Text = orderInfo.HomeCityName + "(" + orderInfo.ReturnTime.ToString("hh:mm") + ")-->" + orderInfo.DestCityName + "(" + orderInfo.LeaveTime.ToString("hh:mm") + ")";
                ltr_gysGoRun.Text      = orderInfo.HomeCityName + "-->" + orderInfo.DestCityName;
                ltr_gyshbType.Text     = orderInfo.FreightType.ToString();
                ltr_gyslkType.Text     = orderInfo.TravellerType.ToString();
                ltr_gysPlaneNum.Text   = orderInfo.LFlightCode; //航班号
                ltr_gysLinkPerson.Text = "";
                ltr_gysdllevel.Text    = "";

                ltr_OrderNo.Text         = orderInfo.OrderNo;
                ltr_OrderPnr.Text        = string.IsNullOrEmpty(orderInfo.PNR) == true ? orderInfo.OPNR : "";
                ltr_IsChangePnr.Text     = string.IsNullOrEmpty(orderInfo.PNR) == true ? "" : orderInfo.PNR;
                ltr_gysCompanyName1.Text = orderInfo.SupplierCName;
                ltr_TeamType.Text        = orderInfo.RateType.ToString(); //团队类型

                #endregion
                #region 供应商详细信息
                EyouSoft.Model.TicketStructure.TicketWholesalersAllInfo gysInfo = EyouSoft.BLL.TicketStructure.TicketSupplierInfo.CreateInstance().GetSupplierInfo(orderInfo.SupplierCId);//orderInfo.SupplierCId
                if (gysInfo != null)
                {
                    GysContactMQ               = gysInfo.ContactMQ;
                    ltr_gysLinkPerson.Text     = gysInfo.ContactName;
                    ltr_gysWorkDate.Text       = gysInfo.WorkStartTime + "-" + gysInfo.WorkEndTime;
                    ltr_gysMainPage.Text       = string.IsNullOrEmpty(gysInfo.WebSite) == true?"":"<a target=\"_blank\" href=\"http://" + gysInfo.WebSite + "\">http://" + gysInfo.WebSite + "</a>"; //供应商主页
                    ltr_gysLinkPhone.Text      = gysInfo.ContactTel;
                    ltr_gysOutTickets.Text     = (gysInfo.SuccessRate * 100).ToString("F1") + "%";
                    ltr_gysdllevel.Text        = gysInfo.ProxyLev;
                    ltr_gysBackTicAgvDate.Text = "自愿/非自愿:" + gysInfo.RefundAvgTime.ToString() + "/" + gysInfo.NoRefundAvgTime.ToString();//平均退票时间
                    gysInfo = null;
                }
                ltr_gysRemark.Text = orderInfo.OrderRateInfo.SupplierRemark;

                string CgsPayInfo = "";
                //运价信息
                string strhtml = "<tr><td align=\"center\" height=\"25\">{0}</td><td align=\"center\">¥{1}</td><td align=\"center\"><font color=\"#ff6600\">{2}</font></td><td align=\"center\">{3}</td><td align=\"center\"><span class=\"jiesuanjia\">¥{4}</span></td><td align=\"center\">{5}</td><td align=\"center\">¥{6}</td></tr>";
                //回程显示的html
                string backrunhtml = "<td align=\"center\" height=\"25\">回程:</td> <td align=\"left\">{0}</td><td align=\"left\">返回时间:{1}</td><td width=\"12%\" align=\"center\">航班号:{2}</td><td align=\"left\">旅客类型:{3}</td>";
                //单程信息
                OrderRateInfo = string.Format(strhtml, "去程", Utils.GetMoney(orderInfo.OrderRateInfo.LeaveFacePrice), Utils.GetMoney(orderInfo.OrderRateInfo.LeaveDiscount) + "%", orderInfo.OrderRateInfo.LeaveTimeLimit, Utils.GetMoney(orderInfo.OrderRateInfo.LeavePrice), orderInfo.OrderRateInfo.MaxPCount.ToString(), Utils.GetMoney(orderInfo.OrderRateInfo.LFuelPrice) + "/" + Utils.GetMoney(orderInfo.OrderRateInfo.LBuildPrice));
                if (orderInfo.FreightType == EyouSoft.Model.TicketStructure.FreightType.来回程)
                {
                    CgsPayInfo = "航班信息(往返程):去程" + orderInfo.LeaveTime.ToString("yyyy-MM-dd") + "/" + orderInfo.HomeCityName + "至" + orderInfo.DestCityName + ";" + " 回程" + orderInfo.ReturnTime.ToString("yyyy-MM-dd") + "/" + orderInfo.DestCityName + "至" + orderInfo.HomeCityName;
                    //航班回程信息
                    OrderRateInfo += string.Format(strhtml, "回程", Utils.GetMoney(orderInfo.OrderRateInfo.ReturnFacePrice), Utils.GetMoney(orderInfo.OrderRateInfo.ReturnDiscount) + "%", orderInfo.OrderRateInfo.ReturnTimeLimit, Utils.GetMoney(orderInfo.OrderRateInfo.ReturnPrice), orderInfo.OrderRateInfo.MaxPCount, Utils.GetMoney(orderInfo.OrderRateInfo.RFuelPrice) + "/" + Utils.GetMoney(orderInfo.OrderRateInfo.RBuildPrice));
                    //显示回程信息
                    //string cityinfo = orderInfo.DestCityName + "(" + orderInfo.ReturnTime.ToString("hh:mm") + ")-->" + orderInfo.HomeCityName + "(" + orderInfo.LeaveTime.ToString("hh:mm") + ")";  //回程格式
                    string cityinfo = orderInfo.DestCityName + "-->" + orderInfo.HomeCityName;  //回程格式
                    BackRunInfo = string.Format(backrunhtml, cityinfo, orderInfo.ReturnTime.ToString("yyyy-MM-dd"), orderInfo.RFlightCode, orderInfo.TravellerType.ToString());
                }
                if (orderInfo.FreightType == EyouSoft.Model.TicketStructure.FreightType.单程)
                {
                    CgsPayInfo = "航班信息(单程):" + orderInfo.LeaveTime.ToString("yyyy-MM-dd") + "/" + orderInfo.HomeCityName + "至" + orderInfo.DestCityName;
                }
                #endregion
                #region 旅客信息
                ltr_perCount.Text = orderInfo.PCount.ToString();
                IList <EyouSoft.Model.TicketStructure.OrderTravellerInfo> traveller = orderInfo.Travellers;
                if (traveller != null && traveller.Count > 0)
                {
                    crptPassengersList.DataSource = traveller;
                    crptPassengersList.DataBind();
                }
                BuySafetyCount  = orderInfo.Travellers.Where(i => i.IsBuyIns).Count();       //保险数
                BuyRoutingCount = orderInfo.Travellers.Where(i => i.IsBuyItinerary).Count(); //行程单数

                #endregion

                #region 支付方式和支付金额
                ltr_PassCount.Text  = orderInfo.PCount.ToString();
                ltr_TotalPrice.Text = orderInfo.TotalAmount.ToString("0.00");
                #endregion

                #region 采购商联系方式
                txtcgsAddress.Value      = orderInfo.BuyerContactAddress;//SiteUserInfo.ContactInfo//联系人地址
                txtcgsComapanyName.Value = orderInfo.BuyerCName;
                txtcgsLinkName.Value     = orderInfo.BuyerContactName;
                txtcgsTel.Value          = orderInfo.BuyerContactMobile;
                txaExpressRemark.Value   = orderInfo.BuyerRemark; //特殊备注
                #endregion
                #region 订单处理状态
                IList <EyouSoft.Model.TicketStructure.TicketOrderLog> orderLogs = EyouSoft.BLL.TicketStructure.TicketOrder.CreateInstance().GetTicketOrderState(orderInfo.OrderId);
                if (orderLogs.Count > 0 && orderLogs != null)
                {
                    crptOrdState.DataSource = orderLogs;
                    crptOrdState.DataBind();
                    OrderStateLog = orderLogs[orderLogs.Count - 1].State;  //当前订单状态赋值
                    if (OrderStateLog != "申请改期" && OrderStateLog != "申请退票" && OrderStateLog != "申请作废" && OrderStateLog != "申请改签")
                    {
                        OrderStateLog = string.Empty;
                    }
                    foreach (EyouSoft.Model.TicketStructure.TicketOrderLog item in orderLogs)
                    {
                        item.Remark = CutStr(item.Remark, 50);
                    }
                    orderLogs = null;
                }
                #endregion

                switch (orderInfo.OrderState)
                {
                case EyouSoft.Model.TicketStructure.OrderState.等待审核:
                case EyouSoft.Model.TicketStructure.OrderState.拒绝审核:
                    divOperateOrder.Visible = false; //支付操作div
                    divPayType.Visible      = false; //支付类型div
                    divSpecRemark.Visible   = false; //特殊备注div
                    break;

                case EyouSoft.Model.TicketStructure.OrderState.出票完成:
                    divPayType.Visible      = false; //支付类型div
                    divOperateOrder.Visible = true;
                    #region 绑定退作废控件值
                    sltBlack.Items.Add(new ListItem("-请选择-", "0"));
                    sltBlankOut.Items.Add(new ListItem("-请选择-", "0"));
                    string[] arrback = Enum.GetNames(typeof(EyouSoft.Model.TicketStructure.RefundTicketType));
                    if (arrback.Length > 0 && arrback != null)
                    {
                        foreach (string item in arrback)
                        {
                            if ((EyouSoft.Model.TicketStructure.RefundTicketType)Enum.Parse(typeof(EyouSoft.Model.TicketStructure.RefundTicketType), item) == EyouSoft.Model.TicketStructure.RefundTicketType.当日作废)
                            {
                                sltBlankOut.Items.Add(new ListItem(item, item));
                                break;
                            }
                            else
                            {
                                sltBlack.Items.Add(new ListItem(item, item));
                            }
                        }
                    }

                    #endregion

                    break;

                case EyouSoft.Model.TicketStructure.OrderState.审核通过:
                    divOperateOrder.Visible = false;
                    //根据当前采购商用户绑定的支付类型显示支付链接
                    ShowCgSPayType(orderInfo.OrderNo, orderInfo.TotalAmount, CgsPayInfo, orderInfo.SupplierCId, orderInfo.OrderId);
                    OrderNo     = orderInfo.OrderNo;
                    SupplierCId = orderInfo.SupplierCId;
                    TotalAmount = orderInfo.TotalAmount.ToString();
                    break;

                case EyouSoft.Model.TicketStructure.OrderState.拒绝出票:
                case EyouSoft.Model.TicketStructure.OrderState.支付成功:
                    divOperateOrder.Visible = false; //支付操作div
                    divPayType.Visible      = false; //支付类型div
                    break;

                case EyouSoft.Model.TicketStructure.OrderState.无效订单:
                    divOperateOrder.Visible = false; //支付操作div
                    divPayType.Visible      = false; //支付类型div
                    divSpecRemark.Visible   = false; //特殊备注div
                    divcgsInfo.Visible      = false;
                    break;

                default:

                    break;
                }
                traveller = null;
                orderInfo = null;
            }
            else
            {
                Response.Redirect("CurrentOrderList.aspx");
                return;
            }
        }
コード例 #6
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string method = Utils.GetFormValue("method");

            this.Title = "支付-组团预定/散拼-机票";
            if (method != "InsertAccount")
            {
                this.Master.Naviagtion = AirTicketNavigation.团队预定散拼;
                orderBll = EyouSoft.BLL.TicketStructure.TicketOrder.CreateInstance();
                string orderId = Utils.GetQueryStringValue("orderId");
                orderInfo = orderBll.GetOrderInfoById(orderId);
                EyouSoft.Model.TicketStructure.TicketFlightCompany companyModel = EyouSoft.BLL.TicketStructure.TicketFlightCompany.CreateInstance().GetTicketFlightCompany(orderInfo.FlightId);
                if (companyModel != null)
                {
                    flightName = companyModel.AirportName;
                }


                companyName       = SiteUserInfo.CompanyName;
                contactName       = SiteUserInfo.ContactInfo.ContactName;
                address           = "";
                moible            = SiteUserInfo.ContactInfo.Mobile;
                buyInsCount       = orderInfo.Travellers.Where(i => i.IsBuyIns).Count();       //保险数
                buyItineraryCount = orderInfo.Travellers.Where(i => i.IsBuyItinerary).Count(); //行程单数
                supplierInfo      = EyouSoft.BLL.TicketStructure.TicketSupplierInfo.CreateInstance().GetSupplierInfo(orderInfo.SupplierCId);
                acl_rptCustomerList.DataSource = orderInfo.Travellers;
                acl_rptCustomerList.DataBind();
                list = EyouSoft.BLL.TicketStructure.TicketCompanyAccount.CreateInstance().GetTicketCompanyAccountList(orderInfo.SupplierCId);
            }
            else
            {
                string  payWhich    = Utils.GetFormValue("paywhich");
                string  freightType = Utils.GetFormValue("freightType");
                string  orderId     = Utils.GetFormValue("orderId");
                string  orderNo     = Utils.GetFormValue("orderNo");
                string  sellCId     = Utils.GetFormValue("sellcId");
                string  batchNo     = "";
                decimal total       = decimal.Parse(Utils.GetFormValue("total"));
                string  companyName = Utils.GetFormValue("companyname");
                string  contactName = Utils.GetFormValue("contactname");
                string  moible      = Utils.GetFormValue("moible");
                string  address     = Utils.GetFormValue("address");
                string  currUId     = SiteUserInfo.ID;
                string  currCId     = SiteUserInfo.CompanyID;
                string  theUrl      = GetPayUrl(payWhich, orderNo, total, freightType);
                decimal IntoRatio   = decimal.Parse(AlipayParameters.TongyeFee);                                                                         //平台交易费
                orderBll = EyouSoft.BLL.TicketStructure.TicketOrder.CreateInstance();
                orderBll.UpdateBuyerContact(orderId, companyName, contactName, moible, address);                                                         //修改订单联系方式
                EyouSoft.Model.TicketStructure.ItemType?         itemType = EyouSoft.Model.TicketStructure.ItemType.采购商付款到平台_订单;                         //流水金额记录项类型
                IList <EyouSoft.Model.TicketStructure.TicketPay> payList  = orderBll.GetPayList(orderId, itemType, orderNo, "");                         //获取交易记录
                list = EyouSoft.BLL.TicketStructure.TicketCompanyAccount.CreateInstance().GetTicketCompanyAccountList(sellCId);                          //获取供应商所有账户
                EyouSoft.Model.TicketStructure.TicketAccountType accountType = (EyouSoft.Model.TicketStructure.TicketAccountType)Utils.GetInt(payWhich); //获取支付类型
                string sellAccount = "";                                                                                                                 //供应商账户
                EyouSoft.Model.TicketStructure.TicketCompanyAccount accountModel = list.FirstOrDefault(i => i.InterfaceType == accountType);             //获取供应商账户实体
                if (accountModel != null)
                {
                    sellAccount = accountModel.AccountNumber; //赋值供应商账户
                }
                else
                {
                    Utils.ResponseMegError(); //如果对应接口账户不存在则输出失败
                    return;
                }
                if (payList == null || payList.Count == 0 || (payList != null && payList.Where(i => i.PayState == EyouSoft.Model.TicketStructure.PayState.交易完成).Count() < 1))//如果交易记录不存在或交易状态不是完成则添加支付前交易记录
                {
                    if (orderBll.PayBefore(orderId, orderNo, sellAccount, IntoRatio, SiteUserInfo.ID, SiteUserInfo.CompanyID, total, accountType, sellCId, "", out batchNo))
                    {
                        Utils.ResponseMeg(true, theUrl);
                    }
                    else
                    {
                        Utils.ResponseMegError();
                    }
                }

                else if (payList != null && payList.Where(i => i.PayState == EyouSoft.Model.TicketStructure.PayState.交易完成).Count() > 0)
                {
                    Utils.ResponseMeg(false, "你已经支付过,并且交易完成了!");
                }
                else
                {
                    Utils.ResponseMeg(true, theUrl);
                }
            }
        }