public async Task ApproveReservationRequest(ReservationPreviewDTO reservation) { var db = _connectionMultiplexer.GetDatabase(); var reservations = db.StreamRead($"reservation:{ reservation.SerialNumber}:request", "0-0"); RedisValue idEntryUser = new RedisValue(); bool exists = false; foreach (StreamEntry entry in reservations) { if (entry.Values[0].Name == reservation.UsernameRentee) { idEntryUser = entry.Id; var newEntry = JsonSerializer.Deserialize <ReservationPreviewDTO>(entry.Values[0].Value); if (newEntry.RenterList.StartTime == reservation.RenterList.StartTime && newEntry.RenterList.Period == reservation.RenterList.Period) { exists = true; } break; } } if (exists) { db.StreamDelete($"reservation:{reservation.SerialNumber}:request", new[] { idEntryUser }); await _sonyRepository.ReservedMySony(reservation.SerialNumber, reservation.UsernameRentee, reservation.RenterList); } }
//public string SerialNumber { get; set; } //public string UsernameRentee { get; set; } //public RenterListDTO RenterList { get; set; } //public string StartTime { get; set; } //public string Period { get; set; } //public string Address { get; set; } //public string Joystick { get; set; } //public string Notes { get; set; } public Task CancelReservation(ReservationPreviewDTO previe) { var result = _client.Cypher.Match(@"(sony:Sony), (rentee:Rentee").Where((Sony sony) => sony.SerialNumber == previe.SerialNumber) .Match(@"(sony)-[r:RESERVED_BY]-(rentee)") .Delete("(r)") .ExecuteWithoutResultsAsync(); return(result); }
public async Task <IEnumerable <ReservationPreviewDTO> > GetAllReservationRequestForSony(string serialNumber) { List <ReservationPreviewDTO> requestsResponse = new List <ReservationPreviewDTO>(); string setKey = $"reservation:{serialNumber}:request"; IDatabase redisDB = _connectionMultiplexer.GetDatabase(); var requests = redisDB.StreamRead(setKey, "0-0"); foreach (var entry in requests) { ReservationPreviewDTO req = JsonSerializer.Deserialize <ReservationPreviewDTO>(entry.Values[0].Value); requestsResponse.Add(req); } return(requestsResponse); }
public async Task <List <ReservationPreviewDTO> > GetReservedSonys(string UsernameRenterer) { var result = await _client.Cypher.Match(@"(renterer:Renterer {Username:"******"\"" + UsernameRenterer + "\"" + "}) -[r:OWN]->(sony:Sony) - [rel:RESERVED_BY] ->(rentee:Rentee)") .Return((rel, sony, rentee) => new { ReservedPattern = rel.As <RenterListDTO>(), Sony = sony.As <Sony>(), Rentee = rentee.As <Rentee>() }) .ResultsAsync; List <ReservationPreviewDTO> list = new List <ReservationPreviewDTO>(); foreach (var indeks in result) { ReservationPreviewDTO rdto = new ReservationPreviewDTO(); rdto.SerialNumber = indeks.Sony.SerialNumber; rdto.RenterList = indeks.ReservedPattern; rdto.UsernameRentee = indeks.Rentee.Username; list.Add(rdto); } return(list); }
public async Task ApproveReservationRequest([FromBody] ReservationPreviewDTO reservation) { await _reservationService.ApproveReservationRequest(reservation); }
public async Task CancelReservation([FromBody] ReservationPreviewDTO reservation) { await _reservationService.CancelReservationRequest(reservation); }
public async Task ApproveReservationRequest(ReservationPreviewDTO reservation) { await _reservationRepository.ApproveReservationRequest(reservation); }
public async Task CancelReservationRequest(ReservationPreviewDTO reservation) { await _reservationRepository.CancelReservationRequest(reservation); }
public Task CancelReservation(ReservationPreviewDTO previe) { return(this._sonyRepository.CancelReservation(previe)); }
public async Task AddNewReservationRequest(ReservationPreviewDTO reservation) { var db = _connectionMultiplexer.GetDatabase(); db.StreamAdd($"reservation:{reservation.SerialNumber}:request", reservation.UsernameRentee, JsonSerializer.Serialize(reservation)); }
public Task CancelReservation([FromBody] ReservationPreviewDTO preview) { return(_rentererService.CancelReservation(preview)); }
public Task <Sony> ReservedMySony(ReservationPreviewDTO reservationPreviewDTO) { return(_rentererService.ReservedMySony(reservationPreviewDTO.SerialNumber, reservationPreviewDTO.UsernameRentee, reservationPreviewDTO.RenterList)); }