public ActionResult <StratumConnectionInfo> GetActive() { try { var curr = ConnectionManager.GetCurrConn(); if (curr != null) { bool isFee = ConnectionManager.IsInFee(); var ci = new StratumConnectionInfo() { Address = isFee ? "FEE" : curr.ip, Port = isFee ? "FEE" : curr.port.ToString(), Login = isFee ? "FEE" : curr.login, Password = isFee ? "FEE" : curr.password, Status = curr.IsConnected == true ? "Connected" : "Disconnectd", LastCommunication = curr.lastComm.ToString("yyyy-MM-ddTHH:mm:ssK"), LastJob = curr.CurrentJob?.timestamp.ToString("yyyy-MM-ddTHH:mm:ssK"), }; return(ci); } else { return(StatusCode(404, $"No active connection.")); } } catch (Exception ex) { return(StatusCode(500, $"ERROR while getting active connection. {ex.Message}")); } }
public ActionResult <IEnumerable <StratumConnectionInfo> > GetAll() { var sc1 = ConnectionManager.GetConnectionById(1); var c1 = new StratumConnectionInfo() { Address = sc1.ip, Port = sc1.port.ToString(), Login = sc1.login, Password = sc1.password, Status = sc1.IsConnected == true ? "Connected" : "Disconnectd", LastCommunication = sc1.lastComm.ToString("yyyy-MM-ddTHH:mm:ssK"), LastJob = sc1.CurrentJob?.timestamp.ToString("yyyy-MM-ddTHH:mm:ssK"), }; var sc2 = ConnectionManager.GetConnectionById(2); var c2 = new StratumConnectionInfo() { Address = sc2.ip, Port = sc2.port.ToString(), Login = sc2.login, Password = sc2.password, Status = sc2.IsConnected == true ? "Connected" : "Disconnectd", LastCommunication = sc2.lastComm.ToString("yyyy-MM-ddTHH:mm:ssK"), LastJob = sc2.CurrentJob?.timestamp.ToString("yyyy-MM-ddTHH:mm:ssK"), }; return(new List <StratumConnectionInfo>() { c1, c2 }); }
public ActionResult <Status> GetAll() { var lastJob = WorkerManager.lastJob.ToString(); var conn = ConnectionManager.GetCurrConn(); if (conn == null) { return(StatusCode(404, "No Straturm Connection active.")); } var lastSHare = conn.lastShare; var totalShares = conn.totalShares; var accepted = conn.sharesAccepted; var rejected = conn.sharesRejected; var tooLate = conn.sharesTooLate; ///TODO do WorkerManagera dat SolutionsFound (kolik dohromady ze vsech karet) a /// SolutionsSubmitted (to bude az co projde pres diff) Status status = new Status(); status.LastShare = lastSHare.ToString(); status.LastJob = lastJob; List <WorkerInfo> workers = new List <WorkerInfo>(); foreach (var worker in WorkerManager.GetWorkersInfo()) { workers.Add(worker); } status.Workers = workers; var sc1 = conn; bool isFee = ConnectionManager.IsInFee(); var c1 = new StratumConnectionInfo() { Address = isFee ? "FEE" : sc1.ip, Port = isFee ? "FEE" : sc1.port.ToString(), Login = isFee ? "FEE" : sc1.login, Password = isFee ? "FEE" : sc1.password, Status = sc1.IsConnected == true ? "Connected" : "Disconnectd", LastCommunication = sc1.lastComm.ToString(), LastJob = sc1.CurrentJob?.timestamp.ToString(), }; status.ActiveConnection = c1; ShareStats ss = new ShareStats(); ss.Accepted = accepted; ss.FailedToValidate = rejected; ss.Found = (uint)workers.Sum(w => w.TotalSols); ss.Submitted = totalShares; ss.TooLate = tooLate; status.Shares = ss; return(status); }