示例#1
0
 public async Task DeleteAsync(Guid teamId)
 {
     await _teamRepository.DeleteAsync(teamId);
 }
示例#2
0
        public override async Task <BaseResponse> DeleteAsync(TeamData request, ServerCallContext context)
        {
            try
            {
                if (request is null)
                {
                    await _teamsRepository.DeleteAsync(null);
                }

                Team team = new()
                {
                    Id          = request.Id,
                    CreatedOn   = request.CreatedOn.ToDateTime().ToLocalTime(),
                    Name        = request.Name,
                    Description = request.Description
                };
                int result = await _teamsRepository.DeleteAsync(team);

                if (result == 0)
                {
                    throw new Exception("Team has not been deleted");
                }
                BaseResponse response = new()
                {
                    Code         = Code.Success,
                    ErrorMessage = string.Empty,
                    DataId       = team.Id
                };
                LogData logData = new()
                {
                    CallSide         = nameof(TeamsService),
                    CallerMethodName = nameof(DeleteAsync),
                    CreatedOn        = _dateTimeUtil.GetCurrentDateTime(),
                    Request          = request,
                    Response         = response
                };

                _logger.AddLog(logData);
                return(response);
            }
            catch (NullReferenceException nrex)
            {
                LogData logData = new()
                {
                    CallSide         = nameof(TeamsService),
                    CallerMethodName = nameof(DeleteAsync),
                    CreatedOn        = _dateTimeUtil.GetCurrentDateTime(),
                    Request          = request,
                    Response         = nrex
                };

                _logger.AddErrorLog(logData);
                return(new BaseResponse
                {
                    Code = Code.DataError,
                    ErrorMessage = nrex.Message
                });
            }
            catch (InvalidOperationException oex)
            {
                LogData logData = new()
                {
                    CallSide         = nameof(TeamsService),
                    CallerMethodName = nameof(DeleteAsync),
                    CreatedOn        = _dateTimeUtil.GetCurrentDateTime(),
                    Request          = request,
                    Response         = oex
                };

                _logger.AddErrorLog(logData);
                return(new BaseResponse
                {
                    Code = Code.DataError,
                    ErrorMessage = oex.Message
                });
            }
            catch (DbUpdateException duex)
            {
                LogData logData = new()
                {
                    CallSide         = nameof(TeamsService),
                    CallerMethodName = nameof(DeleteAsync),
                    CreatedOn        = _dateTimeUtil.GetCurrentDateTime(),
                    Request          = request,
                    Response         = duex
                };

                _logger.AddErrorLog(logData);
                return(new BaseResponse
                {
                    Code = Code.DbError,
                    ErrorMessage = "An error occured while deleting team"
                });
            }
            catch (Exception ex)
            {
                LogData logData = new()
                {
                    CallSide         = nameof(TeamsService),
                    CallerMethodName = nameof(DeleteAsync),
                    CreatedOn        = _dateTimeUtil.GetCurrentDateTime(),
                    Request          = request,
                    Response         = ex
                };
                _logger.AddErrorLog(logData);
                return(new BaseResponse
                {
                    Code = Code.UnknownError,
                    ErrorMessage = ex.Message
                });
            }
        }

        public override async Task <BaseResponse> UpdateAsync(TeamData request, ServerCallContext context)
        public async Task <ActionResult> DeleteTeamAsync(Guid id)
        {
            await _teamsRepository.DeleteAsync(id);

            return(NoContent());
        }