private IList <UserOnTimeRangeDto> UserOnTimeRangeParse(UserOnTimeRangeResult userOnTimeRangeResult) { IList <UserOnTimeRangeDto> userOnTimeRangeDtos = new List <UserOnTimeRangeDto>(); UserDto user = _userRepository.GetByCode(userOnTimeRangeResult.UserOnTimeRangeForm.Code); if (userOnTimeRangeResult.UserOnTimeRangeForm.TimeRanges.Any()) { foreach (var time in userOnTimeRangeResult.UserOnTimeRangeForm.TimeRanges) { string timerangestring = time.Key.Replace(_timePrefix, ""); if (int.TryParse(timerangestring, out int timeId)) { UserOnTimeRangeDto userOnTimeRangeDto = new UserOnTimeRangeDto() { TimeRangeId = timeId, UserId = user.Id }; userOnTimeRangeDtos.Add(userOnTimeRangeDto); } } } return(userOnTimeRangeDtos); }
public UserOnTimeRangeResult SaveUserOnTimeRange(UserOnTimeRangeResult userOnTimeRangeResult) { if (userOnTimeRangeResult == null || userOnTimeRangeResult.UserOnTimeRangeForm == null) { throw new ArgumentNullException("No userOnTimeRangeResult send"); } if (string.IsNullOrEmpty(userOnTimeRangeResult.UserOnTimeRangeForm.Code)) { throw new ArgumentNullException("No Code send"); } var userDto = _userRepository.GetByCode(userOnTimeRangeResult.UserOnTimeRangeForm.Code); if (userDto == null) { throw new ArgumentException("Invalid code", nameof(userOnTimeRangeResult.UserOnTimeRangeForm.Code)); } var userOnTimeRangeDtos = UserOnTimeRangeParse(userOnTimeRangeResult); _userOnTimeRangeRepository.Clear(userDto); userOnTimeRangeDtos = _userOnTimeRangeRepository.Insert(userOnTimeRangeDtos); return(UserOnTimeRangeParse(userOnTimeRangeDtos)); }
public IActionResult Post([FromBody] UserOnTimeRangeResult userOnTimeResult) { try { object offeredGameResult = _userOnTimeService.SaveUserOnTimeRange(userOnTimeResult); return(Ok(offeredGameResult)); } catch (Exception exc) { _logger.LogError(exc, exc.Message); return(BadRequest(exc.Message)); } }
private UserOnTimeRangeResult UserOnTimeRangeParse(IList <UserOnTimeRangeDto> userOnTimeRangeDtos) { UserOnTimeRangeResult userOnTimeRangeResult = new UserOnTimeRangeResult() { UserOnTimeRangeForm = new UserOnTimeRangeForm() }; if (userOnTimeRangeDtos.Any()) { userOnTimeRangeResult.UserOnTimeRangeForm.TimeRanges = new Dictionary <string, string>(); foreach (var time in userOnTimeRangeDtos) { userOnTimeRangeResult.UserOnTimeRangeForm.TimeRanges.Add(_timePrefix + time.TimeRangeId, "on"); } //TODO Check if valid userOnTimeRangeResult.UserOnTimeRangeForm.Code = userOnTimeRangeDtos[0].User.Code; } return(userOnTimeRangeResult); }