Exemplo n.º 1
0
 public IActionResult Update([FromQuery] RoadMapData request)
 {
     try
     {
         BaseResponse response = _roadMapsClient.UpdateAsync(request);
         LogData      logData  = new()
         {
             CallSide         = nameof(RoadMapsController),
             CallerMethodName = nameof(Update),
             CreatedOn        = _dateTimeUtil.GetCurrentDateTime(),
             Request          = request,
             Response         = response
         };
         _logger.AddLog(logData);
         return(Ok(response));
     }
     catch (Exception ex)
     {
         LogData logData = new()
         {
             CallSide         = nameof(RoadMapsController),
             CallerMethodName = nameof(Update),
             CreatedOn        = _dateTimeUtil.GetCurrentDateTime(),
             Request          = request,
             Response         = ex
         };
         _logger.AddErrorLog(logData);
         return(InternalServerError());
     }
 }
Exemplo n.º 2
0
 private static RoadMap FromRpcModel(RoadMapData roadMap)
 {
     return(new RoadMap
     {
         Id = roadMap.Id,
         CreatedOn = roadMap.CreatedOn == null ? DateTime.MinValue : roadMap.CreatedOn.ToDateTime(),
         StaffId = roadMap.StaffId,
         Status = (RoadMapStatus)System.Enum.Parse(typeof(RoadMapStatus), roadMap.Status.ToString(), true),
         Tasks = roadMap.Tasks
     });
 }
Exemplo n.º 3
0
        public void Setup()
        {
            InitializeMocks();
            InitializeLoggerMock(new RoadMapsController(null, null, null));

            _roadMapData = new RoadMapData
            {
                CreatedOn = Timestamp.FromDateTime(_dateTimeUtil.GetCurrentDateTime()),
                Id        = 1,
                StaffId   = 1,
                Status    = 1,
                Tasks     = "test"
            };
            _controller = new RoadMapsController(_roadMapsClient, _logger, _dateTimeUtil);
        }
Exemplo n.º 4
0
        public void GetByStaffId_should_return_road_map_accociated_with_staff_id()
        {
            // Arrange
            ByStaffRequest request = new()
            {
                StaffId = _staff.Id
            };

            RoadMapResponse response = new()
            {
                Status = new BaseResponse
                {
                    Code         = Code.Success,
                    ErrorMessage = string.Empty
                },
                Data = new RoadMapData()
                {
                    Id        = _roadMap.Id,
                    StaffId   = _roadMap.StaffId,
                    CreatedOn = Timestamp.FromDateTime(_roadMap.CreatedOn),
                    Status    = (int)_roadMap.Status,
                    Tasks     = _roadMap.Tasks
                }
            };

            LogData expectedLog = new()
            {
                CallSide         = nameof(RoadMapsService),
                CallerMethodName = nameof(_roadMapsService.GetByStaffId),
                CreatedOn        = _dateTimeUtil.GetCurrentDateTime(),
                Request          = request,
                Response         = response
            };

            // Act
            RoadMapResponse actual = _roadMapsService.GetByStaffId(request, null).Result;

            // Assert
            Assert.AreEqual(response, actual, "Rasponse as expected");
            _loggerMock.Verify(m => m.AddLog(expectedLog), Times.Once);
            _roadMapRepositoryMock.Verify(m => m.GetByStaffId(request.StaffId), Times.Once);
        }

        [Test]
Exemplo n.º 5
0
        public override async Task <BaseResponse> AddAsync(RoadMapData request, ServerCallContext context)
        {
            try
            {
                RoadMap roadMap = FromRpcModel(request);
                int     result  = await _roadMapRepository.AddAsync(roadMap);

                if (result == 0)
                {
                    throw new Exception("Road map was not saved");
                }
                BaseResponse response = new()
                {
                    Code         = Code.Success,
                    DataId       = roadMap.Id,
                    ErrorMessage = string.Empty
                };
                LogData log = new()
                {
                    CallSide         = nameof(RoadMapsService),
                    CallerMethodName = nameof(AddAsync),
                    CreatedOn        = _dateTimeUtil.GetCurrentDateTime(),
                    Request          = request,
                    Response         = response
                };
                _logger.AddLog(log);
                return(response);
            }
            catch (ArgumentException aex)
            {
                LogData log = new()
                {
                    CallSide         = nameof(RoadMapsService),
                    CallerMethodName = nameof(AddAsync),
                    CreatedOn        = _dateTimeUtil.GetCurrentDateTime(),
                    Request          = request,
                    Response         = aex
                };
                _logger.AddErrorLog(log);
                return(new BaseResponse
                {
                    Code = Code.DataError,
                    ErrorMessage = aex.Message
                });
            }
            catch (InvalidOperationException ioex)
            {
                LogData log = new()
                {
                    CallSide         = nameof(RoadMapsService),
                    CallerMethodName = nameof(AddAsync),
                    CreatedOn        = _dateTimeUtil.GetCurrentDateTime(),
                    Request          = request,
                    Response         = ioex
                };
                _logger.AddErrorLog(log);
                return(new BaseResponse
                {
                    Code = Code.DataError,
                    ErrorMessage = ioex.Message
                });
            }
            catch (DbUpdateException duex)
            {
                LogData log = new()
                {
                    CallSide         = nameof(RoadMapsService),
                    CallerMethodName = nameof(AddAsync),
                    CreatedOn        = _dateTimeUtil.GetCurrentDateTime(),
                    Request          = request,
                    Response         = duex
                };
                _logger.AddErrorLog(log);
                return(new BaseResponse
                {
                    Code = Code.DbError,
                    ErrorMessage = "An error occured while saving road map"
                });
            }
            catch (Exception ex)
            {
                LogData log = new()
                {
                    CallSide         = nameof(RoadMapsService),
                    CallerMethodName = nameof(AddAsync),
                    CreatedOn        = _dateTimeUtil.GetCurrentDateTime(),
                    Request          = request,
                    Response         = ex
                };
                _logger.AddErrorLog(log);
                return(new BaseResponse
                {
                    Code = Code.UnknownError,
                    ErrorMessage = ex.Message
                });
            }
        }