public async Task <ResponseDto <BaseModelDto> > DeleteMatchAsync(int matchId)
        {
            var response = new ResponseDto <BaseModelDto>();

            var match = _matchRepository.GetById(matchId);

            if (match == null)
            {
                response.Errors.Add(ServiceErrors.MATCH_DOES_NOT_EXIST);
                return(response);
            }

            var statisticsToDelete = new List <Statistic>();

            foreach (var matchPlayer in match.MatchPlayers)
            {
                foreach (var stat in matchPlayer.Statistics)
                {
                    statisticsToDelete.Add(stat);
                }
            }

            for (var i = statisticsToDelete.Count - 1; i >= 0; i--)
            {
                await _statisticRepository.DeleteAsync(statisticsToDelete[i]);
            }

            await _matchRepository.DeleteAsync(match);

            return(response);
        }
Example #2
0
        public async Task <IActionResult> Delete(int Id)
        {
            try
            {
                Match entity = await matchRepository.GetByIdAsync(Id);

                await matchRepository.DeleteAsync(entity);

                await matchRepository.SaveAsync();

                return(Ok("Successfully deleted"));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
Example #3
0
        //[Authorize(Roles = "SystemAdministrator, Head")]
        public async Task <IActionResult> Delete(string id)
        {
            if (string.IsNullOrEmpty(id))
            {
                return(StatusCode(422, "Відсутній ідентифікатор."));
            }
            Guid itemId;

            try { itemId = Guid.Parse(id); }
            catch (Exception ex) { return(StatusCode(422, $"Помилковий ідентифікатор. {ex.Message}")); }

            var result = await _matchRepository.DeleteAsync(itemId);

            if (result.Result == OperationResult.Ok)
            {
                return(StatusCode(204, result.Value));
            }
            return(StatusCode(422, result.Message));
        }
 public async Task DeleteAsync(Match match)
 {
     await _matchRepository.DeleteAsync(match);
 }