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); }
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); } } }
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); }
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); }
public Task <VmTicket> UpdateItemAsync(VmTicket item) { return(base.RestUpdate <VmTicket, VmTicketDto>(item)); }
// generic methods public Task <VmTicket> AddItemAsync(VmTicket item) { return(base.RestAdd <VmTicket, VmTicketDto>(item, "CreateVmTicket")); }
public Task <VmTicket> CreateVmTicketAndWaitForConfirmation(VmTicket item) { return(base.RestAdd <VmTicket, VmTicketDto>(item, "CreateVmTicketAndWaitForConfirmation")); }