public async Task <ClientData> GetClientDataAsync(int id, DateTime date) { try { ClientDataCollection clientDataCollection = await LoadClientData(); IEnumerable <ClientData> possibleMatches = clientDataCollection.clientDataEntries.Where(x => x.clientId == id && x.Date.Year == date.Year && x.Date.Month == date.Month && x.Date.Day == date.Day); if (possibleMatches != null) { if (possibleMatches.Count() > 0) { return(possibleMatches.First()); } return(null); } return(null); } catch { return(null); } }
protected override void HandlePostback(ClientDataCollection postData) { string[] values = postData.GetValues(Name); if (values == null) { Checked = false; } else { Checked = Array.Find(values, s => Value == s) != null; } }
public async Task <bool> AddClientDataAsync(ClientData clientData) { try { ClientDataCollection clientDataCollection = await LoadClientData(); clientDataCollection.clientDataEntries.Add(clientData); bool saved = await JsonHandler.SaveObject("clientHistoryData.json", clientDataCollection); if (saved) { return(true); } else { return(false); } } catch { return(false); } }
protected override void HandlePostback(ClientDataCollection postData) { if (postData.Has(Name)) _value = postData.Get(Name); }
public bool Start(int portNo) { if (RecvTask != null) { return(false); } CancellTokenSource = new CancellationTokenSource(); RecvTask = Task.Run(() => { try { int clientNo = 0; Listener = TcpListener.Create(portNo); Listener.Start(); Console.WriteLine($"IPアドレス[{GetIPAddress()}] ポート番号[{portNo}]でサーバー起動開始"); while (true) { int targetNo = clientNo; Console.WriteLine($"クライアント[{targetNo}]接続待ち"); TcpClient client = Listener.AcceptTcpClient(); string ip = ((IPEndPoint)client.Client.RemoteEndPoint).Address.ToString(); // そこから接続している相手の IPAddress が取れる。 Console.WriteLine($"クライアント[{targetNo}]:{ip}接続開始"); MessageManager man = new MessageManager(client, new MessageReciever(this)); ClientData clientData = new ClientData(); clientData.Manager = man; clientData.Id = targetNo; clientData.IPAddress = ip; ClientDataCollection.Add(clientData); man.RunRecvTask().ContinueWith((t) => { Console.WriteLine($"クライアント[{targetNo}]:終了処理開始"); try { ClientDataCollection.Remove(clientData); } catch (Exception e) { Console.WriteLine("ClientDatas.Remove Error:" + e); } client.Close(); client.Dispose(); Console.WriteLine($"クライアント[{targetNo}]:接続終了"); }); clientNo++; } } catch (SocketException e) { Console.WriteLine(e.Message); } catch (Exception e) {// 予期せぬ例外 Console.WriteLine(e.GetType().FullName + e.Message); } //finally //{ //} }, CancellTokenSource.Token).ContinueWith(t => { RecvTask = null; Stop(); //// TODO:あとしまつ //if (t.IsCanceled) //{ //} }); return(true); }
protected override void HandlePostback(ClientDataCollection postData) { Checked = (postData.Get(Group) == Name); }
protected abstract void HandlePostback(ClientDataCollection postData);