示例#1
0
        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;
        }
示例#2
0
        protected void btnLogin_Click(object sender, System.EventArgs e)
        {
            Button btn = sender as Button;

            if (btn == null)
            {
                //認証失敗時時→掲示板画面へRedirect
                Response.Redirect("../Error401.html");
            }

            //認証
            LoginCheckClient client = ReferenceCreater.GetログインチェックClient();
            var チェック結果 = client.LoginCheck実行(Login1.UserName, Login1.Password).ToList();

            if (チェック結果 == null)
            {
                //認証失敗時時→掲示板画面へRedirect
                Response.Redirect("../Error401.html");
            }

            if (チェック結果.Count != 1)
            {
                //認証失敗時時→掲示板画面へRedirect
                Response.Redirect("../Error401.html");
            }

            // ログイン成功時にアクセスカウントアップ
            // Sessionへ格納:アクセスカウント
            var Accessclient = ReferenceCreater.GetAccessManagementClient();
            var 結果           = Accessclient.Doアクセス数カウントアップ取得();

            if (結果.取得成功か && 結果.エラーメッセージ == "")
            {
                Session["アクセスカウント"] = 結果.アクセス数;
            }

            //Sessionへ格納
            //1.ユーザー名(店舗名)
            Session["表示ユーザー名"] = チェック結果[0].表示名称;

            //認証成功時→掲示板画面へRedirect
            Response.Redirect("./掲示板/BBS.aspx");
        }
示例#3
0
        //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));
        }
示例#8
0
        //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");
        }