Пример #1
0
        public async Task <CreateTicketResponse> CreateTicketAsync(CreateTicketRequest request)
        {
            AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions();
            CreateTicketHeaders headers = new CreateTicketHeaders();

            return(await CreateTicketWithOptionsAsync(request, headers, runtime));
        }
        public Ticket CreateTicket(CreateTicketRequest request)
        {
            var ticket = wrappedInstance.CreateTicket(request);

            ticket.User = userReader.RequireCurrentUser();
            return(ticket);
        }
Пример #3
0
        public async Task <TicketsResult> CreateTicket(string title, string description, UrgencyLevel urgency)
        {
            try
            {
                var request = CreateRequest(TicketResource);
                var body    = new CreateTicketRequest()
                {
                    caller_id         = userId,
                    short_description = title,
                    description       = description,
                    urgency           = ServiceNowHelper.UrgencyToString[urgency]
                };
                request.AddJsonBody(body);
                var response = await client.ExecuteTaskAsync(request, CancellationToken.None, Method.POST);

                // Return Response
                return(response.ProcessCreateUpdateCloseTicketIRestResponse());
            }
            catch (Exception ex)
            {
                return(new TicketsResult()
                {
                    Success = false,
                    ErrorMessage = ex.Message
                });
            }
        }
        public void Create_does_not_use_factory_when_validation_fails(CreateTicketRequest request,
                                                                      [Frozen] ICreatesTicket ticketFactory,
                                                                      [Frozen] ICreatesValidators <CreateTicketRequest> validatorFactory,
                                                                      IValidator validator,
                                                                      Ticket ticket,
                                                                      CreateTicketRequestHandler sut)
        {
            // Arrange
            Mock.Get(ticketFactory)
            .Setup(x => x.CreateTicket(It.IsAny <CreateTicketRequest>()))
            .Returns(ticket);
            Mock.Get(validatorFactory)
            .Setup(x => x.GetValidator())
            .Returns(validator);
            Mock.Get(validator)
            .Setup(x => x.Validate(request))
            .Returns(Mock.Of <IValidationResult>(x => x.IsSuccess == false));

            // Act
            sut.Create(request);

            // Assert
            Mock.Get(ticketFactory)
            .Verify(x => x.CreateTicket(request), Times.Never());
        }
        public void Create_returns_null_ticket_instance_if_validation_fails(CreateTicketRequest request,
                                                                            [Frozen] ICreatesValidators <CreateTicketRequest> validatorFactory,
                                                                            IValidator validator,
                                                                            [Frozen] ICreatesTicket ticketFactory,
                                                                            [Frozen] ICreatesCreateTicketResponse responseFactory,
                                                                            Ticket ticket,
                                                                            CreateTicketRequestHandler sut)
        {
            // Arrange
            Mock.Get(ticketFactory)
            .Setup(x => x.CreateTicket(It.IsAny <CreateTicketRequest>()))
            .Returns(ticket);
            Mock.Get(validatorFactory)
            .Setup(x => x.GetValidator())
            .Returns(validator);
            Mock.Get(validator)
            .Setup(x => x.Validate(request))
            .Returns(Mock.Of <IValidationResult>(x => x.IsSuccess == false));
            Mock.Get(responseFactory)
            .Setup(x => x.GetResponse(It.IsAny <IValidationResult>()))
            .Returns((IValidationResult r) => new CreateTicketResponse(r, Mock.Of <IValidationResultInterpreter>()));
            Mock.Get(responseFactory)
            .Setup(x => x.GetResponse(It.IsAny <IValidationResult>(), It.IsAny <Ticket>()))
            .Returns((IValidationResult r, Ticket t) => new CreateTicketResponse(r, Mock.Of <IValidationResultInterpreter>(), t));

            // Act
            var result = sut.Create(request);

            // Assert
            Assert.IsNull(result.Ticket);
        }
Пример #6
0
        public async Task <ActionResult <MatchResponse> > MatchRequest(MatchRequest request)
        {
            var matchResponse = new MatchResponse();

            try
            {
                using var channel = GrpcChannel.ForAddress(FrontendUrl);
                var client = new FrontendServiceClient(channel);

                var searchFields = new SearchFields();
                searchFields.Tags.Add(request.GameMode.ToString());
                var ticket = new Ticket();
                ticket.SearchFields = searchFields;

                CreateTicketRequest createTicketRequest = new CreateTicketRequest();
                createTicketRequest.Ticket = ticket;

                var response = await client.CreateTicketAsync(createTicketRequest);

                matchResponse.TicketId = response.Id;
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }

            return(matchResponse);
        }
Пример #7
0
        public async Task <TicketsResult> UpdateTicket(string id, string title = null, string description = null, UrgencyLevel urgency = UrgencyLevel.None)
        {
            var request = CreateRequest($"{TicketResource}/{id}?sysparm_exclude_ref_link=true");
            var body    = new CreateTicketRequest()
            {
                short_description = title,
                description       = description,
                urgency           = urgency == UrgencyLevel.None ? null : ServiceNowHelper.UrgencyToString[urgency]
            };

            request.JsonSerializer = new JsonNoNull();
            request.AddJsonBody(body);
            try
            {
                var response = await client.ExecuteTaskAsync(request, CancellationToken.None, Method.PATCH);

                // Process and Return Correct Response
                return(response.ProcessCreateUpdateCloseTicketIRestResponse());
            }
            catch (Exception ex)
            {
                return(new TicketsResult()
                {
                    Success = false,
                    ErrorMessage = ex.Message
                });
            }
        }
        public void Start(Action <string> onCompletion = null, CancellationToken token = default)
        {
            if (m_MatchmakingRequest != null && !m_MatchmakingRequest.IsDone)
            {
                throw new InvalidOperationException($"Cannot call {nameof(Start)} twice on the same {nameof(MatchmakingWrapper)}; it represents a single stateful operation.");
            }

            Completed         = onCompletion;
            CancellationToken = token;

            m_AssignmentText = null;

            // Create a new ticket (our custom data) to be passed in with our match request
            var ticket = new CreateTicketRequest
            {
                Attributes = BuildTicketAttributes(),
                Properties = BuildTicketProperties()
            };

            // Create a new match request
            m_MatchmakingRequest = new MatchmakingRequest(m_MatchmakingServiceUrl, ticket)
            {
                // Pass in our own non-default network settings (optional)
                GetTicketPollIntervalSeconds = 1.0f
            };

            m_MatchmakingRequest.Completed += OnMatchmakingComplete;
            m_MatchmakingRequest.SendRequest();
        }
Пример #9
0
        public static List <TaskTicket> ExportTickets(CreateTicketRequest request)
        {
            var createdAt = DateTime.Now;

            return(new List <TaskTicket> {
                new TaskTicket
                {
                    SourceId = request.SourceId,
                    DateFrom = DatesFromMonth.DateFrom(request),
                    DateTo = DatesFromMonth.DateTo(request),
                    TicketStatus = TicketStatus.Added,
                    TicketType = TicketType.ExportContractorsToErp,
                    CreatedAt = createdAt,
                    StatusChangedAt = createdAt
                },
                new TaskTicket
                {
                    SourceId = request.SourceId,
                    DateFrom = DatesFromMonth.DateFrom(request),
                    DateTo = DatesFromMonth.DateTo(request),
                    TicketStatus = TicketStatus.Added,
                    TicketType = TicketType.ExportDocumentsToErp,
                    CreatedAt = createdAt,
                    StatusChangedAt = createdAt
                }
            });
        }
        public async Task <TicketsResult> UpdateTicket(string id, string title = null, string description = null, UrgencyLevel urgency = UrgencyLevel.None)
        {
            var request = CreateRequest($"{TicketResource}/{id}?sysparm_exclude_ref_link=true");
            var body    = new CreateTicketRequest()
            {
                short_description = title,
                description       = description,
                urgency           = urgency == UrgencyLevel.None ? null : UrgencyToString[urgency]
            };

            request.JsonSerializer = new JsonNoNull();
            request.AddJsonBody(body);
            try
            {
                var result = await client.PatchAsync <SingleTicketResponse>(request);

                return(new TicketsResult()
                {
                    Success = true,
                    Tickets = new Ticket[] { ConvertTicket(result.result) }
                });
            }
            catch (Exception ex)
            {
                return(new TicketsResult()
                {
                    Success = false,
                    ErrorMessage = ex.Message
                });
            }
        }
        public async Task <TicketsResult> CreateTicket(string title, string description, UrgencyLevel urgency)
        {
            try
            {
                var request = CreateRequest(TicketResource);
                var body    = new CreateTicketRequest()
                {
                    caller_id         = await GetUserId(),
                    short_description = title,
                    description       = description,
                    urgency           = UrgencyToString[urgency]
                };
                request.AddJsonBody(body);
                var result = await client.PostAsync <SingleTicketResponse>(request);

                return(new TicketsResult()
                {
                    Success = true,
                    Tickets = new Ticket[] { ConvertTicket(result.result) }
                });
            }
            catch (Exception ex)
            {
                return(new TicketsResult()
                {
                    Success = false,
                    ErrorMessage = ex.Message
                });
            }
        }
Пример #12
0
        static int CreateTicket(MagentoService service, string siteUrl, string token)
        {
            var createTicketRequest = new CreateTicketRequest()
            {
                connection_id    = "1",
                store_id         = "1",
                department_id    = "1",
                agent_id         = "1",
                status           = "unread",
                type             = "messsage",
                item_id          = "listing123",
                subject          = "listing",
                creator_id       = "",
                creator_name     = "TESTUSER_smarthub",
                creator_email    = "*****@*****.**",
                recipient_id     = "daolavi",
                created_at       = DateTime.UtcNow.ToString("yyyy-MM-dd hh:mm:ss"),
                last_modified_at = DateTime.UtcNow.ToString("yyyy-MM-dd hh:mm:ss"),
                note             = "",
            };
            var result = service.CreateTicket(siteUrl, token, createTicketRequest);

            if (result.HasError)
            {
                Console.WriteLine("CreateTicket " + result.Error);
            }
            else
            {
                Console.WriteLine("CreateTicket " + result.Result.ToString());
            }
            return(result.Result);
        }
Пример #13
0
        public CreateTicketResponse CreateTicket(CreateTicketRequest request)
        {
            AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions();
            CreateTicketHeaders headers = new CreateTicketHeaders();

            return(CreateTicketWithOptions(request, headers, runtime));
        }
Пример #14
0
        public async Task <IActionResult> Create([FromBody] CreateTicketRequest postRequest)
        {
            var newTicketId = Guid.NewGuid();

            var ticket = new Ticket
            {
                Id          = newTicketId,
                Title       = postRequest.Title,
                Description = postRequest.Description,
                Priority    = postRequest.Priority,
                Status      = 0,
                CreatedAt   = DateTime.Now,
                SubmitterId = HttpContext.GetUserId(),
                AssigneeId  = postRequest.AssigneeId != "" ? postRequest.AssigneeId : null,
                ProjectId   = postRequest.ProjectId,
            };

            await _ticketService.CreateAsync(ticket);

            var newTicket = await _ticketService.GetByIdAsync(ticket.Id);

            var ticketDto   = _ticketToDtoConverter.Convert(newTicket);
            var locationUri = _uriService.GetTicketUri(ticket.Id.ToString());

            return(Created(locationUri, ticketDto));
        }
 /// <summary>
 /// Create a new ticket in Freshdesk.
 ///
 /// c.f. https://developers.freshdesk.com/api/#create_ticket
 /// </summary>
 ///
 /// <param name="createTicketRequest">
 /// Describes the values of all the fields in the new ticket.
 /// </param>
 ///
 /// <param name="cancellationToken"></param>
 ///
 /// <returns>
 /// The newly created ticket with its ID included.
 /// </returns>
 public async Task <Ticket> CreateTicketAsync(
     CreateTicketRequest createTicketRequest,
     CancellationToken cancellationToken = default)
 {
     return(await _freshdeskClient
            .ApiOperationAsync <Ticket, CreateTicketRequest>(HttpMethod.Post, "/api/v2/tickets", createTicketRequest, cancellationToken)
            .ConfigureAwait(false));
 }
Пример #16
0
 public Ticket CreateTicketRequestToTicket(CreateTicketRequest ticket)
 {
     return(new Ticket
     {
         Email = ticket.Email,
         StatusId = ticket.StatusId
     });
 }
Пример #17
0
        public Ticket CreateTicket(CreateTicketRequest request)
        {
            var ticket = wrappedInstance.CreateTicket(request);

            ticket.Type = data.Theorise(request.TicketTypeIdentity);

            return(ticket);
        }
Пример #18
0
        public CreateTicketResponse CreateTicketWithOptions(CreateTicketRequest request, CreateTicketHeaders headers, AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime)
        {
            AlibabaCloud.TeaUtil.Common.ValidateModel(request);
            Dictionary <string, object> body = new Dictionary <string, object>()
            {
            };

            if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.ForeignId))
            {
                body["foreignId"] = request.ForeignId;
            }
            if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.ForeignName))
            {
                body["foreignName"] = request.ForeignName;
            }
            if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.OpenInstanceId))
            {
                body["openInstanceId"] = request.OpenInstanceId;
            }
            if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.ProductionType))
            {
                body["productionType"] = request.ProductionType;
            }
            if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.Properties))
            {
                body["properties"] = request.Properties;
            }
            if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.SourceId))
            {
                body["sourceId"] = request.SourceId;
            }
            if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.TemplateId))
            {
                body["templateId"] = request.TemplateId;
            }
            if (!AlibabaCloud.TeaUtil.Common.IsUnset(request.Title))
            {
                body["title"] = request.Title;
            }
            Dictionary <string, string> realHeaders = new Dictionary <string, string>()
            {
            };

            if (!AlibabaCloud.TeaUtil.Common.IsUnset(headers.CommonHeaders))
            {
                realHeaders = headers.CommonHeaders;
            }
            if (!AlibabaCloud.TeaUtil.Common.IsUnset(headers.XAcsDingtalkAccessToken))
            {
                realHeaders["x-acs-dingtalk-access-token"] = AlibabaCloud.TeaUtil.Common.ToJSONString(headers.XAcsDingtalkAccessToken);
            }
            AlibabaCloud.OpenApiClient.Models.OpenApiRequest req = new AlibabaCloud.OpenApiClient.Models.OpenApiRequest
            {
                Headers = realHeaders,
                Body    = AlibabaCloud.OpenApiUtil.Client.ParseToMap(body),
            };
            return(TeaModel.ToObject <CreateTicketResponse>(DoROARequest("CreateTicket", "customerService_1.0", "HTTP", "POST", "AK", "/v1.0/customerService/tickets", "json", req, runtime)));
        }
Пример #19
0
        public void CreateTicket_creates_ticket_with_requested_title(TicketFactory sut,
                                                                     CreateTicketRequest request)
        {
            // Act
            var result = sut.CreateTicket(request);

            // Assert
            Assert.That(result.Title, Is.EqualTo(request.Title));
        }
Пример #20
0
        public void CreateTicket_creates_ticket_with_requested_description(TicketFactory sut,
                                                                           CreateTicketRequest request)
        {
            // Act
            var result = sut.CreateTicket(request);

            // Assert
            Assert.That(result.Description, Is.EqualTo(request.Description));
        }
        public Ticket CreateTicket(CreateTicketRequest request)
        {
            var ticket = wrappedInstance.CreateTicket(request);

            var labels = labelProvider.GetLabels(request.CommaSeparatedLabelNames);

            ticket.Labels.UnionWith(labels);

            return(ticket);
        }
Пример #22
0
 public Ticket CreateTicket(CreateTicketRequest request)
 {
     return(new Ticket
     {
         Title = request.Title,
         Description = request.Description,
         CreationTimestamp = environment.GetCurrentUtcTimestamp(),
         StoryPoints = request.StoryPoints,
     });
 }
Пример #23
0
        public void CreateTicket_sets_user_from_current_user_provider([Frozen, CreatesATicket] ICreatesTicket wrapped,
                                                                      [LoggedIn] User user,
                                                                      CreateTicketRequest request,
                                                                      CurrentUserSettingTicketFactoryDecorator sut)
        {
            // Act
            var result = sut.CreateTicket(request);

            // Assert
            Assert.That(result?.User, Is.SameAs(user));
        }
 public Ticket CreateTicket(CreateTicketRequest request)
 {
     using (var trans = transactionFactory.GetTransaction())
     {
         var ticket = wrappedInstance.CreateTicket(request);
         data.Add(ticket);
         trans.Commit();
         logger.InfoFormat("Created ticket {0}: {1}", ticket.GetTicketReference().ToString(true), ticket.Title);
         return(ticket);
     }
 }
        public Ticket CreateTicket(CreateTicketRequest request)
        {
            var ticket = wrappedInstance.CreateTicket(request);

            if (request.SprintIdentity != null)
            {
                ticket.Sprint = data.Theorise(request.SprintIdentity);
            }

            return(ticket);
        }
Пример #26
0
        public Ticket CreateTicket(CreateTicketRequest request)
        {
            var ticket = wrappedInstance.CreateTicket(request);

            var relationships = relationshipFactory.Convert(request.RelationshipsToAdd);

            ticket.PrimaryRelationships.UnionWith(relationships.Where(x => x.PrimaryTicket == null));
            ticket.SecondaryRelationships.UnionWith(relationships.Where(x => x.SecondaryTicket == null));

            return(ticket);
        }
        public IActionResult Create(CreateTicketRequest req)
        {
            var id = HttpContext.User.Claims.Single(x => x.Type == "Id").Value;

            var res = _ticketService.Create(Guid.Parse(id), req);

            if (!res.Success)
            {
                return(BadRequest(res));
            }
            return(Ok(res));
        }
Пример #28
0
        public ActionResult <TicketResponse> Create([FromBody] CreateTicketRequest request)
        {
            var ticket        = _ticketHandler.Create(request.QueueType);
            var ticketsBefore = _ticketHandler.GetNumberOfTicketsBefore(ticket.Id);

            return(new TicketResponse
            {
                Id = ticket.Id,
                TicketNumber = ticket.TicketNumber,
                TicketsBefore = ticketsBefore
            });
        }
        public Ticket CreateTicket(CreateTicketRequest request)
        {
            var ticket = wrappedInstance.CreateTicket(request);

            var project = projectGetter.GetCurrentProject();

            logger.DebugFormat("Next available ticket number: {0}", project?.NextAvailableTicketNumber);
            var ticketNumber = (project != null)? project.NextAvailableTicketNumber++ : default(long);

            ticket.Project      = project;
            ticket.TicketNumber = ticketNumber;

            return(ticket);
        }
        public void Create_ticket_sets_project_using_current_project([Frozen, CreatesATicket] ICreatesTicket wrappedInstance,
                                                                     [Frozen] IGetsCurrentProject projectGetter,
                                                                     Project project,
                                                                     CreateTicketRequest request,
                                                                     CurrentProjectSettingTicketFactoryDecorator sut)
        {
            // Arrange
            Mock.Get(projectGetter).Setup(x => x.GetCurrentProject()).Returns(project);

            // Act
            var result = sut.CreateTicket(request);

            // Assert
            Assert.That(result?.Project, Is.SameAs(project));
        }