Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ПИС Курсач (ВКЛЮЧАЕТ ВСЕ ЛР И ПР)

.pdf
Скачиваний:
14
Добавлен:
25.06.2023
Размер:
1.63 Mб
Скачать

DataValueField="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>