| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114 | 
							- using Newtonsoft.Json;
 
- using Newtonsoft.Json.Linq;
 
- using OASystem.Domain.Dtos.CRM;
 
- using OASystem.Domain.Dtos.QiYeWeChat;
 
- using OASystem.Domain.Entities.Groups;
 
- using OASystem.Domain.Entities.Resource;
 
- using OASystem.Domain.Enums;
 
- using OpenAI.GPT3.ObjectModels;
 
- using SqlSugar;
 
- using System.Data;
 
- using System.Net;
 
- using System.Text.RegularExpressions;
 
- using static QRCoder.PayloadGenerator;
 
- using System.Windows.Forms;
 
- using Microsoft.Data.SqlClient;
 
- using OASystem.Domain.Entities.Customer;
 
- using Aspose.Words;
 
- using Bookmark = Aspose.Words.Bookmark;
 
- using OASystem.Domain.ViewModels.QiYeWeChat;
 
- using NPOI.SS.UserModel;
 
- using System.Collections;
 
- namespace OpWin
 
- {
 
-     public partial class Home : Form
 
-     {
 
-         static List<Grp_DelegationInfo> soure = null;
 
-         const string OA2023DB = "server=132.232.92.186;uid=sa;pwd=Yjx@158291;database=OA2023DB;MultipleActiveResultSets=True;";
 
-         SqlSugarClient Db = new SqlSugarClient(new ConnectionConfig()
 
-         {
 
-             ConfigId = DBEnum.OA2023DB,
 
-             ConnectionString = OA2023DB,
 
-             DbType = SqlSugar.DbType.SqlServer,
 
-             IsAutoCloseConnection = true
 
-         });
 
-         public Home()
 
-         {
 
-             InitializeComponent();
 
-         }
 
-         string[] weekdays = new string[] { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };
 
-         private void Home_Load(object sender, EventArgs e)
 
-         {
 
-             comb_Delegation.ValueMember = "Id";
 
-             comb_Delegation.DisplayMember = "TeamName";
 
-             soure = Db.Queryable<Grp_DelegationInfo>().Where(x=>x.IsDel == 0).ToList();
 
-             comb_Delegation.Items.AddRange(soure.ToArray());
 
-             comb_Delegation.DropDownHeight = 200;
 
-         }
 
-         private void btnOutput_Click(object sender, EventArgs e)
 
-         {
 
-             lblOutputResult.Text = "文件正在导出...";
 
-             lblOutputResult.ForeColor = Color.Black;
 
-             //数据源
 
-             List<Grp_TravelList> _travelList = new List<Grp_TravelList>();
 
-             int diid = 0;
 
-             try
 
-             {
 
-                 var dele = (comb_Delegation.SelectedItem as Grp_DelegationInfo);
 
-                 diid = dele.Id;
 
-             }
 
-             catch (Exception)
 
-             {
 
-                 lblOutputResult.Text = "请选择正确的团组!";
 
-                 lblOutputResult.ForeColor = Color.Black;
 
-                 MessageBox.Show("请选择正确的团组!");
 
-                 return;
 
-             }
 
-             DataTable dtBlack = null;
 
-             try
 
-             {
 
-                 dtBlack = GetTableByBlackCode(diid);
 
-             }
 
-             catch (Exception)
 
-             {
 
-                 lblOutputResult.Text = "机票黑屏代码有误!";
 
-                 lblOutputResult.ForeColor = Color.Black;
 
-                 MessageBox.Show("机票黑屏代码有误!");
 
-                 return;
 
-             }
 
-             Grp_DelegationInfo di = Db.Queryable<Grp_DelegationInfo>().First(x => x.Id == diid && x.IsDel == 0);
 
-             if (di == null)
 
-             {
 
-                 lblOutputResult.Text = "请选择正确的团组!";
 
-                 lblOutputResult.ForeColor = Color.Black;
 
-                 MessageBox.Show("请选择正确的团组!");
 
-                 return;
 
-             }
 
-             string CityStr1 = "";
 
-             List<string> countriesList = new List<string>();
 
-             List<string> cityList = new List<string>();
 
-             string countriesIntroduction = "";
 
-             string cityIntroduction = "";
 
-             string timeDifference = "";
 
-             string currExchangeRate = "";
 
-             string txt_itemPrepare = "";
 
-             string txt_specialReminder = "";
 
-             string txt_cGPrecautions = "";
 
-             string txt_yGCG = "";
 
-             string txt_conduct = "";
 
-             string txt_commonEnglish = "";
 
-             if (dtBlack == null && (dtBlack.Rows[0]["Day"] == null || dtBlack.Rows[0]["Day"].ToString() == ""))
 
-             {
 
-                 //提示
 
-                 //PublicCode.GetAlertMsg(this, GetType(), dt.Rows[dt.Rows.Count - 1]["Error"].ToString());
 
-             }
 
-             else
 
-             {
 
-                 //创建三字码示例
 
-                 Res_ThreeCode t = new Res_ThreeCode();
 
-                 //城市缓存
 
-                 string city = "";
 
-                 //出访城市
 
-                 for (int i = 0; i < dtBlack.Rows.Count; i++)
 
-                 {
 
-                     if ((i + 1) < dtBlack.Rows.Count && dtBlack.Rows[i]["Three"].ToString() == dtBlack.Rows[i + 1]["Three"].ToString())
 
-                     {
 
-                         continue;
 
-                     }
 
-                     if (dtBlack.Rows.Count > 0 && (dtBlack.Rows[i]["Three"].ToString() != null && dtBlack.Rows[i]["Three"].ToString() != ""))
 
-                     {
 
-                         //出发城市
 
-                         string cityTemp = dtBlack.Rows[i]["Three"].ToString().Replace("/", string.Empty).Substring(0, 3);
 
-                         t = Db.Queryable<Res_ThreeCode>().First(x => x.Three == cityTemp && x.IsDel == 0 );
 
-                         if (t != null)
 
-                         {
 
-                             city = city + "/" + t.City;
 
-                         }
 
-                         else
 
-                         {
 
-                             city = city + "/【" + cityTemp + "未收录,请联系机票同事录入】";
 
-                         }
 
-                         if (i == dtBlack.Rows.Count - 1)
 
-                         {
 
-                             //抵达城市
 
-                             cityTemp = dtBlack.Rows[i]["Three"].ToString().Replace("/", string.Empty).Substring(3, 3);
 
-                             t = Db.Queryable<Res_ThreeCode>().First(x => x.Three == cityTemp && x.IsDel == 0);
 
-                             if (t != null)
 
-                             {
 
-                                 city = city + "/" + t.City;
 
-                             }
 
-                             else
 
-                             {
 
-                                 city = city + "/【" + cityTemp + "未收录,请联系机票同事录入】";
 
-                             }
 
-                         }
 
-                     }
 
-                 }
 
-                 if (city != "" && city != null)
 
-                 {
 
-                     string[] cityStr2 = city.Split('/');
 
-                     string[] strs = cityStr2.Distinct().ToArray(); ;
 
-                     string str = "";
 
-                     foreach (var s in strs)
 
-                     {
 
-                         str += s + "/";
 
-                     }
 
-                     str = str.TrimStart('/');
 
-                     str = str.TrimEnd('/');
 
-                     //lblTourCity.Text = "去重前:" + city.TrimStart('/') + "\n 去重后:" + str;
 
-                     CityStr1 = city.TrimStart('/');
 
-                 }
 
-                 //opitineraryService opitservice = new opitineraryService();
 
-                 ////城市不为空
 
-                 //if (!string.IsNullOrEmpty(city))
 
-                 //{
 
-                 //    cityList = city.TrimStart('/').Split('/').ToList();
 
-                 //    if (cityList.Count > 1)
 
-                 //    {
 
-                 //        cityList.RemoveAt(0);
 
-                 //    }
 
-                 //    opitinerarydata cityData = opitservice.getDaFirstData(cityList[0]);
 
-                 //    cityIntroduction = cityData.Introduction;
 
-                 //    timeDifference = cityData.TimeDifference;
 
-                 //    currExchangeRate = cityData.CurrExchangeRate.ToString();
 
-                 //}
 
-                 ////国家不为空
 
-                 //if (!string.IsNullOrEmpty(di.VisitCountry))
 
-                 //{
 
-                 //    countriesList = di.VisitCountry.Split(' ').ToList();
 
-                 //    opitinerarydata Country = opitservice.getDaFirstData(countriesList[0]);
 
-                 //    countriesIntroduction = Country.Introduction == null ? "" : Country.Introduction;
 
-                 //}
 
-                 ////取出固定标语
 
-                 //opitineraryfixed fixedData = opitservice.getFiFirstData();
 
-                 ////if (!string.IsNullOrEmpty(fixedData.Tid.ToString()))
 
-                 ////{
 
-                 ////}
 
-                 //txt_cGPrecautions = fixedData.CGPrecautions;
 
-                 //txt_commonEnglish = fixedData.CommonEnglish;
 
-                 //txt_conduct = fixedData.Conduct;
 
-                 //txt_itemPrepare = fixedData.ItemPrepare;
 
-                 //txt_specialReminder = fixedData.SpecialReminder;
 
-                 //txt_yGCG = fixedData.YGCG;
 
-                 // 行程repeater
 
-                 if (GetByDiid(diid).Count > 0)
 
-                 {
 
-                     _travelList = GetByDiid(diid).Where(x => x.Issel == 1 && x.IsDel == 0).ToList();
 
-                 }
 
-                 else
 
-                 {
 
-                     //生成该时间段日期
 
-                     List<string> timeList = GetTimeListByDataTable(dtBlack);
 
-                     if (timeList != null)
 
-                     {
 
-                         string[] str = new string[timeList.Count];
 
-                         //rpData.DataSource = str;
 
-                         //rpData.DataBind();
 
-                     }
 
-                 }
 
-             }
 
-             //创建数据源Table
 
-             DataTable dtSource = new DataTable();
 
-             dtSource.Columns.Add("Days", typeof(string));
 
-             dtSource.Columns.Add("Date", typeof(string));
 
-             dtSource.Columns.Add("Week", typeof(string));
 
-             dtSource.Columns.Add("Traffic", typeof(string));
 
-             dtSource.Columns.Add("Trip", typeof(string));
 
-             //获取数据,放到datatable
 
-             foreach (var item in _travelList)
 
-             {
 
-                 DataRow dr = dtSource.NewRow();
 
-                 dr["Days"] = item.Days;
 
-                 dr["Date"] = item.Date;
 
-                 dr["Week"] = item.WeekDay;
 
-                 dr["Traffic"] = item.Traffic_First
 
-                                 + "\r\n"
 
-                                 + item.Traffic_Second;
 
-                 if (item.Trip.Replace("(此地区为黄热病地区,请注意打疫苗)", "").Length < 15)
 
-                 {
 
-                     item.Trip += @"
 
- 08:00 早餐于酒店;
 
- 09:00 公务活动;
 
- 10:30 公务活动;
 
- 12:00 午餐于当地餐厅;
 
- 14:00 公务活动;
 
- 16:00 公务活动;
 
- 18:00 晚餐于当地餐厅;
 
- 19:00 入住酒店休息;";
 
-                 }
 
-                 dr["Trip"] = item.Trip;
 
-                 dtSource.Rows.Add(dr);
 
-             }
 
-             //lblTeamName.Text = di.TourCode;
 
-             //lblVisitDays.Text = di.VisitDays.ToString();
 
-             //lblVisitDays2.Text = di.VisitDays.ToString();
 
-             //lblPNumber.Text = di.VisitPNumber.ToString();
 
-             //lblGroup.Text = di.TeamName.ToString();
 
-             Dictionary<string, string> dic = new Dictionary<string, string>();
 
-             dic.Add("Dele", di.TeamName.ToString() + GetNum(di.VisitDays.ToString()));
 
-             dic.Add("City", CityStr1);
 
-             dic.Add("Days", di.VisitDays.ToString());
 
-             dic.Add("DeleCode", di.TourCode);
 
-             dic.Add("Pnum", di.VisitPNumber.ToString());
 
-             dic.Add("Pnum2", di.VisitPNumber.ToString());
 
-             List<Crm_DeleClient> leader = GetByDiidClient(di.Id);
 
-             if (leader != null && leader.Count > 0)
 
-             {
 
-                 dic.Add("Leader", GetByDiidClient(di.Id)[0].LastName + GetByDiidClient(di.Id)[0].FirstName);
 
-             }
 
-             else
 
-             {
 
-                 dic.Add("Leader", "");
 
-             }
 
-             dic.Add("Pnum3", di.VisitPNumber.ToString());
 
-             int UserId = 253;
 
-             dic.Add("OP", "");
 
-             dic.Add("OPTel", "");
 
-             //dic.Add("OP", "OP姓名");
 
-             //dic.Add("OPTel", "OP手机号码");
 
-             string countriesStr = "";
 
-             countriesList.ForEach(s => countriesStr += s + "、");
 
-             countriesStr = countriesStr.TrimEnd('、');
 
-             string cityStr = "";
 
-             cityList.ForEach(s => cityStr += s + "、");
 
-             cityStr = cityStr.TrimEnd('、');
 
-             //下方数据
 
-             dic.Add("selCountries", countriesStr == null ? "" : countriesStr);
 
-             dic.Add("selCity", cityStr == null ? "" : cityStr);
 
-             dic.Add("countriesIntroduction", countriesIntroduction == null ? "" : countriesIntroduction);
 
-             dic.Add("CityIntroduction", cityIntroduction == null ? "" : cityIntroduction);
 
-             dic.Add("timeDifference", timeDifference == null ? "" : timeDifference);
 
-             dic.Add("currExchangeRate", currExchangeRate == null ? "" : currExchangeRate);
 
-             dic.Add("temperature", "");
 
-             dic.Add("txt_itemPrepare", txt_itemPrepare == null ? "" : txt_itemPrepare);
 
-             dic.Add("txt_specialReminder", txt_specialReminder == null ? "" : txt_specialReminder);
 
-             dic.Add("txt_cGPrecautions", txt_cGPrecautions == null ? "" : txt_cGPrecautions);
 
-             dic.Add("txt_yGCG", txt_yGCG == null ? "" : txt_yGCG);
 
-             dic.Add("txt_conduct", txt_conduct == null ? "" : txt_conduct);
 
-             dic.Add("txt_commonEnglish", txt_commonEnglish == null ? "" : txt_commonEnglish);
 
-             //模板路径
 
-             string tempPath = @"C:\日行程3.docx";
 
-             //载入模板
 
-             Document doc = null;
 
-             DocumentBuilder builder = null;
 
-             try
 
-             {
 
-                 //载入模板
 
-                 doc = new Document(tempPath);
 
-                 builder = new DocumentBuilder(doc);
 
-             }
 
-             catch (Exception)
 
-             {
 
-                 //载入模板
 
-                 doc = new Document(@"D:\日行程3.docx");
 
-                 builder = new DocumentBuilder(doc);
 
-             }
 
-             foreach (var key in dic.Keys)
 
-             {
 
-                 Bookmark bookmark = doc.Range.Bookmarks[key];
 
-                 if (bookmark != null)
 
-                 {
 
-                     builder.MoveToBookmark(key);
 
-                     builder.Write(dic[key]);
 
-                 }
 
-             }
 
-             //获取word里所有表格
 
-             NodeCollection allTables = doc.GetChildNodes(NodeType.Table, true);
 
-             //获取所填表格的序数
 
-             Aspose.Words.Tables.Table tableOne = allTables[0] as Aspose.Words.Tables.Table;
 
-             try
 
-             {
 
-                 //循环赋值
 
-                 for (int i = 0; i < dtSource.Rows.Count; i++)
 
-                 {
 
-                     builder.MoveToCell(0, i + 1, 0, 0);
 
-                     builder.Write(dtSource.Rows[i]["Days"].ToString());
 
-                     builder.MoveToCell(0, i + 1, 1, 0);
 
-                     builder.Write(dtSource.Rows[i]["Date"].ToString() + "\r\n" + dtSource.Rows[i]["Week"].ToString());
 
-                     builder.MoveToCell(0, i + 1, 2, 0);
 
-                     builder.Write(dtSource.Rows[i]["Traffic"].ToString());
 
-                     var trip = dtSource.Rows[i]["Trip"].ToString();
 
-                     builder.MoveToCell(0, i + 1, 3, 0);
 
-                     builder.Write(trip);
 
-                     var cell = (Aspose.Words.Tables.Cell)doc.GetChild(NodeType.Cell, ((i + 2) * 4) - 1, true);
 
-                     var paragraphs = cell.GetChildNodes(NodeType.Paragraph, true);
 
-                     // 获取特定索引的段落
 
-                     Paragraph paragraph = (Paragraph)paragraphs[0];
 
-                     Run run = paragraph.Runs[0];
 
-                     Aspose.Words.Font font = run.Font;
 
-                     font.Name = "黑体";
 
-                     //设置双休红色
 
-                     cell = (Aspose.Words.Tables.Cell)doc.GetChild(NodeType.Cell, ((i + 2) * 4) - 3, true);
 
-                     paragraphs = cell.GetChildNodes(NodeType.Paragraph, true);
 
-                     paragraph = (Paragraph)paragraphs[1];
 
-                     if (paragraph.GetText().Contains("星期六") || paragraph.GetText().Contains("星期日"))
 
-                     {
 
-                         run = paragraph.Runs[0];
 
-                         font = run.Font;
 
-                         font.Color = Color.Red;
 
-                     }
 
-                 }
 
-             }
 
-             catch (Exception ex)
 
-             {
 
-             }
 
-             //删除多余行
 
-             while (tableOne.Rows.Count > 1 + dtSource.Rows.Count)
 
-             {
 
-                 tableOne.Rows.RemoveAt(1 + dtSource.Rows.Count);//(1+dtSource.Rows.Count + 1)-1
 
-             }
 
-             string savePath = "C:\\OP行程单\\";
 
-             if (!Directory.Exists(savePath))
 
-             {
 
-                 try
 
-                 {
 
-                     Directory.CreateDirectory(savePath);
 
-                 }
 
-                 catch
 
-                 {
 
-                 }
 
-             }
 
-             string strFileName = savePath + di.TeamName + "出访日程.docx";
 
-             try
 
-             {
 
-                 doc.Save(strFileName, Aspose.Words.SaveFormat.Doc);
 
-                 lblOutputResult.Text = "文件导出完成";
 
-                 lblOutputResult.ForeColor = Color.Green;
 
-                 System.Diagnostics.Process.Start("Explorer.exe", "/select," + strFileName);
 
-             }
 
-             catch (Exception)
 
-             {
 
-                 lblOutputResult.Text = "请重试!";
 
-                 lblOutputResult.ForeColor = Color.Green;
 
-             }
 
-             //doc.Save(HttpUtility.UrlEncode(strFileName, Encoding.UTF8), Aspose.Words.SaveFormat.Doc, Aspose.Words.SaveType.OpenInWord, Response);
 
-         }
 
-         private void btnImport_Click(object sender, EventArgs e)
 
-         {
 
-             lblImport.Text = "";
 
-             lblImport.Text = "正在导入数据";
 
-             int comb_Diid = 0;
 
-             try
 
-             {
 
-                 var dele = (comb_Delegation.SelectedItem as Grp_DelegationInfo);
 
-                 comb_Diid = dele.Id;
 
-             }
 
-             catch (Exception)
 
-             {
 
-                 lblImport.Text = "请正确的选择团组!";
 
-                 lblImport.ForeColor = Color.Black;
 
-                 MessageBox.Show("请正确的选择团组!");
 
-                 return;
 
-             }
 
-             int UserId = 253;
 
-             //下拉框团组对象实例
 
-             //Grp_DelegationInfo di = dis.GetDelegationInfoByID(comb_Diid);
 
-             Grp_DelegationInfo di = Db.Queryable<Grp_DelegationInfo>().First(x => x.Id == comb_Diid && x.IsDel == 0);
 
-             if (di == null)
 
-             {
 
-                 lblImport.Text = "请正确的选择团组!";
 
-                 lblImport.ForeColor = Color.Black;
 
-                 MessageBox.Show("请正确的选择团组!");
 
-                 return;
 
-             }
 
-             DataTable dt = null;
 
-             try
 
-             {
 
-                 //获取机票黑屏代码信息,生成datatable表
 
-                 dt = GetTableByBlackCode(di.Id);
 
-             }
 
-             catch (Exception)
 
-             {
 
-                 lblImport.Text = "请正确的选择团组!";
 
-                 lblImport.ForeColor = Color.Black;
 
-                 MessageBox.Show("机票黑屏代码有误!");
 
-                 return;
 
-             }
 
-             Del(di.Id);
 
-             //通过datatable表里的第一个字段的信息来判断是否有黑屏代码
 
-             //没有则提示未录入
 
-             if (dt.Rows[0]["Day"] == null || dt.Rows[0]["Day"].ToString() == "")
 
-             {
 
-                 //PublicCode.GetAlertMsg(this, GetType(), dt.Rows[dt.Rows.Count - 1]["Error"].ToString());
 
-                 lblImport.Text = "黑屏代码未录入";
 
-             }
 
-             else//成功获取黑屏代码
 
-             {
 
-                 //根据黑屏代码生成日期段
 
-                 List<string> timeList = GetTimeListByDataTable(dt);
 
-                 //本团车导地接信息
 
-                 //List<CarTouristGuideGroundReservations> listctg = ctgs.GetCarTouristGuideGroundReservationsByDIID(di.Id);
 
-                 List<Grp_CarTouristGuideGroundReservations> listctg = Db.Queryable<Grp_CarTouristGuideGroundReservations>().Where(x => x.DiId == di.Id && x.IsDel == 0).ToList();
 
-                 //本团酒店信息
 
-                 //List<HotelReservations> listht = htrs.GetByDIId(di.Id);
 
-                 List<Grp_HotelReservations> listht = Db.Queryable<Grp_HotelReservations>().Where(x => x.DiId == di.Id && x.IsDel == 0).ToList();
 
-                 //本团行程单数据
 
-                 //List<Grp_TravelList> listTravel = tls.GetByDiid(di.Id);
 
-                 List<Grp_TravelList> listTravel = Db.Queryable<Grp_TravelList>().Where(x => x.Diid == di.Id && x.IsDel == 0).ToList();
 
-                 try
 
-                 {
 
-                     if (listTravel != null && listTravel.Count > 0)//若本团已存行程,则合并/更新;同时因为机票行程的变化或行程详情的变化,会导致行程更改
 
-                     {
 
-                         if (timeList.Count > listTravel.Count)//1.改版后黑屏代码天数>已存在行程的天数
 
-                         {
 
-                             //1.1替换日期和星期
 
-                             for (int i = 0; i < listTravel.Count; i++)
 
-                             {
 
-                                 //日期转换星期
 
-                                 string weekday = weekdays[(int)new DateTime(
 
-                                    Convert.ToInt32(timeList[i].Split('-')[0]),
 
-                                    Convert.ToInt32(timeList[i].Split('-')[1]),
 
-                                    Convert.ToInt32(timeList[i].Split('-')[2])).DayOfWeek];
 
-                                 // 日期去掉0
 
-                                 string monthStr = "Unknown", dayStr = "Unknown";
 
-                                 if (!string.IsNullOrEmpty(timeList[i]))
 
-                                 {
 
-                                     DateTime dateTime = new DateTime();
 
-                                     bool convertResult = DateTime.TryParse(timeList[i], out dateTime);
 
-                                     if (convertResult)
 
-                                     {
 
-                                         monthStr = dateTime.Month.ToString();
 
-                                         dayStr = dateTime.Day.ToString();
 
-                                     }
 
-                                 }
 
-                                 //日期
 
-                                 listTravel[i].Date = monthStr + "月" + dayStr + "日";
 
-                                 //listTravel[i].Date = timeList[i].Substring(5, 2) + "月" + timeList[i].Substring(8, 2) + "日";
 
-                                 listTravel[i].WeekDay = weekday;
 
-                                 listTravel[i].CreateUserId = UserId;
 
-                                 listTravel[i].CreateTime = GetBeijingTime();
 
-                                 listTravel[i].IsDel = 0;
 
-                                 //tls.EditTravelList(listTravel[i]);
 
-                                 Db.Updateable<Grp_TravelList>(listTravel[i]).ExecuteCommand();
 
-                             }
 
-                             //1.2添加未有行程
 
-                             //航班号标识
 
-                             //string flightcode_Sign = "";
 
-                             //三字码标识
 
-                             //string citycode_Sign = "";
 
-                             #region 城市数据 20210823 贾文滔
 
-                             List<CityInDate> CityInDateList = GetCityByDataTable(dt);
 
-                             #endregion
 
-                             //生成行程
 
-                             for (int i = listTravel.Count; i < timeList.Count; i++)
 
-                             {
 
-                                 //实、例化一个temp
 
-                                 Grp_TravelList tlTemp = new Grp_TravelList();
 
-                                 //团号
 
-                                 tlTemp.Diid = di.Id;
 
-                                 //天数序号
 
-                                 tlTemp.Days = i + 1;
 
-                                 //日期
 
-                                 tlTemp.Date = timeList[i].Substring(5, 2) + "月" + timeList[i].Substring(8, 2) + "日";
 
-                                 //日期转换星期
 
-                                 string weekday = weekdays[(int)new DateTime(
 
-                                    Convert.ToInt32(timeList[i].Split('-')[0]),
 
-                                    Convert.ToInt32(timeList[i].Split('-')[1]),
 
-                                    Convert.ToInt32(timeList[i].Split('-')[2])).DayOfWeek];
 
-                                 tlTemp.WeekDay = weekday;
 
-                                 //行程
 
-                                 string trip = "";
 
-                                 //历经城市
 
-                                 string city = "";
 
-                                 #region  机票数据
 
-                                 //根据航班信息推出抵达机场的位置信息
 
-                                 string AirPort = "";
 
-                                 //根据航班时间前后推进入机场或离开机场的时间
 
-                                 string GoAirportTime = "", leaveAirPortTime = "";
 
-                                 //飞机标识
 
-                                 bool airSign = false;
 
-                                 //查询该日期下的航班信息
 
-                                 //resultRows字段顺序为:航班号,起飞日期,三字码,起飞时刻,到达时刻,出发航站楼,到达航站楼,机型,飞行时间,整理后的起飞日期,整理后的到达日期
 
-                                 DataRow[] resultRows = dt.Select("Day like '%" + timeList[i] + "%'");
 
-                                 if (resultRows.Count() > 0)
 
-                                 {
 
-                                     //修改标识
 
-                                     airSign = true;
 
-                                 }
 
-                                 //同一天只有一条数据走正常判定
 
-                                 if (resultRows.Count() == 1)
 
-                                 {
 
-                                     #region 三字码
 
-                                     string _citycode = resultRows[0]["Three"].ToString();
 
-                                     //起飞城市三字码
 
-                                     Res_ThreeCode font_threecode = null;
 
-                                     string font_citycode = _citycode.Replace("/", string.Empty).Substring(0, 3);
 
-                                     //抵达城市
 
-                                     string font_City = "";
 
-                                     //起飞城市机场
 
-                                     string font_Airport = "";
 
-                                     //抵达城市三字码
 
-                                     Res_ThreeCode back_threecode = null;
 
-                                     string end_citycode = _citycode.Replace("/", string.Empty).Substring(3, 3);
 
-                                     //抵达城市机场
 
-                                     string back_Airport = "";
 
-                                     //抵达城市
 
-                                     string back_City = "";
 
-                                     font_threecode = getByThree(font_citycode);
 
-                                     //验证是否存在三字码
 
-                                     if (font_threecode == null)
 
-                                     {
 
-                                         city = city + "【此三字码" + font_citycode + "未收录,请机票同事录入】" + "一";
 
-                                         font_Airport = "【此三字码" + font_citycode + "未收录,请机票同事录入】";
 
-                                         font_City = "【此三字码" + font_citycode + "未收录,请机票同事录入】";
 
-                                     }
 
-                                     else
 
-                                     {
 
-                                         city = city + "/" + font_threecode.City;
 
-                                         font_Airport = font_threecode.AirPort;
 
-                                         font_City = font_threecode.City; ;
 
-                                     }
 
-                                     back_threecode = getByThree(end_citycode);
 
-                                     if (back_threecode == null)
 
-                                     {
 
-                                         city = city + "【此三字码" + end_citycode + "未收录,请机票同事录入】" + "一";
 
-                                         back_Airport = "【此三字码" + end_citycode + "未收录,请机票同事录入】";
 
-                                         back_City = "【此三字码" + end_citycode + "未收录,请机票同事录入】";
 
-                                     }
 
-                                     else
 
-                                     {
 
-                                         city = city + "/" + back_threecode.City;
 
-                                         //部分黄热病国家,需要提醒打疫苗
 
-                                         string result = GetCountryInfo(back_threecode.Country);
 
-                                         if (result.Contains("3"))
 
-                                         {
 
-                                             city += "(此地区为黄热病地区,请注意打疫苗)";
 
-                                         }
 
-                                         back_Airport = back_threecode.AirPort;
 
-                                         back_City = back_threecode.City;
 
-                                         //查询酒店路线要用
 
-                                         AirPort = back_threecode.AirPort;
 
-                                     }
 
-                                     //行程里加入城市
 
-                                     #endregion
 
-                                     #region 信息准备
 
-                                     trip = city.TrimStart('/');
 
-                                     //起飞航站楼
 
-                                     string _StartBuilding = resultRows[0]["StartBuilding"].ToString();
 
-                                     //转机航站楼
 
-                                     string _EndBuilding = resultRows[0]["EndBuilding"].ToString();
 
-                                     //起飞时刻
 
-                                     string _startTime = resultRows[0]["StartTime"].ToString();
 
-                                     //飞行时刻
 
-                                     string _flightTime = resultRows[0]["FlightTime"].ToString();
 
-                                     _flightTime = _flightTime.Contains("H") ? _flightTime.Split('H')[0] + "小时" + _flightTime.Split('H')[1].Split('M')[0] + "分钟" : _flightTime.Split('M')[0] + "分钟";
 
-                                     //到达时刻
 
-                                     string _endTime = resultRows[0]["EndTime"].ToString();
 
-                                     //航班号
 
-                                     string _flightcode = resultRows[0]["Fliagtcode"].ToString();
 
-                                     //航司
 
-                                     //Res_AirCompany aircompany = acs.getByShortCode(_flightcode.Substring(0, 2));
 
-                                     Res_AirCompany aircompany = getByShortCode(_flightcode.Substring(0, 2));
 
-                                     string _aircompany_Name = "";
 
-                                     if (aircompany == null)
 
-                                     {
 
-                                         _aircompany_Name = "【此航司" + resultRows[0]["Fliagtcode"].ToString().Substring(0, 2) + "未收录,请机票同事录入】";
 
-                                     }
 
-                                     else
 
-                                     {
 
-                                         _aircompany_Name = aircompany.CnName;
 
-                                     }
 
-                                     //机型判断
 
-                                     string airModel = resultRows[0]["AirModel"].ToString();
 
-                                     airModel = GetLonger(airModel.Substring(0, 1)) + airModel;
 
-                                     #endregion
 
-                                     #region trip编辑
 
-                                     //若本行抵达时间包含"+1",则本行为母版行,仅提示登机
 
-                                     if (resultRows[0]["Sign"].ToString() == "0" && _endTime.Contains("+"))
 
-                                     {
 
-                                         //根据航班信息推算进入机场的时间                               
 
-                                         int temp = Convert.ToInt32(_startTime.Substring(0, 2)) - 2;//一般提前提前两小时
 
-                                         string result = GetCountryInfo(back_threecode.Country);//美国或者欧洲国家提前三小时
 
-                                         if (result.Contains("2"))
 
-                                         {
 
-                                             temp = Convert.ToInt32(_startTime.Substring(0, 2)) - 3;//提前3小时
 
-                                         }
 
-                                         if (temp < 0)
 
-                                         {
 
-                                             temp = temp + 24;
 
-                                         }
 
-                                         GoAirportTime = temp < 10 ? "0" + temp.ToString() : temp.ToString();
 
-                                         GoAirportTime = GoAirportTime + ":" + _startTime.Substring(2, _startTime.Length - 2);
 
-                                         //第一天之后的行程可以加上“酒店出发到机场”的距离和时间
 
-                                         if (i > 0)
 
-                                         {
 
-                                             #region 酒店      
 
-                                             foreach (var h in listht)
 
-                                             {
 
-                                                 if (Convert.ToDateTime(h.CheckInDate) < Convert.ToDateTime(timeList[i])
 
-                                                  && Convert.ToDateTime(h.CheckOutDate) > Convert.ToDateTime(timeList[i]))
 
-                                                 {
 
-                                                     //利用谷歌API计算路线
 
-                                                     if (AirPort != "")
 
-                                                     {
 
-                                                         GoogleMapApiResult g = null;
 
-                                                         if (g != null)
 
-                                                         {
 
-                                                             //计算“酒店到机场”的时间
 
-                                                             string CheckoutHotelTime;
 
-                                                             //处理时间格式
 
-                                                             string hours = "", mins = "";
 
-                                                             if (g.Time.Contains("hour"))
 
-                                                             {
 
-                                                                 g.Time = g.Time.Replace("hour", "h");
 
-                                                             }
 
-                                                             else if (g.Time.Contains("hours"))
 
-                                                             {
 
-                                                                 g.Time = g.Time.Replace("hours", "h");
 
-                                                             }
 
-                                                             g.Time = g.Time.Replace("mins", "m");
 
-                                                             if (g.Time.Contains("h"))
 
-                                                             {
 
-                                                                 hours = g.Time.Split('h')[0].Trim();
 
-                                                             }
 
-                                                             else if (!g.Time.Contains("h"))
 
-                                                             {
 
-                                                                 mins = g.Time.Split('m')[0].Trim();
 
-                                                             }
 
-                                                             int hour = Convert.ToInt32(GoAirportTime.Substring(0, 2));
 
-                                                             int min = Convert.ToInt32(GoAirportTime.Substring(3, 2));
 
-                                                             min = min - Convert.ToInt32(mins);
 
-                                                             if (min < 0)
 
-                                                             {
 
-                                                                 min = min + 60;
 
-                                                                 hour = hour - 1;
 
-                                                             }
 
-                                                             if (hours != "")
 
-                                                             {
 
-                                                                 hour = hour - Convert.ToInt32(hours);
 
-                                                             }
 
-                                                             if (hour < 0)
 
-                                                             {
 
-                                                                 hour = hour + 24;
 
-                                                             }
 
-                                                             CheckoutHotelTime = hour < 10 ? "0" + hour.ToString() : hour.ToString();
 
-                                                             CheckoutHotelTime = CheckoutHotelTime + ":" + (min < 10 ? "0" + min.ToString() : min.ToString());
 
-                                                             trip = trip + "\r\n"
 
-                                                                         + CheckoutHotelTime + " 乘车前往机场:(" + g.Distance + "," + g.Time + ")";
 
-                                                         }
 
-                                                         else
 
-                                                         {
 
-                                                             try
 
-                                                             {
 
-                                                                 JObject Result = GetDirectionByGoogleApi(h.HotelAddress, font_Airport);
 
-                                                                 //计算“抵达酒店办理入住手续”的时间
 
-                                                                 string CheckoutHotelTime;
 
-                                                                 //处理时间格式
 
-                                                                 string Gtime = "", hours = "", mins = "";
 
-                                                                 if (Result["routes"][0]["legs"][0]["duration"]["text"].ToString().Contains("hour"))
 
-                                                                 {
 
-                                                                     Gtime = Result["routes"][0]["legs"][0]["duration"]["text"].ToString().Replace("hour", "h");
 
-                                                                 }
 
-                                                                 else if (Result["routes"][0]["legs"][0]["duration"]["text"].ToString().Contains("hours"))
 
-                                                                 {
 
-                                                                     Gtime = Result["routes"][0]["legs"][0]["duration"]["text"].ToString().Replace("hours", "h");
 
-                                                                 }
 
-                                                                 Gtime = Gtime.Replace("mins", "m");
 
-                                                                 if (!string.IsNullOrEmpty(Gtime) && Gtime.Contains("h"))
 
-                                                                 {
 
-                                                                     hours = Gtime.Split('h')[0].Trim();
 
-                                                                 }
 
-                                                                 else if (!string.IsNullOrEmpty(Gtime) && !Gtime.Contains("h"))
 
-                                                                 {
 
-                                                                     mins = Gtime.Split('m')[0].Trim();
 
-                                                                 }
 
-                                                                 int hour = Convert.ToInt32(leaveAirPortTime.Substring(0, 2));
 
-                                                                 int min = Convert.ToInt32(leaveAirPortTime.Substring(3, 2));
 
-                                                                 min = min - Convert.ToInt32(mins);
 
-                                                                 if (min < 0)
 
-                                                                 {
 
-                                                                     min = min + 60;
 
-                                                                     hour = hour - 1;
 
-                                                                 }
 
-                                                                 if (hours != "")
 
-                                                                 {
 
-                                                                     hour = hour + Convert.ToInt32(hours);
 
-                                                                 }
 
-                                                                 if (hour < 0)
 
-                                                                 {
 
-                                                                     hour = hour + 24;
 
-                                                                 }
 
-                                                                 CheckoutHotelTime = hour < 10 ? "0" + hour.ToString() : hour.ToString();
 
-                                                                 CheckoutHotelTime = CheckoutHotelTime + ":" + (min < 10 ? "0" + min.ToString() : min.ToString());
 
-                                                                 trip = trip + "\r\n"
 
-                                                                             + CheckoutHotelTime + " 乘车前往机场:(" + g.Distance + "," + g.Time + ")";
 
-                                                                 GoogleMapApiResult gtemp = new GoogleMapApiResult();
 
-                                                                 gtemp.Diid = di.Id;
 
-                                                                 gtemp.Date = "";
 
-                                                                 gtemp.Moment = "";
 
-                                                                 gtemp.StartAddress = AirPort;
 
-                                                                 gtemp.EndAddress = h.HotelAddress;
 
-                                                                 gtemp.Time = Result["routes"][0]["legs"][0]["duration"]["text"].ToString();
 
-                                                                 gtemp.Distance = Result["routes"][0]["legs"][0]["distance"]["text"].ToString();
 
-                                                                 //gmrs.Add(gtemp);
 
-                                                             }
 
-                                                             catch
 
-                                                             {
 
-                                                                 trip = trip + "\r\n"
 
-                                                                      + "          乘车前往机场:(谷歌接口异常,无法测算的路程时间)";
 
-                                                             }
 
-                                                         }
 
-                                                     }
 
-                                                 }
 
-                                             }
 
-                                             #endregion
 
-                                         }
 
-                                         //行程
 
-                                         trip = trip
 
-                                              + "\r\n" + GoAirportTime + " 抵达" + font_Airport + _StartBuilding + "航站楼,办理登机手续:"
 
-                                              + "\r\n" + _startTime.Substring(0, 2) + ":" + _startTime.Substring(2, _startTime.Length - 2) + " 搭乘" + _aircompany_Name + "航空公司" + _flightcode + "航班,由" + font_City + "飞往" + back_City + ";"
 
-                                              + "\r\n" + "       (" + font_Airport + "/" + back_Airport + "  机型:" + airModel + "    飞行时间" + (_flightTime) + ");";
 
-                                         //标记本行为母版行
 
-                                         //flightcode_Sign = resultRows[0]["Fliagtcode"].ToString();
 
-                                         //citycode_Sign = resultRows[0]["Three"].ToString();
 
-                                     }
 
-                                     //与前一行航班号,三字码相同且本行抵达时间不包含"+1",则本行是被生成的重复行,仅提示抵达
 
-                                     else if (resultRows[0]["Sign"].ToString() == "1") /* && (!_endTime.Contains("+"))&&(_flightcode == flightcode_Sign)&&(_citycode == citycode_Sign)*/
 
-                                     {
 
-                                         //行程
 
-                                         trip = trip
 
-                                              + "\r\n" + _endTime.Substring(0, 2) + ":" + _endTime.Substring(2, _endTime.Length - 2) + " 抵达" + back_Airport + _EndBuilding + "航站楼,办理入境手续,之后前往提取行李";
 
-                                         //根据航班信息推算离开机场的时间
 
-                                         int temp = Convert.ToInt32(_endTime.Substring(0, 2)) + 1;
 
-                                         leaveAirPortTime = temp < 10 ? "0" + temp.ToString() : temp.ToString();
 
-                                         leaveAirPortTime = leaveAirPortTime + ":" + _endTime.Substring(2, _endTime.Length - 2);
 
-                                         if (i == timeList.Count - 1)//如果本日是行程的最后一天,则提醒“行程圆满结束” 
 
-                                         {
 
-                                             trip = trip + " ,圆满结束此次访问之行!";
 
-                                         }
 
-                                         else //如果本日不是行程的最后一天,正常提醒
 
-                                         {
 
-                                             //trip += pushTrip(leaveAirPortTime, back_Airport, city,out leaveAirPortTime);
 
-                                             trip = trip + ";\r\n" + leaveAirPortTime + " 搭乘专车前往酒店,抵达后办理入住;";
 
-                                         }
 
-                                         //整理离开机场的时间 +10分钟为"乘车前往酒店"的时刻
 
-                                         int hour = Convert.ToInt32(leaveAirPortTime.Substring(0, 2));
 
-                                         int min = Convert.ToInt32(leaveAirPortTime.Substring(3, 2));
 
-                                         min = min + 10;
 
-                                         if (min > 59)
 
-                                         {
 
-                                             min = min - 60;
 
-                                             hour = hour + 1;
 
-                                         }
 
-                                         if (hour > 23)
 
-                                         {
 
-                                             hour = hour - 24;
 
-                                         }
 
-                                         leaveAirPortTime = hour < 10 ? "0" + hour.ToString() : hour.ToString();
 
-                                         leaveAirPortTime = leaveAirPortTime + ":" + (min < 10 ? "0" + min.ToString() : min.ToString());
 
-                                     }
 
-                                     //正常提示
 
-                                     else
 
-                                     {
 
-                                         //根据航班信息推算进入机场的时间
 
-                                         int temp = Convert.ToInt32(_startTime.Substring(0, 2)) - 2;//一般提前提前2小时
 
-                                         string result = GetCountryInfo(back_threecode.Country);//美国或者欧洲国家提前3小时
 
-                                         if (result.Contains("2"))
 
-                                         {
 
-                                             temp = Convert.ToInt32(_startTime.Substring(0, 2)) - 3;//提前3小时
 
-                                         }
 
-                                         if (temp < 0)
 
-                                         {
 
-                                             temp = temp + 24;
 
-                                         }
 
-                                         GoAirportTime = temp < 10 ? "0" + temp.ToString() : temp.ToString();
 
-                                         GoAirportTime = GoAirportTime + ":" + _startTime.Substring(2, _startTime.Length - 2);
 
-                                         //根据航班信息推算离开机场的时间
 
-                                         temp = Convert.ToInt32(_endTime.Substring(0, 2)) + 1;
 
-                                         leaveAirPortTime = temp < 10 ? "0" + temp.ToString() : temp.ToString();
 
-                                         leaveAirPortTime = leaveAirPortTime + ":" + _endTime.Substring(2, _endTime.Length - 2);
 
-                                         //第一天之后的行程可以加上“酒店出发到机场”的距离和时间
 
-                                         if (i > 0)
 
-                                         {
 
-                                             #region 酒店      
 
-                                             foreach (var h in listht)
 
-                                             {
 
-                                                 if (Convert.ToDateTime(h.CheckInDate) < Convert.ToDateTime(timeList[i])
 
-                                                  && Convert.ToDateTime(h.CheckOutDate) >= Convert.ToDateTime(timeList[i]))
 
-                                                 {
 
-                                                     //利用谷歌API计算路线
 
-                                                     if (AirPort != "")
 
-                                                     {
 
-                                                         GoogleMapApiResult g = null;
 
-                                                         if (g != null)
 
-                                                         {
 
-                                                             //计算“酒店到机场”的时间
 
-                                                             string CheckoutHotelTime;
 
-                                                             //处理时间格式
 
-                                                             string hours = "0", mins = "0";
 
-                                                             if (g.Time.Contains("hour"))
 
-                                                             {
 
-                                                                 g.Time = g.Time.Replace("hour", "h");
 
-                                                             }
 
-                                                             else if (g.Time.Contains("hours"))
 
-                                                             {
 
-                                                                 g.Time = g.Time.Replace("hours", "h");
 
-                                                             }
 
-                                                             g.Time = g.Time.Replace("mins", "m");
 
-                                                             if (g.Time.Contains("h"))
 
-                                                             {
 
-                                                                 hours = g.Time.Split('h')[0].Trim();
 
-                                                             }
 
-                                                             else if (!g.Time.Contains("h"))
 
-                                                             {
 
-                                                                 mins = g.Time.Split('m')[0].Trim();
 
-                                                             }
 
-                                                             int _hour = Convert.ToInt32(GoAirportTime.Substring(0, 2));
 
-                                                             int _min = Convert.ToInt32(GoAirportTime.Substring(3, 2));
 
-                                                             _min = _min - Convert.ToInt32(mins);
 
-                                                             if (_min < 0)
 
-                                                             {
 
-                                                                 _min = _min + 60;
 
-                                                                 _hour = _hour - 1;
 
-                                                             }
 
-                                                             if (hours != "")
 
-                                                             {
 
-                                                                 _hour = _hour - Convert.ToInt32(hours);
 
-                                                             }
 
-                                                             if (_hour < 0)
 
-                                                             {
 
-                                                                 _hour = _hour + 24;
 
-                                                             }
 
-                                                             CheckoutHotelTime = _hour < 10 ? "0" + _hour.ToString() : _hour.ToString();
 
-                                                             CheckoutHotelTime = CheckoutHotelTime + ":" + (_min < 10 ? "0" + _min.ToString() : _min.ToString());
 
-                                                             trip = trip + "\r\n"
 
-                                                                         + CheckoutHotelTime + " 乘车前往机场:(" + g.Distance + "," + g.Time + ")";
 
-                                                         }
 
-                                                         else
 
-                                                         {
 
-                                                             try
 
-                                                             {
 
-                                                                 JObject Result = GetDirectionByGoogleApi(h.HotelAddress, font_Airport);
 
-                                                                 //计算“抵达酒店办理入住手续”的时间
 
-                                                                 string CheckoutHotelTime;
 
-                                                                 //处理时间格式
 
-                                                                 string Gtime = "", hours = "0", mins = "0";
 
-                                                                 if (Result["routes"][0]["legs"][0]["duration"]["text"].ToString().Contains("hour"))
 
-                                                                 {
 
-                                                                     Gtime = Result["routes"][0]["legs"][0]["duration"]["text"].ToString().Replace("hour", "h");
 
-                                                                 }
 
-                                                                 else if (Result["routes"][0]["legs"][0]["duration"]["text"].ToString().Contains("hours"))
 
-                                                                 {
 
-                                                                     Gtime = Result["routes"][0]["legs"][0]["duration"]["text"].ToString().Replace("hours", "h");
 
-                                                                 }
 
-                                                                 Gtime = Gtime.Replace("mins", "m");
 
-                                                                 if (!string.IsNullOrEmpty(Gtime) && Gtime.Contains("h"))
 
-                                                                 {
 
-                                                                     hours = Gtime.Split('h')[0].Trim();
 
-                                                                 }
 
-                                                                 else if (!string.IsNullOrEmpty(Gtime) && !Gtime.Contains("h"))
 
-                                                                 {
 
-                                                                     mins = Gtime.Split('m')[0].Trim();
 
-                                                                 }
 
-                                                                 int _hour = Convert.ToInt32(leaveAirPortTime.Substring(0, 2));
 
-                                                                 int _min = Convert.ToInt32(leaveAirPortTime.Substring(3, 2));
 
-                                                                 _min = _min - Convert.ToInt32(mins);
 
-                                                                 if (_min < 0)
 
-                                                                 {
 
-                                                                     _min = _min + 60;
 
-                                                                     _hour = _hour - 1;
 
-                                                                 }
 
-                                                                 if (hours != "")
 
-                                                                 {
 
-                                                                     _hour = _hour + Convert.ToInt32(hours);
 
-                                                                 }
 
-                                                                 if (_hour < 0)
 
-                                                                 {
 
-                                                                     _hour = _hour + 24;
 
-                                                                 }
 
-                                                                 CheckoutHotelTime = _hour < 10 ? "0" + _hour.ToString() : _hour.ToString();
 
-                                                                 CheckoutHotelTime = CheckoutHotelTime + ":" + (_min < 10 ? "0" + _min.ToString() : _min.ToString());
 
-                                                                 trip = trip + "\r\n"
 
-                                                                             + CheckoutHotelTime + " 乘车前往机场:(" + g.Distance + "," + g.Time + ")";
 
-                                                                 GoogleMapApiResult gtemp = new GoogleMapApiResult();
 
-                                                                 gtemp.Diid = di.Id;
 
-                                                                 gtemp.Date = "";
 
-                                                                 gtemp.Moment = "";
 
-                                                                 gtemp.StartAddress = AirPort;
 
-                                                                 gtemp.EndAddress = h.HotelAddress;
 
-                                                                 gtemp.Time = Result["routes"][0]["legs"][0]["duration"]["text"].ToString();
 
-                                                                 gtemp.Distance = Result["routes"][0]["legs"][0]["distance"]["text"].ToString();
 
-                                                                 //gmrs.Add(gtemp);
 
-                                                             }
 
-                                                             catch
 
-                                                             {
 
-                                                                 trip = trip + "\r\n"
 
-                                                                      + "          乘车前往机场:(谷歌接口异常,无法测算的路程时间)";
 
-                                                             }
 
-                                                         }
 
-                                                     }
 
-                                                 }
 
-                                             }
 
-                                             #endregion
 
-                                         }
 
-                                         trip = trip
 
-                                              + "\r\n" + GoAirportTime + " 抵达" + font_Airport + _StartBuilding + "航站楼,办理登机手续:"
 
-                                              + "\r\n" + _startTime.Substring(0, 2) + ":" + _startTime.Substring(2, _startTime.Length - 2) + " 搭乘" + _aircompany_Name + "航空公司" + _flightcode + "航班,由" + font_City + "飞往" + back_City + ";"
 
-                                              + "\r\n" + "       (" + font_Airport + "/" + back_Airport + "  机型:" + airModel + "    飞行时间" + (_flightTime) + ");"
 
-                                              + "\r\n" + _endTime.Substring(0, 2) + ":" + _endTime.Substring(2, _endTime.Length - 2) + " 抵达" + back_Airport + _EndBuilding + "航站楼,办理入境手续,之后前往提取行李";
 
-                                         if (i == timeList.Count - 1)//如果本日是行程的最后一天,先增加酒店到机场的距离时间,再在末尾提醒“行程圆满结束” 
 
-                                         {
 
-                                             trip = trip + ",圆满结束此次访问之行!";
 
-                                         }
 
-                                         else //如果本日不是行程的最后一天,正常提醒
 
-                                         {
 
-                                             trip += pushTrip(leaveAirPortTime, back_Airport, city, out leaveAirPortTime);
 
-                                             trip = trip + ";\r\n" + leaveAirPortTime + "搭乘专车前往酒店,抵达后办理入住;";
 
-                                         }
 
-                                         //整理离开机场的时间 +10分钟为"乘车前往酒店"的时刻
 
-                                         int hour = Convert.ToInt32(leaveAirPortTime.Substring(0, 2));
 
-                                         int min = Convert.ToInt32(leaveAirPortTime.Substring(3, 2));
 
-                                         min = min + 10;
 
-                                         if (min > 59)
 
-                                         {
 
-                                             min = min - 60;
 
-                                             hour = hour + 1;
 
-                                         }
 
-                                         if (hour > 23)
 
-                                         {
 
-                                             hour = hour - 24;
 
-                                         }
 
-                                         leaveAirPortTime = hour < 10 ? "0" + hour.ToString() : hour.ToString();
 
-                                         leaveAirPortTime = leaveAirPortTime + ":" + (min < 10 ? "0" + min.ToString() : min.ToString());
 
-                                     }
 
-                                     #endregion
 
-                                 }
 
-                                 //同一天多条数据走分类讨论
 
-                                 else
 
-                                 {
 
-                                     for (int n = 0; n < resultRows.Count(); n++)
 
-                                     {
 
-                                         city = "";
 
-                                         #region 三字码
 
-                                         string _citycode = resultRows[n]["Three"].ToString();
 
-                                         //起飞城市三字码
 
-                                         Res_ThreeCode font_threecode = null;
 
-                                         string font_citycode = _citycode.Replace("/", string.Empty).Substring(0, 3);
 
-                                         //抵达城市
 
-                                         string font_City = "";
 
-                                         //起飞城市机场
 
-                                         string font_Airport = "";
 
-                                         //抵达城市三字码
 
-                                         Res_ThreeCode back_threecode = null;
 
-                                         string end_citycode = _citycode.Replace("/", string.Empty).Substring(3, 3);
 
-                                         //抵达城市机场
 
-                                         string back_Airport = "";
 
-                                         //抵达城市
 
-                                         string back_City = "";
 
-                                         font_threecode = getByThree(font_citycode);
 
-                                         //验证是否存在三字码
 
-                                         if (font_threecode == null)
 
-                                         {
 
-                                             city = city + "【此三字码" + font_citycode + "未收录,请机票同事录入】" + "一";
 
-                                             font_Airport = "【此三字码" + font_citycode + "未收录,请机票同事录入】";
 
-                                             font_City = "【此三字码" + font_citycode + "未收录,请机票同事录入】";
 
-                                         }
 
-                                         else
 
-                                         {
 
-                                             city = city + "/" + font_threecode.City;
 
-                                             font_Airport = font_threecode.AirPort;
 
-                                             font_City = font_threecode.City; ;
 
-                                         }
 
-                                         back_threecode = getByThree(end_citycode);
 
-                                         if (back_threecode == null)
 
-                                         {
 
-                                             city = city + "【此三字码" + end_citycode + "未收录,请机票同事录入】" + "一";
 
-                                             back_Airport = "【此三字码" + end_citycode + "未收录,请机票同事录入】";
 
-                                             back_City = "【此三字码" + end_citycode + "未收录,请机票同事录入】";
 
-                                         }
 
-                                         else
 
-                                         {
 
-                                             city = city + "/" + back_threecode.City;
 
-                                             //部分黄热病国家,需要提醒打疫苗
 
-                                             string result = GetCountryInfo(back_threecode.Country);
 
-                                             if (result.Contains("3"))
 
-                                             {
 
-                                                 city += "(此地区为黄热病地区,请注意打疫苗)";
 
-                                             }
 
-                                             back_Airport = back_threecode.AirPort;
 
-                                             back_City = back_threecode.City;
 
-                                             //查询酒店路线要用
 
-                                             AirPort = back_threecode.AirPort;
 
-                                         }
 
-                                         //行程里加入城市
 
-                                         if (trip == "")
 
-                                         {
 
-                                             trip = city.TrimStart('/');
 
-                                         }
 
-                                         else
 
-                                         {
 
-                                             trip = trip + "\r\n"
 
-                                                  + city.TrimStart('/');
 
-                                         }
 
-                                         //起飞航站楼
 
-                                         string _StartBuilding = resultRows[n]["StartBuilding"].ToString();
 
-                                         //转机航站楼
 
-                                         string _EndBuilding = resultRows[n]["EndBuilding"].ToString();
 
-                                         //起飞时刻
 
-                                         string _startTime = resultRows[n]["StartTime"].ToString();
 
-                                         //飞行时刻
 
-                                         string _flightTime = resultRows[n]["FlightTime"].ToString();
 
-                                         _flightTime = _flightTime.Contains("H") ? _flightTime.Split('H')[0] + "小时" + _flightTime.Split('H')[1].Split('M')[0] + "分钟" : _flightTime.Split('M')[0] + "分钟";
 
-                                         //到达时刻
 
-                                         string _endTime = resultRows[n]["EndTime"].ToString();
 
-                                         //航班号
 
-                                         string _flightcode = resultRows[n]["Fliagtcode"].ToString();
 
-                                         //航司
 
-                                         Res_AirCompany aircompany = getByShortCode(_flightcode.Substring(0, 2));
 
-                                         string _aircompany_Name = "";
 
-                                         if (aircompany == null)
 
-                                         {
 
-                                             _aircompany_Name = "【此航司" + resultRows[n]["Fliagtcode"].ToString().Substring(0, 2) + "未收录,请机票同事录入】";
 
-                                         }
 
-                                         else
 
-                                         {
 
-                                             _aircompany_Name = aircompany.CnName;
 
-                                         }
 
-                                         //机型判断
 
-                                         string airModel = resultRows[n]["AirModel"].ToString();
 
-                                         airModel = GetLonger(airModel.Substring(0, 1)) + airModel;
 
-                                         #endregion
 
-                                         //Sign字段为标识,string类型,含义:0表示为原生黑屏代码、1表示“+1”新增的黑屏代码
 
-                                         //目前存在两种情况:同一天的多条数据标识为“0->0”或“1->0”
 
-                                         //如下示例
 
-                                         //Day ArrivedDate Sign
 
-                                         //10      10       0
 
-                                         //10      11       0
 
-                                         //11      11       1
 
-                                         //11      12       0
 
-                                         //12      12       1
 
-                                         if (n == 0)
 
-                                         {
 
-                                             //原生机票代码
 
-                                             if (resultRows[n]["Sign"].ToString() == "0")
 
-                                             {
 
-                                                 #region trip编辑
 
-                                                 //根据航班信息推算进入机场的时间
 
-                                                 int temp = Convert.ToInt32(_startTime.Substring(0, 2)) - 2;//一般提前提前两小时
 
-                                                 string result = GetCountryInfo(back_threecode.Country);//美国或者欧洲国家提前三小时
 
-                                                 if (result.Contains("2"))
 
-                                                 {
 
-                                                     temp = Convert.ToInt32(_startTime.Substring(0, 2)) - 3;//提前3小时
 
-                                                 }
 
-                                                 if (temp < 0)
 
-                                                 {
 
-                                                     temp = temp + 24;
 
-                                                 }
 
-                                                 GoAirportTime = temp < 10 ? "0" + temp.ToString() : temp.ToString();
 
-                                                 GoAirportTime = GoAirportTime + ":" + _startTime.Substring(2, _startTime.Length - 2);
 
-                                                 //第一天之后的行程可以加上“酒店出发到机场”的距离和时间
 
-                                                 if (i > 0)
 
-                                                 {
 
-                                                     #region 酒店      
 
-                                                     foreach (var h in listht)
 
-                                                     {
 
-                                                         if (Convert.ToDateTime(h.CheckInDate) < Convert.ToDateTime(timeList[i])
 
-                                                          && Convert.ToDateTime(h.CheckOutDate) >= Convert.ToDateTime(timeList[i]))
 
-                                                         {
 
-                                                             //利用谷歌API计算路线
 
-                                                             if (AirPort != "")
 
-                                                             {
 
-                                                                 GoogleMapApiResult g = null;
 
-                                                                 if (g != null)
 
-                                                                 {
 
-                                                                     //计算“酒店到机场”的时间
 
-                                                                     string CheckoutHotelTime;
 
-                                                                     //处理时间格式
 
-                                                                     string hours = "0", mins = "0";
 
-                                                                     if (g.Time.Contains("hour"))
 
-                                                                     {
 
-                                                                         g.Time = g.Time.Replace("hour", "h");
 
-                                                                     }
 
-                                                                     else if (g.Time.Contains("hours"))
 
-                                                                     {
 
-                                                                         g.Time = g.Time.Replace("hours", "h");
 
-                                                                     }
 
-                                                                     g.Time = g.Time.Replace("mins", "m");
 
-                                                                     if (g.Time.Contains("h"))
 
-                                                                     {
 
-                                                                         hours = g.Time.Split('h')[0].Trim();
 
-                                                                     }
 
-                                                                     else if (!g.Time.Contains("h"))
 
-                                                                     {
 
-                                                                         mins = g.Time.Split('m')[0].Trim();
 
-                                                                     }
 
-                                                                     int _hour = Convert.ToInt32(GoAirportTime.Substring(0, 2));
 
-                                                                     int _min = Convert.ToInt32(GoAirportTime.Substring(3, 2));
 
-                                                                     _min = _min - Convert.ToInt32(mins);
 
-                                                                     if (_min < 0)
 
-                                                                     {
 
-                                                                         _min = _min + 60;
 
-                                                                         _hour = _hour - 1;
 
-                                                                     }
 
-                                                                     if (hours != "")
 
-                                                                     {
 
-                                                                         _hour = _hour - Convert.ToInt32(hours);
 
-                                                                     }
 
-                                                                     if (_hour < 0)
 
-                                                                     {
 
-                                                                         _hour = _hour + 24;
 
-                                                                     }
 
-                                                                     CheckoutHotelTime = _hour < 10 ? "0" + _hour.ToString() : _hour.ToString();
 
-                                                                     CheckoutHotelTime = CheckoutHotelTime + ":" + (_min < 10 ? "0" + _min.ToString() : _min.ToString());
 
-                                                                     trip = trip + "\r\n"
 
-                                                                                 + CheckoutHotelTime + " 乘车前往机场:(" + g.Distance + "," + g.Time + ")";
 
-                                                                 }
 
-                                                                 else
 
-                                                                 {
 
-                                                                     try
 
-                                                                     {
 
-                                                                         JObject Result = GetDirectionByGoogleApi(h.HotelAddress, font_Airport);
 
-                                                                         //计算“抵达酒店办理入住手续”的时间
 
-                                                                         string CheckoutHotelTime;
 
-                                                                         //处理时间格式
 
-                                                                         string Gtime = "", hours = "0", mins = "0";
 
-                                                                         if (Result["routes"][0]["legs"][0]["duration"]["text"].ToString().Contains("hour"))
 
-                                                                         {
 
-                                                                             Gtime = Result["routes"][0]["legs"][0]["duration"]["text"].ToString().Replace("hour", "h");
 
-                                                                         }
 
-                                                                         else if (Result["routes"][0]["legs"][0]["duration"]["text"].ToString().Contains("hours"))
 
-                                                                         {
 
-                                                                             Gtime = Result["routes"][0]["legs"][0]["duration"]["text"].ToString().Replace("hours", "h");
 
-                                                                         }
 
-                                                                         Gtime = Gtime.Replace("mins", "m");
 
-                                                                         if (!string.IsNullOrEmpty(Gtime) && Gtime.Contains("h"))
 
-                                                                         {
 
-                                                                             hours = Gtime.Split('h')[0].Trim();
 
-                                                                         }
 
-                                                                         else if (!string.IsNullOrEmpty(Gtime) && !Gtime.Contains("h"))
 
-                                                                         {
 
-                                                                             mins = Gtime.Split('m')[0].Trim();
 
-                                                                         }
 
-                                                                         int _hour = Convert.ToInt32(leaveAirPortTime.Substring(0, 2));
 
-                                                                         int _min = Convert.ToInt32(leaveAirPortTime.Substring(3, 2));
 
-                                                                         _min = _min - Convert.ToInt32(mins);
 
-                                                                         if (_min < 0)
 
-                                                                         {
 
-                                                                             _min = _min + 60;
 
-                                                                             _hour = _hour - 1;
 
-                                                                         }
 
-                                                                         if (hours != "")
 
-                                                                         {
 
-                                                                             _hour = _hour + Convert.ToInt32(hours);
 
-                                                                         }
 
-                                                                         if (_hour < 0)
 
-                                                                         {
 
-                                                                             _hour = _hour + 24;
 
-                                                                         }
 
-                                                                         CheckoutHotelTime = _hour < 10 ? "0" + _hour.ToString() : _hour.ToString();
 
-                                                                         CheckoutHotelTime = CheckoutHotelTime + ":" + (_min < 10 ? "0" + _min.ToString() : _min.ToString());
 
-                                                                         trip = trip + "\r\n"
 
-                                                                                     + CheckoutHotelTime + " 乘车前往机场:(" + g.Distance + "," + g.Time + ")";
 
-                                                                         GoogleMapApiResult gtemp = new GoogleMapApiResult();
 
-                                                                         gtemp.Diid = di.Id;
 
-                                                                         gtemp.Date = "";
 
-                                                                         gtemp.Moment = "";
 
-                                                                         gtemp.StartAddress = AirPort;
 
-                                                                         gtemp.EndAddress = h.HotelAddress;
 
-                                                                         gtemp.Time = Result["routes"][0]["legs"][0]["duration"]["text"].ToString();
 
-                                                                         gtemp.Distance = Result["routes"][0]["legs"][0]["distance"]["text"].ToString();
 
-                                                                         //gmrs.Add(gtemp);
 
-                                                                     }
 
-                                                                     catch
 
-                                                                     {
 
-                                                                         trip = trip + "\r\n"
 
-                                                                              + "          乘车前往机场:(谷歌接口异常,无法测算的路程时间)";
 
-                                                                     }
 
-                                                                 }
 
-                                                             }
 
-                                                         }
 
-                                                     }
 
-                                                     #endregion
 
-                                                 }
 
-                                                 trip = trip
 
-                                                      + "\r\n" + GoAirportTime + " 抵达" + font_Airport + _StartBuilding + "航站楼,办理登机手续:"
 
-                                                      + "\r\n" + _startTime.Substring(0, 2) + ":" + _startTime.Substring(2, _startTime.Length - 2) + " 搭乘" + _aircompany_Name + "航空公司" + _flightcode + "航班,由" + font_City + "飞往" + back_City + ";"
 
-                                                      + "\r\n" + "       (" + font_Airport + "/" + back_Airport + "  机型:" + airModel + "    飞行时间" + (_flightTime) + ");"
 
-                                                      + "\r\n" + _endTime.Substring(0, 2) + ":" + _endTime.Substring(2, _endTime.Length - 2) + " 抵达" + back_Airport + _EndBuilding + "航站楼,提取行李;";
 
-                                                 #endregion
 
-                                             }
 
-                                             //"+1"生成的机票代码
 
-                                             else if (resultRows[n]["Sign"].ToString() == "1")
 
-                                             {
 
-                                                 #region trip编辑
 
-                                                 //行程
 
-                                                 trip = trip
 
-                                                      + "\r\n" + _endTime.Substring(0, 2) + ":" + _endTime.Substring(2, _endTime.Length - 2) + " 抵达" + back_Airport + _EndBuilding + "航站楼,提取行李;";
 
-                                                 #endregion
 
-                                             }
 
-                                         }
 
-                                         else if (n > 0)
 
-                                         {
 
-                                             //若前行是原生的,则本行判定为转机
 
-                                             if (resultRows[n - 1]["Sign"].ToString() == "0")
 
-                                             {
 
-                                                 #region trip编辑
 
-                                                 int temp = Convert.ToInt32(_startTime.Substring(0, 2)) - 1;//一般提前提前2小时
 
-                                                 if (temp < 0)
 
-                                                 {
 
-                                                     temp = temp + 24;
 
-                                                 }
 
-                                                 GoAirportTime = temp < 10 ? "0" + temp.ToString() : temp.ToString();
 
-                                                 GoAirportTime = GoAirportTime + ":" + _startTime.Substring(2, _startTime.Length - 2);
 
-                                                 trip = trip
 
-                                                  + "\r\n" + GoAirportTime + " 抵达" + font_Airport + _StartBuilding + "航站楼,办理登机手续:"
 
-                                                  + "\r\n" + _startTime.Substring(0, 2) + ":" + _startTime.Substring(2, _startTime.Length - 2) + " 搭乘" + _aircompany_Name + "航空公司" + _flightcode + "航班,由" + font_City + "飞往" + back_City + ";"
 
-                                                  + "\r\n" + "       (" + font_Airport + "/" + back_Airport + "  机型:" + airModel + "    飞行时间" + (_flightTime) + ");"
 
-                                                  + "\r\n" + _endTime.Substring(0, 2) + ":" + _endTime.Substring(2, _endTime.Length - 2) + " 抵达" + back_Airport + _EndBuilding + "航站楼,办理入境手续,之后前往提取行李";
 
-                                                 //若为最后一行,则计算后备等时间
 
-                                                 if (n == resultRows.Count() - 1)
 
-                                                 {
 
-                                                     //根据航班信息推算离开机场的时间
 
-                                                     temp = Convert.ToInt32(_endTime.Substring(0, 2)) + 1;
 
-                                                     leaveAirPortTime = temp < 10 ? "0" + temp.ToString() : temp.ToString();
 
-                                                     leaveAirPortTime = leaveAirPortTime + ":" + _endTime.Substring(2, _endTime.Length - 2);
 
-                                                     if (i == timeList.Count - 1)//如果本日是行程的最后一天,先增加酒店到机场的距离时间,再在末尾提醒“行程圆满结束” 
 
-                                                     {
 
-                                                         trip = trip + ",圆满结束此次访问之行!";
 
-                                                     }
 
-                                                     else //如果本日不是行程的最后一天,正常提醒
 
-                                                     {
 
-                                                         trip += pushTrip(leaveAirPortTime, back_Airport, city, out leaveAirPortTime);
 
-                                                         trip = trip + ";\r\n" + leaveAirPortTime + "搭乘专车前往酒店,抵达后办理入住;";
 
-                                                     }
 
-                                                     //整理离开机场的时间 +10分钟为"乘车前往酒店"的时刻
 
-                                                     int hour = Convert.ToInt32(leaveAirPortTime.Substring(0, 2));
 
-                                                     int min = Convert.ToInt32(leaveAirPortTime.Substring(3, 2));
 
-                                                     min = min + 10;
 
-                                                     if (min > 59)
 
-                                                     {
 
-                                                         min = min - 60;
 
-                                                         hour = hour + 1;
 
-                                                     }
 
-                                                     if (hour > 23)
 
-                                                     {
 
-                                                         hour = hour - 24;
 
-                                                     }
 
-                                                     leaveAirPortTime = hour < 10 ? "0" + hour.ToString() : hour.ToString();
 
-                                                     leaveAirPortTime = leaveAirPortTime + ":" + (min < 10 ? "0" + min.ToString() : min.ToString());
 
-                                                 }
 
-                                                 #endregion
 
-                                             }
 
-                                             //若前行是生成的,则本行判定为新出发
 
-                                             else if (resultRows[n - 1]["Sign"].ToString() == "1")
 
-                                             {
 
-                                                 #region trip编辑
 
-                                                 //根据航班信息推算进入机场的时间
 
-                                                 int temp = Convert.ToInt32(_startTime.Substring(0, 2)) - 2;//一般提前提前2小时
 
-                                                 string result = GetCountryInfo(back_threecode.Country);//美国或者欧洲国家提前3小时
 
-                                                 if (result.Contains("2"))
 
-                                                 {
 
-                                                     temp = Convert.ToInt32(_startTime.Substring(0, 2)) - 3;//提前3小时
 
-                                                 }
 
-                                                 if (temp < 0)
 
-                                                 {
 
-                                                     temp = temp + 24;
 
-                                                 }
 
-                                                 GoAirportTime = temp < 10 ? "0" + temp.ToString() : temp.ToString();
 
-                                                 GoAirportTime = GoAirportTime + ":" + _startTime.Substring(2, _startTime.Length - 2);
 
-                                                 //根据航班信息推算离开机场的时间
 
-                                                 temp = Convert.ToInt32(_endTime.Substring(0, 2)) + 1;
 
-                                                 leaveAirPortTime = temp < 10 ? "0" + temp.ToString() : temp.ToString();
 
-                                                 leaveAirPortTime = leaveAirPortTime + ":" + _endTime.Substring(2, _endTime.Length - 2);
 
-                                                 //第一天之后的行程可以加上“酒店出发到机场”的距离和时间
 
-                                                 if (i > 0)
 
-                                                 {
 
-                                                     #region 酒店      
 
-                                                     foreach (var h in listht)
 
-                                                     {
 
-                                                         if (Convert.ToDateTime(h.CheckInDate) < Convert.ToDateTime(timeList[i])
 
-                                                          && Convert.ToDateTime(h.CheckOutDate) >= Convert.ToDateTime(timeList[i]))
 
-                                                         {
 
-                                                             //利用谷歌API计算路线
 
-                                                             if (AirPort != "")
 
-                                                             {
 
-                                                                 GoogleMapApiResult g = null;
 
-                                                                 if (g != null)
 
-                                                                 {
 
-                                                                     //计算“酒店到机场”的时间
 
-                                                                     string CheckoutHotelTime;
 
-                                                                     //处理时间格式
 
-                                                                     string hours = "0", mins = "0";
 
-                                                                     if (g.Time.Contains("hour"))
 
-                                                                     {
 
-                                                                         g.Time = g.Time.Replace("hour", "h");
 
-                                                                     }
 
-                                                                     else if (g.Time.Contains("hours"))
 
-                                                                     {
 
-                                                                         g.Time = g.Time.Replace("hours", "h");
 
-                                                                     }
 
-                                                                     g.Time = g.Time.Replace("mins", "m");
 
-                                                                     if (g.Time.Contains("h"))
 
-                                                                     {
 
-                                                                         hours = g.Time.Split('h')[0].Trim();
 
-                                                                     }
 
-                                                                     else if (!g.Time.Contains("h"))
 
-                                                                     {
 
-                                                                         mins = g.Time.Split('m')[0].Trim();
 
-                                                                     }
 
-                                                                     int _hour = Convert.ToInt32(GoAirportTime.Substring(0, 2));
 
-                                                                     int _min = Convert.ToInt32(GoAirportTime.Substring(3, 2));
 
-                                                                     _min = _min - Convert.ToInt32(mins);
 
-                                                                     if (_min < 0)
 
-                                                                     {
 
-                                                                         _min = _min + 60;
 
-                                                                         _hour = _hour - 1;
 
-                                                                     }
 
-                                                                     if (hours != "")
 
-                                                                     {
 
-                                                                         _hour = _hour - Convert.ToInt32(hours);
 
-                                                                     }
 
-                                                                     if (_hour < 0)
 
-                                                                     {
 
-                                                                         _hour = _hour + 24;
 
-                                                                     }
 
-                                                                     CheckoutHotelTime = _hour < 10 ? "0" + _hour.ToString() : _hour.ToString();
 
-                                                                     CheckoutHotelTime = CheckoutHotelTime + ":" + (_min < 10 ? "0" + _min.ToString() : _min.ToString());
 
-                                                                     trip = trip + "\r\n"
 
-                                                                                 + CheckoutHotelTime + " 乘车前往机场:(" + g.Distance + "," + g.Time + ")";
 
-                                                                 }
 
-                                                                 else
 
-                                                                 {
 
-                                                                     try
 
-                                                                     {
 
-                                                                         JObject Result = GetDirectionByGoogleApi(h.HotelAddress, font_Airport);
 
-                                                                         //计算“抵达酒店办理入住手续”的时间
 
-                                                                         string CheckoutHotelTime;
 
-                                                                         //处理时间格式
 
-                                                                         string Gtime = "", hours = "0", mins = "0";
 
-                                                                         if (Result["routes"][0]["legs"][0]["duration"]["text"].ToString().Contains("hour"))
 
-                                                                         {
 
-                                                                             Gtime = Result["routes"][0]["legs"][0]["duration"]["text"].ToString().Replace("hour", "h");
 
-                                                                         }
 
-                                                                         else if (Result["routes"][0]["legs"][0]["duration"]["text"].ToString().Contains("hours"))
 
-                                                                         {
 
-                                                                             Gtime = Result["routes"][0]["legs"][0]["duration"]["text"].ToString().Replace("hours", "h");
 
-                                                                         }
 
-                                                                         Gtime = Gtime.Replace("mins", "m");
 
-                                                                         if (!string.IsNullOrEmpty(Gtime) && Gtime.Contains("h"))
 
-                                                                         {
 
-                                                                             hours = Gtime.Split('h')[0].Trim();
 
-                                                                         }
 
-                                                                         else if (!string.IsNullOrEmpty(Gtime) && !Gtime.Contains("h"))
 
-                                                                         {
 
-                                                                             mins = Gtime.Split('m')[0].Trim();
 
-                                                                         }
 
-                                                                         int _hour = Convert.ToInt32(leaveAirPortTime.Substring(0, 2));
 
-                                                                         int _min = Convert.ToInt32(leaveAirPortTime.Substring(3, 2));
 
-                                                                         _min = _min - Convert.ToInt32(mins);
 
-                                                                         if (_min < 0)
 
-                                                                         {
 
-                                                                             _min = _min + 60;
 
-                                                                             _hour = _hour - 1;
 
-                                                                         }
 
-                                                                         if (hours != "")
 
-                                                                         {
 
-                                                                             _hour = _hour + Convert.ToInt32(hours);
 
-                                                                         }
 
-                                                                         if (_hour < 0)
 
-                                                                         {
 
-                                                                             _hour = _hour + 24;
 
-                                                                         }
 
-                                                                         CheckoutHotelTime = _hour < 10 ? "0" + _hour.ToString() : _hour.ToString();
 
-                                                                         CheckoutHotelTime = CheckoutHotelTime + ":" + (_min < 10 ? "0" + _min.ToString() : _min.ToString());
 
-                                                                         trip = trip + "\r\n"
 
-                                                                                     + CheckoutHotelTime + " 乘车前往机场:(" + g.Distance + "," + g.Time + ")";
 
-                                                                         GoogleMapApiResult gtemp = new GoogleMapApiResult();
 
-                                                                         gtemp.Diid = di.Id;
 
-                                                                         gtemp.Date = "";
 
-                                                                         gtemp.Moment = "";
 
-                                                                         gtemp.StartAddress = AirPort;
 
-                                                                         gtemp.EndAddress = h.HotelAddress;
 
-                                                                         gtemp.Time = Result["routes"][0]["legs"][0]["duration"]["text"].ToString();
 
-                                                                         gtemp.Distance = Result["routes"][0]["legs"][0]["distance"]["text"].ToString();
 
-                                                                         //gmrs.Add(gtemp);
 
-                                                                     }
 
-                                                                     catch
 
-                                                                     {
 
-                                                                         trip = trip + "\r\n"
 
-                                                                              + "          乘车前往机场:(谷歌接口异常,无法测算的路程时间)";
 
-                                                                     }
 
-                                                                 }
 
-                                                             }
 
-                                                         }
 
-                                                     }
 
-                                                     #endregion
 
-                                                 }
 
-                                                 trip = trip
 
-                                                      + "\r\n" + GoAirportTime + " 抵达" + font_Airport + _StartBuilding + "航站楼,办理登机手续:"
 
-                                                      + "\r\n" + _startTime.Substring(0, 2) + ":" + _startTime.Substring(2, _startTime.Length - 2) + " 搭乘" + _aircompany_Name + "航空公司" + _flightcode + "航班,由" + font_City + "飞往" + back_City + ";"
 
-                                                      + "\r\n" + "       (" + font_Airport + "/" + back_Airport + "  机型:" + airModel + "    飞行时间" + (_flightTime) + ");"
 
-                                                      + "\r\n" + _endTime.Substring(0, 2) + ":" + _endTime.Substring(2, _endTime.Length - 2) + " 抵达" + back_Airport + _EndBuilding + "航站楼,办理入境手续,之后前往提取行李";
 
-                                                 if (i == timeList.Count - 1)//如果本日是行程的最后一天,先增加酒店到机场的距离时间,再在末尾提醒“行程圆满结束” 
 
-                                                 {
 
-                                                     trip = trip + ",圆满结束此次访问之行!";
 
-                                                 }
 
-                                                 else //如果本日不是行程的最后一天,正常提醒
 
-                                                 {
 
-                                                     trip += pushTrip(leaveAirPortTime, back_Airport, city, out leaveAirPortTime);
 
-                                                     trip = trip + ";\r\n" + leaveAirPortTime + "搭乘专车前往酒店,抵达后办理入住;";
 
-                                                 }
 
-                                                 //整理离开机场的时间 +10分钟为"乘车前往酒店"的时刻
 
-                                                 int hour = Convert.ToInt32(leaveAirPortTime.Substring(0, 2));
 
-                                                 int min = Convert.ToInt32(leaveAirPortTime.Substring(3, 2));
 
-                                                 min = min + 10;
 
-                                                 if (min > 59)
 
-                                                 {
 
-                                                     min = min - 60;
 
-                                                     hour = hour + 1;
 
-                                                 }
 
-                                                 if (hour > 23)
 
-                                                 {
 
-                                                     hour = hour - 24;
 
-                                                 }
 
-                                                 leaveAirPortTime = hour < 10 ? "0" + hour.ToString() : hour.ToString();
 
-                                                 leaveAirPortTime = leaveAirPortTime + ":" + (min < 10 ? "0" + min.ToString() : min.ToString());
 
-                                                 #endregion
 
-                                             }
 
-                                         }
 
-                                     }
 
-                                 }
 
-                                 #endregion
 
-                                 #region 行程和城市赋值
 
-                                 if (trip == "" || trip == " " || city == "" || city == " ")
 
-                                 {
 
-                                     //city = CityInDateList.Find(cid => cid.Date == timeList[i]).City;
 
-                                     city = CityInDateList[i].City;
 
-                                     //部分黄热病国家,需要提醒打疫苗
 
-                                     string result = GetCountryInfo(getByCity(city)[0].Country);
 
-                                     if (result.Contains("3"))
 
-                                     {
 
-                                         city += "(此地区为黄热病地区,请注意打疫苗)";
 
-                                     }
 
-                                     trip = city;
 
-                                 }
 
-                                 #endregion
 
-                                 #region 公务  20210820 贾文滔
 
-                                 string OATemp = "";//暂存公务活动
 
-                                 //根据团号和日期获取公务数据
 
-                                 List<Res_OfficialActivities> listoa = getByDiidAndDate(comb_Diid, timeList[i]);
 
-                                 //若listoa存在公务数据,进行排序,再进行导入
 
-                                 if (listoa != null && listoa.Count > 0)
 
-                                 {
 
-                                     //利用datatable存放公务活动数据
 
-                                     DataTable OA_DataTable = new DataTable();
 
-                                     OA_DataTable.Columns.Add("StartTime", typeof(string)); //activity开始时刻
 
-                                     OA_DataTable.Columns.Add("EndTime", typeof(string)); //activity结束时刻
 
-                                     OA_DataTable.Columns.Add("Client", typeof(string)); //activity单位
 
-                                     OA_DataTable.Columns.Add("Address", typeof(string)); //activity地址
 
-                                     OA_DataTable.Columns.Add("Contact", typeof(string)); //activity联系人
 
-                                     OA_DataTable.Columns.Add("Tel", typeof(string)); //activity联系人电话
 
-                                     OA_DataTable.Columns.Add("Dresscode", typeof(string)); //activity着装要求
 
-                                     OA_DataTable.Columns.Add("isTranslate", typeof(bool));//是否需要翻译人员
 
-                                     OA_DataTable.Columns.Add("Language", typeof(string));//是否需要翻译人员
 
-                                     //处理公务数据
 
-                                     for (int b = 0; b < listoa.Count; b++)
 
-                                     {
 
-                                         //起止时间
 
-                                         string[] time = new string[2];
 
-                                         if (listoa[b].Time.Contains('—'))
 
-                                         {
 
-                                             time = listoa[b].Time.Split('—');
 
-                                         }
 
-                                         else if (listoa[b].Time.Contains('-'))
 
-                                         {
 
-                                             time = listoa[b].Time.Split('-');
 
-                                         }
 
-                                         //添加数据
 
-                                         if (time.Length >= 2)
 
-                                         {
 
-                                             OA_DataTable.Rows.Add(time[0], time[1], listoa[b].Client, listoa[b].Address, listoa[b].Contact, listoa[b].Tel, listoa[b].Dresscode, listoa[b].IsNeedTrans, listoa[b].language);
 
-                                         }
 
-                                         else
 
-                                         {
 
-                                             //PublicCode.GetAlertMsg(this, GetType(), timeList[i] + "的公务数据有误,请检查");
 
-                                         }
 
-                                     }
 
-                                     //排序
 
-                                     OA_DataTable.DefaultView.Sort = "StartTime asc";
 
-                                     OA_DataTable = OA_DataTable.DefaultView.ToTable();
 
-                                     //导入信息
 
-                                     for (int index = 0; index < OA_DataTable.Rows.Count; index++)
 
-                                     {
 
-                                         if (i == 0)//行程第一天的公务放在酒店后面,所以先暂存在一个变量里
 
-                                         {
 
-                                             if (OATemp != "")
 
-                                             {
 
-                                                 OATemp = OATemp + "\r\n"
 
-                                                          + OA_DataTable.Rows[index]["StartTime"].ToString()
 
-                                                          + "-"
 
-                                                          + OA_DataTable.Rows[index]["EndTime"].ToString()
 
-                                                          + "  拜访" + OA_DataTable.Rows[index]["Client"].ToString()
 
-                                                          + ",联系人:" + OA_DataTable.Rows[index]["Contact"].ToString()
 
-                                                          + ",电话:" + OA_DataTable.Rows[index]["Tel"].ToString()
 
-                                                          + ",地址:" + OA_DataTable.Rows[index]["Address"].ToString()
 
-                                                          + ",着装要求:" + OA_DataTable.Rows[index]["Dresscode"].ToString()
 
-                                                          + ",是否需要翻译:" + (bool.Parse(OA_DataTable.Rows[index]["isTranslate"].ToString()) ? "需要翻译人员" + "翻译语种为" + OA_DataTable.Rows[index]["Language"].ToString() : "不需要翻译人员")
 
-                                                          + ",议题:-";
 
-                                             }
 
-                                             else
 
-                                             {
 
-                                                 OATemp = OA_DataTable.Rows[index]["StartTime"].ToString()
 
-                                                          + "-"
 
-                                                          + OA_DataTable.Rows[index]["EndTime"].ToString()
 
-                                                          + "  拜访" + OA_DataTable.Rows[index]["Client"].ToString()
 
-                                                          + ",联系人:" + OA_DataTable.Rows[index]["Contact"].ToString()
 
-                                                          + ",电话:" + OA_DataTable.Rows[index]["Tel"].ToString()
 
-                                                          + ",地址:" + OA_DataTable.Rows[index]["Address"].ToString()
 
-                                                          + ",着装要求:" + OA_DataTable.Rows[index]["Dresscode"].ToString()
 
-                                                          + ",是否需要翻译:" + (bool.Parse(OA_DataTable.Rows[index]["isTranslate"].ToString()) ? "需要翻译人员" + "翻译语种为" + OA_DataTable.Rows[index]["Language"].ToString() : "不需要翻译人员")
 
-                                                          + ",议题:-";
 
-                                             }
 
-                                         }
 
-                                         else
 
-                                         {
 
-                                             //导入公务
 
-                                             trip = trip + "\r\n"
 
-                                                         + OA_DataTable.Rows[index]["StartTime"].ToString()
 
-                                                         + "-"
 
-                                                         + OA_DataTable.Rows[index]["EndTime"].ToString()
 
-                                                          + "  拜访" + OA_DataTable.Rows[index]["Client"].ToString()
 
-                                                          + ",联系人:" + OA_DataTable.Rows[index]["Contact"].ToString()
 
-                                                          + ",电话:" + OA_DataTable.Rows[index]["Tel"].ToString()
 
-                                                          + ",地址:" + OA_DataTable.Rows[index]["Address"].ToString()
 
-                                                          + ",着装要求:" + OA_DataTable.Rows[index]["Dresscode"].ToString()
 
-                                                          + ",是否需要翻译:" + (bool.Parse(OA_DataTable.Rows[index]["isTranslate"].ToString()) ? "需要翻译人员" + "翻译语种为" + OA_DataTable.Rows[index]["Language"].ToString() : "不需要翻译人员")
 
-                                                          + ",议题:-";
 
-                                         }
 
-                                         //当天第一个公务或许都是从酒店出发,因此可计算酒店到公务地址的距离和时间
 
-                                         if (index == 0)
 
-                                         {
 
-                                             #region 酒店
 
-                                             foreach (var h in listht)
 
-                                             {
 
-                                                 if (Convert.ToDateTime(h.CheckInDate) <= Convert.ToDateTime(timeList[i])
 
-                                                  && Convert.ToDateTime(h.CheckOutDate) > Convert.ToDateTime(timeList[i]))
 
-                                                 {
 
-                                                     //利用谷歌API计算路线
 
-                                                     GoogleMapApiResult g = null;
 
-                                                     if (g != null)
 
-                                                     {
 
-                                                         if (i == 0)//行程第一天的公务放在酒店后面,所以先暂存在一个变量里
 
-                                                         {
 
-                                                             OATemp = OATemp + "。  (" + g.Distance + "," + g.Time + ")";
 
-                                                         }
 
-                                                         else
 
-                                                         {
 
-                                                             trip = trip + "。  (" + g.Distance + "," + g.Time + ")";
 
-                                                         }
 
-                                                     }
 
-                                                     else
 
-                                                     {
 
-                                                         try
 
-                                                         {
 
-                                                             JObject Result = GetDirectionByGoogleApi(h.HotelAddress, OA_DataTable.Rows[0]["Address"].ToString());
 
-                                                             if (i == 0)//行程第一天的公务放在酒店后面,所以先暂存在一个变量里
 
-                                                             {
 
-                                                                 OATemp = OATemp + "。  (" + Result["routes"][0]["legs"][0]["distance"]["text"].ToString() + ","
 
-                                                                                 + Result["routes"][0]["legs"][0]["duration"]["text"].ToString() + ")";
 
-                                                             }
 
-                                                             else
 
-                                                             {
 
-                                                                 trip = trip + "。  (" + Result["routes"][0]["legs"][0]["distance"]["text"].ToString() + ","
 
-                                                                             + Result["routes"][0]["legs"][0]["duration"]["text"].ToString() + ")";
 
-                                                             }
 
-                                                             GoogleMapApiResult gtemp = new GoogleMapApiResult();
 
-                                                             gtemp.Diid = di.Id;
 
-                                                             gtemp.Date = "";
 
-                                                             gtemp.Moment = "";
 
-                                                             gtemp.StartAddress = h.HotelAddress;
 
-                                                             gtemp.EndAddress = OA_DataTable.Rows[0]["Address"].ToString();
 
-                                                             gtemp.Time = Result["routes"][0]["legs"][0]["duration"]["text"].ToString();
 
-                                                             gtemp.Distance = Result["routes"][0]["legs"][0]["distance"]["text"].ToString();
 
-                                                             //gmrs.Add(gtemp);
 
-                                                         }
 
-                                                         catch
 
-                                                         {
 
-                                                             if (i == 0)//行程第一天的公务放在酒店后面,所以先暂存在一个变量里
 
-                                                             {
 
-                                                                 OATemp = OATemp + "。  (谷歌接口异常,无法测算路程时间)";
 
-                                                             }
 
-                                                             else
 
-                                                             {
 
-                                                                 trip = trip + "。  (谷歌接口异常,无法测算路程时间)";
 
-                                                             }
 
-                                                         }
 
-                                                     }
 
-                                                 }
 
-                                             }
 
-                                             #endregion
 
-                                         }
 
-                                         //第二个公务是由中午的餐厅前往公务地址,具有随机性,因此不计算此方向距离时间;但可计算由公务地址回酒店的信息
 
-                                         else
 
-                                         {
 
-                                             #region 酒店
 
-                                             foreach (var h in listht)
 
-                                             {
 
-                                                 if (Convert.ToDateTime(h.CheckInDate) <= Convert.ToDateTime(timeList[i])
 
-                                                  && Convert.ToDateTime(h.CheckOutDate) > Convert.ToDateTime(timeList[i]))
 
-                                                 {
 
-                                                     //利用谷歌API计算路线
 
-                                                     GoogleMapApiResult g = null;
 
-                                                     if (g != null)
 
-                                                     {
 
-                                                         if (i == 0)//行程第一天的公务放在酒店后面,所以先暂存在一个变量里
 
-                                                         {
 
-                                                             OATemp = OATemp + "。  (" + g.Distance + "," + g.Time + ")";
 
-                                                         }
 
-                                                         else
 
-                                                         {
 
-                                                             trip = trip + "。  (" + g.Distance + "," + g.Time + ")";
 
-                                                         }
 
-                                                     }
 
-                                                     else
 
-                                                     {
 
-                                                         try
 
-                                                         {
 
-                                                             JObject Result = GetDirectionByGoogleApi(OA_DataTable.Rows[index]["Address"].ToString(), h.HotelAddress);
 
-                                                             if (i == 0)//行程第一天的公务放在酒店后面,所以先暂存在一个变量里
 
-                                                             {
 
-                                                                 OATemp = OATemp + "。  (" + Result["routes"][0]["legs"][0]["distance"]["text"].ToString() + ","
 
-                                                                                 + Result["routes"][0]["legs"][0]["duration"]["text"].ToString() + ")";
 
-                                                             }
 
-                                                             else
 
-                                                             {
 
-                                                                 trip = trip + "。  (" + Result["routes"][0]["legs"][0]["distance"]["text"].ToString() + ","
 
-                                                                             + Result["routes"][0]["legs"][0]["duration"]["text"].ToString() + ")";
 
-                                                             }
 
-                                                             GoogleMapApiResult gtemp = new GoogleMapApiResult();
 
-                                                             gtemp.Diid = di.Id;
 
-                                                             gtemp.Date = "";
 
-                                                             gtemp.Moment = "";
 
-                                                             gtemp.StartAddress = OA_DataTable.Rows[0]["Address"].ToString();
 
-                                                             gtemp.EndAddress = h.HotelAddress;
 
-                                                             gtemp.Time = Result["routes"][0]["legs"][0]["duration"]["text"].ToString();
 
-                                                             gtemp.Distance = Result["routes"][0]["legs"][0]["distance"]["text"].ToString();
 
-                                                             //gmrs.Add(gtemp);
 
-                                                         }
 
-                                                         catch
 
-                                                         {
 
-                                                             if (i == 0)//行程第一天的公务放在酒店后面,所以先暂存在一个变量里
 
-                                                             {
 
-                                                                 OATemp = OATemp + "。  (谷歌接口异常,无法测算路程时间)";
 
-                                                             }
 
-                                                             else
 
-                                                             {
 
-                                                                 trip = trip + "。  (谷歌接口异常,无法测算路程时间)";
 
-                                                             }
 
-                                                         }
 
-                                                     }
 
-                                                 }
 
-                                             }
 
-                                             #endregion
 
-                                         }
 
-                                     }
 
-                                 }
 
-                                 #endregion
 
-                                 #region 酒店      
 
-                                 foreach (var h in listht)
 
-                                 {
 
-                                     if (Convert.ToDateTime(h.CheckInDate) <= Convert.ToDateTime(timeList[i])
 
-                                      && Convert.ToDateTime(h.CheckOutDate) > Convert.ToDateTime(timeList[i]))//不去“》=”的原因是行程最后一天一般不会有酒店
 
-                                     {
 
-                                         //利用谷歌API计算路线
 
-                                         if (AirPort != "")
 
-                                         {
 
-                                             GoogleMapApiResult g = null;
 
-                                             if (g != null)
 
-                                             {
 
-                                                 trip = trip + "\r\n"
 
-                                                     + leaveAirPortTime + " 乘车前往酒店:(" + g.Distance + "," + g.Time + ")";
 
-                                                 //计算“抵达酒店办理入住手续”的时间
 
-                                                 string CheckInHotelTime;
 
-                                                 //处理时间格式
 
-                                                 string hours = "", mins = "";
 
-                                                 if (g.Time.Contains("hour"))
 
-                                                 {
 
-                                                     g.Time = g.Time.Replace("hour", "h");
 
-                                                 }
 
-                                                 else if (g.Time.Contains("hours"))
 
-                                                 {
 
-                                                     g.Time = g.Time.Replace("hours", "h");
 
-                                                 }
 
-                                                 g.Time = g.Time.Replace("mins", "m");
 
-                                                 if (g.Time.Contains("h"))
 
-                                                 {
 
-                                                     hours = g.Time.Split('h')[0].Trim();
 
-                                                 }
 
-                                                 else if (!g.Time.Contains("h"))
 
-                                                 {
 
-                                                     mins = g.Time.Split('m')[0].Trim();
 
-                                                 }
 
-                                                 int hour = Convert.ToInt32(leaveAirPortTime.Substring(0, 2));
 
-                                                 int min = Convert.ToInt32(leaveAirPortTime.Substring(3, 2));
 
-                                                 min = min + Convert.ToInt32(mins);
 
-                                                 if (min > 59)
 
-                                                 {
 
-                                                     min = min - 60;
 
-                                                     hour = hour + 1;
 
-                                                 }
 
-                                                 if (hours != "")
 
-                                                 {
 
-                                                     hour = hour + Convert.ToInt32(hours);
 
-                                                 }
 
-                                                 if (hour > 23)
 
-                                                 {
 
-                                                     hour = hour - 24;
 
-                                                 }
 
-                                                 CheckInHotelTime = hour < 10 ? "0" + hour.ToString() : hour.ToString();
 
-                                                 CheckInHotelTime = CheckInHotelTime + ":" + (min < 10 ? "0" + min.ToString() : min.ToString());
 
-                                                 trip = trip + "\r\n"
 
-                                                             + CheckInHotelTime + " 抵达酒店办理入住手续";
 
-                                             }
 
-                                             else
 
-                                             {
 
-                                                 try
 
-                                                 {
 
-                                                     JObject Result = GetDirectionByGoogleApi(AirPort, h.HotelAddress);
 
-                                                     trip = trip + "\r\n"
 
-                                                         + leaveAirPortTime + " 乘车前往酒店:(" + Result["routes"][0]["legs"][0]["distance"]["text"].ToString() + ","
 
-                                                                                                  + Result["routes"][0]["legs"][0]["duration"]["text"].ToString() + ")";
 
-                                                     //计算“抵达酒店办理入住手续”的时间
 
-                                                     string CheckInHotelTime;
 
-                                                     //处理时间格式
 
-                                                     string Gtime = "", hours = "", mins = "";
 
-                                                     if (Result["routes"][0]["legs"][0]["duration"]["text"].ToString().Contains("hour"))
 
-                                                     {
 
-                                                         Gtime = Result["routes"][0]["legs"][0]["duration"]["text"].ToString().Replace("hour", "h");
 
-                                                     }
 
-                                                     else if (Result["routes"][0]["legs"][0]["duration"]["text"].ToString().Contains("hours"))
 
-                                                     {
 
-                                                         Gtime = Result["routes"][0]["legs"][0]["duration"]["text"].ToString().Replace("hours", "h");
 
-                                                     }
 
-                                                     Gtime = Gtime.Replace("mins", "m");
 
-                                                     if (!string.IsNullOrEmpty(Gtime) && Gtime.Contains("h"))
 
-                                                     {
 
-                                                         hours = Gtime.Split('h')[0].Trim();
 
-                                                     }
 
-                                                     else if (!string.IsNullOrEmpty(Gtime) && !Gtime.Contains("h"))
 
-                                                     {
 
-                                                         mins = Gtime.Split('m')[0].Trim();
 
-                                                     }
 
-                                                     int hour = Convert.ToInt32(leaveAirPortTime.Substring(0, 2));
 
-                                                     int min = Convert.ToInt32(leaveAirPortTime.Substring(3, 2));
 
-                                                     min = min + Convert.ToInt32(mins);
 
-                                                     if (min > 59)
 
-                                                     {
 
-                                                         min = min - 60;
 
-                                                         hour = hour + 1;
 
-                                                     }
 
-                                                     if (hours != "")
 
-                                                     {
 
-                                                         hour = hour + Convert.ToInt32(hours);
 
-                                                     }
 
-                                                     if (hour > 23)
 
-                                                     {
 
-                                                         hour = hour - 24;
 
-                                                     }
 
-                                                     CheckInHotelTime = hour < 10 ? "0" + hour.ToString() : hour.ToString();
 
-                                                     CheckInHotelTime = CheckInHotelTime + ":" + (min < 10 ? "0" + min.ToString() : min.ToString());
 
-                                                     trip = trip + "\r\n"
 
-                                                                 + CheckInHotelTime + " 抵达酒店办理入住手续";
 
-                                                     GoogleMapApiResult gtemp = new GoogleMapApiResult();
 
-                                                     gtemp.Diid = di.Id;
 
-                                                     gtemp.Date = "";
 
-                                                     gtemp.Moment = "";
 
-                                                     gtemp.StartAddress = AirPort;
 
-                                                     gtemp.EndAddress = h.HotelAddress;
 
-                                                     gtemp.Time = Result["routes"][0]["legs"][0]["duration"]["text"].ToString();
 
-                                                     gtemp.Distance = Result["routes"][0]["legs"][0]["distance"]["text"].ToString();
 
-                                                     //gmrs.Add(gtemp);
 
-                                                 }
 
-                                                 catch
 
-                                                 {
 
-                                                     trip = trip + "\r\n"
 
-                                                          + "          (谷歌接口异常,无法测算的路程时间)";
 
-                                                 }
 
-                                             }
 
-                                         }
 
-                                         trip = trip + "\r\n"
 
-                                             + "          酒店名称:" + h.HotelName + "\r\n"
 
-                                             + "          酒店地址:" + h.HotelAddress + "\r\n"
 
-                                             + "          酒店电话:" + h.HotelTel + "      酒店传真:" + (h.HotelFax == "" ? "-" : h.HotelFax);
 
-                                         if (i == 0 && !string.IsNullOrEmpty(OATemp))
 
-                                         {
 
-                                             trip = trip + "\r\n" + OATemp;
 
-                                         }
 
-                                     }
 
-                                 }
 
-                                 #endregion
 
-                                 #region 当天交通工具赋值
 
-                                 //一般行程第一天都是先乘坐飞机后乘坐汽车
 
-                                 if (i == 0)
 
-                                 {
 
-                                     tlTemp.Traffic_First = "飞机";
 
-                                     tlTemp.Traffic_Second = "汽车";
 
-                                 }
 
-                                 else
 
-                                 {
 
-                                     // 根据车导地接表数据判断交通工具:汽车
 
-                                     List<Grp_CarTouristGuideGroundReservations> ListCar = listctg.FindAll(c => Convert.ToDateTime(c.ServiceStartTime) <= Convert.ToDateTime(timeList[i])
 
-                                                                                                         && Convert.ToDateTime(c.ServiceEndTime) >= Convert.ToDateTime(timeList[i]));
 
-                                     //交通工具:汽车
 
-                                     if (ListCar.Count > 0)
 
-                                     {
 
-                                         tlTemp.Traffic_First = "汽车";
 
-                                         //交通工具:飞机
 
-                                         if (airSign == true)
 
-                                         {
 
-                                             tlTemp.Traffic_Second = "飞机";
 
-                                         }
 
-                                         else
 
-                                         {
 
-                                             tlTemp.Traffic_Second = "";
 
-                                         }
 
-                                     }
 
-                                     else
 
-                                     {
 
-                                         tlTemp.Traffic_First = "汽车";
 
-                                         //交通工具:飞机
 
-                                         if (airSign == true)
 
-                                         {
 
-                                             tlTemp.Traffic_Second = "飞机";
 
-                                         }
 
-                                         else
 
-                                         {
 
-                                             tlTemp.Traffic_Second = "";
 
-                                         }
 
-                                     }
 
-                                 }
 
-                                 #endregion
 
-                                 tlTemp.Trip = trip;
 
-                                 tlTemp.CreateUserId = di.Id;
 
-                                 tlTemp.CreateTime = GetBeijingTime();
 
-                                 tlTemp.Issel = 1;
 
-                                 tlTemp.Diffgroup = 1;
 
-                                 tlTemp.IsDel = 0;
 
-                                 AddTravelList(tlTemp);
 
-                             }
 
-                         }
 
-                         else if (timeList.Count < listTravel.Count)//2改版天数<原版天数
 
-                         {
 
-                             //2.1替换日期
 
-                             for (int i = 0; i < timeList.Count; i++)
 
-                             {
 
-                                 //日期转换星期
 
-                                 string weekday = weekdays[(int)new DateTime(
 
-                                    Convert.ToInt32(timeList[i].Split('-')[0]),
 
-                                    Convert.ToInt32(timeList[i].Split('-')[1]),
 
-                                    Convert.ToInt32(timeList[i].Split('-')[2])).DayOfWeek];
 
-                                 //日期去掉0
 
-                                 string monthStr = "Unknown", dayStr = "Unknown";
 
-                                 if (!string.IsNullOrEmpty(timeList[i]))
 
-                                 {
 
-                                     DateTime dateTime = new DateTime();
 
-                                     bool convertResult = DateTime.TryParse(timeList[i], out dateTime);
 
-                                     if (convertResult)
 
-                                     {
 
-                                         monthStr = dateTime.Month.ToString();
 
-                                         dayStr = dateTime.Day.ToString();
 
-                                     }
 
-                                 }
 
-                                 //日期
 
-                                 listTravel[i].Date = monthStr + "月" + dayStr + "日";
 
-                                 //listTravel[i].Date = timeList[i].Substring(5, 2) + "月" + timeList[i].Substring(8, 2) + "日";
 
-                                 listTravel[i].WeekDay = weekday;
 
-                                 listTravel[i].CreateUserId = UserId;
 
-                                 listTravel[i].CreateTime = GetBeijingTime();
 
-                                 listTravel[i].IsDel = 0;
 
-                                 EditTravelList(listTravel[i]);
 
-                             }
 
-                             //2.2删除多余行程
 
-                             DelOld(comb_Diid, listTravel[timeList.Count - 1].Id, listTravel[listTravel.Count - 1].Id);
 
-                         }
 
-                         else//3改版天数=原版天数
 
-                         {
 
-                             //3.1替换日期
 
-                             for (int i = 0; i < timeList.Count; i++)
 
-                             {
 
-                                 //日期去掉0
 
-                                 string monthStr = "Unknown", dayStr = "Unknown";
 
-                                 if (!string.IsNullOrEmpty(timeList[i]))
 
-                                 {
 
-                                     DateTime dateTime = new DateTime();
 
-                                     bool convertResult = DateTime.TryParse(timeList[i], out dateTime);
 
-                                     if (convertResult)
 
-                                     {
 
-                                         monthStr = dateTime.Month.ToString();
 
-                                         dayStr = dateTime.Day.ToString();
 
-                                     }
 
-                                 }
 
-                                 //日期
 
-                                 listTravel[i].Date = monthStr + "月" + dayStr + "日";
 
-                                 //日期转换星期
 
-                                 string weekday = weekdays[(int)new DateTime(
 
-                                    Convert.ToInt32(timeList[i].Split('-')[0]),
 
-                                    Convert.ToInt32(timeList[i].Split('-')[1]),
 
-                                    Convert.ToInt32(timeList[i].Split('-')[2])).DayOfWeek];
 
-                                 listTravel[i].WeekDay = weekday;
 
-                                 listTravel[i].CreateUserId = UserId;
 
-                                 listTravel[i].CreateTime = GetBeijingTime();
 
-                                 listTravel[i].IsDel = 0;
 
-                                 EditTravelList(listTravel[i]);
 
-                             }
 
-                         }
 
-                     }
 
-                     else //若本团不存行程,则生成行程。 包含机票、酒店、车导地接等数据
 
-                     {
 
-                         //航班号标识
 
-                         //string flightcode_Sign = "";
 
-                         //三字码标识
 
-                         //string citycode_Sign = "";
 
-                         #region 城市数据 20210823 贾文滔
 
-                         List<CityInDate> CityInDateList = GetCityByDataTable(dt);
 
-                         #endregion
 
-                         //生成行程
 
-                         for (int i = 0; i < timeList.Count; i++)
 
-                         {
 
-                             //实、例化一个temp
 
-                             Grp_TravelList tlTemp = new Grp_TravelList();
 
-                             //团号
 
-                             tlTemp.Diid = di.Id;
 
-                             //天数序号
 
-                             tlTemp.Days = i + 1;
 
-                             //日期去掉0
 
-                             var datetime1 = timeList[i];
 
-                             string monthStr = "Unknown", dayStr = "Unknown";
 
-                             if (!string.IsNullOrEmpty(datetime1))
 
-                             {
 
-                                 DateTime dateTime = new DateTime();
 
-                                 bool convertResult = DateTime.TryParse(datetime1, out dateTime);
 
-                                 if (convertResult)
 
-                                 {
 
-                                     monthStr = dateTime.Month.ToString();
 
-                                     dayStr = dateTime.Day.ToString();
 
-                                 }
 
-                             }
 
-                             //日期
 
-                             tlTemp.Date = monthStr + "月" + dayStr + "日";
 
-                             //日期
 
-                             //tlTemp.Date = timeList[i].Substring(5, 2) + "月" + timeList[i].Substring(8, 2) + "日";
 
-                             //日期转换星期
 
-                             string weekday = weekdays[(int)new DateTime(
 
-                                Convert.ToInt32(timeList[i].Split('-')[0]),
 
-                                Convert.ToInt32(timeList[i].Split('-')[1]),
 
-                                Convert.ToInt32(timeList[i].Split('-')[2])).DayOfWeek];
 
-                             tlTemp.WeekDay = weekday;
 
-                             //行程
 
-                             string trip = "";
 
-                             //历经城市
 
-                             string city = "";
 
-                             #region  机票数据
 
-                             //根据航班信息推出抵达机场的位置信息
 
-                             string AirPort = "";
 
-                             //根据航班时间前后推进入机场或离开机场的时间
 
-                             string GoAirportTime = "", leaveAirPortTime = "";
 
-                             //飞机标识
 
-                             bool airSign = false;
 
-                             //查询该日期下的航班信息
 
-                             //resultRows字段顺序为:航班号,起飞日期,三字码,起飞时刻,到达时刻,出发航站楼,到达航站楼,机型,飞行时间,整理后的起飞日期,整理后的到达日期
 
-                             DataRow[] resultRows = dt.Select("Day like '%" + timeList[i] + "%'");
 
-                             if (resultRows.Count() > 0)
 
-                             {
 
-                                 //修改标识
 
-                                 airSign = true;
 
-                             }
 
-                             //同一天只有一条数据走正常判定
 
-                             if (resultRows.Count() == 1)
 
-                             {
 
-                                 #region 三字码
 
-                                 string _citycode = resultRows[0]["Three"].ToString();
 
-                                 //起飞城市三字码
 
-                                 Res_ThreeCode font_threecode = null;
 
-                                 string font_citycode = _citycode.Replace("/", string.Empty).Substring(0, 3);
 
-                                 //抵达城市
 
-                                 string font_City = "";
 
-                                 //起飞城市机场
 
-                                 string font_Airport = "";
 
-                                 //抵达城市三字码
 
-                                 Res_ThreeCode back_threecode = null;
 
-                                 string end_citycode = _citycode.Replace("/", string.Empty).Substring(3, 3);
 
-                                 //抵达城市机场
 
-                                 string back_Airport = "";
 
-                                 //抵达城市
 
-                                 string back_City = "";
 
-                                 font_threecode = getByThree(font_citycode);
 
-                                 //验证是否存在三字码
 
-                                 if (font_threecode == null)
 
-                                 {
 
-                                     city = city + "【此三字码" + font_citycode + "未收录,请机票同事录入】" + "一";
 
-                                     font_Airport = "【此三字码" + font_citycode + "未收录,请机票同事录入】";
 
-                                     font_City = "【此三字码" + font_citycode + "未收录,请机票同事录入】";
 
-                                 }
 
-                                 else
 
-                                 {
 
-                                     city = city + "/" + font_threecode.City;
 
-                                     font_Airport = font_threecode.AirPort;
 
-                                     font_City = font_threecode.City; ;
 
-                                 }
 
-                                 back_threecode = getByThree(end_citycode);
 
-                                 if (back_threecode == null)
 
-                                 {
 
-                                     city = city + "【此三字码" + end_citycode + "未收录,请机票同事录入】" + "一";
 
-                                     back_Airport = "【此三字码" + end_citycode + "未收录,请机票同事录入】";
 
-                                     back_City = "【此三字码" + end_citycode + "未收录,请机票同事录入】";
 
-                                 }
 
-                                 else
 
-                                 {
 
-                                     city = city + "/" + back_threecode.City;
 
-                                     //部分黄热病国家,需要提醒打疫苗
 
-                                     string result = GetCountryInfo(back_threecode.Country);
 
-                                     if (result.Contains("3"))
 
-                                     {
 
-                                         city += "(此地区为黄热病地区,请注意打疫苗)";
 
-                                     }
 
-                                     back_Airport = back_threecode.AirPort;
 
-                                     back_City = back_threecode.City;
 
-                                     //查询酒店路线要用
 
-                                     AirPort = back_threecode.AirPort;
 
-                                 }
 
-                                 //行程里加入城市
 
-                                 #endregion
 
-                                 #region 信息准备
 
-                                 trip = city.TrimStart('/');
 
-                                 //起飞航站楼
 
-                                 string _StartBuilding = resultRows[0]["StartBuilding"].ToString();
 
-                                 //转机航站楼
 
-                                 string _EndBuilding = resultRows[0]["EndBuilding"].ToString();
 
-                                 //起飞时刻
 
-                                 string _startTime = resultRows[0]["StartTime"].ToString();
 
-                                 //飞行时刻
 
-                                 string _flightTime = resultRows[0]["FlightTime"].ToString();
 
-                                 _flightTime = _flightTime.Contains("H") ? _flightTime.Split('H')[0] + "小时" + _flightTime.Split('H')[1].Split('M')[0] + "分钟" : _flightTime.Split('M')[0] + "分钟";
 
-                                 //到达时刻
 
-                                 string _endTime = resultRows[0]["EndTime"].ToString();
 
-                                 //航班号
 
-                                 string _flightcode = resultRows[0]["Fliagtcode"].ToString();
 
-                                 //航司
 
-                                 Res_AirCompany aircompany = getByShortCode(_flightcode.Substring(0, 2));
 
-                                 string _aircompany_Name = "";
 
-                                 if (aircompany == null)
 
-                                 {
 
-                                     _aircompany_Name = "【此航司" + resultRows[0]["Fliagtcode"].ToString().Substring(0, 2) + "未收录,请机票同事录入】";
 
-                                 }
 
-                                 else
 
-                                 {
 
-                                     _aircompany_Name = aircompany.CnName;
 
-                                 }
 
-                                 //机型判断
 
-                                 string airModel = resultRows[0]["AirModel"].ToString();
 
-                                 airModel = GetLonger(airModel.Substring(0, 1)) + airModel;
 
-                                 #endregion
 
-                                 #region trip编辑
 
-                                 //若本行抵达时间包含"+1",则本行为母版行,仅提示登机
 
-                                 if (resultRows[0]["Sign"].ToString() == "0" && _endTime.Contains("+"))
 
-                                 {
 
-                                     //根据航班信息推算进入机场的时间                               
 
-                                     int temp = Convert.ToInt32(_startTime.Substring(0, 2)) - 2;//一般提前提前两小时
 
-                                     string result = GetCountryInfo(back_threecode.Country);//美国或者欧洲国家提前三小时
 
-                                     if (result.Contains("2"))
 
-                                     {
 
-                                         temp = Convert.ToInt32(_startTime.Substring(0, 2)) - 3;//提前3小时
 
-                                     }
 
-                                     if (temp < 0)
 
-                                     {
 
-                                         temp = temp + 24;
 
-                                     }
 
-                                     GoAirportTime = temp < 10 ? "0" + temp.ToString() : temp.ToString();
 
-                                     GoAirportTime = GoAirportTime + ":" + _startTime.Substring(2, _startTime.Length - 2);
 
-                                     //第一天之后的行程可以加上“酒店出发到机场”的距离和时间
 
-                                     if (i > 0)
 
-                                     {
 
-                                         #region 酒店      
 
-                                         foreach (var h in listht)
 
-                                         {
 
-                                             if (Convert.ToDateTime(h.CheckInDate) < Convert.ToDateTime(timeList[i])
 
-                                              && Convert.ToDateTime(h.CheckOutDate) > Convert.ToDateTime(timeList[i]))
 
-                                             {
 
-                                                 //利用谷歌API计算路线
 
-                                                 if (AirPort != "")
 
-                                                 {
 
-                                                     GoogleMapApiResult g = null;
 
-                                                     if (g != null)
 
-                                                     {
 
-                                                         //计算“酒店到机场”的时间
 
-                                                         string CheckoutHotelTime;
 
-                                                         //处理时间格式
 
-                                                         string hours = "", mins = "";
 
-                                                         if (g.Time.Contains("hour"))
 
-                                                         {
 
-                                                             g.Time = g.Time.Replace("hour", "h");
 
-                                                         }
 
-                                                         else if (g.Time.Contains("hours"))
 
-                                                         {
 
-                                                             g.Time = g.Time.Replace("hours", "h");
 
-                                                         }
 
-                                                         g.Time = g.Time.Replace("mins", "m");
 
-                                                         if (g.Time.Contains("h"))
 
-                                                         {
 
-                                                             hours = g.Time.Split('h')[0].Trim();
 
-                                                         }
 
-                                                         else if (!g.Time.Contains("h"))
 
-                                                         {
 
-                                                             mins = g.Time.Split('m')[0].Trim();
 
-                                                         }
 
-                                                         int hour = Convert.ToInt32(GoAirportTime.Substring(0, 2));
 
-                                                         int min = Convert.ToInt32(GoAirportTime.Substring(3, 2));
 
-                                                         min = min - Convert.ToInt32(mins);
 
-                                                         if (min < 0)
 
-                                                         {
 
-                                                             min = min + 60;
 
-                                                             hour = hour - 1;
 
-                                                         }
 
-                                                         if (hours != "")
 
-                                                         {
 
-                                                             hour = hour - Convert.ToInt32(hours);
 
-                                                         }
 
-                                                         if (hour < 0)
 
-                                                         {
 
-                                                             hour = hour + 24;
 
-                                                         }
 
-                                                         CheckoutHotelTime = hour < 10 ? "0" + hour.ToString() : hour.ToString();
 
-                                                         CheckoutHotelTime = CheckoutHotelTime + ":" + (min < 10 ? "0" + min.ToString() : min.ToString());
 
-                                                         trip = trip + "\r\n"
 
-                                                                     + CheckoutHotelTime + " 乘车前往机场:(" + g.Distance + "," + g.Time + ")";
 
-                                                     }
 
-                                                     else
 
-                                                     {
 
-                                                         try
 
-                                                         {
 
-                                                             JObject Result = GetDirectionByGoogleApi(h.HotelAddress, font_Airport);
 
-                                                             //计算“抵达酒店办理入住手续”的时间
 
-                                                             string CheckoutHotelTime;
 
-                                                             //处理时间格式
 
-                                                             string Gtime = "", hours = "", mins = "";
 
-                                                             if (Result["routes"][0]["legs"][0]["duration"]["text"].ToString().Contains("hour"))
 
-                                                             {
 
-                                                                 Gtime = Result["routes"][0]["legs"][0]["duration"]["text"].ToString().Replace("hour", "h");
 
-                                                             }
 
-                                                             else if (Result["routes"][0]["legs"][0]["duration"]["text"].ToString().Contains("hours"))
 
-                                                             {
 
-                                                                 Gtime = Result["routes"][0]["legs"][0]["duration"]["text"].ToString().Replace("hours", "h");
 
-                                                             }
 
-                                                             Gtime = Gtime.Replace("mins", "m");
 
-                                                             if (!string.IsNullOrEmpty(Gtime) && Gtime.Contains("h"))
 
-                                                             {
 
-                                                                 hours = Gtime.Split('h')[0].Trim();
 
-                                                             }
 
-                                                             else if (!string.IsNullOrEmpty(Gtime) && !Gtime.Contains("h"))
 
-                                                             {
 
-                                                                 mins = Gtime.Split('m')[0].Trim();
 
-                                                             }
 
-                                                             int hour = Convert.ToInt32(leaveAirPortTime.Substring(0, 2));
 
-                                                             int min = Convert.ToInt32(leaveAirPortTime.Substring(3, 2));
 
-                                                             min = min - Convert.ToInt32(mins);
 
-                                                             if (min < 0)
 
-                                                             {
 
-                                                                 min = min + 60;
 
-                                                                 hour = hour - 1;
 
-                                                             }
 
-                                                             if (hours != "")
 
-                                                             {
 
-                                                                 hour = hour + Convert.ToInt32(hours);
 
-                                                             }
 
-                                                             if (hour < 0)
 
-                                                             {
 
-                                                                 hour = hour + 24;
 
-                                                             }
 
-                                                             CheckoutHotelTime = hour < 10 ? "0" + hour.ToString() : hour.ToString();
 
-                                                             CheckoutHotelTime = CheckoutHotelTime + ":" + (min < 10 ? "0" + min.ToString() : min.ToString());
 
-                                                             trip = trip + "\r\n"
 
-                                                                         + CheckoutHotelTime + " 乘车前往机场:(" + g.Distance + "," + g.Time + ")";
 
-                                                             GoogleMapApiResult gtemp = new GoogleMapApiResult();
 
-                                                             gtemp.Diid = di.Id;
 
-                                                             gtemp.Date = "";
 
-                                                             gtemp.Moment = "";
 
-                                                             gtemp.StartAddress = AirPort;
 
-                                                             gtemp.EndAddress = h.HotelAddress;
 
-                                                             gtemp.Time = Result["routes"][0]["legs"][0]["duration"]["text"].ToString();
 
-                                                             gtemp.Distance = Result["routes"][0]["legs"][0]["distance"]["text"].ToString();
 
-                                                             //gmrs.Add(gtemp);
 
-                                                         }
 
-                                                         catch
 
-                                                         {
 
-                                                             trip = trip + "\r\n"
 
-                                                                  + "          乘车前往机场:(谷歌接口异常,无法测算的路程时间)";
 
-                                                         }
 
-                                                     }
 
-                                                 }
 
-                                             }
 
-                                         }
 
-                                         #endregion
 
-                                     }
 
-                                     //行程
 
-                                     trip = trip
 
-                                          + "\r\n" + GoAirportTime + " 抵达" + font_Airport + _StartBuilding + "航站楼,办理登机手续:"
 
-                                          + "\r\n" + _startTime.Substring(0, 2) + ":" + _startTime.Substring(2, _startTime.Length - 2) + " 搭乘" + _aircompany_Name + "航空公司" + _flightcode + "航班,由" + font_City + "飞往" + back_City + ";"
 
-                                          + "\r\n" + "       (" + font_Airport + "/" + back_Airport + "  机型:" + airModel + "    飞行时间" + (_flightTime) + ");";
 
-                                     //标记本行为母版行
 
-                                     //flightcode_Sign = resultRows[0]["Fliagtcode"].ToString();
 
-                                     //citycode_Sign = resultRows[0]["Three"].ToString();
 
-                                 }
 
-                                 //与前一行航班号,三字码相同且本行抵达时间不包含"+1",则本行是被生成的重复行,仅提示抵达
 
-                                 else if (resultRows[0]["Sign"].ToString() == "1") /* && (!_endTime.Contains("+"))&&(_flightcode == flightcode_Sign)&&(_citycode == citycode_Sign)*/
 
-                                 {
 
-                                     //行程
 
-                                     trip = trip
 
-                                          + "\r\n" + _endTime.Substring(0, 2) + ":" + _endTime.Substring(2, _endTime.Length - 2) + " 抵达" + back_Airport + _EndBuilding + "航站楼,办理入境手续,之后前往提取行李";
 
-                                     //根据航班信息推算离开机场的时间
 
-                                     int temp = Convert.ToInt32(_endTime.Substring(0, 2)) + 1;
 
-                                     leaveAirPortTime = temp < 10 ? "0" + temp.ToString() : temp.ToString();
 
-                                     leaveAirPortTime = leaveAirPortTime + ":" + _endTime.Substring(2, _endTime.Length - 2);
 
-                                     if (i == timeList.Count - 1)//如果本日是行程的最后一天,则提醒“行程圆满结束” 
 
-                                     {
 
-                                         trip = trip + ",圆满结束此次访问之行!";
 
-                                     }
 
-                                     else //如果本日不是行程的最后一天,正常提醒
 
-                                     {
 
-                                         trip += pushTrip(leaveAirPortTime, back_Airport, city, out leaveAirPortTime);
 
-                                         trip = trip + ";\r\n" + leaveAirPortTime + "搭乘专车前往酒店,抵达后办理入住;";
 
-                                     }
 
-                                     //整理离开机场的时间 +10分钟为"乘车前往酒店"的时刻
 
-                                     int hour = Convert.ToInt32(leaveAirPortTime.Substring(0, 2));
 
-                                     int min = Convert.ToInt32(leaveAirPortTime.Substring(3, 2));
 
-                                     min = min + 10;
 
-                                     if (min > 59)
 
-                                     {
 
-                                         min = min - 60;
 
-                                         hour = hour + 1;
 
-                                     }
 
-                                     if (hour > 23)
 
-                                     {
 
-                                         hour = hour - 24;
 
-                                     }
 
-                                     leaveAirPortTime = hour < 10 ? "0" + hour.ToString() : hour.ToString();
 
-                                     leaveAirPortTime = leaveAirPortTime + ":" + (min < 10 ? "0" + min.ToString() : min.ToString());
 
-                                 }
 
-                                 //正常提示
 
-                                 else
 
-                                 {
 
-                                     //根据航班信息推算进入机场的时间
 
-                                     int temp = Convert.ToInt32(_startTime.Substring(0, 2)) - 2;//一般提前提前2小时
 
-                                     string result = GetCountryInfo(back_threecode.Country);//美国或者欧洲国家提前3小时
 
-                                     if (result.Contains("2"))
 
-                                     {
 
-                                         temp = Convert.ToInt32(_startTime.Substring(0, 2)) - 3;//提前3小时
 
-                                     }
 
-                                     if (temp < 0)
 
-                                     {
 
-                                         temp = temp + 24;
 
-                                     }
 
-                                     GoAirportTime = temp < 10 ? "0" + temp.ToString() : temp.ToString();
 
-                                     GoAirportTime = GoAirportTime + ":" + _startTime.Substring(2, _startTime.Length - 2);
 
-                                     //根据航班信息推算离开机场的时间
 
-                                     temp = Convert.ToInt32(_endTime.Substring(0, 2)) + 1;
 
-                                     leaveAirPortTime = temp < 10 ? "0" + temp.ToString() : temp.ToString();
 
-                                     leaveAirPortTime = leaveAirPortTime + ":" + _endTime.Substring(2, _endTime.Length - 2);
 
-                                     //第一天之后的行程可以加上“酒店出发到机场”的距离和时间
 
-                                     if (i > 0)
 
-                                     {
 
-                                         #region 酒店      
 
-                                         foreach (var h in listht)
 
-                                         {
 
-                                             if (Convert.ToDateTime(h.CheckInDate) < Convert.ToDateTime(timeList[i])
 
-                                              && Convert.ToDateTime(h.CheckOutDate) >= Convert.ToDateTime(timeList[i]))
 
-                                             {
 
-                                                 //利用谷歌API计算路线
 
-                                                 if (AirPort != "")
 
-                                                 {
 
-                                                     GoogleMapApiResult g = null;
 
-                                                     if (g != null)
 
-                                                     {
 
-                                                         //计算“酒店到机场”的时间
 
-                                                         string CheckoutHotelTime;
 
-                                                         //处理时间格式
 
-                                                         string hours = "0", mins = "0";
 
-                                                         if (g.Time.Contains("hour"))
 
-                                                         {
 
-                                                             g.Time = g.Time.Replace("hour", "h");
 
-                                                         }
 
-                                                         else if (g.Time.Contains("hours"))
 
-                                                         {
 
-                                                             g.Time = g.Time.Replace("hours", "h");
 
-                                                         }
 
-                                                         g.Time = g.Time.Replace("mins", "m");
 
-                                                         if (g.Time.Contains("h"))
 
-                                                         {
 
-                                                             hours = g.Time.Split('h')[0].Trim();
 
-                                                         }
 
-                                                         else if (!g.Time.Contains("h"))
 
-                                                         {
 
-                                                             mins = g.Time.Split('m')[0].Trim();
 
-                                                         }
 
-                                                         int _hour = Convert.ToInt32(GoAirportTime.Substring(0, 2));
 
-                                                         int _min = Convert.ToInt32(GoAirportTime.Substring(3, 2));
 
-                                                         _min = _min - Convert.ToInt32(mins);
 
-                                                         if (_min < 0)
 
-                                                         {
 
-                                                             _min = _min + 60;
 
-                                                             _hour = _hour - 1;
 
-                                                         }
 
-                                                         if (hours != "")
 
-                                                         {
 
-                                                             _hour = _hour - Convert.ToInt32(hours);
 
-                                                         }
 
-                                                         if (_hour < 0)
 
-                                                         {
 
-                                                             _hour = _hour + 24;
 
-                                                         }
 
-                                                         CheckoutHotelTime = _hour < 10 ? "0" + _hour.ToString() : _hour.ToString();
 
-                                                         CheckoutHotelTime = CheckoutHotelTime + ":" + (_min < 10 ? "0" + _min.ToString() : _min.ToString());
 
-                                                         trip = trip + "\r\n"
 
-                                                                     + CheckoutHotelTime + " 乘车前往机场:(" + g.Distance + "," + g.Time + ")";
 
-                                                     }
 
-                                                     else
 
-                                                     {
 
-                                                         try
 
-                                                         {
 
-                                                             JObject Result = GetDirectionByGoogleApi(h.HotelAddress, font_Airport);
 
-                                                             //计算“抵达酒店办理入住手续”的时间
 
-                                                             string CheckoutHotelTime;
 
-                                                             //处理时间格式
 
-                                                             string Gtime = "", hours = "0", mins = "0";
 
-                                                             if (Result["routes"][0]["legs"][0]["duration"]["text"].ToString().Contains("hour"))
 
-                                                             {
 
-                                                                 Gtime = Result["routes"][0]["legs"][0]["duration"]["text"].ToString().Replace("hour", "h");
 
-                                                             }
 
-                                                             else if (Result["routes"][0]["legs"][0]["duration"]["text"].ToString().Contains("hours"))
 
-                                                             {
 
-                                                                 Gtime = Result["routes"][0]["legs"][0]["duration"]["text"].ToString().Replace("hours", "h");
 
-                                                             }
 
-                                                             Gtime = Gtime.Replace("mins", "m");
 
-                                                             if (!string.IsNullOrEmpty(Gtime) && Gtime.Contains("h"))
 
-                                                             {
 
-                                                                 hours = Gtime.Split('h')[0].Trim();
 
-                                                             }
 
-                                                             else if (!string.IsNullOrEmpty(Gtime) && !Gtime.Contains("h"))
 
-                                                             {
 
-                                                                 mins = Gtime.Split('m')[0].Trim();
 
-                                                             }
 
-                                                             int _hour = Convert.ToInt32(leaveAirPortTime.Substring(0, 2));
 
-                                                             int _min = Convert.ToInt32(leaveAirPortTime.Substring(3, 2));
 
-                                                             _min = _min - Convert.ToInt32(mins);
 
-                                                             if (_min < 0)
 
-                                                             {
 
-                                                                 _min = _min + 60;
 
-                                                                 _hour = _hour - 1;
 
-                                                             }
 
-                                                             if (hours != "")
 
-                                                             {
 
-                                                                 _hour = _hour + Convert.ToInt32(hours);
 
-                                                             }
 
-                                                             if (_hour < 0)
 
-                                                             {
 
-                                                                 _hour = _hour + 24;
 
-                                                             }
 
-                                                             CheckoutHotelTime = _hour < 10 ? "0" + _hour.ToString() : _hour.ToString();
 
-                                                             CheckoutHotelTime = CheckoutHotelTime + ":" + (_min < 10 ? "0" + _min.ToString() : _min.ToString());
 
-                                                             GoogleMapApiResult gtemp = new GoogleMapApiResult();
 
-                                                             gtemp.Diid = di.Id;
 
-                                                             gtemp.Date = "";
 
-                                                             gtemp.Moment = "";
 
-                                                             gtemp.StartAddress = AirPort;
 
-                                                             gtemp.EndAddress = h.HotelAddress;
 
-                                                             gtemp.Time = Result["routes"][0]["legs"][0]["duration"]["text"].ToString();
 
-                                                             gtemp.Distance = Result["routes"][0]["legs"][0]["distance"]["text"].ToString();
 
-                                                             //gmrs.Add(gtemp);
 
-                                                             trip = trip + "\r\n"
 
-                                                                       + CheckoutHotelTime + " 乘车前往机场:(" + gtemp.Distance + "," + gtemp.Time + ")";
 
-                                                         }
 
-                                                         catch
 
-                                                         {
 
-                                                             trip = trip + "\r\n"
 
-                                                                  + "          乘车前往机场:(谷歌接口异常,无法测算的路程时间)";
 
-                                                         }
 
-                                                     }
 
-                                                 }
 
-                                             }
 
-                                         }
 
-                                         #endregion
 
-                                     }
 
-                                     trip = trip
 
-                                          + "\r\n" + GoAirportTime + " 抵达" + font_Airport + _StartBuilding + "航站楼,办理登机手续:"
 
-                                          + "\r\n" + _startTime.Substring(0, 2) + ":" + _startTime.Substring(2, _startTime.Length - 2) + " 搭乘" + _aircompany_Name + "航空公司" + _flightcode + "航班,由" + font_City + "飞往" + back_City + ";"
 
-                                          + "\r\n" + "       (" + font_Airport + "/" + back_Airport + "  机型:" + airModel + "    飞行时间" + (_flightTime) + ");"
 
-                                          + "\r\n" + _endTime.Substring(0, 2) + ":" + _endTime.Substring(2, _endTime.Length - 2) + " 抵达" + back_Airport + _EndBuilding + "航站楼,办理入境手续,之后前往提取行李";
 
-                                     if (i == timeList.Count - 1)//如果本日是行程的最后一天,先增加酒店到机场的距离时间,再在末尾提醒“行程圆满结束” 
 
-                                     {
 
-                                         trip = trip + ",圆满结束此次访问之行!";
 
-                                     }
 
-                                     else //如果本日不是行程的最后一天,正常提醒
 
-                                     {
 
-                                         trip += pushTrip(leaveAirPortTime, back_Airport, city, out leaveAirPortTime);
 
-                                         trip = trip + "\r\n" + leaveAirPortTime + " 搭乘专车前往酒店,抵达后办理入住;";
 
-                                     }
 
-                                     //整理离开机场的时间 +10分钟为"乘车前往酒店"的时刻
 
-                                     int hour = Convert.ToInt32(leaveAirPortTime.Substring(0, 2));
 
-                                     int min = Convert.ToInt32(leaveAirPortTime.Substring(3, 2));
 
-                                     min = min + 10;
 
-                                     if (min > 59)
 
-                                     {
 
-                                         min = min - 60;
 
-                                         hour = hour + 1;
 
-                                     }
 
-                                     if (hour > 23)
 
-                                     {
 
-                                         hour = hour - 24;
 
-                                     }
 
-                                     leaveAirPortTime = hour < 10 ? "0" + hour.ToString() : hour.ToString();
 
-                                     leaveAirPortTime = leaveAirPortTime + ":" + (min < 10 ? "0" + min.ToString() : min.ToString());
 
-                                 }
 
-                                 #endregion
 
-                             }
 
-                             //同一天多条数据走分类讨论
 
-                             else
 
-                             {
 
-                                 for (int n = 0; n < resultRows.Count(); n++)
 
-                                 {
 
-                                     city = "";
 
-                                     #region 三字码
 
-                                     string _citycode = resultRows[n]["Three"].ToString();
 
-                                     //起飞城市三字码
 
-                                     Res_ThreeCode font_threecode = null;
 
-                                     string font_citycode = _citycode.Replace("/", string.Empty).Substring(0, 3);
 
-                                     //抵达城市
 
-                                     string font_City = "";
 
-                                     //起飞城市机场
 
-                                     string font_Airport = "";
 
-                                     //抵达城市三字码
 
-                                     Res_ThreeCode back_threecode = null;
 
-                                     string end_citycode = _citycode.Replace("/", string.Empty).Substring(3, 3);
 
-                                     //抵达城市机场
 
-                                     string back_Airport = "";
 
-                                     //抵达城市
 
-                                     string back_City = "";
 
-                                     font_threecode = getByThree(font_citycode);
 
-                                     //验证是否存在三字码
 
-                                     if (font_threecode == null)
 
-                                     {
 
-                                         city = city + "【此三字码" + font_citycode + "未收录,请机票同事录入】" + "一";
 
-                                         font_Airport = "【此三字码" + font_citycode + "未收录,请机票同事录入】";
 
-                                         font_City = "【此三字码" + font_citycode + "未收录,请机票同事录入】";
 
-                                     }
 
-                                     else
 
-                                     {
 
-                                         city = city + "/" + font_threecode.City;
 
-                                         font_Airport = font_threecode.AirPort;
 
-                                         font_City = font_threecode.City; ;
 
-                                     }
 
-                                     back_threecode = getByThree(end_citycode);
 
-                                     if (back_threecode == null)
 
-                                     {
 
-                                         city = city + "【此三字码" + end_citycode + "未收录,请机票同事录入】" + "一";
 
-                                         back_Airport = "【此三字码" + end_citycode + "未收录,请机票同事录入】";
 
-                                         back_City = "【此三字码" + end_citycode + "未收录,请机票同事录入】";
 
-                                     }
 
-                                     else
 
-                                     {
 
-                                         city = city + "/" + back_threecode.City;
 
-                                         //部分黄热病国家,需要提醒打疫苗
 
-                                         string result = GetCountryInfo(back_threecode.Country);
 
-                                         if (result.Contains("3"))
 
-                                         {
 
-                                             city += "(此地区为黄热病地区,请注意打疫苗)";
 
-                                         }
 
-                                         back_Airport = back_threecode.AirPort;
 
-                                         back_City = back_threecode.City;
 
-                                         //查询酒店路线要用
 
-                                         AirPort = back_threecode.AirPort;
 
-                                     }
 
-                                     //行程里加入城市
 
-                                     if (trip == "")
 
-                                     {
 
-                                         trip = city.TrimStart('/');
 
-                                     }
 
-                                     else
 
-                                     {
 
-                                         trip = trip + "\r\n"
 
-                                              + city.TrimStart('/');
 
-                                     }
 
-                                     //起飞航站楼
 
-                                     string _StartBuilding = resultRows[n]["StartBuilding"].ToString();
 
-                                     //转机航站楼
 
-                                     string _EndBuilding = resultRows[n]["EndBuilding"].ToString();
 
-                                     //起飞时刻
 
-                                     string _startTime = resultRows[n]["StartTime"].ToString();
 
-                                     //飞行时刻
 
-                                     string _flightTime = resultRows[n]["FlightTime"].ToString();
 
-                                     _flightTime = _flightTime.Contains("H") ? _flightTime.Split('H')[0] + "小时" + _flightTime.Split('H')[1].Split('M')[0] + "分钟" : _flightTime.Split('M')[0] + "分钟";
 
-                                     //到达时刻
 
-                                     string _endTime = resultRows[n]["EndTime"].ToString();
 
-                                     //航班号
 
-                                     string _flightcode = resultRows[n]["Fliagtcode"].ToString();
 
-                                     //航司
 
-                                     Res_AirCompany aircompany = getByShortCode(_flightcode.Substring(0, 2));
 
-                                     string _aircompany_Name = "";
 
-                                     if (aircompany == null)
 
-                                     {
 
-                                         _aircompany_Name = "【此航司" + resultRows[n]["Fliagtcode"].ToString().Substring(0, 2) + "未收录,请机票同事录入】";
 
-                                     }
 
-                                     else
 
-                                     {
 
-                                         _aircompany_Name = aircompany.CnName;
 
-                                     }
 
-                                     //机型判断
 
-                                     string airModel = resultRows[n]["AirModel"].ToString();
 
-                                     airModel = GetLonger(airModel.Substring(0, 1)) + airModel;
 
-                                     #endregion
 
-                                     //Sign字段为标识,string类型,含义:0表示为原生黑屏代码、1表示“+1”新增的黑屏代码
 
-                                     //目前存在两种情况:同一天的多条数据标识为“0->0”或“1->0”
 
-                                     //如下示例
 
-                                     //Day ArrivedDate Sign
 
-                                     //10      10       0
 
-                                     //10      11       0
 
-                                     //11      11       1
 
-                                     //11      12       0
 
-                                     //12      12       1
 
-                                     if (n == 0)
 
-                                     {
 
-                                         //原生机票代码
 
-                                         if (resultRows[n]["Sign"].ToString() == "0")
 
-                                         {
 
-                                             #region trip编辑
 
-                                             //根据航班信息推算进入机场的时间
 
-                                             int temp = Convert.ToInt32(_startTime.Substring(0, 2)) - 2;//一般提前提前两小时
 
-                                             string result = GetCountryInfo(back_threecode.Country);//美国或者欧洲国家提前三小时
 
-                                             if (result.Contains("2"))
 
-                                             {
 
-                                                 temp = Convert.ToInt32(_startTime.Substring(0, 2)) - 3;//提前3小时
 
-                                             }
 
-                                             if (temp < 0)
 
-                                             {
 
-                                                 temp = temp + 24;
 
-                                             }
 
-                                             GoAirportTime = temp < 10 ? "0" + temp.ToString() : temp.ToString();
 
-                                             GoAirportTime = GoAirportTime + ":" + _startTime.Substring(2, _startTime.Length - 2);
 
-                                             //第一天之后的行程可以加上“酒店出发到机场”的距离和时间
 
-                                             if (i > 0)
 
-                                             {
 
-                                                 #region 酒店      
 
-                                                 foreach (var h in listht)
 
-                                                 {
 
-                                                     if (Convert.ToDateTime(h.CheckInDate) < Convert.ToDateTime(timeList[i])
 
-                                                      && Convert.ToDateTime(h.CheckOutDate) >= Convert.ToDateTime(timeList[i]))
 
-                                                     {
 
-                                                         //利用谷歌API计算路线
 
-                                                         if (AirPort != "")
 
-                                                         {
 
-                                                             GoogleMapApiResult g = null;
 
-                                                             if (g != null)
 
-                                                             {
 
-                                                                 //计算“酒店到机场”的时间
 
-                                                                 string CheckoutHotelTime;
 
-                                                                 //处理时间格式
 
-                                                                 string hours = "0", mins = "0";
 
-                                                                 if (g.Time.Contains("hour"))
 
-                                                                 {
 
-                                                                     g.Time = g.Time.Replace("hour", "h");
 
-                                                                 }
 
-                                                                 else if (g.Time.Contains("hours"))
 
-                                                                 {
 
-                                                                     g.Time = g.Time.Replace("hours", "h");
 
-                                                                 }
 
-                                                                 g.Time = g.Time.Replace("mins", "m");
 
-                                                                 if (g.Time.Contains("h"))
 
-                                                                 {
 
-                                                                     hours = g.Time.Split('h')[0].Trim();
 
-                                                                 }
 
-                                                                 else if (!g.Time.Contains("h"))
 
-                                                                 {
 
-                                                                     mins = g.Time.Split('m')[0].Trim();
 
-                                                                 }
 
-                                                                 int _hour = Convert.ToInt32(GoAirportTime.Substring(0, 2));
 
-                                                                 int _min = Convert.ToInt32(GoAirportTime.Substring(3, 2));
 
-                                                                 _min = _min - Convert.ToInt32(mins);
 
-                                                                 if (_min < 0)
 
-                                                                 {
 
-                                                                     _min = _min + 60;
 
-                                                                     _hour = _hour - 1;
 
-                                                                 }
 
-                                                                 if (hours != "")
 
-                                                                 {
 
-                                                                     _hour = _hour - Convert.ToInt32(hours);
 
-                                                                 }
 
-                                                                 if (_hour < 0)
 
-                                                                 {
 
-                                                                     _hour = _hour + 24;
 
-                                                                 }
 
-                                                                 CheckoutHotelTime = _hour < 10 ? "0" + _hour.ToString() : _hour.ToString();
 
-                                                                 CheckoutHotelTime = CheckoutHotelTime + ":" + (_min < 10 ? "0" + _min.ToString() : _min.ToString());
 
-                                                                 trip = trip + "\r\n"
 
-                                                                             + CheckoutHotelTime + " 乘车前往机场:(" + g.Distance + "," + g.Time + ")";
 
-                                                             }
 
-                                                             else
 
-                                                             {
 
-                                                                 try
 
-                                                                 {
 
-                                                                     JObject Result = GetDirectionByGoogleApi(h.HotelAddress, font_Airport);
 
-                                                                     //计算“抵达酒店办理入住手续”的时间
 
-                                                                     string CheckoutHotelTime;
 
-                                                                     //处理时间格式
 
-                                                                     string Gtime = "", hours = "0", mins = "0";
 
-                                                                     if (Result["routes"][0]["legs"][0]["duration"]["text"].ToString().Contains("hour"))
 
-                                                                     {
 
-                                                                         Gtime = Result["routes"][0]["legs"][0]["duration"]["text"].ToString().Replace("hour", "h");
 
-                                                                     }
 
-                                                                     else if (Result["routes"][0]["legs"][0]["duration"]["text"].ToString().Contains("hours"))
 
-                                                                     {
 
-                                                                         Gtime = Result["routes"][0]["legs"][0]["duration"]["text"].ToString().Replace("hours", "h");
 
-                                                                     }
 
-                                                                     Gtime = Gtime.Replace("mins", "m");
 
-                                                                     if (!string.IsNullOrEmpty(Gtime) && Gtime.Contains("h"))
 
-                                                                     {
 
-                                                                         hours = Gtime.Split('h')[0].Trim();
 
-                                                                     }
 
-                                                                     else if (!string.IsNullOrEmpty(Gtime) && !Gtime.Contains("h"))
 
-                                                                     {
 
-                                                                         mins = Gtime.Split('m')[0].Trim();
 
-                                                                     }
 
-                                                                     int _hour = Convert.ToInt32(leaveAirPortTime.Substring(0, 2));
 
-                                                                     int _min = Convert.ToInt32(leaveAirPortTime.Substring(3, 2));
 
-                                                                     _min = _min - Convert.ToInt32(mins);
 
-                                                                     if (_min < 0)
 
-                                                                     {
 
-                                                                         _min = _min + 60;
 
-                                                                         _hour = _hour - 1;
 
-                                                                     }
 
-                                                                     if (hours != "")
 
-                                                                     {
 
-                                                                         _hour = _hour + Convert.ToInt32(hours);
 
-                                                                     }
 
-                                                                     if (_hour < 0)
 
-                                                                     {
 
-                                                                         _hour = _hour + 24;
 
-                                                                     }
 
-                                                                     CheckoutHotelTime = _hour < 10 ? "0" + _hour.ToString() : _hour.ToString();
 
-                                                                     CheckoutHotelTime = CheckoutHotelTime + ":" + (_min < 10 ? "0" + _min.ToString() : _min.ToString());
 
-                                                                     trip = trip + "\r\n"
 
-                                                                                 + CheckoutHotelTime + " 乘车前往机场:(" + g.Distance + "," + g.Time + ")";
 
-                                                                     GoogleMapApiResult gtemp = new GoogleMapApiResult();
 
-                                                                     gtemp.Diid = di.Id;
 
-                                                                     gtemp.Date = "";
 
-                                                                     gtemp.Moment = "";
 
-                                                                     gtemp.StartAddress = AirPort;
 
-                                                                     gtemp.EndAddress = h.HotelAddress;
 
-                                                                     gtemp.Time = Result["routes"][0]["legs"][0]["duration"]["text"].ToString();
 
-                                                                     gtemp.Distance = Result["routes"][0]["legs"][0]["distance"]["text"].ToString();
 
-                                                                     //gmrs.Add(gtemp);
 
-                                                                 }
 
-                                                                 catch
 
-                                                                 {
 
-                                                                     trip = trip + "\r\n"
 
-                                                                          + "          乘车前往机场:(谷歌接口异常,无法测算的路程时间)";
 
-                                                                 }
 
-                                                             }
 
-                                                         }
 
-                                                     }
 
-                                                 }
 
-                                                 #endregion
 
-                                             }
 
-                                             trip = trip
 
-                                                  + "\r\n" + GoAirportTime + " 抵达" + font_Airport + _StartBuilding + "航站楼,办理登机手续:"
 
-                                                  + "\r\n" + _startTime.Substring(0, 2) + ":" + _startTime.Substring(2, _startTime.Length - 2) + " 搭乘" + _aircompany_Name + "航空公司" + _flightcode + "航班,由" + font_City + "飞往" + back_City + ";"
 
-                                                  + "\r\n" + "       (" + font_Airport + "/" + back_Airport + "  机型:" + airModel + "    飞行时间" + (_flightTime) + ");"
 
-                                                  + "\r\n" + _endTime.Substring(0, 2) + ":" + _endTime.Substring(2, _endTime.Length - 2) + " 抵达" + back_Airport + _EndBuilding + "航站楼,提取行李;";
 
-                                             #endregion
 
-                                         }
 
-                                         //"+1"生成的机票代码
 
-                                         else if (resultRows[n]["Sign"].ToString() == "1")
 
-                                         {
 
-                                             #region trip编辑
 
-                                             //行程
 
-                                             trip = trip
 
-                                                  + "\r\n" + _endTime.Substring(0, 2) + ":" + _endTime.Substring(2, _endTime.Length - 2) + " 抵达" + back_Airport + _EndBuilding + "航站楼,提取行李;";
 
-                                             #endregion
 
-                                         }
 
-                                     }
 
-                                     else if (n > 0)
 
-                                     {
 
-                                         //若前行是原生的,则本行判定为转机
 
-                                         if (resultRows[n - 1]["Sign"].ToString() == "0")
 
-                                         {
 
-                                             #region trip编辑
 
-                                             int temp = Convert.ToInt32(_startTime.Substring(0, 2)) - 1;//一般提前提前2小时
 
-                                             if (temp < 0)
 
-                                             {
 
-                                                 temp = temp + 24;
 
-                                             }
 
-                                             GoAirportTime = temp < 10 ? "0" + temp.ToString() : temp.ToString();
 
-                                             GoAirportTime = GoAirportTime + ":" + _startTime.Substring(2, _startTime.Length - 2);
 
-                                             trip = trip
 
-                                              + "\r\n" + GoAirportTime + " 抵达" + font_Airport + _StartBuilding + "航站楼,办理登机手续:"
 
-                                              + "\r\n" + _startTime.Substring(0, 2) + ":" + _startTime.Substring(2, _startTime.Length - 2) + " 搭乘" + _aircompany_Name + "航空公司" + _flightcode + "航班,由" + font_City + "飞往" + back_City + ";"
 
-                                              + "\r\n" + "       (" + font_Airport + "/" + back_Airport + "  机型:" + airModel + "    飞行时间" + (_flightTime) + ");"
 
-                                              + "\r\n" + _endTime.Substring(0, 2) + ":" + _endTime.Substring(2, _endTime.Length - 2) + " 抵达" + back_Airport + _EndBuilding + "航站楼,办理入境手续,之后前往提取行李";
 
-                                             //若为最后一行,则计算后备等时间
 
-                                             if (n == resultRows.Count() - 1)
 
-                                             {
 
-                                                 //根据航班信息推算离开机场的时间
 
-                                                 temp = Convert.ToInt32(_endTime.Substring(0, 2)) + 1;
 
-                                                 leaveAirPortTime = temp < 10 ? "0" + temp.ToString() : temp.ToString();
 
-                                                 leaveAirPortTime = leaveAirPortTime + ":" + _endTime.Substring(2, _endTime.Length - 2);
 
-                                                 if (i == timeList.Count - 1)//如果本日是行程的最后一天,先增加酒店到机场的距离时间,再在末尾提醒“行程圆满结束” 
 
-                                                 {
 
-                                                     trip = trip + ",圆满结束此次访问之行!";
 
-                                                 }
 
-                                                 else //如果本日不是行程的最后一天,正常提醒
 
-                                                 {
 
-                                                     trip += pushTrip(leaveAirPortTime, back_Airport, city, out leaveAirPortTime);
 
-                                                     trip = trip + ";\r\n" + leaveAirPortTime + "搭乘专车前往酒店,抵达后办理入住;";
 
-                                                 }
 
-                                                 //整理离开机场的时间 +10分钟为"乘车前往酒店"的时刻
 
-                                                 int hour = Convert.ToInt32(leaveAirPortTime.Substring(0, 2));
 
-                                                 int min = Convert.ToInt32(leaveAirPortTime.Substring(3, 2));
 
-                                                 min = min + 10;
 
-                                                 if (min > 59)
 
-                                                 {
 
-                                                     min = min - 60;
 
-                                                     hour = hour + 1;
 
-                                                 }
 
-                                                 if (hour > 23)
 
-                                                 {
 
-                                                     hour = hour - 24;
 
-                                                 }
 
-                                                 leaveAirPortTime = hour < 10 ? "0" + hour.ToString() : hour.ToString();
 
-                                                 leaveAirPortTime = leaveAirPortTime + ":" + (min < 10 ? "0" + min.ToString() : min.ToString());
 
-                                             }
 
-                                             #endregion
 
-                                         }
 
-                                         //若前行是生成的,则本行判定为新出发
 
-                                         else if (resultRows[n - 1]["Sign"].ToString() == "1")
 
-                                         {
 
-                                             #region trip编辑
 
-                                             //根据航班信息推算进入机场的时间
 
-                                             int temp = Convert.ToInt32(_startTime.Substring(0, 2)) - 2;//一般提前提前2小时
 
-                                             string result = GetCountryInfo(back_threecode.Country);//美国或者欧洲国家提前3小时
 
-                                             if (result.Contains("2"))
 
-                                             {
 
-                                                 temp = Convert.ToInt32(_startTime.Substring(0, 2)) - 3;//提前3小时
 
-                                             }
 
-                                             if (temp < 0)
 
-                                             {
 
-                                                 temp = temp + 24;
 
-                                             }
 
-                                             GoAirportTime = temp < 10 ? "0" + temp.ToString() : temp.ToString();
 
-                                             GoAirportTime = GoAirportTime + ":" + _startTime.Substring(2, _startTime.Length - 2);
 
-                                             //根据航班信息推算离开机场的时间
 
-                                             temp = Convert.ToInt32(_endTime.Substring(0, 2)) + 1;
 
-                                             leaveAirPortTime = temp < 10 ? "0" + temp.ToString() : temp.ToString();
 
-                                             leaveAirPortTime = leaveAirPortTime + ":" + _endTime.Substring(2, _endTime.Length - 2);
 
-                                             //第一天之后的行程可以加上“酒店出发到机场”的距离和时间
 
-                                             if (i > 0)
 
-                                             {
 
-                                                 #region 酒店      
 
-                                                 foreach (var h in listht)
 
-                                                 {
 
-                                                     if (Convert.ToDateTime(h.CheckInDate) < Convert.ToDateTime(timeList[i])
 
-                                                      && Convert.ToDateTime(h.CheckOutDate) >= Convert.ToDateTime(timeList[i]))
 
-                                                     {
 
-                                                         //利用谷歌API计算路线
 
-                                                         if (AirPort != "")
 
-                                                         {
 
-                                                             GoogleMapApiResult g = null;
 
-                                                             if (g != null)
 
-                                                             {
 
-                                                                 //计算“酒店到机场”的时间
 
-                                                                 string CheckoutHotelTime;
 
-                                                                 //处理时间格式
 
-                                                                 string hours = "0", mins = "0";
 
-                                                                 if (g.Time.Contains("hour"))
 
-                                                                 {
 
-                                                                     g.Time = g.Time.Replace("hour", "h");
 
-                                                                 }
 
-                                                                 else if (g.Time.Contains("hours"))
 
-                                                                 {
 
-                                                                     g.Time = g.Time.Replace("hours", "h");
 
-                                                                 }
 
-                                                                 g.Time = g.Time.Replace("mins", "m");
 
-                                                                 if (g.Time.Contains("h"))
 
-                                                                 {
 
-                                                                     hours = g.Time.Split('h')[0].Trim();
 
-                                                                 }
 
-                                                                 else if (!g.Time.Contains("h"))
 
-                                                                 {
 
-                                                                     mins = g.Time.Split('m')[0].Trim();
 
-                                                                 }
 
-                                                                 int _hour = Convert.ToInt32(GoAirportTime.Substring(0, 2));
 
-                                                                 int _min = Convert.ToInt32(GoAirportTime.Substring(3, 2));
 
-                                                                 _min = _min - Convert.ToInt32(mins);
 
-                                                                 if (_min < 0)
 
-                                                                 {
 
-                                                                     _min = _min + 60;
 
-                                                                     _hour = _hour - 1;
 
-                                                                 }
 
-                                                                 if (hours != "")
 
-                                                                 {
 
-                                                                     _hour = _hour - Convert.ToInt32(hours);
 
-                                                                 }
 
-                                                                 if (_hour < 0)
 
-                                                                 {
 
-                                                                     _hour = _hour + 24;
 
-                                                                 }
 
-                                                                 CheckoutHotelTime = _hour < 10 ? "0" + _hour.ToString() : _hour.ToString();
 
-                                                                 CheckoutHotelTime = CheckoutHotelTime + ":" + (_min < 10 ? "0" + _min.ToString() : _min.ToString());
 
-                                                                 trip = trip + "\r\n"
 
-                                                                             + CheckoutHotelTime + " 乘车前往机场:(" + g.Distance + "," + g.Time + ")";
 
-                                                             }
 
-                                                             else
 
-                                                             {
 
-                                                                 try
 
-                                                                 {
 
-                                                                     JObject Result = GetDirectionByGoogleApi(h.HotelAddress, font_Airport);
 
-                                                                     //计算“抵达酒店办理入住手续”的时间
 
-                                                                     string CheckoutHotelTime;
 
-                                                                     //处理时间格式
 
-                                                                     string Gtime = "", hours = "0", mins = "0";
 
-                                                                     if (Result["routes"][0]["legs"][0]["duration"]["text"].ToString().Contains("hour"))
 
-                                                                     {
 
-                                                                         Gtime = Result["routes"][0]["legs"][0]["duration"]["text"].ToString().Replace("hour", "h");
 
-                                                                     }
 
-                                                                     else if (Result["routes"][0]["legs"][0]["duration"]["text"].ToString().Contains("hours"))
 
-                                                                     {
 
-                                                                         Gtime = Result["routes"][0]["legs"][0]["duration"]["text"].ToString().Replace("hours", "h");
 
-                                                                     }
 
-                                                                     Gtime = Gtime.Replace("mins", "m");
 
-                                                                     if (!string.IsNullOrEmpty(Gtime) && Gtime.Contains("h"))
 
-                                                                     {
 
-                                                                         hours = Gtime.Split('h')[0].Trim();
 
-                                                                     }
 
-                                                                     else if (!string.IsNullOrEmpty(Gtime) && !Gtime.Contains("h"))
 
-                                                                     {
 
-                                                                         mins = Gtime.Split('m')[0].Trim();
 
-                                                                     }
 
-                                                                     int _hour = Convert.ToInt32(leaveAirPortTime.Substring(0, 2));
 
-                                                                     int _min = Convert.ToInt32(leaveAirPortTime.Substring(3, 2));
 
-                                                                     _min = _min - Convert.ToInt32(mins);
 
-                                                                     if (_min < 0)
 
-                                                                     {
 
-                                                                         _min = _min + 60;
 
-                                                                         _hour = _hour - 1;
 
-                                                                     }
 
-                                                                     if (hours != "")
 
-                                                                     {
 
-                                                                         _hour = _hour + Convert.ToInt32(hours);
 
-                                                                     }
 
-                                                                     if (_hour < 0)
 
-                                                                     {
 
-                                                                         _hour = _hour + 24;
 
-                                                                     }
 
-                                                                     CheckoutHotelTime = _hour < 10 ? "0" + _hour.ToString() : _hour.ToString();
 
-                                                                     CheckoutHotelTime = CheckoutHotelTime + ":" + (_min < 10 ? "0" + _min.ToString() : _min.ToString());
 
-                                                                     trip = trip + "\r\n"
 
-                                                                                 + CheckoutHotelTime + " 乘车前往机场:(" + g.Distance + "," + g.Time + ")";
 
-                                                                     GoogleMapApiResult gtemp = new GoogleMapApiResult();
 
-                                                                     gtemp.Diid = di.Id;
 
-                                                                     gtemp.Date = "";
 
-                                                                     gtemp.Moment = "";
 
-                                                                     gtemp.StartAddress = AirPort;
 
-                                                                     gtemp.EndAddress = h.HotelAddress;
 
-                                                                     gtemp.Time = Result["routes"][0]["legs"][0]["duration"]["text"].ToString();
 
-                                                                     gtemp.Distance = Result["routes"][0]["legs"][0]["distance"]["text"].ToString();
 
-                                                                     //gmrs.Add(gtemp);
 
-                                                                 }
 
-                                                                 catch
 
-                                                                 {
 
-                                                                     trip = trip + "\r\n"
 
-                                                                          + "          乘车前往机场:(谷歌接口异常,无法测算的路程时间)";
 
-                                                                 }
 
-                                                             }
 
-                                                         }
 
-                                                     }
 
-                                                 }
 
-                                                 #endregion
 
-                                             }
 
-                                             trip = trip
 
-                                                  + "\r\n" + GoAirportTime + " 抵达" + font_Airport + _StartBuilding + "航站楼,办理登机手续:"
 
-                                                  + "\r\n" + _startTime.Substring(0, 2) + ":" + _startTime.Substring(2, _startTime.Length - 2) + " 搭乘" + _aircompany_Name + "航空公司" + _flightcode + "航班,由" + font_City + "飞往" + back_City + ";"
 
-                                                  + "\r\n" + "       (" + font_Airport + "/" + back_Airport + "  机型:" + airModel + "    飞行时间" + (_flightTime) + ");"
 
-                                                  + "\r\n" + _endTime.Substring(0, 2) + ":" + _endTime.Substring(2, _endTime.Length - 2) + " 抵达" + back_Airport + _EndBuilding + "航站楼,办理入境手续,之后前往提取行李";
 
-                                             if (i == timeList.Count - 1)//如果本日是行程的最后一天,先增加酒店到机场的距离时间,再在末尾提醒“行程圆满结束” 
 
-                                             {
 
-                                                 trip = trip + ",圆满结束此次访问之行!";
 
-                                             }
 
-                                             else //如果本日不是行程的最后一天,正常提醒
 
-                                             {
 
-                                                 trip += pushTrip(leaveAirPortTime, back_Airport, city, out leaveAirPortTime);
 
-                                                 trip = trip + ";\r\n" + leaveAirPortTime + " 搭乘专车前往酒店,抵达后办理入住;";
 
-                                             }
 
-                                             //整理离开机场的时间 +10分钟为"乘车前往酒店"的时刻
 
-                                             int hour = Convert.ToInt32(leaveAirPortTime.Substring(0, 2));
 
-                                             int min = Convert.ToInt32(leaveAirPortTime.Substring(3, 2));
 
-                                             min = min + 10;
 
-                                             if (min > 59)
 
-                                             {
 
-                                                 min = min - 60;
 
-                                                 hour = hour + 1;
 
-                                             }
 
-                                             if (hour > 23)
 
-                                             {
 
-                                                 hour = hour - 24;
 
-                                             }
 
-                                             leaveAirPortTime = hour < 10 ? "0" + hour.ToString() : hour.ToString();
 
-                                             leaveAirPortTime = leaveAirPortTime + ":" + (min < 10 ? "0" + min.ToString() : min.ToString());
 
-                                             #endregion
 
-                                         }
 
-                                     }
 
-                                 }
 
-                             }
 
-                             #endregion
 
-                             #region 行程和城市赋值
 
-                             if (trip == "" || trip == " " || city == "" || city == " ")
 
-                             {
 
-                                 city = CityInDateList.Find(cid => cid.Date == timeList[i]).City;
 
-                                 //部分黄热病国家,需要提醒打疫苗
 
-                                 string result = GetCountryInfo(getByCity(city)[0].Country);
 
-                                 if (result.Contains("3"))
 
-                                 {
 
-                                     city += "(此地区为黄热病地区,请注意打疫苗)";
 
-                                 }
 
-                                 trip = city;
 
-                             }
 
-                             #endregion
 
-                             #region 公务  20210820 贾文滔
 
-                             string OATemp = "";//暂存公务活动
 
-                             //根据团号和日期获取公务数据
 
-                             List<Res_OfficialActivities> listoa = getByDiidAndDate(comb_Diid, timeList[i]);
 
-                             //若listoa存在公务数据,进行排序,再进行导入
 
-                             if (listoa != null && listoa.Count > 0)
 
-                             {
 
-                                 //利用datatable存放公务活动数据
 
-                                 DataTable OA_DataTable = new DataTable();
 
-                                 OA_DataTable.Columns.Add("StartTime", typeof(string)); //activity开始时刻
 
-                                 OA_DataTable.Columns.Add("EndTime", typeof(string)); //activity结束时刻
 
-                                 OA_DataTable.Columns.Add("Client", typeof(string)); //activity单位
 
-                                 OA_DataTable.Columns.Add("Address", typeof(string)); //activity地址
 
-                                 OA_DataTable.Columns.Add("Contact", typeof(string)); //activity联系人
 
-                                 OA_DataTable.Columns.Add("Tel", typeof(string)); //activity联系人电话
 
-                                 OA_DataTable.Columns.Add("Dresscode", typeof(string)); //activity着装要求
 
-                                 OA_DataTable.Columns.Add("isTranslate", typeof(bool));//是否需要翻译人员
 
-                                 OA_DataTable.Columns.Add("Language", typeof(string));//是否需要翻译人员
 
-                                 //处理公务数据
 
-                                 for (int b = 0; b < listoa.Count; b++)
 
-                                 {
 
-                                     //起止时间
 
-                                     string[] time = new string[2];
 
-                                     if (listoa[b].Time.Contains('—'))
 
-                                     {
 
-                                         time = listoa[b].Time.Split('—');
 
-                                     }
 
-                                     else if (listoa[b].Time.Contains('-'))
 
-                                     {
 
-                                         time = listoa[b].Time.Split('-');
 
-                                     }
 
-                                     //添加数据
 
-                                     if (time.Length >= 2)
 
-                                     {
 
-                                         OA_DataTable.Rows.Add(time[0], time[1], listoa[b].Client, listoa[b].Address, listoa[b].Contact, listoa[b].Tel, listoa[b].Dresscode, listoa[b].IsNeedTrans, listoa[b].language);
 
-                                     }
 
-                                     else
 
-                                     {
 
-                                         //PublicCode.GetAlertMsg(this, GetType(), timeList[i] + "的公务数据有误,请检查");
 
-                                     }
 
-                                 }
 
-                                 //排序
 
-                                 OA_DataTable.DefaultView.Sort = "StartTime asc";
 
-                                 OA_DataTable = OA_DataTable.DefaultView.ToTable();
 
-                                 //导入信息
 
-                                 for (int index = 0; index < OA_DataTable.Rows.Count; index++)
 
-                                 {
 
-                                     if (i == 0)//行程第一天的公务放在酒店后面,所以先暂存在一个变量里
 
-                                     {
 
-                                         if (OATemp != "")
 
-                                         {
 
-                                             OATemp = OATemp + "\r\n"
 
-                                                      + OA_DataTable.Rows[index]["StartTime"].ToString()
 
-                                                      + "-"
 
-                                                      + OA_DataTable.Rows[index]["EndTime"].ToString()
 
-                                                          + "  拜访" + OA_DataTable.Rows[index]["Client"].ToString()
 
-                                                          + ",联系人:" + OA_DataTable.Rows[index]["Contact"].ToString()
 
-                                                          + ",电话:" + OA_DataTable.Rows[index]["Tel"].ToString()
 
-                                                          + ",地址:" + OA_DataTable.Rows[index]["Address"].ToString()
 
-                                                          + ",着装要求:" + OA_DataTable.Rows[index]["Dresscode"].ToString()
 
-                                                          + ",是否需要翻译:" + (bool.Parse(OA_DataTable.Rows[index]["isTranslate"].ToString()) ? "需要翻译人员" + "翻译语种为" + OA_DataTable.Rows[index]["Language"].ToString() : "不需要翻译人员")
 
-                                                          + ",议题:-";
 
-                                         }
 
-                                         else
 
-                                         {
 
-                                             OATemp = OA_DataTable.Rows[index]["StartTime"].ToString()
 
-                                                      + "-"
 
-                                                      + OA_DataTable.Rows[index]["EndTime"].ToString()
 
-                                                          + "  拜访" + OA_DataTable.Rows[index]["Client"].ToString()
 
-                                                          + ",联系人:" + OA_DataTable.Rows[index]["Contact"].ToString()
 
-                                                          + ",电话:" + OA_DataTable.Rows[index]["Tel"].ToString()
 
-                                                          + ",地址:" + OA_DataTable.Rows[index]["Address"].ToString()
 
-                                                          + ",着装要求:" + OA_DataTable.Rows[index]["Dresscode"].ToString()
 
-                                                          + ",是否需要翻译:" + (bool.Parse(OA_DataTable.Rows[index]["isTranslate"].ToString()) ? "需要翻译人员" + "翻译语种为" + OA_DataTable.Rows[index]["Language"].ToString() : "不需要翻译人员")
 
-                                                          + ",议题:-";
 
-                                         }
 
-                                     }
 
-                                     else
 
-                                     {
 
-                                         //导入公务
 
-                                         trip = trip + "\r\n"
 
-                                                     + OA_DataTable.Rows[index]["StartTime"].ToString()
 
-                                                     + "-"
 
-                                                     + OA_DataTable.Rows[index]["EndTime"].ToString()
 
-                                                          + "  拜访" + OA_DataTable.Rows[index]["Client"].ToString()
 
-                                                          + ",联系人:" + OA_DataTable.Rows[index]["Contact"].ToString()
 
-                                                          + ",电话:" + OA_DataTable.Rows[index]["Tel"].ToString()
 
-                                                          + ",地址:" + OA_DataTable.Rows[index]["Address"].ToString()
 
-                                                          + ",着装要求:" + OA_DataTable.Rows[index]["Dresscode"].ToString()
 
-                                                          + ",是否需要翻译:" + (bool.Parse(OA_DataTable.Rows[index]["isTranslate"].ToString()) ? "需要翻译人员" + "翻译语种为" + OA_DataTable.Rows[index]["Language"].ToString() : "不需要翻译人员")
 
-                                                          + ",议题:-";
 
-                                     }
 
-                                     //当天第一个公务或许都是从酒店出发,因此可计算酒店到公务地址的距离和时间
 
-                                     if (index == 0)
 
-                                     {
 
-                                         #region 酒店
 
-                                         foreach (var h in listht)
 
-                                         {
 
-                                             if (Convert.ToDateTime(h.CheckInDate) <= Convert.ToDateTime(timeList[i])
 
-                                              && Convert.ToDateTime(h.CheckOutDate) > Convert.ToDateTime(timeList[i]))
 
-                                             {
 
-                                                 //利用谷歌API计算路线
 
-                                                 GoogleMapApiResult g = null;
 
-                                                 if (g != null)
 
-                                                 {
 
-                                                     if (i == 0)//行程第一天的公务放在酒店后面,所以先暂存在一个变量里
 
-                                                     {
 
-                                                         OATemp = OATemp + "。  (" + g.Distance + "," + g.Time + ")";
 
-                                                     }
 
-                                                     else
 
-                                                     {
 
-                                                         trip = trip + "。  (" + g.Distance + "," + g.Time + ")";
 
-                                                     }
 
-                                                 }
 
-                                                 else
 
-                                                 {
 
-                                                     try
 
-                                                     {
 
-                                                         JObject Result = GetDirectionByGoogleApi(h.HotelAddress, OA_DataTable.Rows[0]["Address"].ToString());
 
-                                                         if (i == 0)//行程第一天的公务放在酒店后面,所以先暂存在一个变量里
 
-                                                         {
 
-                                                             OATemp = OATemp + "。  (" + Result["routes"][0]["legs"][0]["distance"]["text"].ToString() + ","
 
-                                                                             + Result["routes"][0]["legs"][0]["duration"]["text"].ToString() + ")";
 
-                                                         }
 
-                                                         else
 
-                                                         {
 
-                                                             trip = trip + "。  (" + Result["routes"][0]["legs"][0]["distance"]["text"].ToString() + ","
 
-                                                                         + Result["routes"][0]["legs"][0]["duration"]["text"].ToString() + ")";
 
-                                                         }
 
-                                                         GoogleMapApiResult gtemp = new GoogleMapApiResult();
 
-                                                         gtemp.Diid = di.Id;
 
-                                                         gtemp.Date = "";
 
-                                                         gtemp.Moment = "";
 
-                                                         gtemp.StartAddress = h.HotelAddress;
 
-                                                         gtemp.EndAddress = OA_DataTable.Rows[0]["Address"].ToString();
 
-                                                         gtemp.Time = Result["routes"][0]["legs"][0]["duration"]["text"].ToString();
 
-                                                         gtemp.Distance = Result["routes"][0]["legs"][0]["distance"]["text"].ToString();
 
-                                                         //gmrs.Add(gtemp);
 
-                                                     }
 
-                                                     catch
 
-                                                     {
 
-                                                         if (i == 0)//行程第一天的公务放在酒店后面,所以先暂存在一个变量里
 
-                                                         {
 
-                                                             OATemp = OATemp + "。  (谷歌接口异常,无法测算路程时间)";
 
-                                                         }
 
-                                                         else
 
-                                                         {
 
-                                                             trip = trip + "。  (谷歌接口异常,无法测算路程时间)";
 
-                                                         }
 
-                                                     }
 
-                                                 }
 
-                                             }
 
-                                         }
 
-                                         #endregion
 
-                                     }
 
-                                     //第二个公务是由中午的餐厅前往公务地址,具有随机性,因此不计算此方向距离时间;但可计算由公务地址回酒店的信息
 
-                                     else
 
-                                     {
 
-                                         #region 酒店
 
-                                         foreach (var h in listht)
 
-                                         {
 
-                                             if (Convert.ToDateTime(h.CheckInDate) <= Convert.ToDateTime(timeList[i])
 
-                                              && Convert.ToDateTime(h.CheckOutDate) > Convert.ToDateTime(timeList[i]))
 
-                                             {
 
-                                                 //利用谷歌API计算路线
 
-                                                 GoogleMapApiResult g = null;
 
-                                                 if (g != null)
 
-                                                 {
 
-                                                     if (i == 0)//行程第一天的公务放在酒店后面,所以先暂存在一个变量里
 
-                                                     {
 
-                                                         OATemp = OATemp + "。  (" + g.Distance + "," + g.Time + ")";
 
-                                                     }
 
-                                                     else
 
-                                                     {
 
-                                                         trip = trip + "。  (" + g.Distance + "," + g.Time + ")";
 
-                                                     }
 
-                                                 }
 
-                                                 else
 
-                                                 {
 
-                                                     try
 
-                                                     {
 
-                                                         JObject Result = GetDirectionByGoogleApi(OA_DataTable.Rows[index]["Address"].ToString(), h.HotelAddress);
 
-                                                         if (i == 0)//行程第一天的公务放在酒店后面,所以先暂存在一个变量里
 
-                                                         {
 
-                                                             OATemp = OATemp + "。  (" + Result["routes"][0]["legs"][0]["distance"]["text"].ToString() + ","
 
-                                                                             + Result["routes"][0]["legs"][0]["duration"]["text"].ToString() + ")";
 
-                                                         }
 
-                                                         else
 
-                                                         {
 
-                                                             trip = trip + "。  (" + Result["routes"][0]["legs"][0]["distance"]["text"].ToString() + ","
 
-                                                                         + Result["routes"][0]["legs"][0]["duration"]["text"].ToString() + ")";
 
-                                                         }
 
-                                                         GoogleMapApiResult gtemp = new GoogleMapApiResult();
 
-                                                         gtemp.Diid = di.Id;
 
-                                                         gtemp.Date = "";
 
-                                                         gtemp.Moment = "";
 
-                                                         gtemp.StartAddress = OA_DataTable.Rows[0]["Address"].ToString();
 
-                                                         gtemp.EndAddress = h.HotelAddress;
 
-                                                         gtemp.Time = Result["routes"][0]["legs"][0]["duration"]["text"].ToString();
 
-                                                         gtemp.Distance = Result["routes"][0]["legs"][0]["distance"]["text"].ToString();
 
-                                                         //gmrs.Add(gtemp);
 
-                                                     }
 
-                                                     catch
 
-                                                     {
 
-                                                         if (i == 0)//行程第一天的公务放在酒店后面,所以先暂存在一个变量里
 
-                                                         {
 
-                                                             OATemp = OATemp + "。  (谷歌接口异常,无法测算路程时间)";
 
-                                                         }
 
-                                                         else
 
-                                                         {
 
-                                                             trip = trip + "。  (谷歌接口异常,无法测算路程时间)";
 
-                                                         }
 
-                                                     }
 
-                                                 }
 
-                                             }
 
-                                         }
 
-                                         #endregion
 
-                                     }
 
-                                 }
 
-                             }
 
-                             #endregion
 
-                             #region 酒店      
 
-                             foreach (var h in listht)
 
-                             {
 
-                                 if (Convert.ToDateTime(h.CheckInDate) <= Convert.ToDateTime(timeList[i])
 
-                                  && Convert.ToDateTime(h.CheckOutDate) > Convert.ToDateTime(timeList[i]))//不去“》=”的原因是行程最后一天一般不会有酒店
 
-                                 {
 
-                                     //利用谷歌API计算路线
 
-                                     if (AirPort != "")
 
-                                     {
 
-                                         GoogleMapApiResult g = null;
 
-                                         if (g != null)
 
-                                         {
 
-                                             trip = trip + "\r\n"
 
-                                                 + leaveAirPortTime + " 乘车前往酒店:(" + g.Distance + "," + g.Time + ")";
 
-                                             //计算“抵达酒店办理入住手续”的时间
 
-                                             string CheckInHotelTime;
 
-                                             //处理时间格式
 
-                                             string hours = "", mins = "";
 
-                                             if (g.Time.Contains("hour"))
 
-                                             {
 
-                                                 g.Time = g.Time.Replace("hour", "h");
 
-                                             }
 
-                                             else if (g.Time.Contains("hours"))
 
-                                             {
 
-                                                 g.Time = g.Time.Replace("hours", "h");
 
-                                             }
 
-                                             g.Time = g.Time.Replace("mins", "m");
 
-                                             if (g.Time.Contains("h"))
 
-                                             {
 
-                                                 hours = g.Time.Split('h')[0].Trim();
 
-                                             }
 
-                                             else if (!g.Time.Contains("h"))
 
-                                             {
 
-                                                 mins = g.Time.Split('m')[0].Trim();
 
-                                             }
 
-                                             int hour = Convert.ToInt32(leaveAirPortTime.Substring(0, 2));
 
-                                             int min = Convert.ToInt32(leaveAirPortTime.Substring(3, 2));
 
-                                             min = min + Convert.ToInt32(mins);
 
-                                             if (min > 59)
 
-                                             {
 
-                                                 min = min - 60;
 
-                                                 hour = hour + 1;
 
-                                             }
 
-                                             if (hours != "")
 
-                                             {
 
-                                                 hour = hour + Convert.ToInt32(hours);
 
-                                             }
 
-                                             if (hour > 23)
 
-                                             {
 
-                                                 hour = hour - 24;
 
-                                             }
 
-                                             CheckInHotelTime = hour < 10 ? "0" + hour.ToString() : hour.ToString();
 
-                                             CheckInHotelTime = CheckInHotelTime + ":" + (min < 10 ? "0" + min.ToString() : min.ToString());
 
-                                             trip = trip + "\r\n"
 
-                                                         + CheckInHotelTime + " 抵达酒店办理入住手续";
 
-                                         }
 
-                                         else
 
-                                         {
 
-                                             try
 
-                                             {
 
-                                                 JObject Result = GetDirectionByGoogleApi(AirPort, h.HotelAddress);
 
-                                                 trip = trip + "\r\n"
 
-                                                     + leaveAirPortTime + " 乘车前往酒店:(" + Result["routes"][0]["legs"][0]["distance"]["text"].ToString() + ","
 
-                                                                                              + Result["routes"][0]["legs"][0]["duration"]["text"].ToString() + ")";
 
-                                                 //计算“抵达酒店办理入住手续”的时间
 
-                                                 string CheckInHotelTime;
 
-                                                 //处理时间格式
 
-                                                 string Gtime = "", hours = "", mins = "";
 
-                                                 if (Result["routes"][0]["legs"][0]["duration"]["text"].ToString().Contains("hour"))
 
-                                                 {
 
-                                                     Gtime = Result["routes"][0]["legs"][0]["duration"]["text"].ToString().Replace("hour", "h");
 
-                                                 }
 
-                                                 else if (Result["routes"][0]["legs"][0]["duration"]["text"].ToString().Contains("hours"))
 
-                                                 {
 
-                                                     Gtime = Result["routes"][0]["legs"][0]["duration"]["text"].ToString().Replace("hours", "h");
 
-                                                 }
 
-                                                 Gtime = Gtime.Replace("mins", "m");
 
-                                                 if (!string.IsNullOrEmpty(Gtime) && Gtime.Contains("h"))
 
-                                                 {
 
-                                                     hours = Gtime.Split('h')[0].Trim();
 
-                                                 }
 
-                                                 else if (!string.IsNullOrEmpty(Gtime) && !Gtime.Contains("h"))
 
-                                                 {
 
-                                                     mins = Gtime.Split('m')[0].Trim();
 
-                                                 }
 
-                                                 int hour = Convert.ToInt32(leaveAirPortTime.Substring(0, 2));
 
-                                                 int min = Convert.ToInt32(leaveAirPortTime.Substring(3, 2));
 
-                                                 if (mins != "")
 
-                                                     min = min + Convert.ToInt32(mins);
 
-                                                 if (min > 59)
 
-                                                 {
 
-                                                     min = min - 60;
 
-                                                     hour = hour + 1;
 
-                                                 }
 
-                                                 if (hours != "")
 
-                                                 {
 
-                                                     hour = hour + Convert.ToInt32(hours);
 
-                                                 }
 
-                                                 if (hour > 23)
 
-                                                 {
 
-                                                     hour = hour - 24;
 
-                                                 }
 
-                                                 CheckInHotelTime = hour < 10 ? "0" + hour.ToString() : hour.ToString();
 
-                                                 CheckInHotelTime = CheckInHotelTime + ":" + (min < 10 ? "0" + min.ToString() : min.ToString());
 
-                                                 trip = trip + "\r\n"
 
-                                                             + CheckInHotelTime + " 抵达酒店办理入住手续";
 
-                                                 GoogleMapApiResult gtemp = new GoogleMapApiResult();
 
-                                                 gtemp.Diid = di.Id;
 
-                                                 gtemp.Date = "";
 
-                                                 gtemp.Moment = "";
 
-                                                 gtemp.StartAddress = AirPort;
 
-                                                 gtemp.EndAddress = h.HotelAddress;
 
-                                                 gtemp.Time = Result["routes"][0]["legs"][0]["duration"]["text"].ToString();
 
-                                                 gtemp.Distance = Result["routes"][0]["legs"][0]["distance"]["text"].ToString();
 
-                                                 //gmrs.Add(gtemp);
 
-                                             }
 
-                                             catch
 
-                                             {
 
-                                                 trip = trip + "\r\n"
 
-                                                      + "          (谷歌接口异常,无法测算的路程时间)";
 
-                                             }
 
-                                         }
 
-                                     }
 
-                                     trip = trip + "\r\n"
 
-                                         + "          酒店名称:" + h.HotelName + "\r\n"
 
-                                         + "          酒店地址:" + h.HotelAddress + "\r\n"
 
-                                         + "          酒店电话:" + h.HotelTel + "      酒店传真:" + (h.HotelFax == "" ? "-" : h.HotelFax);
 
-                                     if (i == 0 && !string.IsNullOrEmpty(OATemp))
 
-                                     {
 
-                                         trip = trip + "\r\n" + OATemp;
 
-                                     }
 
-                                 }
 
-                             }
 
-                             #endregion
 
-                             #region 当天交通工具赋值
 
-                             //一般行程第一天都是先乘坐飞机后乘坐汽车
 
-                             if (i == 0)
 
-                             {
 
-                                 tlTemp.Traffic_First = "飞机";
 
-                                 tlTemp.Traffic_Second = "汽车";
 
-                             }
 
-                             else
 
-                             {
 
-                                 // 根据车导地接表数据判断交通工具:汽车
 
-                                 List<Grp_CarTouristGuideGroundReservations> ListCar = listctg.FindAll(c => Convert.ToDateTime(c.ServiceStartTime) <= Convert.ToDateTime(timeList[i])
 
-                                                                                                     && Convert.ToDateTime(c.ServiceEndTime) >= Convert.ToDateTime(timeList[i]));
 
-                                 //交通工具:汽车
 
-                                 if (ListCar.Count > 0)
 
-                                 {
 
-                                     tlTemp.Traffic_First = "汽车";
 
-                                     //交通工具:飞机
 
-                                     if (airSign == true)
 
-                                     {
 
-                                         tlTemp.Traffic_Second = "飞机";
 
-                                     }
 
-                                     else
 
-                                     {
 
-                                         tlTemp.Traffic_Second = "";
 
-                                     }
 
-                                 }
 
-                                 else
 
-                                 {
 
-                                     tlTemp.Traffic_First = "汽车";
 
-                                     //交通工具:飞机
 
-                                     if (airSign == true)
 
-                                     {
 
-                                         tlTemp.Traffic_Second = "飞机";
 
-                                     }
 
-                                     else
 
-                                     {
 
-                                         tlTemp.Traffic_Second = "";
 
-                                     }
 
-                                 }
 
-                             }
 
-                             #endregion
 
-                             tlTemp.Trip = trip;
 
-                             tlTemp.CreateUserId = di.Id;
 
-                             tlTemp.CreateTime = DateTime.Now;
 
-                             //tlTemp.OPdate = PublicCode.GetBeijingTime().ToString("yyyy-MM-dd hh:mm:ss");
 
-                             tlTemp.Issel = 1;
 
-                             tlTemp.Diffgroup = 1;
 
-                             tlTemp.IsDel = 0;
 
-                             AddTravelList(tlTemp);
 
-                         }
 
-                     }
 
-                 }
 
-                 catch (Exception ex)
 
-                 {
 
-                     //Response.Write(ex.Message.ToString());
 
-                     lblImport.Text = ex.Message;
 
-                 }
 
-                 lblImport.Text = "数据录入完成";
 
-             }
 
-         }
 
-         private string pushTrip(string timeStr, string startAddress, string endAddress, out string timeOut)
 
-         {
 
-             startAddress = startAddress.Trim().Replace("(此地区为黄热病地区,请注意打疫苗)", "");
 
-             endAddress = endAddress.Trim().Replace("(此地区为黄热病地区,请注意打疫苗)", "");
 
-             decimal conversion = 1.61M;
 
-             DateTime tripTime = DateTime.Now;
 
-             try
 
-             {
 
-                 tripTime = DateTime.Parse(timeStr).AddHours(-1);
 
-             }
 
-             catch (Exception e)
 
-             { }
 
-             endAddress = endAddress.TrimStart('/');
 
-             string CheckoutHotelTime = string.Empty;
 
-             string endCity = string.Empty;
 
-             if (endAddress.Contains("/"))
 
-             {
 
-                 endCity = endAddress.Split('/')[1] + "市区";
 
-             }
 
-             else
 
-             {
 
-                 endCity = endAddress + "市区";
 
-             }
 
-             string Time = string.Empty;
 
-             string Distance = string.Empty;
 
-             int GetGoogleResult = 0;
 
-             JObject Result = null;
 
-             try
 
-             {
 
-                 Result = GetDirectionByGoogleApi(startAddress, endCity);
 
-                 Time = Result["routes"][0]["legs"][0]["duration"]["text"].ToString();
 
-                 Distance = Result["routes"][0]["legs"][0]["distance"]["text"].ToString();
 
-                 if (Time.Contains("hours"))
 
-                 {
 
-                     Time = Time.Replace("hours", "小时");
 
-                 }
 
-                 else if (Time.Contains("hour"))
 
-                 {
 
-                     Time = Time.Replace("hour", "小时");
 
-                 }
 
-                 Time = Time.Replace("mins", "分钟");
 
-                 if (Time.Contains("小时"))
 
-                 {
 
-                     GetGoogleResult = int.Parse(Regex.Split(Regex.Split(Time, "小时")[1], "分钟")[0]);
 
-                 }
 
-                 else if (Time.Contains("分钟"))
 
-                 {
 
-                     GetGoogleResult = int.Parse(Regex.Split(Time, "分钟")[0]);
 
-                 }
 
-                 if (Distance.Contains("mi"))
 
-                 {
 
-                     var distSp = Regex.Split(Distance, "mi");
 
-                     if (distSp.Length > 0)
 
-                     {
 
-                         Distance = (decimal.Parse(distSp[0]) * conversion).ToString("#0.00") + " 公里";
 
-                     }
 
-                 }
 
-                 else if (Distance.Contains("km"))
 
-                 {
 
-                     Distance = Distance.Replace("km", "公里");
 
-                 }
 
-                 Time = Time.Replace(" ", "");
 
-                 Distance = Distance.Replace(" ", "");
 
-             }
 
-             catch (Exception e)
 
-             {
 
-                 Time = "未知!";
 
-                 Distance = "未知!";
 
-             }
 
-             string trip = string.Empty;
 
-             if (timeStr.Contains(":"))
 
-             {
 
-                 int H = tripTime.Hour;
 
-                 int M = tripTime.Minute;
 
-                 if (H < 12)
 
-                 {
 
-                     tripTime = tripTime.AddMinutes(90);
 
-                     CheckoutHotelTime = tripTime.ToString("HH:mm");
 
-                     trip += $"\r\n{CheckoutHotelTime} 搭乘专车前往市区";
 
-                     trip += $"({startAddress} - {endCity} 路程{Distance},耗时{Time})";
 
-                     if (H <= 13)
 
-                     {
 
-                         tripTime = tripTime.AddMinutes(GetGoogleResult);
 
-                         trip += $"\r\n{tripTime.ToString("HH:mm")} 午餐于当地餐厅;";
 
-                     }
 
-                 }
 
-                 else if (H == 12 && M <= 30)
 
-                 {
 
-                     tripTime = tripTime.AddMinutes(90);
 
-                     CheckoutHotelTime = tripTime.ToString("HH:mm");
 
-                     trip += $"\r\n{CheckoutHotelTime} 搭乘专车前往市区";
 
-                     trip += $"({startAddress} - {endCity} 路程{Distance},耗时{Time})";
 
-                     if (H <= 13)
 
-                     {
 
-                         tripTime = tripTime.AddMinutes(GetGoogleResult);
 
-                         trip += $"\r\n{tripTime.ToString("HH:mm")} 午餐于当地餐厅;";
 
-                     }
 
-                 }
 
-                 else if (H >= 14)
 
-                 {
 
-                     tripTime = tripTime.AddMinutes(90);
 
-                     CheckoutHotelTime = tripTime.ToString("HH:mm");
 
-                     trip += $"\r\n{CheckoutHotelTime} 搭乘专车前往市区;";
 
-                     trip += $"({startAddress} - {endCity} 路程{Distance},耗时{Time})";
 
-                     tripTime = DateTime.Parse(CheckoutHotelTime).AddMinutes(GetGoogleResult);
 
-                     trip += $"\r\n{tripTime.ToString("HH:mm")} 晚餐于当地餐厅;";
 
-                 }
 
-             }
 
-             timeOut = tripTime.AddMinutes(60).ToString("HH:mm");
 
-             return trip;
 
-         }
 
-         /// <summary>
 
-         /// 利用谷歌地图API查询国外两地之间距离
 
-         /// </summary>
 
-         /// <param name="Origin">出发地</param>
 
-         /// <param name="Destination">目的地</param>
 
-         /// <returns>返回Json格式</returns>
 
-         public JObject GetDirectionByGoogleApi(string Origin, string Destination)
 
-         {
 
-             string appkey = "AIzaSyBdLf8u8DinXQWVPLEkdrxOJpClXSqEnho";
 
-             string url = "https://maps.googleapis.com/maps/api/directions/json?origin=" + Origin
 
-                        + "&destination=" + Destination + "&key=" + appkey;
 
-             JObject result = null;
 
-             try
 
-             {
 
-                 #region 利用HttpWebRequest访问API
 
-                 ////创建Web访问对象
 
-                 //HttpWebRequest req = HttpWebRequest.Create(url) as HttpWebRequest;
 
-                 //req.Method = "GET";
 
-                 //req.ContentType = "application/json";
 
-                 ////创建web响应对象
 
-                 //HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
 
-                 ////通过响应内容流创建StreamReader对象,因为StreamReader更高级更快
 
-                 //StreamReader reader = new StreamReader(resp.GetResponseStream(), Encoding.UTF8);
 
-                 ////如果有编码问题就用这个方法
 
-                 ////string returnXml = HttpUtility.UrlDecode(reader.ReadToEnd());
 
-                 ////利用StreamReader就可以从响应内容从头读到尾
 
-                 //string returnJson = reader.ReadToEnd();
 
-                 ////反序列化
 
-                 //result = JsonConvert.DeserializeObject(returnJson) as JObject;
 
-                 #endregion
 
-                 #region 利用HttpClient访问API
 
-                 HttpClient myHttpClient = new HttpClient();
 
-                 HttpResponseMessage response = myHttpClient.GetAsync(url).Result;
 
-                 //var content = response.Content.ReadAsAsync<object>().Result;
 
-                 var content = response.Content.ReadAsStringAsync().Result;
 
-                 result = JObject.Parse(content);
 
-                 #endregion
 
-                 return result;
 
-             }
 
-             catch (Exception e)
 
-             {
 
-                 string error = e.Message.ToString();
 
-                 result = JsonConvert.DeserializeObject(error) as JObject;
 
-                 return result;
 
-             }
 
-         }
 
-         /// <summary>
 
-         ///根据机票黑屏代码整理DataTable
 
-         /// </summary>
 
-         /// <param name="diid"></param>
 
-         /// <returns></returns>
 
-         public DataTable GetTableByBlackCode(int diid)
 
-         {
 
-             //黑屏代码信息
 
-             List<Air_TicketBlackCode> listcode = Db.Queryable<Air_TicketBlackCode>().Where(x => x.DiId == diid && x.IsDel == 0).ToList();
 
-             //测试数据为序号,航班号,起飞日期,三字码,起飞时刻,到达时刻,出发航站楼,到达航站楼,机型,飞行时间
 
-             //1.3U8391   TU17NOV CTUCAI  0220 0715   T1 T2  330  10H55M
 
-             DataTable dt = new DataTable();
 
-             dt.Columns.Add("Fliagtcode", typeof(string)); //航班号
 
-             dt.Columns.Add("Date", typeof(string));//起飞日期
 
-             dt.Columns.Add("Three", typeof(string));//三字码
 
-             dt.Columns.Add("StartTime", typeof(string));//起飞时刻
 
-             dt.Columns.Add("EndTime", typeof(string));//到达时刻
 
-             dt.Columns.Add("StartBuilding", typeof(string));//出发航站楼
 
-             dt.Columns.Add("EndBuilding", typeof(string));//到达航站楼
 
-             dt.Columns.Add("AirModel", typeof(string)); //机型
 
-             dt.Columns.Add("FlightTime", typeof(string));//飞行时间
 
-             dt.Columns.Add("Day", typeof(string));//整理的起飞日期;作为排序依据 
 
-             dt.Columns.Add("ArrivedDate", typeof(string));//整理的到达日期
 
-             dt.Columns.Add("Error", typeof(string));//整理的到达日期
 
-             dt.Columns.Add("Sign", typeof(string));//标识:0表示为原生黑屏代码、1表示“+1”新增的黑屏代码
 
-             //判断是否录入黑屏代码
 
-             if (listcode.Count() == 0 || listcode == null)
 
-             {
 
-                 dt.Rows.Add(null, null, null, null, null, null, null, null, null, null, null, "黑屏代码未录入!", null);
 
-             }
 
-             else
 
-             {
 
-                 //读取单段黑屏代码
 
-                 for (int i = 0; i < listcode.Count; i++)
 
-                 {
 
-                     //去除序号
 
-                     string[] CodeList = Regex.Split(listcode[i].BlackCode, "\\d+\\.", RegexOptions.IgnoreCase);
 
-                     //去除多余空格,方法一Linq扩展方法
 
-                     CodeList = CodeList.Where(str => str != "").ToArray();
 
-                     CodeList = CodeList.Where(str => str != " ").ToArray();
 
-                     //年
 
-                     int year = Convert.ToInt32(DateTime.Now.Year.ToString());
 
-                     //读取单条黑屏代码
 
-                     for (int j = 0; j < CodeList.Count(); j++)
 
-                     {
 
-                         //去除多余空格,方法二使用Split()方法进行分割,分割有一个选项是RemoveEmptyEntries
 
-                         CodeList[j] = CodeList[j].Replace("\r\n", string.Empty).Replace("\\r\\n", string.Empty).TrimStart().TrimEnd();
 
-                         string[] Info = CodeList[j].Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
 
-                         //string[] Info = CodeList[j].Replace("\r\n", string.Empty).Replace("\\r\\n", string.Empty)
 
-                         //                   .TrimStart().TrimEnd().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
 
-                         //去除多余空格
 
-                         Info = Info.Where(str => str != "").ToArray();
 
-                         Info = Info.Where(str => str != " ").ToArray();
 
-                         //判断黑屏代码是否正确拆分; 理应拆成9段
 
-                         if (Info.Count() < 9)
 
-                         {
 
-                             dt.Rows.Add(null, null, null, null, null, null, null, null, null, null, null, "本团组第" + (i + 1) + "段黑屏代码中第" + (j + 1) + " 条有误,请联系机票同事核对", null);
 
-                         }
 
-                         else
 
-                         {
 
-                             try
 
-                             {
 
-                                 //月                  
 
-                                 int month = Convert.ToInt32(GetLonger(Info[1].Substring(4, 3)));
 
-                                 //日
 
-                                 int day = Convert.ToInt32(Info[1].Substring(2, 2));
 
-                                 #region 逐一比较月份,判断是否翻年;逐一比较三字码顶真,判断是否跑错机场
 
-                                 if (j > 0)
 
-                                 {
 
-                                     string[] Temp = CodeList[j - 1].Replace("\r\n", string.Empty).Replace("\\r\\n", string.Empty)
 
-                                                   .TrimStart().TrimEnd().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
 
-                                     Temp = Temp.Where(str => str != "").ToArray();
 
-                                     Temp = Temp.Where(str => str != " ").ToArray();
 
-                                     int monthTemp = Convert.ToInt32(GetLonger(Temp[1].Substring(4, 3)));
 
-                                     // 如果相邻月份之差小于0,则证明次一条年份需+1
 
-                                     if (month - monthTemp < 0)
 
-                                     {
 
-                                         year = year + 1;
 
-                                     }
 
-                                     //如果相邻代码三字码不顶真,提醒
 
-                                     string FootThree = Temp[2].Substring(3, 3);
 
-                                     string HeadThree = Info[2].Substring(0, 3);
 
-                                     if (FootThree != HeadThree)
 
-                                     {
 
-                                         //DelegationInfoService s = new DelegationInfoService();
 
-                                         //UsersService us = new UsersService();
 
-                                         //GroupsTaskAssignmentService gts = new GroupsTaskAssignmentService();
 
-                                         //77	行程
 
-                                         List<Grp_GroupsTaskAssignment> list2 = Db.Queryable<Grp_GroupsTaskAssignment>().Where(x => x.CTId == 77 && x.DIId == diid && x.IsDel == 0).ToList();
 
-                                         foreach (var temp in list2)
 
-                                         {
 
-                                             //if (temp.UId != 21)
 
-                                             //SendAndReturn(us.GetUsersByID(temp.UId).Email,
 
-                                             //    "黑屏代码提醒",
 
-                                             //   s.GetDelegationInfoByID(diid).TeamName + "的机票黑屏代码中,相邻航段的三字码不连续,请查看!");
 
-                                         }
 
-                                         //85	机票预订
 
-                                         List<Grp_GroupsTaskAssignment> list6 = Db.Queryable<Grp_GroupsTaskAssignment>().Where(x => x.CTId == 85 && x.DIId == diid && x.IsDel == 0).ToList();
 
-                                         foreach (var temp in list6)
 
-                                         {
 
-                                             //if (temp.UId != 21)
 
-                                             //SendAndReturn(us.GetUsersByID(temp.UId).Email,
 
-                                             //    "黑屏代码提醒",
 
-                                             //     s.GetDelegationInfoByID(diid).TeamName + "的机票黑屏代码中,相邻航段的三字码不连续,请查看!");
 
-                                         }
 
-                                     }
 
-                                 }
 
-                                 #endregion
 
-                                 #region 判断到达日期是否需要加1
 
-                                 if (Info[4].Contains("+"))
 
-                                 {
 
-                                     //日期+1
 
-                                     day = day + 1;
 
-                                     //判断是否进入下一月
 
-                                     if (day > Convert.ToInt32(GetDaysByMonth(Info[1].Substring(4, 3), year)))
 
-                                     {
 
-                                         day = day - Convert.ToInt32(GetDaysByMonth(Info[1].Substring(4, 3), year));
 
-                                         month = month + 1;
 
-                                         //判断是否进入下一年
 
-                                         if (month > 12)
 
-                                         {
 
-                                             month = month - 12;
 
-                                             year = year + 1;
 
-                                         }
 
-                                     }
 
-                                     //月份整理格式
 
-                                     string monthTemp = month.ToString();
 
-                                     if (month < 10)
 
-                                     {
 
-                                         monthTemp = "0" + monthTemp;
 
-                                     }
 
-                                     //日期整理格式
 
-                                     string daytemp = day.ToString();
 
-                                     if (day < 10)
 
-                                     {
 
-                                         daytemp = "0" + daytemp;
 
-                                     }
 
-                                     string temp = Info[4].Split('+')[0];
 
-                                     //添加起飞数据
 
-                                     dt.Rows.Add(Info[0],
 
-                                        Info[1],
 
-                                        Info[2],
 
-                                        Info[3],
 
-                                        temp,
 
-                                        Info[5],
 
-                                        Info[6],
 
-                                        Info[7],
 
-                                        Info[8],
 
-                                        year + "-" + GetLonger(Info[1].Substring(4, 3)) + "-" + Info[1].Substring(2, 2),
 
-                                        year + "-" + monthTemp + "-" + daytemp,
 
-                                        "",
 
-                                        "0");
 
-                                     //加1天,添加到达数据
 
-                                     dt.Rows.Add(Info[0],
 
-                                        Info[1].Replace(Info[1].Substring(2, 2), daytemp),
 
-                                        Info[2],
 
-                                        Info[3],
 
-                                        temp,
 
-                                        Info[5],
 
-                                        Info[6],
 
-                                        Info[7],
 
-                                        Info[8],
 
-                                        year + "-" + monthTemp + "-" + daytemp,
 
-                                        year + "-" + monthTemp + "-" + daytemp,
 
-                                        "",
 
-                                        "1");
 
-                                 }
 
-                                 else
 
-                                 {
 
-                                     //月份整理格式
 
-                                     string monthTemp = month.ToString();
 
-                                     if (month < 10)
 
-                                     {
 
-                                         monthTemp = "0" + monthTemp;
 
-                                     }
 
-                                     //日期整理格式
 
-                                     string daytemp = day.ToString();
 
-                                     if (day < 10)
 
-                                     {
 
-                                         daytemp = "0" + daytemp;
 
-                                     }
 
-                                     dt.Rows.Add(Info[0],
 
-                                         Info[1],
 
-                                         Info[2],
 
-                                         Info[3],
 
-                                         Info[4],
 
-                                         Info[5],
 
-                                         Info[6],
 
-                                         Info[7],
 
-                                         Info[8],
 
-                                         year + "-" + monthTemp + "-" + daytemp,
 
-                                         year + "-" + monthTemp + "-" + daytemp,
 
-                                         "",
 
-                                         "0");
 
-                                 }
 
-                                 #endregion
 
-                             }
 
-                             catch (Exception ex)
 
-                             {
 
-                                 string exstr = ex.Message.ToString();
 
-                             }
 
-                         }
 
-                     }
 
-                     //排序
 
-                     dt.DefaultView.Sort = "Day asc";
 
-                     dt = dt.DefaultView.ToTable();
 
-                 }
 
-             }
 
-             return dt;
 
-         }
 
-         /// <summary>
 
-         /// 根据星期,月份的缩写,转换成数字或者全称
 
-         /// 根据币种中文名称返回币种代码
 
-         /// 根据数字返回机型型号【2、3开头的就是空客,比如空客320,7开头的就是波音,比如波音777】
 
-         /// 20210903贾文滔
 
-         /// </summary>
 
-         /// <param name="startDate"></param>
 
-         /// <param name="endDate"></param>
 
-         /// <returns></returns>
 
-         public string GetLonger(string temp)
 
-         {
 
-             string str = "";
 
-             switch (temp.ToUpper())
 
-             {
 
-                 case "美元":
 
-                     str = "USD";
 
-                     break;
 
-                 case "日元":
 
-                     str = "JPY";
 
-                     break;
 
-                 case "英镑":
 
-                     str = "GBP";
 
-                     break;
 
-                 case "欧元":
 
-                     str = "EUR";
 
-                     break;
 
-                 case "港币":
 
-                     str = "HKD";
 
-                     break;
 
-                 case "MO":
 
-                     str = "星期一";
 
-                     break;
 
-                 case "TU":
 
-                     str = "星期二";
 
-                     break;
 
-                 case "WE":
 
-                     str = "星期三";
 
-                     break;
 
-                 case "TH":
 
-                     str = "星期四";
 
-                     break;
 
-                 case "FR":
 
-                     str = "星期五";
 
-                     break;
 
-                 case "SA":
 
-                     str = "星期六";
 
-                     break;
 
-                 case "SU":
 
-                     str = "星期天";
 
-                     break;
 
-                 case "JAN":
 
-                     str = "01";
 
-                     break;
 
-                 case "FEB":
 
-                     str = "02";
 
-                     break;
 
-                 case "MAR":
 
-                     str = "03";
 
-                     break;
 
-                 case "APR":
 
-                     str = "04";
 
-                     break;
 
-                 case "MAY":
 
-                     str = "05";
 
-                     break;
 
-                 case "JUN":
 
-                     str = "06";
 
-                     break;
 
-                 case "JUL":
 
-                     str = "07";
 
-                     break;
 
-                 case "AUG":
 
-                     str = "08";
 
-                     break;
 
-                 case "SEP":
 
-                     str = "09";
 
-                     break;
 
-                 case "OCT":
 
-                     str = "10";
 
-                     break;
 
-                 case "NOV":
 
-                     str = "11";
 
-                     break;
 
-                 case "DEC":
 
-                     str = "12";
 
-                     break;
 
-                 case "MONDAY":
 
-                     str = "星期一";
 
-                     break;
 
-                 case "TUESDAY":
 
-                     str = "星期二";
 
-                     break;
 
-                 case "WEDNESDAY":
 
-                     str = "星期三";
 
-                     break;
 
-                 case "THURSDAY":
 
-                     str = "星期四";
 
-                     break;
 
-                 case "FRIDAY":
 
-                     str = "星期五";
 
-                     break;
 
-                 case "SATURDAY":
 
-                     str = "星期六";
 
-                     break;
 
-                 case "SUNDAY":
 
-                     str = "星期日";
 
-                     break;
 
-                 case "01":
 
-                     str = "JAN";
 
-                     break;
 
-                 case "02":
 
-                     str = "FEB";
 
-                     break;
 
-                 case "03":
 
-                     str = "MAR";
 
-                     break;
 
-                 case "04":
 
-                     str = "APR";
 
-                     break;
 
-                 case "05":
 
-                     str = "MAY";
 
-                     break;
 
-                 case "06":
 
-                     str = "JUN";
 
-                     break;
 
-                 case "07":
 
-                     str = "JUL";
 
-                     break;
 
-                 case "08":
 
-                     str = "AUG";
 
-                     break;
 
-                 case "09":
 
-                     str = "SEP";
 
-                     break;
 
-                 case "10":
 
-                     str = "OCT";
 
-                     break;
 
-                 case "11":
 
-                     str = "NOV";
 
-                     break;
 
-                 case "12":
 
-                     str = "DEC";
 
-                     break;
 
-                 case "2":
 
-                     str = "空客A";
 
-                     break;
 
-                 case "3":
 
-                     str = "空客A";
 
-                     break;
 
-                 case "7":
 
-                     str = "波音";
 
-                     break;
 
-             }
 
-             return str;
 
-         }
 
-         /// <summary>
 
-         /// 1、查询该国家礼拜日是否为周五周六;系统标红礼拜日为这两天
 
-         /// 2、查询该国家是否位于美国或者欧洲;需要提前3小时到机场
 
-         /// 3、查询该国家是否为黄热病地区;系统提醒一下要打疫苗
 
-         /// 20210824 贾文滔
 
-         /// </summary>
 
-         /// <param name="Country">查询国家</param>
 
-         /// <returns>返回结果:1为礼拜日查询;2为欧洲或美国查询;3为黄热病地区查询</returns>
 
-         public string GetCountryInfo(string Country)
 
-         {
 
-             //礼拜日为周5、6的城市地区;系统标红礼拜日为这两天
 
-             string[] CountryOne = {"阿联酋","United Arab Emirates","巴林","Bahrain","卡塔尔","Qatar","沙特阿拉伯","Saudi Arabia","阿曼","Oman","科威特","Kuwait","埃及","Egypt",
 
-                             "约旦","Jordan","伊朗","Iran","伊拉克","Iraq","叙利亚","Syria","黎巴嫩","Lebanon","巴勒斯坦","Palestine","加沙","也门","Yemen"};
 
-             //欧洲或美国;需要提前3小时到机场
 
-             string[] CountryTwo = {"芬兰","瑞典","挪威","冰岛","丹麦","法罗群岛(丹)","爱沙尼亚","拉脱维亚","立陶宛","白俄罗斯","俄罗斯","乌克兰","摩尔多瓦","波兰","捷克","斯洛伐克",
 
-                             "匈牙利","德国","奥地利","瑞士","列支敦士登","英国","爱尔兰","荷兰","比利时","卢森堡","法国","摩纳哥","罗马尼亚","保加利亚","塞尔维亚","马其顿",
 
-                             "阿尔巴尼亚","希腊","斯洛文尼亚","克罗地亚","波斯尼亚和墨塞哥维那","意大利","梵蒂冈","圣马力诺","马耳他","西班牙","葡萄牙","安道尔","美国" };
 
-             //黄热病;系统提醒一下要打疫苗
 
-             string[] CountryThree = {"安哥拉","布隆迪","贝宁","布基纳法索","喀麦隆","中非共和国","乍得","刚果","赤道几内亚","埃塞俄比亚","冈比亚","加蓬","几内亚","几内亚比绍",
 
-                             "加纳","象牙海岸","科特迪瓦","肯尼亚","利比里亚","马里","尼日尔","尼日利亚","塞内加尔","塞拉利昂","苏丹","南苏丹","多哥","乌干达","毛里塔尼亚",
 
-                             "刚果民主共和国","玻利维亚","巴西","厄瓜多尔","苏里南","秘鲁","法属圭亚那","法属圭巴拿马","委内瑞拉","巴拉圭","阿根廷","特立尼达和多巴哥" };
 
-             string result = "";
 
-             if (CountryOne.Contains(Country))
 
-                 result += "1";
 
-             if (CountryTwo.Contains(Country))
 
-                 result += "2";
 
-             if (CountryThree.Contains(Country))
 
-                 result += "3";
 
-             return result;
 
-         }
 
-         /// <summary>
 
-         /// 20210816
 
-         /// 根据datatable生成某一时间段的日期
 
-         /// </summary>
 
-         /// <param name="dt">黑屏代码生成的datatable</param>
 
-         /// <returns></returns>
 
-         public List<string> GetTimeListByDataTable(DataTable dt)
 
-         {
 
-             if (dt.Rows[0]["Day"].ToString() != "")
 
-             {
 
-                 DateTime datestart = Convert.ToDateTime(dt.Rows[0]["Day"].ToString());
 
-                 DateTime dateend = Convert.ToDateTime(dt.Rows[dt.Rows.Count - 1]["ArrivedDate"].ToString());
 
-                 List<string> timeList = new List<string>();
 
-                 while (datestart <= dateend)
 
-                 {
 
-                     timeList.Add(datestart.ToString("yyyy-MM-dd"));
 
-                     datestart = datestart.AddDays(1);
 
-                 }
 
-                 return timeList;
 
-             }
 
-             return null;
 
-         }
 
-         /// <summary>
 
-         /// 返回网络时间 --北京时间
 
-         /// </summary>
 
-         /// <returns></returns>
 
-         public DateTime GetBeijingTime()
 
-         {
 
-             WebRequest request = null;
 
-             WebResponse response = null;
 
-             WebHeaderCollection headerCollection = null;
 
-             string datetime = string.Empty;
 
-             try
 
-             {
 
-                 request = WebRequest.Create("https://www.baidu.com");
 
-                 request.Timeout = 3000;
 
-                 request.Credentials = CredentialCache.DefaultCredentials;
 
-                 response = request.GetResponse();
 
-                 headerCollection = response.Headers;
 
-                 foreach (var h in headerCollection.AllKeys)
 
-                 {
 
-                     if (h == "Date")
 
-                     {
 
-                         datetime = headerCollection[h];
 
-                     }
 
-                 }
 
-                 return Convert.ToDateTime(datetime);
 
-             }
 
-             catch (Exception)
 
-             {
 
-                 return DateTime.Now;
 
-             }
 
-             finally
 
-             {
 
-                 if (request != null)
 
-                 {
 
-                     request.Abort();
 
-                 }
 
-                 if (response != null)
 
-                 {
 
-                     response.Close();
 
-                 }
 
-                 if (headerCollection != null)
 
-                 {
 
-                     headerCollection.Clear();
 
-                 }
 
-             }
 
-         }
 
-         /// <summary>
 
-         /// 根据月份返回天数
 
-         /// </summary>
 
-         /// <param name="temp"></param>
 
-         /// <returns></returns>
 
-         public static string GetDaysByMonth(string Month, int year)
 
-         {
 
-             string str = "";
 
-             //判断是否是闰年
 
-             if (DateTime.IsLeapYear(year) == false)
 
-             {
 
-                 switch (Month.ToUpper())
 
-                 {
 
-                     case "JAN":
 
-                         str = "31";
 
-                         break;
 
-                     case "FEB":
 
-                         str = "28";
 
-                         break;
 
-                     case "MAR":
 
-                         str = "31";
 
-                         break;
 
-                     case "APR":
 
-                         str = "30";
 
-                         break;
 
-                     case "MAY":
 
-                         str = "31";
 
-                         break;
 
-                     case "JUN":
 
-                         str = "30";
 
-                         break;
 
-                     case "JUL":
 
-                         str = "31";
 
-                         break;
 
-                     case "AUG":
 
-                         str = "31";
 
-                         break;
 
-                     case "SEP":
 
-                         str = "30";
 
-                         break;
 
-                     case "OCT":
 
-                         str = "31";
 
-                         break;
 
-                     case "NOV":
 
-                         str = "30";
 
-                         break;
 
-                     case "DEC":
 
-                         str = "31";
 
-                         break;
 
-                     case "01":
 
-                         str = "31";
 
-                         break;
 
-                     case "02":
 
-                         str = "28";
 
-                         break;
 
-                     case "03":
 
-                         str = "31";
 
-                         break;
 
-                     case "04":
 
-                         str = "30";
 
-                         break;
 
-                     case "05":
 
-                         str = "31";
 
-                         break;
 
-                     case "06":
 
-                         str = "30";
 
-                         break;
 
-                     case "07":
 
-                         str = "31";
 
-                         break;
 
-                     case "08":
 
-                         str = "31";
 
-                         break;
 
-                     case "09":
 
-                         str = "30";
 
-                         break;
 
-                     case "10":
 
-                         str = "31";
 
-                         break;
 
-                     case "11":
 
-                         str = "30";
 
-                         break;
 
-                     case "12":
 
-                         str = "31";
 
-                         break;
 
-                 }
 
-             }
 
-             else
 
-             {
 
-                 switch (Month.ToUpper())
 
-                 {
 
-                     case "JAN":
 
-                         str = "31";
 
-                         break;
 
-                     case "FEB":
 
-                         str = "29";
 
-                         break;
 
-                     case "MAR":
 
-                         str = "31";
 
-                         break;
 
-                     case "APR":
 
-                         str = "30";
 
-                         break;
 
-                     case "MAY":
 
-                         str = "31";
 
-                         break;
 
-                     case "JUN":
 
-                         str = "30";
 
-                         break;
 
-                     case "JUL":
 
-                         str = "31";
 
-                         break;
 
-                     case "AUG":
 
-                         str = "31";
 
-                         break;
 
-                     case "SEP":
 
-                         str = "30";
 
-                         break;
 
-                     case "OCT":
 
-                         str = "31";
 
-                         break;
 
-                     case "NOV":
 
-                         str = "30";
 
-                         break;
 
-                     case "DEC":
 
-                         str = "31";
 
-                         break;
 
-                     case "01":
 
-                         str = "31";
 
-                         break;
 
-                     case "02":
 
-                         str = "29";
 
-                         break;
 
-                     case "03":
 
-                         str = "31";
 
-                         break;
 
-                     case "04":
 
-                         str = "30";
 
-                         break;
 
-                     case "05":
 
-                         str = "31";
 
-                         break;
 
-                     case "06":
 
-                         str = "30";
 
-                         break;
 
-                     case "07":
 
-                         str = "31";
 
-                         break;
 
-                     case "08":
 
-                         str = "31";
 
-                         break;
 
-                     case "09":
 
-                         str = "30";
 
-                         break;
 
-                     case "10":
 
-                         str = "31";
 
-                         break;
 
-                     case "11":
 
-                         str = "30";
 
-                         break;
 
-                     case "12":
 
-                         str = "31";
 
-                         break;
 
-                 }
 
-             }
 
-             return str;
 
-         }
 
-         /// <summary>
 
-         /// 城市日期,PublicCode内部类
 
-         /// </summary>
 
-         public class CityInDate
 
-         {
 
-             public int Id { get; set; }
 
-             //城市
 
-             public string City { get; set; }
 
-             //日期
 
-             public string Date { get; set; }
 
-         }
 
-         /// <summary>
 
-         /// 20210823
 
-         /// 根据datatable生成行程里每一天所在的城市
 
-         /// </summary>
 
-         /// <param name="dt">黑屏代码生成的datatable</param>
 
-         /// <returns></returns>
 
-         public List<CityInDate> GetCityByDataTable(DataTable dt)
 
-         {
 
-             //城市日期键值对
 
-             List<CityInDate> list = new List<CityInDate>();
 
-             //ThreeCodeServices tcs = new ThreeCodeServices();
 
-             int id = 0;
 
-             for (int i = 1; i < dt.Rows.Count; i++)
 
-             {
 
-                 //i-1行的三字码
 
-                 string Pre_citycode = dt.Rows[i - 1]["Three"].ToString();
 
-                 if (string.IsNullOrWhiteSpace(Pre_citycode))
 
-                 {
 
-                     continue;
 
-                 }
 
-                 Pre_citycode = Pre_citycode.Replace("/", string.Empty).Substring(3, 3);
 
-                 string city = "";
 
-                 //查询该三字码所对应城市的数据
 
-                 //ThreeCode Pre_TC = tcs.getByThree(Pre_citycode);
 
-                 Res_ThreeCode Pre_TC = Db.Queryable<Res_ThreeCode>().First(x => x.Three.ToUpper() == Pre_citycode.ToUpper() && x.IsDel == 0 );
 
-                 //验证是否存在三字码
 
-                 if (Pre_TC == null)
 
-                     city = "【此三字码" + Pre_citycode + "未收录,请机票同事录入】";
 
-                 else
 
-                     city = Pre_TC.City;
 
-                 //生成日期
 
-                 DateTime datestart = Convert.ToDateTime(dt.Rows[i - 1]["Day"].ToString());
 
-                 DateTime dateend = Convert.ToDateTime(dt.Rows[i]["Day"].ToString());
 
-                 List<string> timeList = new List<string>();
 
-                 while (datestart < dateend)
 
-                 {
 
-                     timeList.Add(datestart.ToString("yyyy-MM-dd"));
 
-                     datestart = datestart.AddDays(1);
 
-                 }
 
-                 if (i == dt.Rows.Count - 1)
 
-                     timeList.Add(dt.Rows[i]["Day"].ToString());
 
-                 for (int j = 0; j < timeList.Count; j++)
 
-                 {
 
-                     CityInDate cid = new CityInDate() { };
 
-                     cid.Id = id;
 
-                     cid.City = city;
 
-                     cid.Date = timeList[j];
 
-                     list.Add(cid);
 
-                     id++;
 
-                 }
 
-             }
 
-             return list;
 
-         }
 
-         Res_ThreeCode getByThree(string three)
 
-         {
 
-             return Db.Queryable<Res_ThreeCode>().First(x => x.Three == three && x.IsDel == 0 );
 
-         }
 
-         Res_AirCompany getByShortCode(string ShortCode)
 
-         {
 
-             //return this.excuteType("select * from AirCompany where Isdel=0 and ShortCode=@ShortCode", new SqlParameter("@ShortCode", ShortCode.ToUpper()));
 
-             return Db.Queryable<Res_AirCompany>().First(x => x.ShortCode.ToUpper() == ShortCode.ToUpper() && x.IsDel == 0);
 
-         }
 
-         public class GoogleMapApiResult
 
-         {
 
-             int id;
 
-             /// <summary>
 
-             /// 标识
 
-             /// </summary>
 
-             public int Id { get => id; set => id = value; }
 
-             int diid;
 
-             /// <summary>
 
-             /// 团组ID
 
-             /// </summary>
 
-             public int Diid { get => diid; set => diid = value; }
 
-             string date;
 
-             /// <summary>
 
-             ///  日期
 
-             /// </summary>
 
-             public string Date { get => date; set => date = value; }
 
-             string moment;
 
-             /// <summary>
 
-             /// 时刻
 
-             /// </summary>
 
-             public string Moment { get => moment; set => moment = value; }
 
-             string startAddress;
 
-             /// <summary>
 
-             /// 出发地址
 
-             /// </summary>
 
-             public string StartAddress { get => startAddress; set => startAddress = value; }
 
-             string endAddress;
 
-             /// <summary>
 
-             /// 到达地址
 
-             /// </summary>
 
-             public string EndAddress { get => endAddress; set => endAddress = value; }
 
-             string time;
 
-             /// <summary>
 
-             /// 耗时
 
-             /// </summary>
 
-             public string Time { get => time; set => time = value; }
 
-             string distance;
 
-             /// <summary>
 
-             /// 距离
 
-             /// </summary>
 
-             public string Distance { get => distance; set => distance = value; }
 
-         }
 
-         List<Res_ThreeCode> getByCity(string city)
 
-         {
 
-             //return this.excuteSql("select * from ThreeCode w" +
 
-             //    "here Isdel=0 and City='" + city + "'");
 
-             return Db.Queryable<Res_ThreeCode>().Where(x => x.City == city && x.IsDel == 0).ToList();
 
-         }
 
-         public List<Res_OfficialActivities> getByDiidAndDate(int diid, string date)
 
-         {
 
-             //return excuteSql("select * from OfficialActivities where Isdel=0" +
 
-             //    " and Diid=@diid and IsSubmitApproval=0 and Date=@Date " +
 
-             //    "order by Date", new SqlParameter("@diid", diid),
 
-             //    new SqlParameter("@Date", date));
 
-             return Db.Queryable<Res_OfficialActivities>().Where(x => x.IsDel == 0 && x.DiId == diid
 
-             && x.Date == date).ToList();
 
-         }
 
-         bool AddTravelList(Grp_TravelList data)
 
-         {
 
-             return Db.Insertable<Grp_TravelList>(data).ExecuteCommand() > 0;
 
-         }
 
-         bool EditTravelList(Grp_TravelList hd)
 
-         {
 
-             //string sql = "update TravelList set Diid=@Diid,Days = @Days,Date = @Date,WeekDay = @WeekDay,Traffic_First = @Traffic_First,"
 
-             //        + "Traffic_Second = @Traffic_Second,Trip = @Trip,OPer = @OPer,OPdate = @OPdate,Isdel = @Isdel where Id = @Id";
 
-             //SqlParameter[] parameter = new SqlParameter[]{
 
-             //    new SqlParameter("@Diid",hd.Diid),
 
-             //    new SqlParameter("@Days",hd.Days),
 
-             //    new SqlParameter("@Date",hd.Date),
 
-             //    new SqlParameter("@WeekDay",hd.WeekDay),
 
-             //    new SqlParameter("@Traffic_First",hd.Traffic_First),
 
-             //    new SqlParameter("@Traffic_Second",hd.Traffic_Second),
 
-             //    new SqlParameter("@Trip",hd.Trip),
 
-             //    new SqlParameter("@OPer",hd.OPer),
 
-             //    new SqlParameter("@OPdate",hd.OPdate),
 
-             //    new SqlParameter("@Isdel",hd.Isdel),
 
-             //    new SqlParameter("@Id",hd.Id)
 
-             //};
 
-             //if (SqlHelper.ExecuteNonQuery(sql, CommandType.Text, parameter) > 0)
 
-             //    return true;
 
-             //return false;
 
-             return Db.Updateable<Grp_TravelList>(hd).ExecuteCommand() > 0;
 
-         }
 
-         bool DelOld(int Diid, int start, int end)
 
-         {
 
-             //if (SqlHelper.ExecuteNonQuery("delete from TravelList where Diid=" + Diid + " and ( Id>=" + start + " and Id<=" + end + ")", CommandType.Text) > 0)
 
-             //    return true;
 
-             //return false;
 
-             return Db.Deleteable<Grp_TravelList>().Where(x => x.Diid == Diid && x.Id >= start && x.Id <= end).ExecuteCommand() > 0;
 
-         }
 
-         /// <summary>
 
-         /// 根据团组编号查询信息
 
-         /// </summary>
 
-         /// <returns>返回空或者对象信息</returns>
 
-         List<Grp_TravelList> GetByDiid(int Diid)
 
-         {
 
-             //调用获取单个对象的方法
 
-             return Db.Queryable<Grp_TravelList>().Where(x => x.Diid == Diid && x.IsDel == 0).ToList();
 
-         }
 
-         public List<Crm_DeleClient> GetByDiidClient(int DIID)
 
-         {
 
-             return Db.Queryable<Crm_DeleClient>().Where(x => x.DiId == DIID && x.IsDel == 0).ToList();
 
-         }
 
-         /// <summary>
 
-         /// 根据大写数字返回小写数字或根据小写数字返回大写数字
 
-         /// </summary>
 
-         /// <param name="num"></param>
 
-         /// <returns></returns>
 
-         public string GetNum(string num)
 
-         {
 
-             string str = "";
 
-             switch (num)
 
-             {
 
-                 case "1":
 
-                     str = "一";
 
-                     break;
 
-                 case "2":
 
-                     str = "二";
 
-                     break;
 
-                 case "3":
 
-                     str = "三";
 
-                     break;
 
-                 case "4":
 
-                     str = "四";
 
-                     break;
 
-                 case "5":
 
-                     str = "五";
 
-                     break;
 
-                 case "6":
 
-                     str = "六";
 
-                     break;
 
-                 case "7":
 
-                     str = "七";
 
-                     break;
 
-                 case "8":
 
-                     str = "八";
 
-                     break;
 
-                 case "9":
 
-                     str = "九";
 
-                     break;
 
-                 case "10":
 
-                     str = "十";
 
-                     break;
 
-                 case "11":
 
-                     str = "十一";
 
-                     break;
 
-                 case "12":
 
-                     str = "十二";
 
-                     break;
 
-                 case "一":
 
-                     str = "1";
 
-                     break;
 
-                 case "二":
 
-                     str = "2";
 
-                     break;
 
-                 case "三":
 
-                     str = "3";
 
-                     break;
 
-                 case "四":
 
-                     str = "4";
 
-                     break;
 
-                 case "五":
 
-                     str = "5";
 
-                     break;
 
-                 case "六":
 
-                     str = "6";
 
-                     break;
 
-                 case "七":
 
-                     str = "7";
 
-                     break;
 
-                 case "八":
 
-                     str = "8";
 
-                     break;
 
-                 case "九":
 
-                     str = "9";
 
-                     break;
 
-                 case "十":
 
-                     str = "10";
 
-                     break;
 
-                 case "十一":
 
-                     str = "11";
 
-                     break;
 
-                 case "十二":
 
-                     str = "12";
 
-                     break;
 
-             }
 
-             return str;
 
-         }
 
-         public bool Del(int diid)
 
-         {
 
-             return Db.Updateable<Grp_TravelList>().Where(x => x.Diid == diid && x.IsDel == 0).SetColumns(x => new Grp_TravelList { IsDel = 1, DeleteTime = DateTime.Now.ToString("yyyy-MM-dd") }).ExecuteCommand() > 0;
 
-         }
 
-         private void comb_Delegation_TextUpdate(object sender, EventArgs e)
 
-         {
 
-             ComboBox cb = (ComboBox)sender;
 
-             cb.DataSource = null;
 
-             cb.Items.Clear();
 
-             string s = cb.Text;
 
-             var bindList = soure.Where(item => item.TeamName != null && item.TeamName.Contains(s)).ToList();
 
-             if (bindList.Count >= 1) // 存在符合条件的内容
 
-             {
 
-                 this.comb_Delegation.Items.AddRange(bindList.ToArray());
 
-             }
 
-             else
 
-             {
 
-                 this.comb_Delegation.Items.Add(new Grp_DelegationInfo { TeamName = "", Id = -1 });
 
-             }
 
-            
 
-             cb.SelectionStart = cb.Text.Length;  // 设置光标位置,若不设置:光标位置始终保持在第一列,造成输入关键词的倒序排列
 
-             cb.Cursor = Cursors.Default; //保持鼠标指针原来状态,有时候鼠标指针会被下拉框覆盖,所以要进行一次设置
 
-             cb.MaxDropDownItems = 8; // 自动弹出下拉框            
 
-         }
 
-         private void comb_Delegation_MouseClick(object sender, MouseEventArgs e)
 
-         {
 
-             comb_Delegation.Text = "";
 
-             comb_Delegation_TextUpdate(sender, e);
 
-             comb_Delegation.DropDownHeight = 200;
 
-             comb_Delegation.DroppedDown = true;
 
-         }
 
-     }
 
- }
 
 
  |