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)); }
public ActionResult EnregistrerBrouillon(BrouillonViewModel brouillon) { var ogMessage = (from msg in context.PPMessages where msg.NoMsg == brouillon.NoMsg select msg).First(); var message = EnregistrerMessage(brouillon, ogMessage); context.SubmitChanges(); return(Json(brouillon)); }
public ActionResult CreerBrouillon(BrouillonViewModel brouillon) { var maxId = (from m in context.PPMessages select m.NoMsg).ToList().DefaultIfEmpty().Max(); int noMessage = maxId + 1; brouillon.NoMsg = noMessage; if ((brouillon.DescMsg ?? "").Contains("Froala")) { brouillon.DescMsg = brouillon.DescMsg.Substring(brouillon.DescMsg.Length - 229); } var message = EnregistrerMessage(brouillon); context.PPMessages.InsertOnSubmit(message); context.SubmitChanges(); return(Json(brouillon)); }
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); }