Esempio n. 1
0
        public int Add(VisitForCreationDto visit)
        {
            try
            {
                int newId = -1;

                using (var sqlConnection = new SqlConnection(sqlConnectionString))
                    using (var sqlCommand = new SqlCommand($"EXEC ADD_VISIT @stationId, @courseId, @visitOrder, @available_seats, @date", sqlConnection))
                    {
                        var returnParameter = sqlCommand.Parameters.Add("@result", SqlDbType.Int);
                        returnParameter.Direction = ParameterDirection.Output;

                        sqlCommand.Parameters.AddWithValue("@stationId", visit.StationId);
                        sqlCommand.Parameters.AddWithValue("@courseId", visit.CourseId);
                        sqlCommand.Parameters.AddWithValue("@visitOrder", visit.VisitOrder);
                        //TODO
                        sqlCommand.Parameters.AddWithValue("@availableSeats", 50);
                        sqlCommand.Parameters.AddWithValue("@date", visit.Date);

                        sqlConnection.Open();
                        var result = sqlCommand.ExecuteScalar();

                        newId = Convert.ToInt32(result);
                    }

                return(newId);
            }
            catch (Exception ex)
            {
                logger.LogInformation($"AddVisit DB Connection Error: {ex}");
                return(-1);
            }
        }
Esempio n. 2
0
        public IActionResult CreateVisit([FromBody] VisitForCreationDto visit, int id)
        {
            if (ModelState.IsValid && id >= 0)
            {
                visit.CourseId = id;

                var newId = _unitOfWork.VisitRepository.Add(visit);

                if (newId < 0)
                {
                    throw new Exception("Creating a visit failed on save.");
                }

                var visitToReturn = new VisitDto
                {
                    Id          = newId,
                    StationId   = visit.StationId,
                    CourseId    = visit.CourseId,
                    StationName = "maybeToDo",
                    VisitOrder  = visit.VisitOrder,
                    Date        = visit.Date
                };

                return(CreatedAtRoute("GetVisitsForCourse", new { id = visitToReturn.Id }, visitToReturn));
            }
            else
            {
                return(BadRequest());
            }
        }
Esempio n. 3
0
        public async Task <ActionResult <VisitDto> > AddVisit([FromBody] VisitForCreationDto visitForCreation)
        {
            var validationResults = new VisitForCreationDtoValidator().Validate(visitForCreation);

            validationResults.AddToModelState(ModelState, null);

            if (!ModelState.IsValid)
            {
                return(BadRequest(new ValidationProblemDetails(ModelState)));
                //return ValidationProblem();
            }

            var visit = _mapper.Map <Visit>(visitForCreation);
            await _visitRepo.AddVisit(visit);

            var saveSuccessful = await _visitRepo.SaveAsync();

            if (saveSuccessful)
            {
                var visitFromRepo = await _visitRepo.GetVisitAsync(visit.Id);

                var visitDto = _mapper.Map <VisitDto>(visitFromRepo);
                var response = new Response <VisitDto>(visitDto);

                return(CreatedAtRoute("GetVisit",
                                      new { visitDto.Id },
                                      response));
            }

            return(StatusCode(500));
        }