Ejemplo n.º 1
0
        public void AddContentToSeance(int seanceID, string contenuTitre)
        {
            string type = repository.GetContentType(contenuTitre);

            if (type == "notfound")
            {
                throw new NotFoundException($"Le contenu avec le titre {contenuTitre} n'existe pas dans la base de données.");
            }

            Seance seance = repository.GetSeance(seanceID);

            List <ContenuViewModel> contents =
                mapper.Map <IEnumerable <SeanceContenu>, IEnumerable <ContenuViewModel> >(seance.SeanceContenus)
                .Concat(mapper.Map <IEnumerable <SeancePromo>, IEnumerable <ContenuViewModel> >(seance.SeancePromoes))
                .ToList();

            if (contents.Any(c => c.ContenuTitre == contenuTitre))
            {
                throw new DuplicateContentException(contenuTitre);
            }

            if (type != ContenuTypeLibrary.CONT_TYPE_PROMO)
            {
                SeanceContenu seanceContenu = new SeanceContenu();
                seanceContenu.ContenuTitre = contenuTitre;
                seanceContenu.indexOrdre   = contents.Count == 0 ? 0 : contents.Max(c => c.indexOrdre) + 1;
                seanceContenu.SeanceID     = seance.SeanceID;

                if (type == ContenuTypeLibrary.CONT_TYPE_STANDARD && seance.SeanceContenus.Where(sc => sc.SeanceID == seanceContenu.SeanceID && sc.Contenu.typage == ContenuTypeLibrary.CONT_TYPE_STANDARD).Count() == 0)
                {
                    seanceContenu.estPrincipal = true;
                }

                repository.AddContenu(seanceContenu);
            }
            else
            {
                SeancePromo seancePromo = new SeancePromo();
                seancePromo.PromoTitre = contenuTitre;
                seancePromo.indexOrdre = contents.Count == 0 ? 0 : contents.Max(c => c.indexOrdre) + 1;
                seancePromo.SeanceID   = seance.SeanceID;

                repository.AddPromo(seancePromo);
            }
        }
Ejemplo n.º 2
0
        public void AddPromo(SeancePromo promo)
        {
            db.SeancePromoes.Add(promo);

            db.SaveChanges();
        }