private List <PPDestinataire> ConvToDestinataire(List <IUtilisateur> utils, PPMessage message) { return(utils.Select(u => new PPDestinataire { EtatLu = (short)EtatLu.NonLu, Lieu = (short)LieuxCourriel.Reception, NoDestinataire = (int)u.No }).ToList()); }
/// <summary> /// Permet d'aller checker un courriel en particulier /// </summary> /// <param name="NoCourriel"></param> /// <returns>le partialview du courriel</returns> public ActionResult GetCourriel(int NoCourriel = 0) { PPMessage messages = (from m in context.PPMessages where m.NoMsg == NoCourriel select m).FirstOrDefault(); PPDestinataire message = (from m in context.PPDestinataires where m.NoMsg == NoCourriel && m.NoDestinataire == noUtilisateur select m).FirstOrDefault(); if (message != null) { message.EtatLu = (short?)EtatLu.Lu; } try { context.SubmitChanges(); return(PartialView("Courriel/_Courriel", messages)); } catch (Exception e) { Console.WriteLine(e); return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError)); } }
public ActionResult ApercuCourriel(BrouillonViewModel brouillon) { brouillon.NoMsg = -1; PPMessage message = EnregistrerMessage(brouillon); try { PPVendeur vendeur = (from v in context.PPVendeurs where v.NoVendeur == brouillon.destinataires.FirstOrDefault() select v).FirstOrDefault(); if (vendeur != null) { message.DescMsg = message.DescMsg.Replace("X%", (vendeur.Pourcentage * 100).ToString() + "%"); } } catch (Exception) { } RejectAllChanges(); //Au cas ou return(View(message)); }
private void SaveAttachmentToMessage(HttpPostedFileBase file, PPMessage msg) { Directory.CreateDirectory(Server.MapPath(ATTACHMENTS_DIR)); file.SaveAs(GetAttachmentPathForMessage(msg)); msg.FichierJoint = file.FileName; context.SubmitChanges(); }
private void DeleteAttachmentOfMessage(PPMessage message) { var physicalPath = GetAttachmentPathForMessage(message); var fileInf = new FileInfo(physicalPath); if (!fileInf.Exists) { throw new IOException("Aucune piece jointe pour ce message"); } fileInf.Delete(); }
public ActionResult EnregistrerReponse(int noCourriel) { PPMessage ogMessage = GetMessageById(noCourriel); var maxId = (from m in context.PPMessages select m.NoMsg).ToList().DefaultIfEmpty().Max(); int noMessage = maxId + 1; var obj = "re: " + ogMessage.objet; var enteteReponse = "<br/><hr/>" + "<p>---------- message repondu ---------</p>" + "<p>De : " + ogMessage.Expediteur.DisplayName + "</p>" + "<p>Date : " + ogMessage.dateEnvoi.Value.ToLongDateString() + "</p>" + "<p>Objet : " + ogMessage.objet + "</p>" + "<br/>"; var description = enteteReponse + ogMessage.DescMsg; PPMessage brouillon = new PPMessage { objet = obj, DescMsg = description, dateEnvoi = DateTime.Now, Lieu = 4, NoMsg = noMessage, FichierJoint = ogMessage.FichierJoint, NoExpediteur = (int)SessionUtilisateur.UtilisateurCourant.No }; context.PPMessages.InsertOnSubmit(brouillon); context.PPDestinataires.InsertOnSubmit( new PPDestinataire { NoMsg = noMessage, NoDestinataire = (int)ogMessage.NoExpediteur } ); try { context.SubmitChanges(); } catch (Exception e) { Console.WriteLine(e); return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError)); } return(Content(noMessage.ToString())); }
public ActionResult Supprimer(List <int> NoCourriel) { foreach (int no in NoCourriel) { PPMessage message = (from m in context.PPMessages where m.NoMsg == no && m.NoExpediteur == noUtilisateur select m).FirstOrDefault(); //si c'est l'expediteur, supprimer définitivement if (message != null) { message.Lieu = (short?)LieuxCourriel.Supprime; } PPDestinataire destinataire = (from m in context.PPDestinataires where m.NoMsg == no && m.NoDestinataire == noUtilisateur select m).FirstOrDefault(); if (destinataire != null) { //si déja dans les elements supprimés, supprimer définitivement if (destinataire.Lieu == (short?)LieuxCourriel.Archive) { destinataire.Lieu = (short?)LieuxCourriel.Supprime; } else { destinataire.Lieu = (short?)LieuxCourriel.Archive; } } } try { context.SubmitChanges(); } catch (Exception e) { Console.WriteLine(e); return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError)); } return(new HttpStatusCodeResult(HttpStatusCode.OK)); }
public void ReceiveData(byte[] encodedData, AClient client) { PPMessage message = new PPMessage(encodedData); // Unless the server starts refusing requests in the future, this // should never be false. if (message.ConnectionEstablished) { if (Jobs[message.ReceiverJobNumber] == null) { return; } if (Jobs[message.ReceiverJobNumber].RemoteJobNumber == -1) { Jobs[message.ReceiverJobNumber].RemoteJobNumber = message.SenderJobNumber; } Jobs[message.ReceiverJobNumber].ProcessMessage(message.Message, client); } }
public void BeginJob(PhilesJobType jobType, AClient client, object[] param) { if (jobType == PhilesJobType.JOB_CLIENT_PHILES) { int nJobCode = Jobs.AddJob(PhilesJobType.JOB_CLIENT_PHILES); PPMessage beginJobMessage = new PPMessage(false, nJobCode, (int)PhilesJobType.JOB_PHILES); client.Send(beginJobMessage.GetEncodedData()); } else if (jobType == PhilesJobType.JOB_CLIENT_DIRECTORY_LISTING) { int nJobCode = Jobs.AddJob(PhilesJobType.JOB_CLIENT_DIRECTORY_LISTING, param); PPMessage beginJobMessage = new PPMessage(false, nJobCode, (int)PhilesJobType.JOB_SERVER_DIRECTORY_LISTING); client.Send(beginJobMessage.GetEncodedData()); } else if (jobType == PhilesJobType.JOB_CLIENT_FILE_UPLOAD) { int nJobCode = Jobs.AddJob(PhilesJobType.JOB_CLIENT_FILE_UPLOAD, param); PPMessage beginJobMessage = new PPMessage(false, nJobCode, (int)PhilesJobType.JOB_SERVER_FILE_UPLOAD); client.Send(beginJobMessage.GetEncodedData()); } }
private PPMessage EnregistrerMessage(BrouillonViewModel brouillon, PPMessage msg = null) { if (msg == null) { msg = new PPMessage(); } brouillon.destinataires = brouillon.destinataires ?? new List <int?>(); msg.NoMsg = (int)brouillon.NoMsg.GetValueOrDefault(msg.NoMsg); msg.DescMsg = brouillon.DescMsg; msg.Lieu = brouillon.Lieu; msg.objet = brouillon.objet; msg.dateEnvoi = DateTime.Now; msg.NoExpediteur = (int)SessionUtilisateur.UtilisateurCourant.No; var destinataires = msg.PPDestinataires.ToList(); var NosDestinatairesAAjouter = new List <int?>(brouillon.destinataires); var NosDestinatairesADelete = new List <int>(); foreach (var dest in destinataires) { if (dest.NoDestinataire < 0 && dest.NoDestinataire > -4) { context.PPDestinataires.DeleteAllOnSubmit(msg.PPDestinataires); msg.PPDestinataires.AddRange(ConvToDestinataire(CasSpeciaux(dest.NoDestinataire), msg)); return(msg); } if (!brouillon.destinataires.Contains(dest.NoDestinataire)) { NosDestinatairesADelete.Add(dest.NoDestinataire); } else { NosDestinatairesAAjouter.Remove(dest.NoDestinataire); } } var destinatairesADelete = (from dest in context.PPDestinataires where NosDestinatairesADelete.Contains(dest.NoDestinataire) select dest); context.PPDestinataires.DeleteAllOnSubmit(destinatairesADelete); List <PPDestinataire> destinatairesObj = new List <PPDestinataire>(NosDestinatairesAAjouter.Count); foreach (var noDest in NosDestinatairesAAjouter) { if (noDest < 0) { context.PPDestinataires.DeleteAllOnSubmit(msg.PPDestinataires); msg.PPDestinataires.AddRange(ConvToDestinataire(CasSpeciaux((int)noDest), msg)); return(msg); } if (!noDest.HasValue) { continue; } var objDest = new PPDestinataire { NoMsg = msg.NoMsg, NoDestinataire = noDest.Value }; destinatairesObj.Add(objDest); } msg.PPDestinataires.AddRange(destinatairesObj); context.PPDestinataires.InsertAllOnSubmit(destinatairesObj); return(msg); }
private string GetAttachmentPathForMessage(PPMessage message) { return(Server.MapPath(ATTACHMENTS_DIR + "/attachment-" + message.NoMsg)); }