ПИС Курсач (ВКЛЮЧАЕТ ВСЕ ЛР И ПР)
.pdf<td>
<asp:TextBox ID="TBmiddleName" runat="server" Enabled="false" Text=""></asp:TextBox>
</td>
</tr>
<tr>
<td>Адрес</td>
<td>
<asp:TextBox ID="TBaddress" runat="server" Enabled="false" Text=""></asp:TextBox>
</td>
</tr>
<tr>
<td>Паспорт</td>
<td>
<asp:TextBox ID="TBpassport" runat="server" Enabled="false" Text=""></asp:TextBox>
</td>
</tr>
<tr>
<td>ПочтовыйИндекс</td>
<td>
<asp:TextBox ID="TBpostIndex" runat="server" Enabled="false" Text=""></asp:TextBox>
</td>
</tr>
<tr>
<td>Логин</td>
<td>
<asp:TextBox ID="TBlogin" runat="server" Enabled="false" Text=""></asp:TextBox>
</td>
</tr>
<tr>
<td>Пароль</td>
<td>
<asp:TextBox ID="TBpassword" runat="server" Enabled="false" Text=""></asp:TextBox>
</td>
</tr>
<tr>
<td>АдминСтатус</td>
<td>
<asp:CheckBox ID="CBadminStatus" Enabled="false" runat="server" />
</td>
</tr>
<tr>
<td style="align-content:center">
<asp:Button ID="ButtonAllowChanges" runat="server" Enabled="false" BackColor="LightGreen" Width="170px" OnClick="ButtonAllowChanges_Click" Text="Разрешить изменения" />
</td>
<td style="align-content:center">
<asp:Button ID="BupdateUserData" runat="server" Enabled="false"
BackColor="WhiteSmoke" Text="Обновить данные пользователя"
OnClick="BupdateUserData_Click" /> </td>
<td>
<asp:Label ID="WarningUpdateUserData" ForeColor="Green" runat="server" Text=""></asp:Label>
</td>
</tr>
</tbody>
</table>
</div>
</asp:View>
</asp:MultiView>
<%-- <asp:Label ID="Warning" runat="server" Text="Warning"></asp:Label>--%>
</div>
</asp:Content>
Листинг 13 – Код файла AdminPanel.aspx.cs
using System;
using System.Collections.Generic; using System.Data.OleDb;
using System.Data; using System.Drawing; using System.Linq; using System.Web; using System.Web.UI;
using System.Web.UI.WebControls; using System.Net.NetworkInformation;
namespace PostSite
{
public partial class AdminPanel : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (Session["userID"] != null && (bool)Session["adminStatus"] == true)
{
CreateOrderButton.Enabled = true; UpdateOrderButton.Enabled = true; UpdateUserDataButton.Enabled = true;
}
}
protected void CreateOrderButton_Click(object sender, EventArgs e)
{
AdminMultiView.SetActiveView(CreateOrderView);
}
protected void UpdateOrderButton_Click(object sender, EventArgs e)
{
AdminMultiView.SetActiveView(UpdateOrderView);
}
protected void UpdateUserDataButton_Click(object sender, EventArgs e)
{
AdminMultiView.SetActiveView(UpdateUserDataView);
}
protected string TextToSqlParam(string str)
{
if (str.Length == 0)
{
return "NULL";
}
else
{
return "'" + str + "'";
}
}
// Viwe 1
protected void V1BtSelectUser_Click(object sender, EventArgs e)
{
string userID = V1TBuserID.Text.Trim(); if (!userID.All(char.IsDigit)) return;
userID = userID.Length == 0 ? "-1" : userID.ToString();
string secondName = V1TBsecondName.Text.Trim(); string firstName = V1TBfirstName.Text.Trim(); string middleName = V1TBmiddleName.Text.Trim(); string pasport = V1TBpasport.Text.Trim();
//if (secondName.Length != 0 | firstName.Length != 0 | middleName.Length != 0 | pasport.Length != 0)
//{
string crit = "SELECT [idПользователя], [Фамилия], [Имя], [Отчество], [Адрес], [Паспорт], [ПочтовыйИндекс], [Логин], [Пароль], [АдминСтатус] " +
"FROM [Пользователь] " +
"where ([idПользователя] = " + userID + " or " + userID + " = -1)" +
"and ([Фамилия] like '%" + secondName + "%' or " + secondName.Length.ToString() + " = 0)" +
"and ([Имя] like '%" + firstName + "%' or " + firstName.Length.ToString() + " = 0)"
+
"and ([Отчество] like '%" + middleName + "%' or " + middleName.Length.ToString() + " = 0)" +
"and ([Паспорт] like '%" + pasport + "%' or " + pasport.Length.ToString() + " =
0)";
Orders.SelectCommand = crit; V1GridView.DataBind(); LblWarnCreateOrder.Text = "";
}
protected void V1BtypeInfo_Click(object sender, EventArgs e)
{
if (V1GridView2.Visible)
{
if (V1DDLtype.SelectedValue == V1GridView2.Rows[0].Cells[0].Text)
{
V1GridView2.Visible = false; return;
}
}
else
{
V1GridView2.Visible = true;
}
fulltype.SelectCommand = "SELECT [idТипОтправления] as Код, [Название], [Описание], [ЦенаЗаГрамм] as [Цена за грамм] " +
"FROM [ТипОтправления] WHERE idТипОтправления = " +
V1DDLtype.SelectedValue.ToString();
V1GridView2.DataBind();
}
protected int GetOrderPrice(int price)
{
V1LblWarningWight.Text = "";
if (V1TBwight.Text.ToString().Trim().Length == 0)
{
V1LblWarningWight.Text = "Введите число!"; return 0;
}
if (!V1TBwight.Text.Trim().ToString().All(char.IsDigit))
{
V1LblWarningWight.Text = "Введено не число!";
return 0;
}
double speedCoef = V1CBspeed.Checked ? 0.2 : 0; double orderedCoef = V1CBzakaz.Checked ? 0.1 : 0;
int weight = Convert.ToInt16(V1TBwight.Text.Trim());
if (weight <= 0)
{
V1LblWarningWight.Text = "Число должно быть больше 0!"; return 0;
}
price = (int)(price * weight);
price = (int)(price + price * speedCoef + price * orderedCoef);
return price;
}
protected void V1BPrice_Click(object sender, EventArgs e)
{
string mySelectQuery = "SELECT [ЦенаЗаГрамм] as price FROM [ТипОтправления] WHERE idТипОтправления = " + V1DDLtype.SelectedValue.ToString();
OleDbConnection myConnection = new OleDbConnection(System.Configuration.ConfigurationManager.ConnectionStrings["Connection PostBD"].ConnectionString);
OleDbDataAdapter adapter = new OleDbDataAdapter(mySelectQuery, myConnection); DataTable dt = new DataTable();
myConnection.Open();
adapter.Fill(dt);
myConnection.Close();
int price = dt.Rows[0]["price"].ToString().Length == 0 ? 0 : Convert.ToInt16(dt.Rows[0]["price"]);
V1LblPrice.Text = GetOrderPrice(price).ToString();
LblWarnCreateOrder.Text = "";
}
protected void V1BtCreateOrder_Click(object sender, EventArgs e)
{
GridViewRow row = V1GridView.SelectedRow;
V1BPrice_Click(sender, e);
if (Convert.ToInt16(V1LblPrice.Text.Trim()) != 0)
{
V1LblWarningWight.Text = "";
}
if (row == null)
{
V1LblWarnSelectUser.Text = "Выборите пользователя!";
}
else
{
V1LblWarnSelectUser.Text = "";
}
if (row == null | Convert.ToInt16(V1LblPrice.Text.Trim()) == 0)
{
return;
}
string InsertSqlQ = "INSERT INTO Накладная(ДатаСоздания, ДатаОплаты,
ДатаДоставки, Срочность, Заказное, Вес, Цена, idПользователя, idТипОтправления, idПунктаВыдачи, idСтатуса)" +
"VALUES('" + DateTime.Now.ToString() + "' , NULL" +
", NULL" +
", " + V1CBspeed.Checked.ToString() +
", " + V1CBzakaz.Checked.ToString() +
", " + V1TBwight.Text.Trim().ToString() +
", " + V1LblPrice.Text.Trim().ToString() + ", " + row.Cells[1].Text.ToString() +
", " + V1DDLtype.SelectedValue.ToString() +
", " + V1DDLissuePoint.SelectedValue.ToString() + ", 1)";
var connect = new OleDbConnection(System.Configuration.ConfigurationManager.ConnectionStrings["Connection PostBD"].ConnectionString);
connect.Open();
var mycom = new OleDbCommand(); mycom.CommandText = InsertSqlQ; mycom.Connection = connect; mycom.ExecuteNonQuery(); connect.Close();
LblWarnCreateOrder.Text = "Успешно!";
}
//Viwe 2
protected void V2BtSelectUser_Click(object sender, EventArgs e)
{
string userID = V2TBuserID.Text.Trim();
if (!userID.All(char.IsDigit)) return;
userID = userID.Length == 0 ? "-1" : userID.ToString();
string secondName = V2TBsecondName.Text.Trim(); string firstName = V2TBfirstName.Text.Trim(); string middleName = V2TBmiddleName.Text.Trim(); string pasport = V2TBpasport.Text.Trim();
string crit = "SELECT [idПользователя], [Фамилия], [Имя], [Отчество], [Адрес], [Паспорт], [ПочтовыйИндекс], [Логин], [Пароль], [АдминСтатус] " +
"FROM [Пользователь] " +
"where ([idПользователя] = " + userID + " or " + userID + " = -1)" + "and ([Фамилия] like '%" + secondName + "%' or " +
secondName.Length.ToString() + " = 0)" +
"and ([Имя] like '%" + firstName + "%' or " + firstName.Length.ToString() + " = 0)"
+
"and ([Отчество] like '%" + middleName + "%' or " + middleName.Length.ToString() + " = 0)" +
"and ([Паспорт] like '%" + pasport + "%' or " + pasport.Length.ToString() + " =
0)";
UserUpOrder.SelectCommand = crit;
V2GridView.DataBind();
V2LblFindWarning.Text = ""; V2LblSetNewStatusSuccess.Text = ""; V2BSetNewStatus.Enabled = false;
}
protected void V2BselectOrder_Click(object sender, EventArgs e)
{
GridViewRow row = V2GridView.SelectedRow; if (row == null)
{
V2LblFindWarning.Text = "Выборите пользователя"; return;
}
else
{
V2LblFindWarning.Text = "";
}
string sqlQ = "SELECT Накладная.idНакладной AS [№ накладной], " +
"Статус.Название AS Статус, " +
"ТипОтправления.Название AS [Тип Отправления], " + "Накладная.Срочность AS Срочное, " + "Накладная.Заказное, " +
"Накладная.ДатаСоздания AS [Дата Создания], " +
"Накладная.ДатаОплаты AS [Дата Оплаты], " + "Накладная.ДатаДоставки AS [Дата Доставки], " + "ПунктВыдачи.Адрес AS [Пункт Выдачи], " + "Накладная.Вес, " + "Накладная.Цена " +
"FROM (((Накладная INNER JOIN ПунктВыдачи ON Накладная.idПунктаВыдачи = ПунктВыдачи.idПунктаВыдачи) " +
"INNER JOIN Статус ON Накладная.idСтатуса = Статус.idСтатуса) " + "INNER JOIN ТипОтправления ON Накладная.idТипОтправления =
ТипОтправления.idТипОтправления) " +
"WHERE Накладная.idПользователя = " + row.Cells[1].Text.Trim().ToString() +
"AND (Накладная.idСтатуса = " + V2DDLstatus.SelectedValue + " or " +
V2DDLstatus.SelectedValue + " = -1)" +
"AND (Накладная.idТипОтправления = " + V2DDLtype.SelectedValue + " or " +
V2DDLtype.SelectedValue + " = -1)" +
"AND (Накладная.Срочность = " + V2DDL4speed.SelectedValue + " or " +
V2DDL4speed.SelectedValue + " = 1)" +
"AND (Накладная.Заказное = " + V2DDL5ordered.SelectedValue + " or " +
V2DDL5ordered.SelectedValue + " = 1)";
V2UserOrders.SelectCommand = sqlQ;
V2GridView2.DataBind();
V2BSetNewStatus.Enabled = false;
V2LblSetNewStatusSuccess.Text = "";
}
protected void V2GridView_SelectedIndexChanged(object sender, EventArgs e)
{
V2BselectOrder_Click(sender, e);
V2BSetNewStatus.Enabled = false; V2LblSetNewStatusSuccess.Text = "";
}
protected void V2GridView2_SelectedIndexChanged(object sender, EventArgs e)
{
V2BSetNewStatus.Enabled = true;
GridViewRow row = V2GridView2.SelectedRow;
if (row.Cells[2].Text.ToString() == "Выдан")
{
V2BSetNewStatus.Enabled = false;
V2LblSetNewStatusWarning.Text = "Отправление выдано!";
}
else
{
V2BSetNewStatus.Enabled = true; V2LblSetNewStatusWarning.Text = "";
}
string sqlQ = "SELECT s.Название, s.idСтатуса FROM [Статус] s WHERE idСтатуса > (SELECT [idСтатуса] FROM [Статус] WHERE Название = '" + row.Cells[2].Text.ToString() + "') ORDER BY s.idСтатуса";
V2status.SelectCommand = sqlQ; V2DDLstat.DataBind();
V2DDLstat.Enabled = false;
V2TBtime.Enabled = false;
V2TBtime.Text = DateTime.Now.ToLocalTime().ToString("yyyy-MM-ddTHH:mm:ss");
V2LblSetNewStatusSuccess.Text = "";
}
protected void V2BSelectOver_CheckedChanged(object sender, EventArgs e)
{
V2DDLstat.Enabled = !V2DDLstat.Enabled;
V2TBtime.Enabled = !V2TBtime.Enabled;
}
protected void V2BSetNewStatus_Click(object sender, EventArgs e)
{
GridViewRow row = V2GridView2.SelectedRow;
string time;
switch (Convert.ToUInt16(V2DDLstat.SelectedValue))
{
case 2:
time = ", ДатаОплаты = '" + Convert.ToDateTime(V2TBtime.Text).ToString("yyyy- MM-dd HH:mm:ss") + "' ";
break; case 6:
time = ", ДатаДоставки = '" + Convert.ToDateTime(V2TBtime.Text).ToString("yyyy- MM-dd HH:mm:ss") + "' ";
break;
default: time = " ";
break;
}
string UpSqlQ = "UPDATE Накладная " +
"SET idСтатуса = " + V2DDLstat.SelectedValue.ToString() + time + "WHERE idНакладной = " + row.Cells[1].Text.ToString();
var connect = new OleDbConnection(System.Configuration.ConfigurationManager.ConnectionStrings["Connection PostBD"].ConnectionString);
connect.Open();
var mycom = new OleDbCommand(); mycom.CommandText = UpSqlQ; mycom.Connection = connect; mycom.ExecuteNonQuery(); connect.Close();
V2BSetNewStatus.Enabled = false;
V2GridView_SelectedIndexChanged(sender, e);
V2GridView2_SelectedIndexChanged(sender, e);
V2LblSetNewStatusSuccess.Text = "Успешно!";
}
// Viwe 3
protected void ButtonSelectUser_Click(object sender, EventArgs e)
{
string userID = TextBoxUserID.Text.Trim(); if (!userID.All(char.IsDigit)) return;
userID = userID.Length == 0 ? "-1" : userID.ToString();
string secondName = TextBoxSecondName.Text.Trim(); string firstName = TextBoxFirstName.Text.Trim(); string middleName = TextBoxMiddleName.Text.Trim(); string pasport = TextBoxPasport.Text.Trim();
//if (secondName.Length != 0 | firstName.Length != 0 | middleName.Length != 0 | pasport.Length != 0)
//{
string crit = "SELECT [idПользователя], [Фамилия], [Имя], [Отчество], [Адрес], [Паспорт], [ПочтовыйИндекс], [Логин], [Пароль], [АдминСтатус] " +
"FROM [Пользователь] " +
"where ([idПользователя] = " + userID + " or " + userID + " = -1)" + "and ([Фамилия] like '%" + secondName + "%' or " +
secondName.Length.ToString() + " = 0)" +
"and ([Имя] like '%" + firstName + "%' or " + firstName.Length.ToString() + " = 0)"
+
"and ([Отчество] like '%" + middleName + "%' or " + middleName.Length.ToString() + " = 0)" +
"and ([Паспорт] like '%" + pasport + "%' or " + pasport.Length.ToString() + " =
0)";