Exemplo n.º 1
0
        public async Task <IWriterResult> CreateTicket(string userId, CreateSupportTicketModel model)
        {
            using (var context = DataContextFactory.CreateContext())
            {
                var ticket = new Entity.Support.SupportTicket
                {
                    Category    = model.Category,
                    Created     = DateTime.UtcNow,
                    Description = model.Description,
                    LastUpdate  = DateTime.UtcNow,
                    Status      = Enums.SupportTicketStatus.New,
                    Title       = model.Subject,
                    UserId      = userId,
                    QueueId     = Constant.DEFAULT_QUEUE_ID
                };

                context.SupportTicket.Add(ticket);
                await context.SaveChangesAsync().ConfigureAwait(false);

                model.TicketId     = ticket.Id;
                model.Created      = ticket.Created.ToString("M/d/yyyy h:mm:ss tt");
                model.CategoryName = ticket.Category.ToString();
                return(new WriterResult(true, $"Successfully created support ticket #{ticket.Id}, a Cryptopia staff member will be in touch shortly."));
            }
        }
Exemplo n.º 2
0
        public async Task <ActionResult> CreateTicket(CreateSupportTicketModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View("CreateTicketModal", model));
            }

            var result = await SupportWriter.CreateSupportTicket(User.Id(), model);

            if (!ModelState.IsWriterResultValid(result))
            {
                return(View("CreateTicketModal", model));
            }

            return(CloseModalRedirect(Url.Action("ViewTicket", new { ticketId = result.Data })));
        }
Exemplo n.º 3
0
        public async Task <IWriterResult <int> > CreateSupportTicket(string userId, CreateSupportTicketModel model)
        {
            using (var context = DataContextFactory.CreateContext())
            {
                var ticket = new SupportTicket
                {
                    CategoryId  = model.CategoryId,
                    Description = model.Description,
                    Status      = SupportTicketStatus.New,
                    Title       = model.Title,
                    UserId      = userId,
                    LastUpdate  = DateTime.UtcNow,
                    Created     = DateTime.UtcNow
                };
                context.SupportTicket.Add(ticket);
                await context.SaveChangesAsync();

                return(WriterResult <int> .SuccessResult(ticket.Id));
            }
        }
Exemplo n.º 4
0
        public async Task <ActionResult> CreateTicket(CreateSupportTicketModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View("CreateTicketModal", model));
            }

            var result = await SupportWriter.CreateTicket(User.Identity.GetUserId(), model);

            if (!ModelState.IsWriterResultValid(result))
            {
                return(View("CreateTicketModal", model));
            }

            return(CloseModal(new
            {
                Success = true,
                Message = result.Message,
                Data = model
            }));
        }