Пример #1
0
        public async Task <bool> VerifyRestartStatus(VmTicket item)
        {
            try
            {
                var vmstatus = await _vmManagementService.GetVmDisplayStatus(item);

                if (vmstatus.suc)
                {
                    var server = await GetItemByIdAsync(item.Id);

                    if (server == null)
                    {
                        return(false);
                    }

                    server.VmState = vmstatus.status;
                    var up = await UpdateItemAsync(server);

                    if (server.VmState.ToLower().Contains("running"))
                    {
                        item = server;
                        return(true);
                    }
                }
            }
            catch (Exception ex)
            {
                base.HandleException(ex);
            }
            return(false);
        }
Пример #2
0
        public async Task DeleteTicketAsync(VmTicket ticket)
        {
            var ok = await CsroDialogService.ShowDialog("Delete Vm Ticket", $"Do you really want to delete these record Id: {ticket.Id}?", "Delete");

            if (ok)
            {
                var res = await VmTicketDataService.DeleteItemAsync(ticket.Id);

                if (res)
                {
                    Tickets.Remove(ticket);
                }
            }
        }
Пример #3
0
        public async Task <VmTicketHistory> Create(VmTicket vmTicket, string userId = null)
        {
            var add = new VmTicketHistory {
                VmTicketId = vmTicket.Id, Operation = $"{vmTicket.VmState} {vmTicket.Status}"
            };

            _repository.Add(add, userId);
            try
            {
                await _repository.SaveChangesAsync();
            }
            catch (Exception ex)
            {
                add.Details = ex?.Message;
                await(_repository.SaveChangesAsync());
            }
            return(add);
        }
Пример #4
0
        public async Task <bool> VerifyRestartStatusCallback(VmTicket item, Action <string> callbackStatus)
        {
            try
            {
                var i = 1;
                while (i < 10)
                {
                    i++;
                    await Task.Delay(2 * 1000);

                    var vmstatus = await _vmManagementService.GetVmDisplayStatus(item);

                    if (vmstatus.suc)
                    {
                        var server = await GetItemByIdAsync(item.Id);

                        if (server == null)
                        {
                            return(false);
                        }

                        server.VmState = vmstatus.status;
                        if (server.VmState.ToLower().Contains("running"))
                        {
                            server.Status = "Completed";
                            var up = await UpdateItemAsync(server);

                            item = server;
                            return(true);
                        }
                        else
                        {
                            callbackStatus?.Invoke(vmstatus.status);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                base.HandleException(ex);
            }
            return(false);
        }
Пример #5
0
 public Task <VmTicket> UpdateItemAsync(VmTicket item)
 {
     return(base.RestUpdate <VmTicket, VmTicketDto>(item));
 }
Пример #6
0
        // generic methods

        public Task <VmTicket> AddItemAsync(VmTicket item)
        {
            return(base.RestAdd <VmTicket, VmTicketDto>(item, "CreateVmTicket"));
        }
Пример #7
0
 public Task <VmTicket> CreateVmTicketAndWaitForConfirmation(VmTicket item)
 {
     return(base.RestAdd <VmTicket, VmTicketDto>(item, "CreateVmTicketAndWaitForConfirmation"));
 }