public async Task ReplyAGrieviance(GrievianceReply grieviance)
        {
            try
            {
                Grieviance grievianceToReply = await _ctx.Grieviances.FindAsync(grieviance.GrievianceId);

                grievianceToReply.HasBeenSeen = true;


                await _ctx.GrievianceReplies.AddAsync(grieviance);

                _ctx.Grieviances.Update(grievianceToReply);
                Notification notification = new Notification
                {
                    HasBeenSeen = false,
                    Message     = grieviance.Message,
                    UserId      = grievianceToReply.UserId
                };
                await _ctx.Notifications.AddAsync(notification);

                await _ctx.SaveChangesAsync();

                return;
            }
            catch (Exception ex)
            {
                _logger.LogInformation($"There was an error {ex.Message}");
            }
        }
예제 #2
0
        // GET: Voters/Edit/5
        public async Task <IActionResult> Edit(int id)
        {
            Grieviance grieviance = await _grieviance.GetGrievianceById(id);

            if (grieviance == null)
            {
                return(NotFound());
            }
            return(View(grieviance));
        }
예제 #3
0
        public async Task AddGrieviance(Grieviance grieviance)
        {
            try
            {
                await _ctx.Grieviances.AddAsync(grieviance);

                await _ctx.SaveChangesAsync();

                return;
            }
            catch (Exception ex)
            {
                _logger.LogInformation($"There was an error {ex.Message}");
            }
        }
예제 #4
0
        public async Task <IActionResult> Create(Grieviance grieviance)
        {
            if (!ModelState.IsValid)
            {
                return(RedirectToAction(nameof(Create)));
            }
            try
            {
                await _grieviance.AddGrieviance(grieviance);

                return(RedirectToAction(nameof(Index)));
            }
            catch
            {
                return(View(nameof(HomeController.Error)));
            }
        }
예제 #5
0
        public async Task <bool> UpdateGrevianceById(Grieviance grieviance)
        {
            if (GrievianceExists(grieviance.GrievianceId))
            {
                try
                {
                    _ctx.Grieviances.Update(grieviance);
                    await _ctx.SaveChangesAsync();

                    return(true);
                }
                catch (Exception ex)
                {
                    _logger.LogInformation($"There was an error {ex.Message}");
                    return(false);
                }
            }
            return(false);
        }
예제 #6
0
        public async Task <IActionResult> Edit(int id, Grieviance grieviance)
        {
            if (id != grieviance.GrievianceId)
            {
                return(RedirectToAction(nameof(Edit), new { id }));
            }
            if (!ModelState.IsValid)
            {
                return(RedirectToAction(nameof(Edit), new { id }));
            }
            try
            {
                await _grieviance.UpdateGrevianceById(grieviance);

                return(RedirectToAction(nameof(Index)));
            }
            catch
            {
                return(View(nameof(HomeController.Error)));
            }
        }
예제 #7
0
        public async Task <bool> DeleteGreviance(int id)
        {
            if (GrievianceExists(id))
            {
                try
                {
                    Grieviance grieviance = await _ctx.Grieviances.FindAsync(id);

                    _ctx.Grieviances.Remove(grieviance);
                    await _ctx.SaveChangesAsync();

                    return(true);
                }
                catch (Exception ex)
                {
                    _logger.LogInformation($"There was an error {ex.Message}");
                    return(false);
                }
            }
            return(false);
        }