private static decimal getTotalFare(IEnumerable <FlightView> flights, DataTransferObject.Command.PNR.PriceView patPrice) { if (patPrice != null) { return(patPrice.Fare); } if (flights.First().BunkType == BunkType.Production) { return(flights.First().Fare); } return(flights.Sum(f => f.Fare)); }
private void bindPassenger(IEnumerable <PassengerView> passengers, IEnumerable <FlightView> flights, DataTransferObject.Command.PNR.PriceView patPrice) { var passengersHTML = new StringBuilder(); passengersHTML.Append("<table><tr><th>姓名</th><th>类型</th><th>联系方式</th><th>证件类型</th><th>证件号</th><th>票面价</th><th>民航基金/燃油税</th><th>总价</th></tr>"); var totalFare = getTotalFare(flights, patPrice); var totalAirportFee = patPrice == null?flights.Sum(f => f.AirportFee) : patPrice.AirportTax; var totalBAF = flights.Sum(f => f.BAF); foreach (var item in passengers) { passengersHTML.Append("<tr>"); passengersHTML.AppendFormat("<td>{0}</td>", item.Name); passengersHTML.AppendFormat("<td>{0}</td>", item.PassengerType.GetDescription()); passengersHTML.AppendFormat("<td>{0}</td>", item.Phone); passengersHTML.AppendFormat("<td>{0}</td>", item.CredentialsType.ToString()); passengersHTML.AppendFormat("<td>{0}</td>", item.Credentials); passengersHTML.AppendFormat("<td class='Price'>{0}</td>", totalFare.TrimInvaidZero()); passengersHTML.AppendFormat("<td>{0}/{1}</td>", totalAirportFee.TrimInvaidZero(), totalBAF.TrimInvaidZero()); passengersHTML.AppendFormat("<td>{0}</td>", (totalFare + totalAirportFee + totalBAF).TrimInvaidZero()); passengersHTML.Append("</tr>"); } passengersHTML.Append("</table>"); this.divPassengers.InnerHtml = passengersHTML.ToString(); this.hidPassengerCount.Value = passengers.Count().ToString(); this.hidPassengerType.Value = ((int)passengers.First().PassengerType).ToString(); }