예제 #1
0
        public async Task <IngressoDTO> ComprarIngresso(IngressoDTO dto)
        {
            var sessao = await _sessaoRepository.BuscarSessao(dto.CodigoSessao);

            if (sessao == null)
            {
                throw new Exception();
            }

            var model = new IngressoModel
            {
                Codigo       = dto.Codigo,
                CPF          = dto.CPF,
                DataCompra   = dto.DataCompra,
                ValorPago    = dto.ValorPago,
                Observacao   = dto.Observacao,
                CodigoSessao = dto.CodigoSessao,
            };

            model = await _ingressoRepository.CriarIngresso(model);

            dto.Codigo = model.Codigo;

            return(dto);
        }
예제 #2
0
        public async Task <IngressoModel> CriarIngresso(IngressoModel ingresso)
        {
            ingresso = _dbContext.Ingressos.Add(ingresso).Entity;
            await _dbContext.SaveChangesAsync();

            return(ingresso);
        }
예제 #3
0
        public void ComprarIngresso(IngressoModel ingresso)
        {
            string query = "INSERT INTO ingressos (id_usuario, id_sessao, id_assento, data_criacao)                     " +
                           "VALUES ((SELECT id FROM usuarios WHERE usuario = @usuario), @sessao, @assento, GETDATE())   ";

            SqlCommand cmd = new SqlCommand
            {
                CommandType = CommandType.Text,
                CommandText = query
            };

            cmd.Parameters.AddWithValue("@usuario", ingresso.Usuario);
            cmd.Parameters.AddWithValue("@sessao", ingresso.IdSessao);
            cmd.Parameters.AddWithValue("@assento", ingresso.IdAssento);

            ExecuteNonQuery(cmd);
        }
예제 #4
0
        public HttpResponseMessage ComprarIngresso(IngressoModel ingresso)
        {
            if (ingresso == null)
            {
                return(Request.CreateResponse(HttpStatusCode.Unauthorized));
            }

            if (movieDAO.ExisteIngresso(ingresso.IdSessao, ingresso.IdAssento))
            {
                return(Request.CreateResponse(HttpStatusCode.Unauthorized));
            }

            try
            {
                movieDAO.ComprarIngresso(ingresso);

                return(Request.CreateResponse(HttpStatusCode.OK));
            }
            catch (Exception)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest));
            }
        }