public ActionResult Restaurer(List <int> NoCourriel) { foreach (int no in NoCourriel) { PPDestinataire message = (from m in context.PPDestinataires where m.NoMsg == no && m.NoDestinataire == noUtilisateur select m).FirstOrDefault(); if (message != null) { message.Lieu = (short?)LieuxCourriel.Reception; } } try { context.SubmitChanges(); } catch (Exception e) { Console.WriteLine(e); return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError)); } return(new HttpStatusCodeResult(HttpStatusCode.OK)); }
/// <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 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)); }
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); }