Exemple #1
0
        public async Task <ResponseDto> DeleteAsync(int id)
        {
            const string methodName = ClassName + "." + nameof(DeleteAsync);
            var          response   = new ResponseDto();

            var getResponse = await _workRepository.GetAsync(id);

            if (getResponse.Success)
            {
                if (getResponse.Result != null)
                {
                    var mappingResponse = _workMappingHelper.MapDeleteToEntity(new WorkDeleteRequestDto()
                    {
                        WorkId = id
                    });

                    if (mappingResponse.Success)
                    {
                        var deleteResponse = await _workRepository.DeleteAsync(mappingResponse.Result.WorkId);

                        if (deleteResponse.Success)
                        {
                            response.SetSuccess();
                        }
                        else
                        {
                            response.SetError(deleteResponse.ErrorId, deleteResponse.Message, methodName,
                                              deleteResponse.ResponseType);
                        }
                    }
                    else
                    {
                        response.SetError(mappingResponse.ErrorId, mappingResponse.Message, methodName,
                                          mappingResponse.ResponseType);
                    }
                }
                else
                {
                    response.SetError(getResponse.ErrorId, ErrorMessage.RecordNotFound, methodName, getResponse.ResponseType);
                }
            }
            else
            {
                response.SetError(getResponse.ErrorId, getResponse.Message, methodName, getResponse.ResponseType);
            }

            return(response);
        }
        public async Task <Result> DeleteWorkAsync(Guid id)
        {
            var existWork = await _workRepository.ExistAsync(id);

            if (!existWork)
            {
                return(new Result(Status.NotFund, $"Work with {nameof(id)} does not exist"));
            }

            var work = await _workRepository.GetByIdAsync(id);

            await _workRepository.DeleteAsync(work);

            var result = await _mockyService.SendNotificationAsync("Lançamento de horas", "Um lançamento de horas foi removido");

            if (!result.Success || !result.Data)
            {
                return(new Result(Status.Error, result.ErrorMessages));
            }
            return(new Result());
        }