public bool AssignSeat(Airplane airplane, Seat seat) { var airplaneSelected = _airplaneRecoverService.RecoverPlane(airplane); if (airplaneSelected.IsValidAirplane()) { if (airplaneSelected.CanAssignSeat(seat)) { airplaneSelected.Seats.Find(x => x.Row == seat.Row && x.Column == seat.Column).Available = AvailabilityEnum.Booked; _airplaneRepository.Edit(airplaneSelected); _airplaneRepository.Save(); return(true); } } return(false); }
public async Task <IActionResult> Update(AirplaneForEditDto airplaneForEdit) { if (!int.TryParse(User.FindFirst(ClaimTypes.NameIdentifier)?.Value ?? string.Empty, out var userId)) { return(Unauthorized()); } var privilages = new List <int>() { (int)UserPrivileges.Administrator, (int)UserPrivileges.Employee }; int.TryParse(User.FindFirst(ClaimTypes.Role)?.Value, out var privilagesId); if (!privilages.Contains(privilagesId)) { return(StatusCode((int)HttpStatusCode.Unauthorized)); } var result = await _airplaneRepository.Edit(airplaneForEdit); return(result ? Ok() : StatusCode((int)HttpStatusCode.InternalServerError)); }