ПИС Курсач (ВКЛЮЧАЕТ ВСЕ ЛР И ПР)
.pdfDataValueField="typeid"
DataSourceID="type">
</asp:DropDownList>
<asp:SqlDataSource runat="server" ID="type" ConnectionString="<%$ ConnectionStrings:ConnectionPostBD %>"
ProviderName="<%$ ConnectionStrings:ConnectionPostBD.ProviderName %>" SelectCommand="SELECT TOP 1 -1 as typeid, 'Все Типы Отправлений' as Название
from Статус UNION ALL SELECT [idТипОтправления] as typeid, [Название] FROM [ТипОтправления]">
</asp:SqlDataSource>
<asp:DropDownList ID="DropDownList4" runat="server"
DataTextField="Название"
DataValueField="typeid"
DataSourceID="speed">
</asp:DropDownList>
<asp:SqlDataSource runat="server" ID="speed" ConnectionString="<%$ ConnectionStrings:ConnectionPostBD %>"
ProviderName="<%$ ConnectionStrings:ConnectionPostBD.ProviderName %>" SelectCommand="SELECT TOP 1 1 as typeid, 'Срочное/Несрочное' as Название from
Статус UNION ALL SELECT TOP 1 0 as typeid, 'Несрочное' as Название from Статус UNION ALL
SELECT TOP 1 -1 as typeid, 'Срочное' as Название from Статус">
</asp:SqlDataSource>
<asp:DropDownList ID="DropDownList5" runat="server"
DataTextField="Название"
DataValueField="typeid"
DataSourceID="Ordered">
</asp:DropDownList>
<asp:SqlDataSource runat="server" ID="Ordered" ConnectionString="<%$ ConnectionStrings:ConnectionPostBD %>"
ProviderName="<%$ ConnectionStrings:ConnectionPostBD.ProviderName %>" SelectCommand="SELECT TOP 1 1 as typeid, 'Заказное/Незаказное' as Название from
Статус UNION ALL SELECT TOP 1 0 as typeid, 'Незаказное' as Название from Статус UNION ALL
SELECT TOP 1 -1 as typeid, 'Заказное' as Название from Статус">
</asp:SqlDataSource>
<asp:Button ID="Button1" runat="server" Text="Выбрать" OnClick="Button1_Click" />
</div>
<br/>
<div class="text-center mb-4 ">
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataSourceID="ResultDataSource" AllowPaging="True" AllowSorting="True">
<Columns>
<asp:BoundField DataField="Статус" HeaderText="Статус" SortExpression="Статус"></asp:BoundField>
<asp:BoundField DataField="Тип Отправления" HeaderText="Тип Отправления" SortExpression="Тип Отправления"></asp:BoundField>
<asp:BoundField DataField="Адрес" HeaderText="Адрес" SortExpression="Адрес"></asp:BoundField>
<asp:CheckBoxField DataField="Срочность" HeaderText="Срочность" SortExpression="Срочность"></asp:CheckBoxField>
<asp:CheckBoxField DataField="Заказное" HeaderText="Заказное" SortExpression="Заказное"></asp:CheckBoxField>
<asp:BoundField DataField="Вес" HeaderText="Вес" SortExpression="Вес"></asp:BoundField>
<asp:BoundField DataField="Цена" HeaderText="Цена" SortExpression="Цена"></asp:BoundField>
<asp:BoundField DataField="ДатаСоздания" HeaderText="Дата Создания" SortExpression="ДатаСоздания"></asp:BoundField>
<asp:BoundField DataField="ДатаОплаты" HeaderText="Дата Оплаты" SortExpression="ДатаОплаты"></asp:BoundField>
<asp:BoundField DataField="ДатаДоставки" HeaderText="Дата Доставки" SortExpression="ДатаДоставки"></asp:BoundField>
</Columns>
</asp:GridView>
<asp:SqlDataSource runat="server" ID="ResultDataSource" ConnectionString="<%$ ConnectionStrings:ConnectionPostBD %>" ProviderName="<%$ ConnectionStrings:ConnectionPostBD.ProviderName %>" SelectCommand="SELECT
Статус.Название AS Статус, ТипОтправления.Название AS [Тип Отправления], ПунктВыдачи.Адрес, Накладная.Срочность, Накладная.Заказное, Накладная.Вес, Накладная.Цена, Накладная.ДатаСоздания, Накладная.ДатаОплаты, Накладная.ДатаДоставки
FROM (((ПунктВыдачи
INNER JOIN Накладная ON ПунктВыдачи.idПунктаВыдачи = Накладная.idПунктаВыдачи) INNER JOIN Статус ON Накладная.idСтатуса = Статус.idСтатуса)
INNER JOIN ТипОтправления ON Накладная.idТипОтправления = ТипОтправления.idТипОтправления)
WHERE Накладная.idНакладной = NULL"></asp:SqlDataSource> </div>
</div>
</asp:Content>
Листинг 11 – Код файла Delivery.aspx.cs
using System;
using System.Collections.Generic; using System.Data.OleDb;
using System.Data; using System.Linq; using System.Web; using System.Web.UI;
using System.Web.UI.WebControls;
namespace PostSite
{
public partial class Delivery : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (Session["userID"] is null)
{
DropDownList1.Visible = false; DropDownList2.Visible = false; DropDownList3.Visible = false; DropDownList4.Visible = false; DropDownList5.Visible = false; Button1.Visible = false; GridView1.Visible = false; WarningText.Visible = true; return;
}
string user_id = Session["userID"].ToString();
bool admin_status = (bool)Session["adminStatus"];
if (admin_status == false)
{
DropDownList1.Visible = false; DropDownList1.SelectedValue = user_id;
}
//Button1_Click(sender, e);
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
string crit;
string user_id = ((bool)Session["adminStatus"] ? DropDownList1.SelectedValue : Session["userID"].ToString());
crit = "SELECT Статус.Название AS Статус, ТипОтправления.Название AS [Тип Отправления], ПунктВыдачи.Адрес, Накладная.Срочность, Накладная.Заказное, Накладная.Вес, Накладная.Цена, Накладная.ДатаСоздания, Накладная.ДатаОплаты, Накладная.ДатаДоставки " +
"FROM (((ПунктВыдачи " +
"INNER JOIN Накладная ON ПунктВыдачи.idПунктаВыдачи =
Накладная.idПунктаВыдачи) " +
"INNER JOIN Статус ON Накладная.idСтатуса = Статус.idСтатуса) " + "INNER JOIN ТипОтправления ON Накладная.idТипОтправления =
ТипОтправления.idТипОтправления) " +
"WHERE (Накладная.idПользователя = " + user_id + " or " + user_id + " = -1) " +
"AND (Накладная.idСтатуса = " + DropDownList2.SelectedValue + " or " + DropDownList2.SelectedValue + " = -1)" +
"AND (Накладная.idТипОтправления = " + DropDownList3.SelectedValue + " or " +
DropDownList3.SelectedValue + " = -1)" +
"AND (Накладная.Срочность = " + DropDownList4.SelectedValue + " or " + DropDownList4.SelectedValue + " = 1)" +
"AND (Накладная.Заказное = " + DropDownList5.SelectedValue + " or " +
DropDownList5.SelectedValue + " = 1)";
ResultDataSource.SelectCommand = crit; GridView1.DataBind();
}
}
}
Листинг 12 – Код файла AdminPanel.aspx
<%@ Page Title="" Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="true" CodeBehind="AdminPanel.aspx.cs" Inherits="PostSite.AdminPanel" MaintainScrollPositionOnPostback="true"%>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"> <style type="text/css">
.TextBoxUserData{ text-transform: uppercase;
}
</style>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> <div class="container">
<div>
<h1>Админ Панель</h1>
</div>
<div>
<asp:Button ID="CreateOrderButton" runat="server" Enabled="false" Text="Создать отправление" OnClick="CreateOrderButton_Click" />
<asp:Button ID="UpdateOrderButton" runat="server" Enabled="false" Text="Изменить отправление" OnClick="UpdateOrderButton_Click" />
<asp:Button ID="UpdateUserDataButton" runat="server" Enabled="false"
Text="Изменить дынные пользователя" OnClick="UpdateUserDataButton_Click" />
</div>
<hr/>
<asp:MultiView ID="AdminMultiView" runat="server"> <asp:View ID="CreateOrderView" runat="server">
<div>
<div>
<h2>
Создать отправление
</h2>
</div>
<hr style="margin: 0px 0; padding: 0; height: 0; border: none; border-top: 2px dotted
#ddd;"/>
<h3>
Выбор пользователя
</h3>
<table class="iksweb"> <tbody>
<tr>
<td>
<asp:Label ID="Label1" runat="server" Text="ID Пользователя"></asp:Label>
</td>
<td>
<asp:Label ID="Label2" runat="server" Text="Фамилия"></asp:Label>
</td>
<td>
<asp:Label ID="Label3" runat="server" Text="Имя"></asp:Label> </td>
<td>
<asp:Label ID="Label4" runat="server" Text="Отчество"></asp:Label>
</td>
<td>
<asp:Label ID="Label5" runat="server" Text="Паспорт"></asp:Label>
</td>
</tr>
<tr>
<td>
<asp:TextBox ID="V1TBuserID" CssClass="TextBoxUserData" runat="server"></asp:TextBox>
</td>
<td>
<asp:TextBox ID="V1TBsecondName" CssClass="TextBoxUserData" runat="server"></asp:TextBox>
</td>
<td>
<asp:TextBox ID="V1TBfirstName" CssClass="TextBoxUserData" runat="server"></asp:TextBox>
</td>
<td>
<asp:TextBox ID="V1TBmiddleName" CssClass="TextBoxUserData" runat="server"></asp:TextBox>
</td>
<td>
<asp:TextBox ID="V1TBpasport" CssClass="TextBoxUserData" runat="server"></asp:TextBox>
</td>
<td>
<asp:Button ID="V1BtSelectUser" runat="server" Text="Найти"
OnClick="V1BtSelectUser_Click"/> </td>
<td>
<asp:Label ID="V1LblWarnSelectUser" ForeColor="Red" runat="server" Text=""></asp:Label>
</td>
</tr>
<tr>
<td>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
ControlToValidate="V1TBuserID"
ErrorMessage="Некорректный ввод<br>ID!"
EnableClientScript="False"
ForeColor="Red"
SetFocusOnError="true" ValidationExpression="^\d+$">
</asp:RegularExpressionValidator>
</td>
<td>
<asp:RegularExpressionValidator ID="RegularExpressionValidator2" runat="server"
ControlToValidate="V1TBsecondName"
ErrorMessage="Некорректный ввод<br>Фамилии!"
EnableClientScript="False"
ForeColor="Red"
SetFocusOnError="true"
ValidationExpression="^[а-яА-Я]+$">
</asp:RegularExpressionValidator>
</td>
<td>
<asp:RegularExpressionValidator ID="RegularExpressionValidator3" runat="server"
ControlToValidate="V1TBfirstName"
ErrorMessage="Некорректный ввод<br>Имени!"
EnableClientScript="False"
ForeColor="Red"
SetFocusOnError="true"
ValidationExpression="^[а-яА-Я]+$">
</asp:RegularExpressionValidator>
</td>
<td>
<asp:RegularExpressionValidator ID="RegularExpressionValidator4" runat="server"
ControlToValidate="V1TBmiddleName"
ErrorMessage="Некорректный ввод<br>Отчества!"
EnableClientScript="False"
ForeColor="Red"
SetFocusOnError="true"
ValidationExpression="^[а-яА-Я]+$">
</asp:RegularExpressionValidator>
</td>
<td>
<asp:RegularExpressionValidator ID="RegularExpressionValidator5" runat="server"
ControlToValidate="V1TBpasport"
ErrorMessage="Некорректный ввод<br>Паспорта!"
EnableClientScript="False"
ForeColor="Red"
SetFocusOnError="true" ValidationExpression="^([0-9]{4}\s{1}[0-9]{6})?$">
</asp:RegularExpressionValidator>
</td>
</tr>
</tbody>
</table>
<asp:GridView ID="V1GridView" runat="server" AutoGenerateColumns="False"
DataKeyNames="idПользователя" DataSourceID="Orders" AllowPaging="True"
AllowSorting="True" SelectedRowStyle-BackColor="#ccffcc"> <Columns>
<asp:CommandField
ShowSelectButton="True"></asp:CommandField><asp:BoundField DataField="idПользователя" HeaderText="idПользователя" ReadOnly="True" InsertVisible="False" SortExpression="idПользователя"></asp:BoundField>
<asp:BoundField DataField="Фамилия" HeaderText="Фамилия" SortExpression="Фамилия"></asp:BoundField>
<asp:BoundField DataField="Имя" HeaderText="Имя" SortExpression="Имя"></asp:BoundField>
<asp:BoundField DataField="Отчество" HeaderText="Отчество" SortExpression="Отчество"></asp:BoundField>
<asp:BoundField DataField="Адрес" HeaderText="Адрес" SortExpression="Адрес"></asp:BoundField>
<asp:BoundField DataField="ПочтовыйИндекс" HeaderText="ПочтовыйИндекс" SortExpression="ПочтовыйИндекс"></asp:BoundField>
<asp:BoundField DataField="Паспорт" HeaderText="Паспорт" SortExpression="Паспорт"></asp:BoundField>
</Columns>
</asp:GridView>
<asp:SqlDataSource runat="server" ID="Orders"
ConnectionString="<%$ ConnectionStrings:ConnectionPostBD %>" ProviderName="<%$ ConnectionStrings:ConnectionPostBD.ProviderName %>" SelectCommand="SELECT [idПользователя], [Фамилия], [Имя], [Отчество],
[Адрес], [ПочтовыйИндекс], [Паспорт] FROM [Пользователь] where [idПользователя] = 0">
</asp:SqlDataSource>
<hr style="margin: 20px 0; padding: 0; height: 0; border: none; border-top: 2px dotted #ddd;"/>
<h3>
Выбор пункта выдачи
</h3>
<asp:DropDownList ID="V1DDLissuePoint" runat="server"
DataTextField="Адрес" DataValueField="idПунктаВыдачи"
DataSourceID="IssuePoint">
</asp:DropDownList>
<asp:SqlDataSource runat="server" ID="IssuePoint" ConnectionString="<%$ ConnectionStrings:ConnectionPostBD %>"
ProviderName="<%$ ConnectionStrings:ConnectionPostBD.ProviderName %>"
SelectCommand="SELECT [idПунктаВыдачи], [Адрес] FROM [ПунктВыдачи]">
</asp:SqlDataSource>
<hr style="margin: 20px 0; padding: 0; height: 0; border: none; border-top: 2px dotted #ddd;"/>
<h3>
Расчет стоимости
</h3>
<table class="iksweb"> <tbody>
<tr>
<td>
Тип отправления
</td>
<td>
<asp:DropDownList ID="V1DDLtype" runat="server" Width ="180px"
DataTextField="Название" DataValueField="idТипОтправления"
DataSourceID="type">
</asp:DropDownList>
<asp:SqlDataSource runat="server" ID="type" ConnectionString="<%$ ConnectionStrings:ConnectionPostBD %>"
ProviderName="<%$ ConnectionStrings:ConnectionPostBD.ProviderName
%>"
SelectCommand="SELECT [idТипОтправления], [Название] FROM
[ТипОтправления]">
</asp:SqlDataSource>
</td>
<td>
<asp:Button ID="V1BtypeInfo" runat="server" Text="Дополнительная информация" OnClick="V1BtypeInfo_Click" />
</td>
<td rowspan="5">
<asp:GridView ID="V1GridView2" runat="server" DataSourceID="fulltype"
Visible="false" AutoGenerateColumns="False" DataKeyNames="Код">
<Columns>
<asp:BoundField DataField="Код" HeaderText="Код" ReadOnly="True" InsertVisible="False" SortExpression="Код"></asp:BoundField>
<asp:BoundField DataField="Название" HeaderText="Название" SortExpression="Название"></asp:BoundField>
<asp:BoundField DataField="Описание" HeaderText="Описание" SortExpression="Описание"></asp:BoundField>
<asp:BoundField DataField="Цена за грамм" HeaderText="Цена за грамм" SortExpression="Цена за грамм"></asp:BoundField>
</Columns>
</asp:GridView>
<asp:SqlDataSource runat="server" ID="fulltype" ConnectionString="<%$ ConnectionStrings:ConnectionPostBD %>"
ProviderName="<%$ ConnectionStrings:ConnectionPostBD.ProviderName
%>"
SelectCommand="SELECT [idТипОтправления] as Код, [Название], [Описание], [ЦенаЗаГрамм] as [Цена за грамм] FROM [ТипОтправления] WHERE idТипОтправления = -1">
</asp:SqlDataSource>
</td>
</tr>
<tr>
<td>
Вес (в граммах)
</td>
<td>
<asp:TextBox ID="V1TBwight" runat="server" Width="172px" Text=""></asp:TextBox>
</td>
<td>
<asp:Label ID="V1LblWarningWight" ForeColor="Red" runat="server" Text=""></asp:Label>
</td>
</tr>
<tr>
<td>
Срочное (+20%)
</td>
<td>
<asp:CheckBox ID="V1CBspeed" runat="server" /> </td>
</tr>
<tr>
<td>
Заказное (+10%)
</td>
<td>
<asp:CheckBox ID="V1CBzakaz" runat="server" /> </td>
</tr>
<tr>
<td>
<asp:Button ID="V1BPrice" runat="server" Text="Расчитать стоимость"
OnClick="V1BPrice_Click" /> </td> <td>
<asp:Label ID="V1LblPrice" runat="server" Text="0"></asp:Label>
Руб.
</td>
</tr>
</tbody>
</table>
<hr style="margin: 20px 0; padding: 0; height: 0; border: none; border-top: 2px dotted #ddd;"/>
<asp:Button ID="V1BtCreateOrder" runat="server" BackColor="LightGreen"
Text="Записать в базу" OnClick="V1BtCreateOrder_Click" />
<asp:Label ID="LblWarnCreateOrder" ForeColor="Green" runat="server" Text=""></asp:Label>
</div>
</asp:View>
<asp:View ID="UpdateOrderView" runat="server"> <div>
<h2>
Изменение отправления
</h2>
<hr style="margin: 0px 0; padding: 0; height: 0; border: none; border-top: 2px dotted
#ddd;"/>
<h3>
Выбор пользователя
</h3>
<div>
<table class="iksweb"> <tbody>
<tr>
<td>
<asp:Label ID="Label11" runat="server" Text="ID
Пользователя"></asp:Label>
</td>
<td>
<asp:Label ID="Label12" runat="server" Text="Фамилия"></asp:Label>