Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
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);
        }
Exemplo n.º 5
0
 public bool AddRequestedSeatsToTimeSlot(SeatsProcessRequest request)
 {
     throw new NotImplementedException();
 }