private void SetThreadDataFromKeyword(string keyword) { FileReaderClient client = ReferenceCreater.GetFileReaderClient(); var rdataset = client.Open掲示板データキーワード検索(keyword, ddlスレッド選択.SelectedValue); rdataset.作成グループNo = 1; // キーワード検索では1を返すことにする。//本来ならば、svc側に書くべきだが。やっつけで。 SetThreadData(rdataset); // SessionにIsSearchDataを格納 // クリアのタイミングは、新規投稿・掲示板ボタンクリック、在庫管理クリック、スレッド移動の時、返信画面で投稿した時 Session["IsSearchData"] = true; }
//private void SetUploadFiles() //{ // List<FileUpload> fuList = new List<FileUpload>(); // FileUpload fu = new FileUpload(); // fuList.Add(fu); // Session["fuList"] = fuList; // Panel2.Controls.Add(fu); //} private void GetThreadName(bool IsPostBack) { Service.File.Reader.FileReaderClient client = ReferenceCreater.GetFileReaderClient(); var thEnt = client.GetThreadTitles().ToList(); ddlスレッド選択.DataSource = thEnt; ddlスレッド選択.DataValueField = "スレッド名"; ddlスレッド選択.DataBind(); // 初回ならば一番上のデータを取得 if (1 <= thEnt.Count) { if (!IsPostBack) { SetThreadData(GetThreadData(thEnt[0].スレッド名, 1)); } } }
private void 後発品検索() { //アクティブボタン = 在庫検索ボタンEnum.後発品; dg現在庫.Visible = false; dg使用量.Visible = false; dg不動品.Visible = false; dg後発品.Visible = true; // 空文字ならば、検索しない。 if (tb検索キーワード.Text.Replace(" ", "").Replace(" ", "").Equals("")) { //// カーソルをもとの状態にする //this.SetCursorDefault(); return; } int result; if (tb検索キーワード.Text.Length != 12) { return; } else if (int.TryParse(tb検索キーワード.Text.Substring(0, 7), out result) == false) { return; } else if (int.TryParse(tb検索キーワード.Text.Substring(8, 4), out result) == false) { return; } bool 全期限 = false; bool 期限内 = false; bool 期限切 = false; bool 期限指定 = false; bool 以内指定か = false; int 期限加算月 = 0; bool 他規格・剤形も表示する = false; if (ddl使用期限日.SelectedIndex == 0) { 全期限 = true; } else if (ddl使用期限日.SelectedIndex == 1) { 期限内 = true; } else if (ddl使用期限日.SelectedIndex == 2) { 期限切 = true; } else if (3 <= ddl使用期限日.SelectedIndex) { 期限指定 = true; Tuple <int, bool> tp = Set期限加算月(); 期限加算月 = tp.Value1; 以内指定か = tp.Value2; } if (ddl後発品検索.SelectedIndex == 0) { 他規格・剤形も表示する = false; } else { 他規格・剤形も表示する = true; } if (tb検索キーワード.Text == "") { return; } Service.File.Reader.FileReaderClient client = ReferenceCreater.GetFileReaderClient(); var rdataset = client.Get後発品検索データ(tb検索キーワード.Text, 全期限, 期限内, 期限切, 期限指定, 以内指定か, 期限加算月, 他規格・剤形も表示する); if (rdataset.検索結果データlist != null) { } if (string.IsNullOrEmpty(rdataset.エラーメッセージ)) { var dataList = rdataset.検索結果データlist.ToList(); var 表示順序dic = Session["店舗名List"] as Dictionary <int, string>; if (表示順序dic == null) { return; } // 表示順序に登録されていない店舗があった場合に使用する臨時dic var CopyDic = GenericUtil.Copy(表示順序dic); int cnt = CopyDic.Count + 1; dataList.Sort( delegate(現在庫データ x, 現在庫データ y) { int xValue = 0; int yValue = 0; foreach (var d in CopyDic) { if (d.Value.Equals(x.店名)) { xValue = d.Key; } if (d.Value.Equals(y.店名)) { yValue = d.Key; } } // 一致するものがなかったら、臨時のcntの番号にする(表示順序が後ろ) bool xy店名が等しい = false; if (xValue == 0) { if (x.店名.Equals(y.店名)) { xy店名が等しい = true; } xValue = cnt; CopyDic.Add(cnt, x.店名); cnt++; } if (yValue == 0) { if (xy店名が等しい) { yValue = xValue; } else { yValue = cnt; CopyDic.Add(cnt, y.店名); cnt++; } } if (xValue != yValue) { return(xValue - yValue); } // 店名が等しい場合は、次は先発か後発で判断する。 if (xValue == yValue) { bool x先発か = x.後発区分.Equals("") ? false : true; bool y先発か = y.後発区分.Equals("") ? false : true; if (x先発か == y先発か) { } else if (x先発か == true) { return(-1); } else { return(1); } } // 店名も等しくて、先発かも等しい if (xValue == yValue) { double x薬価; double y薬価; if (double.TryParse(x.薬価, out x薬価) == false) { return(1); } if (double.TryParse(y.薬価, out y薬価) == false) { return(-1); } if (x薬価 > y薬価) { return(-1); } if (y薬価 > x薬価) { return(1); } } // 店名も等しくて、先発かも等しく、薬価も等しい if (xValue == yValue) { return(x.医薬品名.CompareTo(y.医薬品名)); } return(xValue - yValue); //return yValue - xValue; } ); dg後発品.DataSource = dataList; dg後発品.DataBind(); Set在庫検索結果Result(dataList.Count, rdataset.検索キーワード); } else { lbSearchResult.Text = rdataset.エラーメッセージ; // メッセージボックスを出すとXPだとIMEが利かなくなるので中止 // MessageBox.Show(rdataset.エラーメッセージ, "検索結果", MessageBoxButton.OK); } }
private void 動品検索() { //アクティブボタン = 在庫検索ボタンEnum.不動品; dg現在庫.Visible = false; dg使用量.Visible = false; dg不動品.Visible = true; dg後発品.Visible = false; // 空文字ならば、検索しない。 if (tb検索キーワード.Text.Replace(" ", "").Replace(" ", "").Equals("")) { //// カーソルをもとの状態にする //this.SetCursorDefault(); return; } bool 全期限 = false; bool 期限内 = false; bool 期限切 = false; bool 期限指定 = false; bool 以内指定か = false; int 期限加算月 = 0; if (ddl使用期限日.SelectedIndex == 0) { 全期限 = true; } else if (ddl使用期限日.SelectedIndex == 1) { 期限内 = true; } else if (ddl使用期限日.SelectedIndex == 2) { 期限切 = true; } else if (3 <= ddl使用期限日.SelectedIndex) { 期限指定 = true; Tuple <int, bool> tp = Set期限加算月(); 期限加算月 = tp.Value1; 以内指定か = tp.Value2; } Service.File.Reader.FileReaderClient client = ReferenceCreater.GetFileReaderClient(); var rdataset = client.Open不動品CSV(tb検索キーワード.Text, 全期限, 期限内, 期限切, 期限指定, 以内指定か, 期限加算月); if (string.IsNullOrEmpty(rdataset.エラーメッセージ)) { var dataList = rdataset.検索結果データlist.ToList(); var 表示順序dic = Session["店舗名List"] as Dictionary <int, string>; if (表示順序dic == null) { return; } // 表示順序に登録されていない店舗があった場合に使用する臨時dic var CopyDic = GenericUtil.Copy(表示順序dic); int cnt = CopyDic.Count + 1; dataList.Sort( delegate(動品データ x, 動品データ y) { int xValue = 0; int yValue = 0; foreach (var d in CopyDic) { if (d.Value.Equals(x.店名)) { xValue = d.Key; } if (d.Value.Equals(y.店名)) { yValue = d.Key; } } // 一致するものがなかったら、臨時のcntの番号にする(表示順序が後ろ) bool xy店名が等しい = false; if (xValue == 0) { if (x.店名.Equals(y.店名)) { xy店名が等しい = true; } xValue = cnt; CopyDic.Add(cnt, x.店名); cnt++; } if (yValue == 0) { if (xy店名が等しい) { yValue = xValue; } else { yValue = cnt; CopyDic.Add(cnt, y.店名); cnt++; } } // 店名が等しい場合は、医薬品名のアイウエオ順 if (xValue == yValue) { return(x.医薬品名.CompareTo(y.医薬品名)); } return(xValue - yValue); } ); dg不動品.DataSource = dataList; dg不動品.DataBind(); Set在庫検索結果Result(dataList.Count, rdataset.検索キーワード); } else { // メッセージボックスを出すとXPだとIMEが利かなくなるので中止 //MessageBox.Show(rdataset.エラーメッセージ, "検索結果", MessageBoxButton.OK); lbSearchResult.Text = rdataset.エラーメッセージ; } }
private void 使用量検索() { //アクティブボタン = 在庫検索ボタンEnum.使用量; dg現在庫.Visible = false; dg使用量.Visible = true; dg不動品.Visible = false; dg後発品.Visible = false; // 空文字ならば、検索しない。 if (tb検索キーワード.Text.Replace(" ", "").Replace(" ", "").Equals("")) { //// カーソルをもとの状態にする //this.SetCursorDefault(); return; } bool 全期限 = false; int 期限加算月 = 3; if (ddl使用量検索.SelectedIndex == 0) { 全期限 = true; } else { 期限加算月 = Set使用量検索期限加算月(); } Service.File.Reader.FileReaderClient client = ReferenceCreater.GetFileReaderClient(); //var rdataset = client.Open使用量CSV(tb検索キーワード.Text, 全期限, 期限加算月); var rdataset = client.Open使用量2CSV(tb検索キーワード.Text, 全期限, 期限加算月); if (string.IsNullOrEmpty(rdataset.エラーメッセージ)) { var dataList = rdataset.検索結果データlist.ToList(); var 表示順序dic = Session["店舗名List"] as Dictionary <int, string>; if (表示順序dic == null) { return; } // 表示順序に登録されていない店舗があった場合に使用する臨時dic var CopyDic = GenericUtil.Copy(表示順序dic); int cnt = CopyDic.Count + 1; dataList.Sort( delegate(薬局使用量データ x, 薬局使用量データ y) { int xValue = 0; int yValue = 0; foreach (var d in CopyDic) { if (d.Value.Equals(x.店名)) { xValue = d.Key; } if (d.Value.Equals(y.店名)) { yValue = d.Key; } } // 一致するものがなかったら、臨時のcntの番号にする(表示順序が後ろ) bool xy店名が等しい = false; if (xValue == 0) { if (x.店名.Equals(y.店名)) { xy店名が等しい = true; } xValue = cnt; CopyDic.Add(cnt, x.店名); cnt++; } if (yValue == 0) { if (xy店名が等しい) { yValue = xValue; } else { yValue = cnt; CopyDic.Add(cnt, y.店名); cnt++; } } if (xValue != yValue) { return(xValue - yValue); } // 等しい場合は、さらに使用年月日で比較する if (xValue == yValue) { DateTime xの年月日; DateTime yの年月日; // xがDateTimeにキャストできない場合は、後ろに if (DateTime.TryParse(x.使用年月, out xの年月日) == false) { return(1); } // yがDateTimeにキャストできない場合は、前に if (DateTime.TryParse(y.使用年月, out yの年月日) == false) { return(-1); } if (xの年月日 > yの年月日) { return(-1); } else if (yの年月日 > xの年月日) { return(1); } } // 店名が等しく、使用年月も等しい場合は、医薬品名のアイウエオ順 if (xValue == yValue) { return(x.医薬品名.CompareTo(y.医薬品名)); } return(xValue - yValue); } ); dg使用量.DataSource = dataList; dg使用量.DataBind(); Set在庫検索結果Result(dataList.Count, rdataset.検索キーワード); } else { lbSearchResult.Text = rdataset.エラーメッセージ; } }
//protected void btnAdd_Click(object sender, System.EventArgs e) //{ // List<FileUpload> fuList = new List<FileUpload>(); // fuList = Session["fuList"] as List<FileUpload>; // if (fuList == null) // { // fuList = new List<FileUpload>(); // } // FileUpload fu = new FileUpload(); // fuList.Add(fu); // Session["fuList"] = fuList; // foreach (var f in fuList) // { // Panel1.Controls.Add(f); // } //} private 掲示板リターンデータセット GetThreadData(string カテゴリ名, int グループNo) { Service.File.Reader.FileReaderClient client = ReferenceCreater.GetFileReaderClient(); return(client.Open掲示板データ(カテゴリ名, グループNo)); }
//protected void btnAdd_Click(object sender, System.EventArgs e) //{ // List<FileUpload> fuList = new List<FileUpload>(); // fuList = Session["fuList"] as List<FileUpload>; // if (fuList == null) // { // fuList = new List<FileUpload>(); // } // FileUpload fu = new FileUpload(); // fuList.Add(fu); // Session["fuList"] = fuList; // foreach (var f in fuList) // { // Panel2.Controls.Add(f); // } //} protected void btn処理送信_Click(object sender, System.EventArgs e) { Button btn = sender as Button; if (btn == null) { return; } if (tb記事No.Text == "") { return; } if (tb処理暗証キー.Text == "") { return; } // 修正処理 if (ddl処理.SelectedIndex == 0) { // パスワード確認 FileReaderClient client = ReferenceCreater.GetFileReaderClient(); var rEnt = client.掲示板記事修正確認チェック(ddlスレッド選択.SelectedValue, tb記事No.Text, tb処理暗証キー.Text, false); if (!rEnt.暗証キーチェック成功 || rEnt.エラーメッセージ != null) { return; } Session["修正用記事データ"] = rEnt.記事データ; // Kubun = Mod : Modify Response.Redirect("Contributer.aspx?ThreadName=" + ddlスレッド選択.SelectedValue + "&No=" + tb記事No.Text + "&Kubun=Mod"); } // 削除処理 else if (ddl処理.SelectedIndex == 1) { FileWriterClient client2 = ReferenceCreater.GetFileWriterClient(); var 結果メッセージ = client2.掲示板データ削除(ddlスレッド選択.SelectedValue, tb記事No.Text, tb処理暗証キー.Text, false); //string script = // "<script language=javascript>" + // "window.alert('" + 結果メッセージ + "')" + // "</script>"; //Response.Write(script); // Redirect後のMessageShow MessageShowEntity mse = new MessageShowEntity(); mse.Message = 結果メッセージ; Session["ShowMessage"] = mse; } else { return; } // Redirect用のセッション Session["IsRedirectFromContribute"] = 1; Session["ThreadName"] = Request.QueryString["ThreadName"]; // 掲示板画面へ遷移 Response.Redirect("BBS.aspx"); }