public LearningPlusNews CreateNews(NewsCreateEditPostViewModel model, LearningPlusUser creator)
        {
            List <LearningPlusNewsTargetRole> targetRoles = AddTargetRolesToANews(model);

            var news = new LearningPlusNews
            {
                Message     = model.Message,
                Creator     = creator,
                ExpiresOn   = model.ExpiresOn,
                TargetRoles = targetRoles,
            };

            this.newsRepo.AddAsync(news).GetAwaiter().GetResult();
            this.newsRepo.SaveChangesAsync().GetAwaiter().GetResult();

            return(news);
        }
Ejemplo n.º 2
0
        private static void CreateNews(LearningPlusDbContext db)
        {
            if (db.News.Count() == 0)
            {
                var holidays = new string[] {
                    "3-ти март",
                    "1-ви юни",
                };

                var newsRange = new List <LearningPlusNews>();

                foreach (var day in holidays)
                {
                    var news = new LearningPlusNews
                    {
                        Creator     = db.Users.FirstOrDefault(u => u.UserName == "Admin"),
                        Message     = $"{day} е национален празник и центърът ще почива!",
                        TargetRoles = new List <LearningPlusNewsTargetRole>()
                        {
                            new LearningPlusNewsTargetRole {
                                TargetRole = UserRoles.Admin
                            },
                            new LearningPlusNewsTargetRole {
                                TargetRole = UserRoles.Teacher
                            },
                            new LearningPlusNewsTargetRole {
                                TargetRole = UserRoles.Parent
                            },
                            new LearningPlusNewsTargetRole {
                                TargetRole = UserRoles.Child
                            }
                        }
                    };
                    newsRange.Add(news);
                }

                var adminNews = new LearningPlusNews
                {
                    Creator     = db.Users.FirstOrDefault(u => u.UserName == "Admin"),
                    Message     = $"Администраторите ще работят от вкъщи.",
                    TargetRoles = new List <LearningPlusNewsTargetRole>()
                    {
                        new LearningPlusNewsTargetRole {
                            TargetRole = UserRoles.Admin
                        }
                    }
                };

                var teacherNews = new LearningPlusNews
                {
                    Creator     = db.Users.FirstOrDefault(u => u.UserName == "Teacher"),
                    Message     = $"Учителите ще работят днес до обяд.",
                    TargetRoles = new List <LearningPlusNewsTargetRole>()
                    {
                        new LearningPlusNewsTargetRole {
                            TargetRole = UserRoles.Teacher
                        }
                    }
                };

                var childParentNews = new LearningPlusNews
                {
                    Creator     = db.Users.FirstOrDefault(u => u.UserName == "Admin"),
                    Message     = $"Децата ще посетят клас по оригами.",
                    TargetRoles = new List <LearningPlusNewsTargetRole>()
                    {
                        new LearningPlusNewsTargetRole {
                            TargetRole = UserRoles.Parent
                        },
                        new LearningPlusNewsTargetRole {
                            TargetRole = UserRoles.Child
                        }
                    }
                };
                newsRange.Add(adminNews);
                newsRange.Add(teacherNews);
                newsRange.Add(childParentNews);

                db.News.AddRange(newsRange);
                db.SaveChanges();
            }
        }