Example #1
0
        public async Task <IActionResult> CreateTicketTopic([FromBody] CreateSupportTicketPriorityResource createSupportTicketPriorityReource)
        {
            if (ModelState.IsValid)
            {
                if (this.ticketPriorityRepository.IsPriorityExist(createSupportTicketPriorityReource.Name))
                {
                    ModelState.AddModelError("", $"Ticket priority with name ({createSupportTicketPriorityReource.Name}) is already exist!");
                    return(new BadRequestObjectResult(new BadRequestResource(ModelState)));
                }

                var supportTicketTopic = this.mapper.Map <CreateSupportTicketPriorityResource, SupportTicketPriority>(createSupportTicketPriorityReource);

                var loggedInUserId = User.FindFirstValue(ClaimTypes.NameIdentifier);

                this.ticketPriorityRepository.CreateTicketPriority(supportTicketTopic);

                await this.unitOfWork.CompleteAsync();

                return(new OkObjectResult(new { message = $"New ticket priority has created with name ({supportTicketTopic.Name})" }));
            }

            return(new BadRequestObjectResult(new BadRequestResource(ModelState)));
        }
Example #2
0
        public async Task <IActionResult> UpdateTicketTopic([FromRoute] int ticketPriorityId, [FromBody] CreateSupportTicketPriorityResource createSupportTicketPriorityResource)
        {
            if (ModelState.IsValid)
            {
                var ticketTopic = await this.ticketPriorityRepository.FindTicketPriorityByIdAsync(ticketPriorityId);

                if (ticketTopic == null)
                {
                    ModelState.AddModelError("", "Ticket priority not found");
                    return(new NotFoundObjectResult(new NotFoundResource(ModelState)));
                }

                if (this.ticketPriorityRepository.IsPriorityUpdatedNameExist(
                        createSupportTicketPriorityResource.Name,
                        ticketPriorityId))
                {
                    ModelState.AddModelError("", $"Ticket priority with name ({createSupportTicketPriorityResource.Name}) is already exist!");
                    return(new BadRequestObjectResult(new BadRequestResource(ModelState)));
                }

                this.mapper.Map <CreateSupportTicketPriorityResource, SupportTicketPriority>(createSupportTicketPriorityResource, ticketTopic);

                var loggedInUserId = User.FindFirstValue(ClaimTypes.NameIdentifier);

                this.ticketPriorityRepository.UpdateTicketPriority(ticketTopic);

                await this.unitOfWork.CompleteAsync();

                return(new OkObjectResult(new { message = "Ticket priority has updated" }));
            }

            return(new BadRequestObjectResult(new BadRequestResource(ModelState)));
        }