예제 #1
0
        public ActionResult Download(Evenements evenement)
        {
            var even = Db.Evenements.Find(evenement.Id);

            if (even == null)
            {
                return(HttpNotFound());
            }

            //les invités
            even.EvenementsUtilisateurs = Db.EvenementsUtilisateurs.Where(x => x.EvenementsId == even.Id)
                                          .Include(x => x.Utilisateurs)
                                          .OrderBy(x => x.DateSelected)
                                          .ThenBy(x => x.DemiJourneeSelected)
                                          .ThenBy(x => x.Utilisateurs.Nom)
                                          .ThenBy(x => x.Utilisateurs.Prenom).ToList();

            var mem      = new MemoryStream();
            var document = DocX.Create(mem);
            var parTitre = document.InsertParagraph();

            parTitre.Append(even.Titre);
            var parDate = document.InsertParagraph();

            parDate.Append("Date 1 : " + DateUtils.GetDateFormat(even.Date, "yyyy-MM-dd") + " " + even.DemiJournee);
            if (even.DateB != null)
            {
                var parDateB = document.InsertParagraph();
                parDateB.Append("Date 2 : " + DateUtils.GetDateFormat(even.DateB.Value, "yyyy-MM-dd") + " " + even.DemiJourneeB);
            }
            if (even.DateC != null)
            {
                var parDateC = document.InsertParagraph();
                parDateC.Append("Date 3 : " + DateUtils.GetDateFormat(even.DateC.Value, "yyyy-MM-dd") + " " + even.DemiJourneeC);
            }
            var parCreateur = document.InsertParagraph();

            parCreateur.Append("Par le " + even.Createur.Grades.Diminutif + " " + even.Createur.Nom + " " + even.Createur.Prenom);
            var parCommentaire = document.InsertParagraph();

            parCommentaire.Append(even.Commentaire);
            var t = document.AddTable(even.EvenementsUtilisateurs.Count + 2, 4);

            t.Alignment = Alignment.center;
            t.Design    = TableDesign.MediumGrid2Accent1;

            t.Rows[0].Cells[0].Paragraphs.First().Append("Personnel");
            t.Rows[0].Cells[1].Paragraphs.First().Append("Présence");
            t.Rows[0].Cells[2].Paragraphs.First().Append("Date");
            t.Rows[0].Cells[3].Paragraphs.First().Append("Commentaire");

            var oui = 0;
            var non = 0;
            var i   = 1;

            foreach (var evenementsUtilisateur in even.EvenementsUtilisateurs)
            {
                t.Rows[i].Cells[0].Paragraphs.First().Append(evenementsUtilisateur.Utilisateurs.Nom + " " + evenementsUtilisateur.Utilisateurs.Prenom);
                t.Rows[i].Cells[1].Paragraphs.First().Append(evenementsUtilisateur.DateSelected.HasValue ? DateUtils.GetDateFormat(evenementsUtilisateur.DateSelected.Value, "yyyy-MM-dd") + " - " + evenementsUtilisateur.DemiJourneeSelected : " ");
                t.Rows[i].Cells[2].Paragraphs.First().Append(evenementsUtilisateur.IsPresent.HasValue? (evenementsUtilisateur.IsPresent.Value ? "Oui" : "Non") : "");
                t.Rows[i].Cells[3].Paragraphs.First().Append(evenementsUtilisateur.Commentaire);
                if (evenementsUtilisateur.IsPresent.HasValue)
                {
                    if (evenementsUtilisateur.IsPresent.Value)
                    {
                        oui++;
                    }
                    else
                    {
                        non++;
                    }
                }
                i++;
            }
            t.Rows[i].Cells[2].Paragraphs.First().Append("Oui :" + oui + " -- Non :" + non);

            document.InsertTable(t);

            document.Save();

            return(File(mem.ToArray(), "Application/octet-stream", even.Titre + ".docx"));
        }
예제 #2
0
        public ActionResult ModifierEven(Evenements evenement)
        {
            if (ModelState.IsValid)
            {
                //controle de la dateA
                if (evenement.Date < DateUtils.GetAujourdhui())
                {
                    ModelState.AddModelError("Date", "La date doit être supérieur à la date du jour");
                }

                if (evenement.DemiJournee != DemiJourneeEnum.APRESMIDI && evenement.DemiJournee != DemiJourneeEnum.MATIN)
                {
                    ModelState.AddModelError("DemiJournee", "Il est nécéssaire de préciser la demi journée");
                }

                //controle de la dateB
                if (evenement.DateB != null)
                {
                    if (evenement.DemiJourneeB != DemiJourneeEnum.APRESMIDI && evenement.DemiJourneeB != DemiJourneeEnum.MATIN)
                    {
                        ModelState.AddModelError("DemiJourneeB", "Il est nécéssaire de préciser la demi journée");
                    }

                    if (evenement.DateB < DateUtils.GetAujourdhui())
                    {
                        ModelState.AddModelError("DateB", "La date doit être supérieur à la date du jour");
                    }

                    if (evenement.DateB == evenement.Date &&
                        evenement.DemiJourneeB == evenement.DemiJournee)
                    {
                        ModelState.AddModelError("DateB", "cette date est identique à la première date");
                    }
                }

                //controle de la dateC
                if (evenement.DateC != null)
                {
                    if (evenement.DemiJourneeC != DemiJourneeEnum.APRESMIDI && evenement.DemiJourneeC != DemiJourneeEnum.MATIN)
                    {
                        ModelState.AddModelError("DemiJourneeC", "Il est nécéssaire de préciser la demi journée");
                    }

                    if (evenement.DateC < DateUtils.GetAujourdhui())
                    {
                        ModelState.AddModelError("DateC", "La date doit être supérieur à la date du jour");
                    }

                    if ((evenement.DateC == evenement.Date && evenement.DemiJourneeC == evenement.DemiJournee) ||
                        (evenement.DateB != null && evenement.DemiJourneeB != null &&
                         evenement.DateC == evenement.DateB && evenement.DemiJourneeC == evenement.DemiJourneeB))
                    {
                        ModelState.AddModelError("DateC", "cette date est identique à une des dates ci dessus");
                    }
                }


                //control de la date de verrouillage
                if (evenement.DateVerrou != null)
                {
                    if (evenement.DateVerrou <= DateUtils.GetAujourdhui() ||
                        evenement.DateVerrou > evenement.Date ||
                        (evenement.DateB != null && evenement.DateVerrou > evenement.DateB) ||
                        (evenement.DateC != null && evenement.DateVerrou > evenement.DateC))
                    {
                        ModelState.AddModelError("DateVerrou", "La date limite est incorrecte");
                    }
                }

                var oldEven = Db.Evenements.Find(evenement.Id);
                if (oldEven.DateB != null && evenement.DateB == null)
                {
                    ModelState.AddModelError("DateB", "Ce champ ne peut être vide");
                }

                if (oldEven.DateC != null && evenement.DateC == null)
                {
                    ModelState.AddModelError("DateB", "Ce champ ne peut être vide");
                }

                if (ModelState.IsValid)
                {
                    if (evenement.DateVerrou == null)
                    {
                        evenement.DateVerrou = DateUtils.GetPlusGrandeDate(evenement.Date, evenement.DateB, evenement.DateC);
                    }

                    var even = Db.Evenements.Find(evenement.Id);

                    //si le propriétair est bien la personne connecté
                    if (even.CreateurId == GetIdUtilisateurConnecte())
                    {
                        //on récupère l'ancien évènement et tout les utilisateurs ayant déjà choisi une date venant d'être modifié, retrouve leurs choix  modifié
                        var listeEvenUser = Db.EvenementsUtilisateurs.Where(x => x.EvenementsId == even.Id);
                        foreach (var evenUser in listeEvenUser)
                        {
                            if (evenUser.DateSelected == even.Date && evenUser.DemiJourneeSelected == even.DemiJournee)
                            {
                                evenUser.DateSelected        = evenement.Date;
                                evenUser.DemiJourneeSelected = evenement.DemiJournee;
                            }

                            if (evenUser.DateSelected == even.DateB && evenUser.DemiJourneeSelected == even.DemiJourneeB)
                            {
                                evenUser.DateSelected        = evenement.DateB;
                                evenUser.DemiJourneeSelected = evenement.DemiJourneeB;
                            }

                            if (evenUser.DateSelected == even.DateC && evenUser.DemiJourneeSelected == even.DemiJourneeC)
                            {
                                evenUser.DateSelected        = evenement.DateC;
                                evenUser.DemiJourneeSelected = evenement.DemiJourneeC;
                            }
                        }

                        //sauvegarde en base du nouvel évènement
                        even.Titre           = evenement.Titre;
                        even.Date            = evenement.Date;
                        even.DemiJournee     = evenement.DemiJournee;
                        even.DateB           = evenement.DateB;
                        even.DemiJourneeB    = evenement.DemiJourneeB;
                        even.DateC           = evenement.DateC;
                        even.DemiJourneeC    = evenement.DemiJourneeC;
                        even.DateVerrou      = evenement.DateVerrou;
                        even.Commentaire     = evenement.Commentaire;
                        Db.Entry(even).State = EntityState.Modified;
                        Db.SaveChanges();
                    }

                    return(RedirectToAction("MesEvenements", "Evenements"));
                }
            }
            evenement.EvenementsUtilisateurs = Db.EvenementsUtilisateurs.Where(x => x.EvenementsId == evenement.Id).ToList();
            foreach (var ev in evenement.EvenementsUtilisateurs)
            {
                ev.Utilisateurs = Db.Utilisateurs.Find(ev.UtilisateursId);
            }

            return(View(evenement));
        }
예제 #3
0
        public ActionResult Consult(Evenements even)
        {
            var error = false;

            if (even.Commentaire != null && even.CommentaireUtilisateur.Length >= 500)
            {
                ModelState.AddModelError("CommentairePresence", "Ce champs est trop long");
                error = true;
            }
            if (even.IsUtilisateurPresent == null)
            {
                ModelState.AddModelError("IsPresentPresence", "Ce champs n'est pas rempli");
                error = true;
            }
            if (even.SelectedDate < 1 || even.SelectedDate > 3)
            {
                ModelState.AddModelError("IsDateSelect", "Ce champs n'est pas rempli");
                error = true;
            }

            if (!error)
            {
                var myId         = GetIdUtilisateurConnecte();
                var userEvenList = Db.EvenementsUtilisateurs.Where(x => x.EvenementsId == even.Id && x.UtilisateursId == myId).ToList();
                if (userEvenList.Count > 0)
                {
                    var userEven = userEvenList[0];
                    var evenOri  = Db.Evenements.Find(even.Id);
                    switch (even.SelectedDate)
                    {
                    case 1:
                        userEven.DateSelected        = evenOri.Date;
                        userEven.DemiJourneeSelected = evenOri.DemiJournee;
                        break;

                    case 2:
                        userEven.DateSelected        = evenOri.DateB;
                        userEven.DemiJourneeSelected = evenOri.DemiJourneeB;
                        break;

                    case 3:
                        userEven.DateSelected        = evenOri.DateC;
                        userEven.DemiJourneeSelected = evenOri.DemiJourneeC;
                        break;

                    default:
                        userEven.DateSelected        = evenOri.Date;
                        userEven.DemiJourneeSelected = evenOri.DemiJournee;
                        break;
                    }
                    userEven.IsPresent       = even.IsUtilisateurPresent;
                    userEven.Commentaire     = even.CommentaireUtilisateur;
                    Db.Entry(userEven).State = EntityState.Modified;
                    Db.SaveChanges();
                    return(RedirectToAction("MesEvenements", "Evenements"));
                }
            }

            even = Db.Evenements.Find(even.Id);
            even.EvenementsUtilisateurs = Db.EvenementsUtilisateurs.Where(x => x.EvenementsId == even.Id)
                                          .Include(x => x.Utilisateurs)
                                          .OrderBy(x => x.DateSelected)
                                          .ThenBy(x => x.DemiJourneeSelected)
                                          .ThenBy(x => x.Utilisateurs.Nom)
                                          .ThenBy(x => x.Utilisateurs.Prenom).ToList();

            return(View(even));
        }
예제 #4
0
 public AffecterAdhEvent(Club club, Evenements even)
 {
     InitializeComponent();
     this.even = even;
     this.club = club;
 }
예제 #5
0
        private void Init()
        {
            IEnumerable <TypeBiereWPF> typeBieres = Dal.GetAll().Select(p => p.GetTypeBiereWPF());

            foreach (TypeBiereWPF item in typeBieres)
            {
                TypeBieres.Add(item);
            }
            IEnumerable <BiereWPF> bieres = DalBiere.GetAll().Select(p => p.GetBiereWPF());

            foreach (BiereWPF item in bieres)
            {
                Bieres.Add(item);
            }
            IEnumerable <ClientWPF> clients = DalClient.GetAll().Select(p => p.GetClientWPF());

            foreach (ClientWPF item in clients)
            {
                Clients.Add(item);
            }
            IEnumerable <CommandeWPF> commandes = DalCom.GetAll().Select(p => p.GetCommandeWPF());

            foreach (CommandeWPF item in commandes)
            {
                Commandes.Add(item);
            }
            IEnumerable <ContactWPF> contacts = DalContact.GetAll().Select(p => p.GetContactWPF());

            foreach (ContactWPF item in contacts)
            {
                Contacts.Add(item);
            }
            IEnumerable <EmploiWPF> emplois = DalEmploi.GetAll().Select(p => p.GetEmploiWPF());

            foreach (EmploiWPF item in emplois)
            {
                Emplois.Add(item);
            }
            IEnumerable <EvenementWPF> evenements = DalEvent.GetAll().Select(p => p.GetEvenementWPF());

            foreach (EvenementWPF item in evenements)
            {
                Evenements.Add(item);
            }
            IEnumerable <HorraireWPF> horraires = DalHorraire.GetAll().Select(p => p.GetHorraireWPF());

            foreach (HorraireWPF item in horraires)
            {
                Horraires.Add(item);
            }
            IEnumerable <MessageWPF> messages = DalMessage.GetAll().Select(p => p.GetMessageWPF());

            foreach (MessageWPF item in messages)
            {
                Messages.Add(item);
            }
            IEnumerable <RecompenseWPF> recompenses = DalRecomp.GetAll().Select(p => p.GetRecompenseWPF());

            foreach (RecompenseWPF item in recompenses)
            {
                Recompenses.Add(item);
            }
        }
예제 #6
0
 public void AjouterEvent(EvenementWPF a)
 {
     a.eventId = DalEvent.Create(a.GetEvenementDal());
     //a.eventId = DalEvent.GetAll().LastOrDefault().eventId;
     Evenements.Add(a);
 }
 public ModifierEvent(Evenements even)
 {
     this.even = even;
     InitializeComponent();
 }
        public ActionResult Createimg()
        {
            Evenements eve = new Evenements();

            return(View());
        }