Exemple #1
0
        async Task CreateSpecificTicket(UIAlertAction action)
        {
            Console.WriteLine("Created new ticket");
            Console.WriteLine(action.Title);
            string currentTime = string.Format($"{DateTime.Now.Day:d2}.{DateTime.Now.Month:d2}.{DateTime.Now.Year} {DateTime.Now.Hour:d2}:{DateTime.Now.Minute:d2}:{DateTime.Now.Second:d2}");
            Ticket ticket      = new Ticket()
            {
                UserId          = Profile.Instance.UserId,
                Topic           = action.Title,
                OpenTime        = currentTime,
                Status          = "Open",
                LastMessageText = "You created new ticket. Please share your issue!",
                LastMessageTime = currentTime,
                FullName        = Profile.Instance.Name
            };
            Ticket updatedTicket = await RemoteService.CreateTicket(ticket);

            if (updatedTicket == null)
            {
                await RemoteService.DeleteTicket(ticket);

                return;
            }
            Message date = new Message()
            {
                Text     = $"{DateTime.Now.Day:d2}.{DateTime.Now.Month:d2}.{DateTime.Now.Year}",
                Sender   = "System",
                SendTime = currentTime,
                UserId   = Profile.Instance.UserId,
                TicketId = updatedTicket.Id
            };
            Message message = new Message()
            {
                Text     = "You created new ticket. Please share your issue!",
                Sender   = "System",
                SendTime = currentTime,
                UserId   = Profile.Instance.UserId,
                TicketId = updatedTicket.Id
            };

            new Thread(new ThreadStart(async() =>
            {
                await RemoteService.SendMessage(date);
                await RemoteService.SendMessage(message);
                InvokeOnMainThread(() =>
                {
                    refreshTable(new object(), new EventArgs());
                    TicketsTable.ReloadData();
                });
            })).Start();
        }