protected override void OnCreate (Bundle bundle) { base.OnCreate (bundle); SetContentView (Resource.Layout.ChatLayout); //LISTVIEW mListView = FindViewById<ListView> (Resource.Id.listViewBox); mItems = new List<TableMessages> (); string dbPath = System.IO.Path.Combine (System.Environment.GetFolderPath (System.Environment.SpecialFolder.Personal), "ormDMS.db3"); var db = new SQLiteConnection (dbPath); DBRepository dbr = new DBRepository (); var table = db.Query<TableMessages> ("SELECT * FROM TableMessages where codeChauffeur=?",Data.userAndsoft); var i = 0; foreach (var item in table) { mItems.Add (new TableMessages () { texteMessage = item.texteMessage, utilisateurEmetteur = item.utilisateurEmetteur, statutMessage = item.statutMessage, dateImportMessage = item.dateImportMessage, typeMessage = item.typeMessage, Id = item.Id }); i++; } if(i > 6){ View view = LayoutInflater.From (this).Inflate (Resource.Layout.ListeViewDelete, null, false); mListView.AddHeaderView (view); view.Click += Btndeletemsg_Click; } adapter = new ListeViewMessageAdapter (this, mItems); mListView.Adapter = adapter; //EDITTEXT var btnsend = FindViewById<LinearLayout>(Resource.Id.btn_send); btnsend.Click += Btnsend_Click; //STATUT DES MESSAGES RECU TO 1 var tablemsgrecu = db.Query<TableMessages> ("SELECT * FROM TableMessages where statutMessage = 0"); foreach (var item in tablemsgrecu) { var updatestatutmessage = db.Query<TableMessages> ("UPDATE TableMessages SET statutMessage = 1 WHERE statutMessage = 0"); var resintegstatut = dbr.InsertDataStatutMessage (1,DateTime.Now,item.numMessage,"",""); } }
void ComPosNotifMsg () { //recupération des messages webservice //insertion en base //recupation des messages / notifications / POS GPS //Post sur le webservice //maj du badge //API GPS OK string _url = "http://dms.jeantettransport.com/api/WSV3"; string dbPath = System.IO.Path.Combine (System.Environment.GetFolderPath (System.Environment.SpecialFolder.Personal), "ormDMS.db3"); var db = new SQLiteConnection (dbPath); DBRepository dbr = new DBRepository (); var webClient = new WebClient (); try { string content_msg = String.Empty; //ROUTINE INTEG MESSAGE try { //API LIVRER OK string _urlb = "http://dms.jeantettransport.com/api/WSV3?codechauffeur=" + userAndsoft +""; var webClientb = new WebClient (); webClientb.Headers [HttpRequestHeader.ContentType] = "application/json"; //webClient.Encoding = Encoding.UTF8; content_msg = webClientb.DownloadString (_urlb); } catch (Exception ex) { content_msg = "[]"; Insights.Report (ex,Xamarin.Insights.Severity.Error); } if (content_msg != "[]") { JsonArray jsonVal = JsonArray.Parse (content_msg) as JsonArray; var jsonarr = jsonVal; foreach (var item in jsonarr) { if (item["texteMessage"].ToString().Length < 9) { var resinteg = dbr.InsertDataMessage (item ["codeChauffeur"], item ["utilisateurEmetteur"], item ["texteMessage"],0,DateTime.Now,1,item ["numMessage"]); var resintegstatut = dbr.InsertDataStatutMessage(0,DateTime.Now,item ["numMessage"],"",""); alertsms (); }else{ switch(item ["texteMessage"].ToString().Substring(1,9)) { case "%%SUPPLIV": var updatestat = dbr.updatePositionSuppliv((item ["texteMessage"].ToString()).Remove((item ["texteMessage"].ToString()).Length - 3).Substring(11)); dbr.InsertDataStatutMessage (1,DateTime.Now,item ["numMessage"],"",""); dbr.InsertDataMessage (item ["codeChauffeur"], item ["utilisateurEmetteur"],"La position "+(item ["texteMessage"].ToString()).Remove((item ["texteMessage"].ToString()).Length - 3).Substring(11)+" a été supprimée de votre tournée",0,DateTime.Now,1, item ["numMessage"]); File.AppendAllText(log_file,"["+DateTime.Now.ToString("t")+"]"+"[SYSTEM]Réception d'un SUPPLIV à "+DateTime.Now.ToString("t")+"\n"); break; case "%%RETOLIV": var updatestattretour = db.Query<TablePositions>("UPDATE TablePositions SET imgpath = null WHERE numCommande = ?",(item ["texteMessage"].ToString()).Remove((item ["texteMessage"].ToString()).Length - 3).Substring(11)); var resstatutbis = dbr.InsertDataStatutMessage (1,DateTime.Now,item ["numMessage"],"",""); break; case "%%SUPPGRP": var supgrp = db.Query<TablePositions>("DELETE from TablePositions where groupage = ?",(item ["texteMessage"].ToString()).Remove((item ["texteMessage"].ToString()).Length - 3).Substring(11)); var ressupgrp = dbr.InsertDataStatutMessage (1,DateTime.Now,item ["numMessage"],"",""); break; case "%%GETFLOG": //ftp://77.158.93.75 or ftp://10.1.2.75 File.AppendAllText(log_file,"["+DateTime.Now.ToString("t")+"]"+"[SYSTEM]Réception d'un GETFLOG à "+DateTime.Now.ToString("t")+"\n"); Thread thread = new Thread(() => UploadFile("ftp://77.158.93.75",Data.log_file,"DMS","Linuxr00tn","")); thread.Start (); dbr.InsertDataStatutMessage(0,DateTime.Now,item ["numMessage"],"",""); break; case "%%COMMAND": File.AppendAllText(log_file,"["+DateTime.Now.ToString("t")+"]"+"[SYSTEM]Réception d'un COMMAND à "+DateTime.Now.ToString("t")+"\n"); InsertData (); break; default: var resinteg = dbr.InsertDataMessage (item ["codeChauffeur"], item ["utilisateurEmetteur"], item ["texteMessage"],0,DateTime.Now,1,item ["numMessage"]); dbr.InsertDataStatutMessage(0,DateTime.Now,item ["numMessage"],"",""); alertsms (); Console.WriteLine (item ["numMessage"].ToString()); Console.WriteLine (resinteg); break; } } } } //SET des badges dbr.SETBadges(Data.userAndsoft); String datajson = string.Empty; String datagps=string.Empty; String datamsg=string.Empty; String datanotif=string.Empty; datagps = "{\"posgps\":\"" + GPS + "\",\"userandsoft\":\"" + userAndsoft + "\"}"; var tablestatutmessage = db.Query<TableNotifications> ("SELECT * FROM TableNotifications"); //SEND NOTIF foreach (var item in tablestatutmessage) { datanotif += "{\"statutNotificationMessage\":\"" + item.statutNotificationMessage + "\",\"dateNotificationMessage\":\"" + item.dateNotificationMessage + "\",\"numMessage\":\""+item.numMessage+"\",\"numCommande\":\""+item.numCommande+"\",\"groupage\":\""+item.groupage+"\"},"; } //SEND MESSAGE var tablemessage = db.Query<TableMessages> ("SELECT * FROM TableMessages WHERE statutMessage = 2"); foreach (var item in tablemessage) { datamsg += "{\"codeChauffeur\":\"" + item.codeChauffeur + "\",\"texteMessage\":\"" + item.texteMessage + "\",\"utilisateurEmetteur\":\""+item.utilisateurEmetteur+"\",\"dateImportMessage\":\""+item.dateImportMessage+"\",\"typeMessage\":\""+item.typeMessage+"\"},"; } if(datanotif == ""){ datanotif ="{}"; }else{ datanotif = datanotif.Remove(datanotif.Length - 1); } if(datamsg == ""){ datamsg ="{}"; }else{ datamsg = datamsg.Remove(datamsg.Length - 1); } datajson = "{\"suivgps\":"+datagps+",\"statutmessage\":["+datanotif+"],\"Message\":["+datamsg+"]}"; //API MSG/NOTIF/GPS try{ webClient.Headers [HttpRequestHeader.ContentType] = "application/json"; webClient.UploadString (_url,datajson); foreach (var item in tablestatutmessage) { var resultdelete = dbr.deletenotif(item.Id); } foreach (var item in tablemessage) { var updatestatutmessage = db.Query<TableMessages> ("UPDATE TableMessages SET statutMessage = 3 WHERE _Id = ?",item.Id); } } catch (Exception e) { Insights.Report (e,Xamarin.Insights.Severity.Error); File.AppendAllText(log_file,"["+DateTime.Now.ToString("t")+"]"+"[ERROR] POSTMSG/NOTIF/GPS : "+e+" à "+DateTime.Now.ToString("t")+"\n"); } } catch (Exception ex) { Insights.Report (ex,Xamarin.Insights.Severity.Error); Console.Out.Write(ex); File.AppendAllText(log_file,"["+DateTime.Now.ToString("t")+"]"+"[ERROR] ComPosNotifMsg : "+ex+" à "+DateTime.Now.ToString("t")+"\n"); } Console.WriteLine ("\nTask ComPosGps done"); }
void InsertData () { string dbPath = System.IO.Path.Combine(Environment.GetFolderPath (Environment.SpecialFolder.Personal), "ormDMS.db3"); var db = new SQLiteConnection(dbPath); DBRepository dbr = new DBRepository (); datedujour = DateTime.Now.ToString("yyyyMMdd"); //récupération de donnée via le webservice string content_integdata = String.Empty; try { string _url = "http://dms.jeantettransport.com/api/commandeWSV3?codechauffeur=" + userTransics + "&datecommande=" + datedujour + ""; var webClient = new WebClient (); webClient.Headers [HttpRequestHeader.ContentType] = "application/json"; content_integdata = webClient.DownloadString (_url); Console.Out.WriteLine ("\nWebclient integdata Terminé"); //intégration des données dans la BDD JsonArray jsonVal = JsonArray.Parse (content_integdata) as JsonArray; var jsonArr = jsonVal; if (content_integdata != "[]") { foreach (var row in jsonArr) { bool checkpos = dbr.pos_AlreadyExist(row["numCommande"],row["groupage"]); if (!checkpos) { var IntegUser = dbr.InsertDataPosition(row["codeLivraison"],row["numCommande"],row["refClient"],row["nomPayeur"],row["nomExpediteur"],row["adresseExpediteur"],row["villeExpediteur"],row["CpExpediteur"],row["dateExpe"],row["nomClient"],row["adresseLivraison"],row["villeLivraison"],row["CpLivraison"],row["dateHeure"],row["poids"],row["nbrPallette"],row["nbrColis"],row["instrucLivraison"],row["typeMission"],row["typeSegment"],row["groupage"],row["ADRCom"],row["ADRGrp"],"0",row["CR"],DateTime.Now.Day,row["Datemission"],row["Ordremission"],row["planDeTransport"],userAndsoft,row["nomClientLivraison"],row["villeClientLivraison"],null); var resintegstatut = dbr.InsertDataStatutMessage (10,DateTime.Now,1,row["numCommande"],row["groupage"]); Console.WriteLine ("\n"+IntegUser); File.AppendAllText(log_file,"["+DateTime.Now.ToString("t")+"][TASK]Intégration d'une position "+IntegUser+" à "+DateTime.Now.ToString("t")+"\n"); } } } //SON if (content_integdata == "[]") { } else { alert (); } } catch (Exception ex) { content_integdata = "[]"; Console.WriteLine ("\n"+ex); File.AppendAllText(log_file,"[ERROR] InserData : "+ex+" à "+DateTime.Now.ToString("t")+"\n"); Insights.Report(ex); } //SET des badges dbr.SETBadges(Data.userAndsoft); //maj des badges fonctions //TODO //verification des groupages et suppression des cloturer //select des grp's string content_grpcloture = String.Empty; var tablegroupage = db.Query<TablePositions> ("SELECT groupage FROM TablePositions group by groupage"); foreach (var row in tablegroupage) { string numGroupage = row.groupage; try { string _urlb = "http://dms.jeantettransport.com/api/groupage?voybdx="+ numGroupage+""; var webClient = new WebClient (); webClient.Headers [HttpRequestHeader.ContentType] = "application/json"; content_grpcloture = webClient.DownloadString (_urlb); JsonValue jsonVal = JsonObject.Parse(content_grpcloture); //JsonArray jsonVal = JsonArray.Parse (content_grpcloture) as JsonArray; //var jsonArr = jsonVal; if (jsonVal["etat"].ToString() == "\"CLO\""){ //suppression du groupage en question si clo var suppgrp = dbr.supp_grp(numGroupage); } } catch (Exception ex) { content_grpcloture = "[]"; Console.WriteLine ("\n"+ex); Insights.Report(ex); File.AppendAllText(log_file,"["+DateTime.Now.ToString("t")+"]"+"[ERROR] Cloture : "+ex+" à "+DateTime.Now.ToString("t")+"\n"); } } Console.WriteLine ("\nTask InsertData done"); //File.AppendAllText(Data.log_file, "Task InsertData done"+DateTime.Now.ToString("t")+"\n"); }