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()); } }
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 }); }
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 }); } }