//レンタル中の商品を表示
        private void View_Items_Currently_Being_Rented()
        {
            //入力されたテキストを取得
            string member_id_storehouse = Get_MemberId_From_TextBox();

            if (member_id_storehouse != "")
            {
                //テキストが入力されていたら


                m_member_id = int.Parse(Get_MemberId_From_TextBox());
                //チェックボックスのクリア
                CheckBoxList1.Items.Clear();

                //抽出したdvdidデータの格納先
                List <string> dvdid_storehouse = C_Sasaki_Common.Extract_The_Unreturned_DVD_IDs_Of_The_Entered_Member_ID(member_id_storehouse);

                List <string> unreturned_id = new List <string>();
                //レンタル中の商品のIdを抽出
                C_Sasaki_Common.Select_SQL("Select * From [dbo].[Rental] Where " + member_id_storehouse + " = MemberId AND IsReturned = 0", "Id", unreturned_id);
                Session["unreturned_id"] = string.Join(",", unreturned_id);

                int dvd_id_num = dvdid_storehouse.Count();
                for (int i = 0; i < dvd_id_num; i++)
                {
                    //抽出したDVDの名前の格納先
                    string dvd_name_storehouse = null;

                    //dvdidから名前に変換
                    dvd_name_storehouse = C_Sasaki_Common.Extract_The_Name_Of_The_DVD_That_Matches_The_DVD_ID(dvdid_storehouse.ElementAt(i));


                    CheckBoxList1.Items.Add(dvd_name_storehouse);
                }
            }
            else
            {
                //テキストが入力されていない場合
            }
        }
Exemplo n.º 2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            // ログイン関連処理
            if (Request.Cookies["login"] != null)
            {
                if (Request.Cookies["login"].Value != "")
                {
                    if (Session[Request.Cookies["login"].Value] != null)
                    {
                        if (Session[Request.Cookies["login"].Value].ToString() == "1")
                        {
                            Response.Redirect("/sasaki_masayuki/100_regression_management/regression_management.aspx");
                        }
                    }
                    else
                    {
                        Session[Request.Cookies["login"].Value] = null;
                        Response.Cookies["login"].Expires       = DateTime.Now.AddDays(-1);
                        Response.Redirect("./login.aspx");
                    }
                }
                else
                {
                    Response.Cookies["login"].Expires = DateTime.Now.AddDays(-1);
                    Response.Redirect("./login.aspx");
                }
            }
            else
            {
                Response.Cookies["login"].Expires = DateTime.Now.AddDays(-1);
                Response.Redirect("./login.aspx");
            }

            Label1.Text = "";
            //確認画面からのエラーがあれば表示する
            if (Session["Rental_Comfirm_error"] != null)
            {
                Label1.Text = Session["Rental_Comfirm_error"].ToString();
            }

            string connectionString = null;

            C_Sasaki_Common.Generate_A_Strin_To_Connect_To_The_SQL(ref connectionString);
            sqlConnection = new SqlConnection(connectionString);

            sqlConnection.Open();
            SqlCommand sqlCommand = sqlConnection.CreateCommand();

            sqlCommand.CommandText = "Select * From [DVD]";

            sqlDataReader = sqlCommand.ExecuteReader();


            sqlCommand.Dispose();
            List <string> Stock_Quantity_str = new List <string>();
            List <int>    Stock_Quantity     = new List <int>();

            C_Sasaki_Common.Select_SQL("Select * From [dbo].[Stock] ", "Quantity", Stock_Quantity_str);

            // ストックの在庫をint型に変換
            for (int i = 0; i < Stock_Quantity_str.Count; i++)
            {
                Stock_Quantity.Add(int.Parse(Stock_Quantity_str[i].ToString()));
            }

            if (!IsPostBack)
            {
                CheckBoxList1.Items.Clear();
                // DVDを表示
                while (sqlDataReader.Read())
                {
                    string str = sqlDataReader["Name"].ToString();
                    CheckBoxList1.Items.Add(str);
                }
                // 在庫の数が0より少なかったらチェックできなくする
                for (int i = 0; i < Stock_Quantity.Count; i++)
                {
                    if (Stock_Quantity[i] <= 0)
                    {
                        CheckBoxList1.Items[i].Enabled = false;
                        CheckBoxList1.Items[i].Text   += " 在庫切れ";
                    }
                }
                // Stockにそもそもないからチェック不可にする
                CheckBoxList1.Items[9].Enabled  = false;
                CheckBoxList1.Items[11].Enabled = false;
                CheckBoxList1.Items[9].Text    += " 在庫切れ";
                CheckBoxList1.Items[11].Text   += " 在庫切れ";
            }


            sqlDataReader.Close();
            sqlConnection.Close();
            sqlConnection.Dispose();
        }
Exemplo n.º 3
0
        protected void Button2_Click(object sender, EventArgs e)
        {
            // 確定ボタン
            if (Session["DvdID"] != null)
            {
                //セッションの中身がnullじゃない場合

                string dvd_id = null;
                dvd_id = Session["DvdID"].ToString();
                string[] dvd_id_arr = dvd_id.Split(',');
                foreach (string i in dvd_id_arr)
                {
                    DvdID.Add(int.Parse(i));
                }
            }

            InsertDateTime = DateTime.Now;

            string connection_csring = null;

            C_Sasaki_Common.Generate_A_Strin_To_Connect_To_The_SQL(ref connection_csring);
            SqlConnection sql_connection = new SqlConnection(connection_csring);

            sql_connection.Open();
            SqlCommand sqlcommand = sql_connection.CreateCommand();

            // Rentalの最後のIDを取得
            string max_id = null;

            C_Sasaki_Common.Select_SQL("Select MAX(Id) as Id  From [dbo].[Rental]", "Id", ref max_id);
            Id = int.Parse(max_id);

            int limit = DvdID.Count();

            // ログインしているユーザーIDを持ってくる
            int InsertUserID = C_Sasaki_Common.Login_Name_To_Id(Request);

            // レンタル画面時のUpdateDateTimeを格納
            string RentalForm_Stock_UpdateDateTime_str = Session["RentalForm_Stock_UpdateDateTime"].ToString();

            string[] RentalForm_UpdateDateTime = RentalForm_Stock_UpdateDateTime_str.Split(',');

            List <string> Stock_Quantity_str = new List <string>();

            C_Sasaki_Common.Select_SQL("Select * From [dbo].[Stock] ", "Quantity", Stock_Quantity_str);


            // レンタル確認画面時のUpdateDateTimeを格納
            List <string> Confirm_Stock_UpdateDateTime = C_Sasaki_Common.Get_Stock_Update_Date_Time_For_DVD_Id(DvdID_str);

            //datetimeが一致するか確認
            //一致していない場合falseがはいるbool
            bool b_sync = true;

            //stockの数を比較の回数とする
            int check_num = Confirm_Stock_UpdateDateTime.Count;

            for (int i = 0; i < check_num; i++)
            {
                //管理画面時の更新日時と確認時の更新日時が一致しているかの判定をしていく


                if (RentalForm_UpdateDateTime[i] != Confirm_Stock_UpdateDateTime[i])
                {
                    //ストックの更新日時が一致していない場合

                    b_sync = false;
                }
            }

            if (b_sync)
            {
                // 日時を求める
                DateTime dt = DateTime.Now;

                for (int i = 0; i < limit; i++)
                {
                    // レンタルしたものをインサートする
                    sqlcommand.CommandText = Up_To_Insert_SQL() +
                                             "( "
                                             + (Id + i + 1) + ","                                                   // ID
                                             + MemberID + ","                                                       // MemberID
                                             + DvdID[i] + ","                                                       // DVDID
                                             + 0 + ","                                                              // IsReturned
                                             + "'" + InsertDateTime.ToString("yyyy-MM-dd HH:mm:ss.fff") + "'" + "," // InsertDateTime
                                             + InsertUserID + ","                                                   // InsertUserID ログインユーザーID
                                             + "NULL" + ","                                                         // UpdateDateTime
                                             + "NULL" +                                                             // UpdateDateUserID
                                             " )";

                    //StockDBの処理
                    {
                        //更新日時を更新
                        C_Sasaki_Common.Update_SQL("Update [dbo].[Stock] SET UpdateDateTime = '" + dt.ToString("yyyy-MM-dd HH:mm:ss.fff") + "' Where DVDId = " + DvdID[i]);
                        //更新者を現在のユーザーに設定
                        C_Sasaki_Common.Update_SQL("Update [dbo].[Stock] SET UpdateUserId = " + InsertUserID + " Where DVDId = " + DvdID[i]);

                        if (DvdID[i] != 11)
                        {
                            if (Stock_Quantity_str[DvdID[i] - 1] != "0")
                            {
                                C_Sasaki_Common.Update_SQL("Update[dbo].[Stock] SET Quantity -= 1 Where DVDId = " + DvdID[i]);
                            }
                        }
                        else
                        {
                            if (Stock_Quantity_str[9] != "0")
                            {
                                C_Sasaki_Common.Update_SQL("Update[dbo].[Stock] SET Quantity -= 1 Where DVDId = " + DvdID[i]);
                            }
                        }
                    }

                    sqlcommand.ExecuteNonQuery();
                }
            }
            else
            {
                //一致していない
                Session["Rental_Comfirm_error"] = "レンタル確認時にエラー(競合)が発生しました。もう一度やり直してください。";
            }
            sqlcommand.Dispose();

            sql_connection.Close();
            sql_connection.Dispose();

            Response.Redirect("RentalForm.aspx");
        }
Exemplo n.º 4
0
        protected void Button2_Click(object sender, EventArgs e)
        {
            // テキストボックスに入力されているメンバーIDを取得
            string        MemberIDText   = GetMemberId_TextBox();
            List <string> MemberID_Check = new List <string>();
            bool          ID_Check       = false;

            C_Sasaki_Common.Select_SQL("Select * From [dbo].[Member] ", "Id", MemberID_Check)
            ;
            for (int i = 0; i < MemberID_Check.Count; i++)
            {
                // 入力されたメンバーIDとDB内のメンバーIDを比較
                if (MemberID_Check[i] == MemberIDText)
                {
                    ID_Check = true;
                    break;
                }
            }

            // テキストボックス内に入力されているかつDB内IDと一致していれば次ページに進む
            if (MemberIDText != "" && ID_Check == true)
            {
                Label1.Text      = "";
                Label4.Text      = "";
                Label2.ForeColor = Color.Black;
                Session.Remove("Rental_Comfirm_error");

                int count = 1;                // DVDIDカウント

                // チェックが入っているものをSessionに入れる(力技)
                foreach (ListItem li in CheckBoxList1.Items)
                {
                    // チェックが付いているものにデータを入れる
                    if (li.Selected)
                    {
                        switch (count)
                        {
                        case 1:
                            Session["DVD1"] = li.Text;
                            break;

                        case 2:
                            Session["DVD2"] = li.Text;
                            break;

                        case 3:
                            Session["DVD3"] = li.Text;
                            break;

                        case 4:
                            Session["DVD4"] = li.Text;
                            break;

                        case 5:
                            Session["DVD5"] = li.Text;
                            break;

                        case 6:
                            Session["DVD6"] = li.Text;
                            break;

                        case 7:
                            Session["DVD7"] = li.Text;
                            break;

                        case 8:
                            Session["DVD8"] = li.Text;
                            break;

                        case 9:
                            Session["DVD9"] = li.Text;
                            break;

                        case 10:
                            Session["DVD10"] = li.Text;
                            break;

                        case 11:
                            Session["DVD11"] = li.Text;
                            break;

                        case 12:
                            Session["DVD12"] = li.Text;
                            break;
                        }
                    }
                    // チェックがついていないものにはなにもいれない
                    else
                    {
                        switch (count)
                        {
                        case 1:
                            Session.Remove("DVD1");
                            break;

                        case 2:
                            Session.Remove("DVD2");
                            break;

                        case 3:
                            Session.Remove("DVD3");
                            break;

                        case 4:
                            Session.Remove("DVD4");
                            break;

                        case 5:
                            Session.Remove("DVD5");
                            break;

                        case 6:
                            Session.Remove("DVD6");
                            break;

                        case 7:
                            Session.Remove("DVD7");
                            break;

                        case 8:
                            Session.Remove("DVD8");
                            break;

                        case 9:
                            Session.Remove("DVD9");
                            break;

                        case 10:
                            Session.Remove("DVD10");
                            break;

                        case 11:
                            Session.Remove("DVD11");
                            break;

                        case 12:
                            Session.Remove("DVD12");
                            break;
                        }
                    }

                    count++;
                }


                List <string> Dvdid = new List <string>();
                for (int i = 1; i <= 12; i++)
                {
                    if (Session["DVD" + i.ToString()] != null)
                    {
                        if (Session["DVD" + i.ToString()].ToString() != "")
                        {
                            Dvdid.Add(C_Sasaki_Common.Convert_DVD_Name_To_ID(Session["DVD" + i.ToString()].ToString()));
                        }
                    }
                }
                Session["dvdid"] = string.Join(",", Dvdid);

                List <string> Stock_UpdateDateTime;
                Stock_UpdateDateTime = C_Sasaki_Common.Get_Stock_Update_Date_Time_For_DVD_Id(Dvdid);
                Session["RentalForm_Stock_UpdateDateTime"] = string.Join(",", Stock_UpdateDateTime);

                if (Dvdid.Count != 0)
                {
                    Session["MemberID"] = MemberIDText;
                    Response.Redirect("RentalConfirm.aspx");
                }
                else
                {
                    Label3.ForeColor = Color.Red;
                }
            }
            else if (MemberIDText == "")
            {
                Label4.Text      = "会員IDが空欄です。入力してください。";
                Label2.ForeColor = Color.Red;
                Label4.ForeColor = Color.Red;
            }
            else if (ID_Check == false)
            {
                Label4.Text      = "入力された会員IDは見つかりませんでした。";
                Label2.ForeColor = Color.Red;
                Label4.ForeColor = Color.Red;
            }
        }