Example #1
0
		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,"","");
			}

		}
Example #2
0
		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");
		}
Example #3
0
		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");

		}