public async Task <IActionResult> CreateAsync([FromBody] OfflineTableReservation offlineTableReservation) { if (offlineTableReservation == null) { var ex = new ArgumentException($"{nameof(offlineTableReservation)} can't be null"); _logger.LogError(ex.ToString()); throw ex; } if (!_validator.Validate(offlineTableReservation).IsValid) { var ex = new ArgumentException($"{nameof(offlineTableReservation)} is not valid"); _logger.LogError(ex.ToString()); throw ex; } try { _offlineTableReservationRepository.Add(offlineTableReservation); await _unitOfWork.SaveChangesAsync(); return(Ok(offlineTableReservation)); } catch { var ex = new Exception($"Error while adding offline table reservation nameof{nameof(offlineTableReservation)}"); _logger.LogError(ex.ToString()); throw ex; } }
public async Task <IActionResult> UpdateById(int id, [FromBody] OfflineTableReservation offlineTableReservation) { if (id == default) { var ex = new ArgumentException($"{nameof(id)} cannot be 0"); _logger.LogError(ex.ToString()); throw ex; } if (!_validator.Validate(offlineTableReservation).IsValid) { var ex = new ArgumentException($"{nameof(offlineTableReservation)} is not valid"); _logger.LogError(ex.ToString()); throw ex; } try { var currentOfflineTableReservation = await _offlineTableReservationRepository.Get(x => x.Id == id); if (currentOfflineTableReservation == null) { var ex = new NullReferenceException($"Error while updating offline table rReservation. Offline table reservation with {nameof(id)}={id} not found"); _logger.LogError(ex.ToString()); throw ex; } currentOfflineTableReservation.TableId = offlineTableReservation.TableId; currentOfflineTableReservation.ClientName = offlineTableReservation.ClientName; currentOfflineTableReservation.ClientPhoneNumber = offlineTableReservation.ClientPhoneNumber; currentOfflineTableReservation.EmployeeId = offlineTableReservation.EmployeeId; _offlineTableReservationRepository.Update(currentOfflineTableReservation); await _unitOfWork.SaveChangesAsync(); return(Ok(currentOfflineTableReservation)); } catch (Exception ex) { ex.Data["id"] = id; _logger.LogError(ex.ToString()); throw ex; } }