public bool AddRequestedSeatsToTimeslot(SeatsProcessRequest request) { var requestTable = new DataTable("TimeslotSeatRequest"); requestTable.Columns.Add("Row", typeof(int)); requestTable.Columns.Add("Seat", typeof(int)); requestTable.Columns.Add("Status", typeof(int)); foreach (var seatRequest in request.SeatsRequest.AddedSeats) { requestTable.Rows.Add(seatRequest.Row, seatRequest.Seat, request.SelectedStatus); } SqlParameter requestTableparameter = new SqlParameter { ParameterName = "@seatsRequest", SqlDbType = SqlDbType.Structured, Value = requestTable }; var parameters = new[] { requestTableparameter, new SqlParameter("@TimeslotId", request.TimeslotId) }; return(DatabaseUtil.ExecuteNonQuery("AddRequestedSeatsToTimeslot", parameters) != 0); }
public bool AddRequestedSeatsToTimeSlot(SeatsProcessRequest request) { if (!(request?.SeatsRequest?.AddedSeats?.Any() ?? false)) { return(false); } var fullModel = GetDataFromFile(); var timeSlotsForUpdate = fullModel.TimeSlots.FirstOrDefault(x => x.Id == request.TimeSlotId); if (timeSlotsForUpdate == null) { return(false); } var requestToProcess = new List <TimeSlotSeatRequest>(); if (timeSlotsForUpdate.RequestedSeats != null && timeSlotsForUpdate.RequestedSeats.Any()) { requestToProcess = timeSlotsForUpdate.RequestedSeats.ToList(); } foreach (var addedSeat in request.SeatsRequest.AddedSeats) { requestToProcess.Add(new TimeSlotSeatRequest() { Row = addedSeat.Row, Seat = addedSeat.Seat, Status = request.SelectedStatus }); } timeSlotsForUpdate.RequestedSeats = requestToProcess.ToArray(); SaveToFile(fullModel); return(true); }
public string ProcessRequest(SeatsProcessRequest request) { var requestProcessingResult = _ticketService.AddRequestedSeatsToTimeslot(request); return(JsonConvert.SerializeObject(new { requestResult = requestProcessingResult })); }
public bool AddRequestedSeatsToTimeslot(SeatsProcessRequest request) { var fullModel = GetDataFromFile(); var timeslotToUpdate = fullModel.Timeslots. FirstOrDefault(timeslot => timeslot.Id == request.TimeslotId); if (timeslotToUpdate == null) { return(false); } List <TimeslotSeatRequest> requestToProcess; if (timeslotToUpdate.RequestedSeats != null && timeslotToUpdate.RequestedSeats.Any()) { requestToProcess = timeslotToUpdate.RequestedSeats.ToList(); } else { requestToProcess = new List <TimeslotSeatRequest>(); } if (request?.SeatsRequest?.AddedSeats == null || !request.SeatsRequest.AddedSeats.Any()) { return(false); } foreach (var addedSeats in request.SeatsRequest.AddedSeats) { requestToProcess.Add(new TimeslotSeatRequest { Row = addedSeats.Row, Seat = addedSeats.Seat, Status = request.SelectedStatus }); } timeslotToUpdate.RequestedSeats = requestToProcess.ToArray(); SaveDataToFile(fullModel); return(true); }
public bool AddRequestedSeatsToTimeSlot(SeatsProcessRequest request) { throw new NotImplementedException(); }