Exemple #1
0
        public async Task <Debate> EditDebate(string id, DebateRequestDto debate)
        {
            Debate debateToEdit = await _context.Debates
                                  .Where(d => d.Id == id)
                                  .Where(d => d.CreatedById == debate.CreatedById)
                                  .FirstAsync();

            if (debate == null)
            {
                return(null);
            }

            debateToEdit.Description = debate.Description;
            debate.Topic             = debate.Topic;

            try
            {
                _context.Debates.Update(debateToEdit);
                await _context.SaveChangesAsync();
            }
            catch (Exception ex)
            {
                Console.Write(ex);
                return(null);
            }
            return(debateToEdit);
        }
Exemple #2
0
        public async Task <IActionResult> CreateDebate(DebateRequestDto newDebate)
        {
            var debate = await _debateService.CreateDebate(newDebate);

            if (!debate)
            {
                return(BadRequest());
            }
            return(Ok(debate));
        }
Exemple #3
0
        private async Task GenerateDebates()
        {
            var users = await _context.Users.ToListAsync();

            var debates = new DebateRequestDto[] {
                new DebateRequestDto()
                {
                    Topic       = $"New guy {users[0].Email}",
                    Description = $"Description {users[0].Email}",
                    CreatedById = users[0].Id
                },
                new DebateRequestDto()
                {
                    Topic       = $"New guy {users[1].Email}",
                    Description = $"Description {users[1].Email}",
                    CreatedById = users[1].Id
                },
                new DebateRequestDto()
                {
                    Topic       = $"New guy {users[2].Email}",
                    Description = $"Description {users[2].Email}",
                    CreatedById = users[2].Id
                },
                new DebateRequestDto()
                {
                    Topic       = $"New guy {users[3].Email}",
                    Description = $"Description {users[3].Email}",
                    CreatedById = users[3].Id
                },
                new DebateRequestDto()
                {
                    Topic       = $"New guy {users[4].Email}",
                    Description = $"Description {users[4].Email}",
                    CreatedById = users[4].Id
                },
            };

            foreach (var debate in debates)
            {
                await _debateService.CreateDebate(debate);
            }
            await _context.SaveChangesAsync();
        }
Exemple #4
0
        public async Task <IActionResult> EditDebate(string id, DebateRequestDto editedDebate)
        {
            var debate = await _debateService.GetDebate(id);

            if (debate.CreatedAt > DateTime.Now.AddHours(-1))
            {
                return(StatusCode(406, new {
                    error = "Debates are only editable within the first hour after they are created."
                }));
            }

            var updatedDebate = await _debateService.EditDebate(id, editedDebate);

            if (updatedDebate == null)
            {
                return(BadRequest());
            }

            return(Ok(updatedDebate));
        }
Exemple #5
0
        public async Task <bool> CreateDebate(DebateRequestDto debate)
        {
            Debate newDebate = new Debate();

            newDebate.Description = debate.Description;
            newDebate.Topic       = debate.Topic;
            newDebate.CreatedById = debate.CreatedById;

            try
            {
                await _context.Debates.AddAsync(newDebate);

                await _context.SaveChangesAsync();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
                return(false);
            }
            return(true);
        }