Beispiel #1
0
        public async Task <ActionResult <QuerySingleResponse <QueryCustomerModel> > > CustomerTicket(CommandCustomerTicketModel customerTickets)
        {
            var command = new InsertCommand <CommandCustomerModel>()
            {
                Data = customerTickets
            };
            var data = await _customerCommandHandler.HandleAsync(command);

            if (data.CustomerId > 0)
            {
                customerTickets.Tickets.ForEach(f =>
                {
                    f.CustomerId      = data.CustomerId;
                    var ticketCommand = new InsertCommand <CommandTicketModel>()
                    {
                        Data = f
                    };
                    var ticketData = _ticketCommandHandler.HandleAsync(ticketCommand).Result;
                });
            }

            var response = new QuerySingleResponse <QueryCustomerModel>();

            response.Success = true;
            response.Data    = data;
            return(StatusCode(StatusCodes.Status201Created, response));
        }
        public async Task <ActionResult <QuerySingleResponse <QueryCustomerModel> > > PostCustomer(CommandCustomerModel customer)
        {
            var command = new InsertCommand <CommandCustomerModel>()
            {
                Data = customer
            };
            var data = await _customerCommandHandler.HandleAsync(command);

            var response = new QuerySingleResponse <QueryCustomerModel>();

            response.Success = true;
            response.Data    = data;
            return(CreatedAtAction("GetCustomer", new { id = data.CustomerId }, response));
        }
        public async Task <ActionResult <QuerySingleResponse <QueryTicketModel> > > PostTicket(CommandTicketModel ticket)
        {
            var command = new InsertCommand <CommandTicketModel>()
            {
                Data = ticket
            };
            var data = await _ticketCommandHandler.HandleAsync(command);

            var response = new QuerySingleResponse <QueryTicketModel>();

            response.Data    = data;
            response.Success = true;
            return(CreatedAtAction("GetTicket", new { id = data.TicketId }, response));
        }
        public async Task <ActionResult <QuerySingleResponse <QueryCustomerModel> > > GetCustomer(int id)
        {
            var query = new FindQuery <QueryCustomerModel>()
            {
                Id = id
            };
            var customer = await _customerQueryHandler.HandleAsync(query);

            if (customer == null)
            {
                return(NotFound(new { message = "Customer not found" }));
            }
            var response = new QuerySingleResponse <QueryCustomerModel>();

            response.Data    = customer;
            response.Success = true;
            return(response);
        }
        public async Task <ActionResult <QuerySingleResponse <QueryTicketModel> > > GetTicket(int id)
        {
            var query = new FindQuery <QueryTicketModel>()
            {
                Id = id
            };
            var ticket = await _ticketQueryHandler.HandleAsync(query);

            if (ticket == null)
            {
                return(NotFound(new { message = "Ticket not found" }));
            }
            var response = new QuerySingleResponse <QueryTicketModel>();

            response.Data    = ticket;
            response.Success = true;
            return(response);
        }