Лабораторная 5. Фикс размеров главного окна + создание заказа в web-клиенте.
This commit is contained in:
parent
0d8a810eac
commit
977636db81
68
TravelCompany/TravelCompany/FormMain.Designer.cs
generated
68
TravelCompany/TravelCompany/FormMain.Designer.cs
generated
@ -33,6 +33,7 @@
|
||||
this.справочникиToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.условияToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.путешествияToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.клиентыToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.отчетToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.списокУсловийToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.условияПоПоездкамToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
@ -42,7 +43,6 @@
|
||||
this.ButtonOrderReady = new System.Windows.Forms.Button();
|
||||
this.ButtonIssuedOrder = new System.Windows.Forms.Button();
|
||||
this.ButtonRef = new System.Windows.Forms.Button();
|
||||
this.клиентыToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dataGridView)).BeginInit();
|
||||
this.menuStrip.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
@ -51,14 +51,15 @@
|
||||
//
|
||||
this.dataGridView.BackgroundColor = System.Drawing.Color.White;
|
||||
this.dataGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dataGridView.Location = new System.Drawing.Point(4, 45);
|
||||
this.dataGridView.Location = new System.Drawing.Point(3, 36);
|
||||
this.dataGridView.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
|
||||
this.dataGridView.MultiSelect = false;
|
||||
this.dataGridView.Name = "dataGridView";
|
||||
this.dataGridView.RowHeadersVisible = false;
|
||||
this.dataGridView.RowHeadersWidth = 62;
|
||||
this.dataGridView.RowTemplate.Height = 33;
|
||||
this.dataGridView.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
|
||||
this.dataGridView.Size = new System.Drawing.Size(1201, 520);
|
||||
this.dataGridView.Size = new System.Drawing.Size(1209, 416);
|
||||
this.dataGridView.TabIndex = 0;
|
||||
//
|
||||
// menuStrip
|
||||
@ -69,7 +70,8 @@
|
||||
this.отчетToolStripMenuItem});
|
||||
this.menuStrip.Location = new System.Drawing.Point(0, 0);
|
||||
this.menuStrip.Name = "menuStrip";
|
||||
this.menuStrip.Size = new System.Drawing.Size(1452, 33);
|
||||
this.menuStrip.Padding = new System.Windows.Forms.Padding(5, 2, 0, 2);
|
||||
this.menuStrip.Size = new System.Drawing.Size(1408, 28);
|
||||
this.menuStrip.TabIndex = 1;
|
||||
this.menuStrip.Text = "menuStrip1";
|
||||
//
|
||||
@ -80,23 +82,30 @@
|
||||
this.путешествияToolStripMenuItem,
|
||||
this.клиентыToolStripMenuItem});
|
||||
this.справочникиToolStripMenuItem.Name = "справочникиToolStripMenuItem";
|
||||
this.справочникиToolStripMenuItem.Size = new System.Drawing.Size(139, 29);
|
||||
this.справочникиToolStripMenuItem.Size = new System.Drawing.Size(117, 24);
|
||||
this.справочникиToolStripMenuItem.Text = "Справочники";
|
||||
//
|
||||
// условияToolStripMenuItem
|
||||
//
|
||||
this.условияToolStripMenuItem.Name = "условияToolStripMenuItem";
|
||||
this.условияToolStripMenuItem.Size = new System.Drawing.Size(270, 34);
|
||||
this.условияToolStripMenuItem.Size = new System.Drawing.Size(182, 26);
|
||||
this.условияToolStripMenuItem.Text = "Условия";
|
||||
this.условияToolStripMenuItem.Click += new System.EventHandler(this.условияToolStripMenuItem_Click);
|
||||
//
|
||||
// путешествияToolStripMenuItem
|
||||
//
|
||||
this.путешествияToolStripMenuItem.Name = "путешествияToolStripMenuItem";
|
||||
this.путешествияToolStripMenuItem.Size = new System.Drawing.Size(270, 34);
|
||||
this.путешествияToolStripMenuItem.Size = new System.Drawing.Size(182, 26);
|
||||
this.путешествияToolStripMenuItem.Text = "Путешествия";
|
||||
this.путешествияToolStripMenuItem.Click += new System.EventHandler(this.путешествияToolStripMenuItem_Click);
|
||||
//
|
||||
// клиентыToolStripMenuItem
|
||||
//
|
||||
this.клиентыToolStripMenuItem.Name = "клиентыToolStripMenuItem";
|
||||
this.клиентыToolStripMenuItem.Size = new System.Drawing.Size(182, 26);
|
||||
this.клиентыToolStripMenuItem.Text = "Клиенты";
|
||||
this.клиентыToolStripMenuItem.Click += new System.EventHandler(this.клиентыToolStripMenuItem_Click);
|
||||
//
|
||||
// отчетToolStripMenuItem
|
||||
//
|
||||
this.отчетToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
@ -104,35 +113,36 @@
|
||||
this.условияПоПоездкамToolStripMenuItem,
|
||||
this.списокЗаказовToolStripMenuItem});
|
||||
this.отчетToolStripMenuItem.Name = "отчетToolStripMenuItem";
|
||||
this.отчетToolStripMenuItem.Size = new System.Drawing.Size(75, 29);
|
||||
this.отчетToolStripMenuItem.Size = new System.Drawing.Size(62, 24);
|
||||
this.отчетToolStripMenuItem.Text = "Отчет";
|
||||
//
|
||||
// списокУсловийToolStripMenuItem
|
||||
//
|
||||
this.списокУсловийToolStripMenuItem.Name = "списокУсловийToolStripMenuItem";
|
||||
this.списокУсловийToolStripMenuItem.Size = new System.Drawing.Size(291, 34);
|
||||
this.списокУсловийToolStripMenuItem.Size = new System.Drawing.Size(243, 26);
|
||||
this.списокУсловийToolStripMenuItem.Text = "Список путешествий";
|
||||
this.списокУсловийToolStripMenuItem.Click += new System.EventHandler(this.ConditionsToolStripMenuItem_Click);
|
||||
//
|
||||
// условияПоПоездкамToolStripMenuItem
|
||||
//
|
||||
this.условияПоПоездкамToolStripMenuItem.Name = "условияПоПоездкамToolStripMenuItem";
|
||||
this.условияПоПоездкамToolStripMenuItem.Size = new System.Drawing.Size(291, 34);
|
||||
this.условияПоПоездкамToolStripMenuItem.Size = new System.Drawing.Size(243, 26);
|
||||
this.условияПоПоездкамToolStripMenuItem.Text = "Условия по поездкам";
|
||||
this.условияПоПоездкамToolStripMenuItem.Click += new System.EventHandler(this.ConditionTravelsToolStripMenuItem_Click);
|
||||
//
|
||||
// списокЗаказовToolStripMenuItem
|
||||
//
|
||||
this.списокЗаказовToolStripMenuItem.Name = "списокЗаказовToolStripMenuItem";
|
||||
this.списокЗаказовToolStripMenuItem.Size = new System.Drawing.Size(291, 34);
|
||||
this.списокЗаказовToolStripMenuItem.Size = new System.Drawing.Size(243, 26);
|
||||
this.списокЗаказовToolStripMenuItem.Text = "Список заказов";
|
||||
this.списокЗаказовToolStripMenuItem.Click += new System.EventHandler(this.OrdersToolStripMenuItem_Click);
|
||||
//
|
||||
// buttonCreateOrder
|
||||
//
|
||||
this.buttonCreateOrder.Location = new System.Drawing.Point(1224, 55);
|
||||
this.buttonCreateOrder.Location = new System.Drawing.Point(1224, 36);
|
||||
this.buttonCreateOrder.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
|
||||
this.buttonCreateOrder.Name = "buttonCreateOrder";
|
||||
this.buttonCreateOrder.Size = new System.Drawing.Size(216, 34);
|
||||
this.buttonCreateOrder.Size = new System.Drawing.Size(173, 27);
|
||||
this.buttonCreateOrder.TabIndex = 2;
|
||||
this.buttonCreateOrder.Text = "Создать заказ";
|
||||
this.buttonCreateOrder.UseVisualStyleBackColor = true;
|
||||
@ -140,9 +150,10 @@
|
||||
//
|
||||
// ButtonTakeOrderInWork
|
||||
//
|
||||
this.ButtonTakeOrderInWork.Location = new System.Drawing.Point(1224, 124);
|
||||
this.ButtonTakeOrderInWork.Location = new System.Drawing.Point(1224, 91);
|
||||
this.ButtonTakeOrderInWork.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
|
||||
this.ButtonTakeOrderInWork.Name = "ButtonTakeOrderInWork";
|
||||
this.ButtonTakeOrderInWork.Size = new System.Drawing.Size(216, 34);
|
||||
this.ButtonTakeOrderInWork.Size = new System.Drawing.Size(173, 27);
|
||||
this.ButtonTakeOrderInWork.TabIndex = 3;
|
||||
this.ButtonTakeOrderInWork.Text = "Отдать на выполнение";
|
||||
this.ButtonTakeOrderInWork.UseVisualStyleBackColor = true;
|
||||
@ -150,9 +161,10 @@
|
||||
//
|
||||
// ButtonOrderReady
|
||||
//
|
||||
this.ButtonOrderReady.Location = new System.Drawing.Point(1224, 203);
|
||||
this.ButtonOrderReady.Location = new System.Drawing.Point(1224, 154);
|
||||
this.ButtonOrderReady.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
|
||||
this.ButtonOrderReady.Name = "ButtonOrderReady";
|
||||
this.ButtonOrderReady.Size = new System.Drawing.Size(216, 34);
|
||||
this.ButtonOrderReady.Size = new System.Drawing.Size(173, 27);
|
||||
this.ButtonOrderReady.TabIndex = 4;
|
||||
this.ButtonOrderReady.Text = "Заказ готов";
|
||||
this.ButtonOrderReady.UseVisualStyleBackColor = true;
|
||||
@ -160,9 +172,10 @@
|
||||
//
|
||||
// ButtonIssuedOrder
|
||||
//
|
||||
this.ButtonIssuedOrder.Location = new System.Drawing.Point(1224, 267);
|
||||
this.ButtonIssuedOrder.Location = new System.Drawing.Point(1224, 206);
|
||||
this.ButtonIssuedOrder.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
|
||||
this.ButtonIssuedOrder.Name = "ButtonIssuedOrder";
|
||||
this.ButtonIssuedOrder.Size = new System.Drawing.Size(216, 34);
|
||||
this.ButtonIssuedOrder.Size = new System.Drawing.Size(173, 27);
|
||||
this.ButtonIssuedOrder.TabIndex = 5;
|
||||
this.ButtonIssuedOrder.Text = "Заказ выдан";
|
||||
this.ButtonIssuedOrder.UseVisualStyleBackColor = true;
|
||||
@ -170,26 +183,20 @@
|
||||
//
|
||||
// ButtonRef
|
||||
//
|
||||
this.ButtonRef.Location = new System.Drawing.Point(1224, 338);
|
||||
this.ButtonRef.Location = new System.Drawing.Point(1224, 262);
|
||||
this.ButtonRef.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
|
||||
this.ButtonRef.Name = "ButtonRef";
|
||||
this.ButtonRef.Size = new System.Drawing.Size(216, 34);
|
||||
this.ButtonRef.Size = new System.Drawing.Size(173, 27);
|
||||
this.ButtonRef.TabIndex = 6;
|
||||
this.ButtonRef.Text = "Обновить список";
|
||||
this.ButtonRef.UseVisualStyleBackColor = true;
|
||||
this.ButtonRef.Click += new System.EventHandler(this.ButtonRef_Click);
|
||||
//
|
||||
// клиентыToolStripMenuItem
|
||||
//
|
||||
this.клиентыToolStripMenuItem.Name = "клиентыToolStripMenuItem";
|
||||
this.клиентыToolStripMenuItem.Size = new System.Drawing.Size(270, 34);
|
||||
this.клиентыToolStripMenuItem.Text = "Клиенты";
|
||||
this.клиентыToolStripMenuItem.Click += new System.EventHandler(this.клиентыToolStripMenuItem_Click);
|
||||
//
|
||||
// FormMain
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(10F, 25F);
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 20F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(1452, 577);
|
||||
this.ClientSize = new System.Drawing.Size(1408, 462);
|
||||
this.Controls.Add(this.ButtonRef);
|
||||
this.Controls.Add(this.ButtonIssuedOrder);
|
||||
this.Controls.Add(this.ButtonOrderReady);
|
||||
@ -198,6 +205,7 @@
|
||||
this.Controls.Add(this.dataGridView);
|
||||
this.Controls.Add(this.menuStrip);
|
||||
this.MainMenuStrip = this.menuStrip;
|
||||
this.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
|
||||
this.Name = "FormMain";
|
||||
this.Text = "Туристическая фирма";
|
||||
this.Load += new System.EventHandler(this.FormMain_Load);
|
||||
|
@ -34,6 +34,7 @@ namespace TravelCompany
|
||||
dataGridView.Columns["TravelId"].Visible = false;
|
||||
dataGridView.Columns["ClientId"].Visible = false;
|
||||
dataGridView.Columns["TravelName"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
|
||||
dataGridView.Columns["ClientFIO"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
@ -115,8 +115,7 @@ string.IsNullOrEmpty(password))
|
||||
[HttpGet]
|
||||
public IActionResult Create()
|
||||
{
|
||||
ViewBag.Products =
|
||||
APIClient.GetRequest<List<TravelViewModel>>("api/main/getproductlist");
|
||||
ViewBag.Travels = APIClient.GetRequest<List<TravelViewModel>>("api/main/gettravellist");
|
||||
return View();
|
||||
}
|
||||
[HttpPost]
|
||||
@ -144,7 +143,7 @@ string.IsNullOrEmpty(password))
|
||||
public double Calc(int count, int travel)
|
||||
{
|
||||
var prod =
|
||||
APIClient.GetRequest<TravelViewModel>($"api/main/getproduct?travelId={travel}"
|
||||
APIClient.GetRequest<TravelViewModel>($"api/main/gettravel?travelId={travel}"
|
||||
);
|
||||
return count * (prod?.Price ?? 1);
|
||||
}
|
||||
|
@ -1,51 +1,48 @@
|
||||
@{
|
||||
ViewData["Title"] = "Create";
|
||||
ViewData["Title"] = "Create";
|
||||
}
|
||||
<div class="text-center">
|
||||
<h2 class="display-4">Создание заказа</h2>
|
||||
<h2 class="display-4">Создание заказа</h2>
|
||||
</div>
|
||||
<form method="post">
|
||||
<div class="row">
|
||||
<div class="col-4">Изделие:</div>
|
||||
<div class="col-8">
|
||||
<select id="product" name="product" class="form-control" aspitems="@(new SelectList(@ViewBag.Products,"Id", "ProductName"))"></select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-4">Количество:</div>
|
||||
<div class="col-8"><input type="text" name="count" id="count"
|
||||
/></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-4">Сумма:</div>
|
||||
<div class="col-8"><input type="text" id="sum" name="sum" readonly
|
||||
/></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-8"></div>
|
||||
<div class="col-4"><input type="submit" value="Создать" class="btn
|
||||
btn-primary" /></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-4">Путешествие:</div>
|
||||
<div class="col-8">
|
||||
<select id="travel" name="travel" class="form-control" asp-items="@(new SelectList(@ViewBag.Travels,"Id", "TravelName"))"></select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-4">Количество:</div>
|
||||
<div class="col-8"><input type="text" name="count" id="count"/></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-4">Сумма:</div>
|
||||
<div class="col-8"><input type="text" id="sum" name="sum" readonly/></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-8"></div>
|
||||
<div class="col-4"><input type="submit" value="Создать" class="btn btn-primary" /></div>
|
||||
</div>
|
||||
</form>
|
||||
<script>
|
||||
$('#product').on('change', function () {
|
||||
check();
|
||||
});
|
||||
$('#count').on('change', function () {
|
||||
check();
|
||||
});
|
||||
function check() {
|
||||
var count = $('#count').val();
|
||||
var product = $('#product').val();
|
||||
if (count && product) {
|
||||
$.ajax({
|
||||
method: "POST",
|
||||
url: "/Home/Calc",
|
||||
data: { count: count, product: product },
|
||||
success: function (result) {
|
||||
$("#sum").val(result);
|
||||
}
|
||||
});
|
||||
};
|
||||
}
|
||||
$('#travel').on('change', function () {
|
||||
check();
|
||||
});
|
||||
$('#count').on('change', function () {
|
||||
check();
|
||||
});
|
||||
function check() {
|
||||
var count = $('#count').val();
|
||||
var travel = $('#travel').val();
|
||||
if (count && travel) {
|
||||
$.ajax({
|
||||
method: "POST",
|
||||
url: "/Home/Calc",
|
||||
data: { count: count, travel: travel },
|
||||
success: function (result) {
|
||||
$("#sum").val(result);
|
||||
}
|
||||
});
|
||||
};
|
||||
}
|
||||
</script>
|
@ -23,15 +23,16 @@ namespace TravelCompanyDatabaseImplement.Implements
|
||||
}
|
||||
public List<OrderViewModel> GetFilteredList(OrderSearchModel model)
|
||||
{
|
||||
if (!model.Id.HasValue && !model.DateFrom.HasValue && !model.DateTo.HasValue)
|
||||
if (!model.ClientId.HasValue && !model.DateFrom.HasValue && !model.DateTo.HasValue)
|
||||
{
|
||||
return new();
|
||||
}
|
||||
if (!model.DateFrom.HasValue || !model.DateTo.HasValue)
|
||||
if (model.DateFrom.HasValue && model.DateTo.HasValue)
|
||||
{
|
||||
|
||||
using var context = new TravelCompanyDatabase();
|
||||
return context.Orders.Include(x => x.Client)
|
||||
.Where(x => x.Id == model.Id)
|
||||
.Where(x => x.DateCreate >= model.DateFrom && x.DateCreate <= model.DateTo)
|
||||
.Select(x => AccessTravelStorage(x.GetViewModel, context))
|
||||
.ToList();
|
||||
}
|
||||
@ -47,7 +48,7 @@ namespace TravelCompanyDatabaseImplement.Implements
|
||||
{
|
||||
using var context = new TravelCompanyDatabase();
|
||||
return context.Orders.Include(x => x.Client)
|
||||
.Where(x => x.DateCreate >= model.DateFrom && x.DateCreate<=model.DateTo)
|
||||
.Where(x => x.Id == model.Id)
|
||||
.Select(x => AccessTravelStorage(x.GetViewModel, context))
|
||||
.ToList();
|
||||
}
|
||||
@ -59,6 +60,7 @@ namespace TravelCompanyDatabaseImplement.Implements
|
||||
{
|
||||
return new();
|
||||
}
|
||||
|
||||
using var context = new TravelCompanyDatabase();
|
||||
return AccessTravelStorage(context.Orders.Include(x => x.Client)
|
||||
.FirstOrDefault(x => model.Id.HasValue && x.Id == model.Id)
|
||||
|
@ -50,7 +50,6 @@ namespace TravelCompanyDatabaseImplement.Implements
|
||||
using var context = new TravelCompanyDatabase();
|
||||
return context.Travels
|
||||
.Include(x => x.Conditions)
|
||||
.ThenInclude(x => x.Condition)
|
||||
.FirstOrDefault(x => (!string.IsNullOrEmpty(model.TravelName) && x.TravelName == model.TravelName) ||
|
||||
(model.Id.HasValue && x.Id == model.Id))
|
||||
?.GetViewModel;
|
||||
|
@ -34,20 +34,19 @@ namespace AbstractShopRestApi.Controllers
|
||||
}
|
||||
}
|
||||
[HttpGet]
|
||||
public TravelViewModel? GetTravel(int productId)
|
||||
public TravelViewModel? GetTravel(int travelId)
|
||||
{
|
||||
try
|
||||
{
|
||||
return _product.ReadElement(new TravelSearchModel
|
||||
{
|
||||
Id =
|
||||
productId
|
||||
Id = travelId
|
||||
});
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogError(ex, "Ошибка получения продукта по id={Id}",
|
||||
productId);
|
||||
travelId);
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user