コード例 #1
0
 public IActionResult Add([FromBody] DayOffData request)
 {
     try
     {
         BaseResponse response = _dayOffsClient.AddAsync(request);
         LogData      logData  = new()
         {
             CallSide         = nameof(DayOffsController),
             CallerMethodName = nameof(Add),
             CreatedOn        = _dateTimeUtil.GetCurrentDateTime(),
             Request          = request,
             Response         = response
         };
         _logger.AddLog(logData);
         return(Ok(response));
     }
     catch (Exception ex)
     {
         LogData logData = new()
         {
             CallSide         = nameof(DayOffsController),
             CallerMethodName = nameof(Add),
             CreatedOn        = _dateTimeUtil.GetCurrentDateTime(),
             Request          = request,
             Response         = ex
         };
         _logger.AddErrorLog(logData);
         return(InternalServerError());
     }
 }
コード例 #2
0
 private static DayOff FromRpcModel(DayOffData dayOff)
 {
     return(new DayOff
     {
         Id = dayOff.Id,
         CreatedOn = dayOff.CreatedOn.ToDateTime(),
         DayOffType = (DayOffType)System.Enum.Parse(typeof(DayOffType), dayOff.DayOffType.ToString(), true),
         Hours = dayOff.Hours,
         IsPaid = dayOff.IsPaid,
         PersonId = dayOff.PersonId
     });
 }
コード例 #3
0
        public override async Task <BaseResponse> AddAsync(DayOffData request, ServerCallContext context)
        {
            try
            {
                if (request is null)
                {
                    await _dayOffRepository.AddAsync(null);
                }

                DayOff dayOff = FromRpcModel(request);
                int    result = await _dayOffRepository.AddAsync(dayOff);

                if (result == 0)
                {
                    throw new Exception("Day off has not been saved");
                }
                BaseResponse response = new()
                {
                    Code         = Code.Success,
                    ErrorMessage = string.Empty,
                    DataId       = dayOff.Id
                };

                LogData logData = new()
                {
                    CallSide         = nameof(DayOffsService),
                    CallerMethodName = nameof(AddAsync),
                    CreatedOn        = _dateTimeUtil.GetCurrentDateTime(),
                    Request          = request,
                    Response         = response
                };
                _logger.AddLog(logData);

                return(response);
            }
            catch (NullReferenceException nrex)
            {
                LogData logData = new()
                {
                    CallSide         = nameof(DayOffsService),
                    CallerMethodName = nameof(AddAsync),
                    CreatedOn        = _dateTimeUtil.GetCurrentDateTime(),
                    Request          = request,
                    Response         = nrex
                };
                _logger.AddErrorLog(logData);
                return(new BaseResponse
                {
                    Code = Code.DataError,
                    ErrorMessage = nrex.Message
                });
            }
            catch (ArgumentException aex)
            {
                LogData logData = new()
                {
                    CallSide         = nameof(DayOffsService),
                    CallerMethodName = nameof(AddAsync),
                    CreatedOn        = _dateTimeUtil.GetCurrentDateTime(),
                    Request          = request,
                    Response         = aex
                };
                _logger.AddErrorLog(logData);
                return(new BaseResponse
                {
                    Code = Code.DataError,
                    ErrorMessage = aex.Message
                });
            }
            catch (DbUpdateException duex)
            {
                LogData logData = new()
                {
                    CallSide         = nameof(DayOffsService),
                    CallerMethodName = nameof(AddAsync),
                    CreatedOn        = _dateTimeUtil.GetCurrentDateTime(),
                    Request          = request,
                    Response         = duex
                };
                _logger.AddErrorLog(logData);
                return(new BaseResponse
                {
                    Code = Code.DbError,
                    ErrorMessage = "An error occured while saving day off"
                });
            }
            catch (Exception ex)
            {
                LogData logData = new()
                {
                    CallSide         = nameof(DayOffsService),
                    CallerMethodName = nameof(AddAsync),
                    CreatedOn        = _dateTimeUtil.GetCurrentDateTime(),
                    Request          = request,
                    Response         = ex
                };
                _logger.AddErrorLog(logData);
                return(new BaseResponse
                {
                    Code = Code.UnknownError,
                    ErrorMessage = ex.Message
                });
            }
        }