Ejemplo n.º 1
0
        public async Task <ActionResult <SendIssueTicketResponse> > SendIssueTicket(SendIssueTicketRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            return(await _issueTicketService.SendTicket(request));
        }
Ejemplo n.º 2
0
        public async Task <SendIssueTicketResponse> SendTicket(SendIssueTicketRequest request)
        {
            //Check if student exists
            var owner = await _repoWrapper.Student.FindByIdAsync(request.OwnerId);

            if (owner == null)
            {
                throw new HttpStatusCodeException(HttpStatusCode.NotFound, "IssueTicket: student is not found.");
            }

            if (request.EquipmentId >= 0)
            {
                var equipment = await _repoWrapper.Equipment.FindByIdAsync(request.EquipmentId);

                if (equipment == null)
                {
                    throw new HttpStatusCodeException(HttpStatusCode.NotFound, "IssueTicket: equipment is not found.");
                }
            }

            var type = await _repoWrapper.Param.FindByIdAsync(request.Type);

            if (type == null || type.ParamTypeId != GlobalParams.ParamTypeIssueType)
            {
                throw new HttpStatusCodeException(HttpStatusCode.BadRequest, "IssueTicket: Issue Ticket Type is invalid.");
            }

            //Create new IssueTicket from request
            var issueTicket = SendIssueTicketRequest.EntityFromRequest(request);

            //Create new in database
            issueTicket = await _repoWrapper.IssueTicket.CreateAsync(issueTicket);

            return(new SendIssueTicketResponse()
            {
                IssueTicketId = issueTicket.IssueTicketId
            });
        }