Ejemplo n.º 1
0
        public async Task <IActionResult> DeleteFromProjectJury(int id, string VkId)
        {
            Project Project = await db.Projects.Where(p => p.ProjectId == id).FirstAsync();

            User User = await db.Users.Where(u => u.VkId == int.Parse(VkId)).FirstAsync();

            ProjectJury PJ = await db.ProjectJury.Where(p => p.ProjectId == id).Where(u => u.User == User).FirstAsync();

            db.ProjectJury.Remove(PJ);
            List <Mark> Marks = await db.Marks.Where(t => t.Team.ProjectId == id).Where(u => u.User == User).ToListAsync();

            foreach (Mark m in Marks)
            {
                db.Marks.Remove(m);
            }


            db.SaveChanges();

            return(Ok());
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> AddInProjectJury(int id, string VkId)
        {
            Project Project = await db.Projects.Where(p => p.ProjectId == id).FirstAsync();

            User User = await db.Users.Where(u => u.VkId == int.Parse(VkId)).FirstAsync();

            ProjectJury PJ = new ProjectJury();

            PJ.Project   = Project;
            PJ.ProjectId = Project.ProjectId;
            PJ.User      = User;
            PJ.UserId    = User.UserId;
            db.ProjectJury.Add(PJ);


            List <Team> Teams = await db.Teams.Where(p => p.ProjectId == id).ToListAsync();

            List <Mark> Marks = await db.Marks.Where(t => t.Team.ProjectId == id).Where(u => u.User == null).ToListAsync();


            foreach (Mark m in Marks)
            {
                if (m.Name != "Оценки студентов")
                {
                    Mark NewMark = new Mark {
                        MaxPoints = m.MaxPoints,
                        Name      = m.Name,
                        Team      = m.Team,
                        Points    = m.Points,
                        User      = User,
                    };
                    await db.Marks.AddAsync(NewMark);
                }
            }

            db.SaveChanges();

            return(Ok());
        }