add functions: AddProduct, AgentEidtor, ProductEditor
This commit is contained in:
parent
18a2fd7bc3
commit
f314e84939
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -3,24 +3,8 @@
|
||||
"WorkspaceRootPath": "C:\\Users\\VivoBook 15X\\Desktop\\Task21_03\\Agents\\",
|
||||
"Documents": [
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{1AA52C8A-C24C-4BD8-BEB3-14407C2D8866}|Agents.csproj|c:\\users\\vivobook 15x\\desktop\\task21_03\\agents\\mainwindow.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}",
|
||||
"RelativeMoniker": "D:0:0:{1AA52C8A-C24C-4BD8-BEB3-14407C2D8866}|Agents.csproj|solutionrelative:mainwindow.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{1AA52C8A-C24C-4BD8-BEB3-14407C2D8866}|Agents.csproj|c:\\users\\vivobook 15x\\desktop\\task21_03\\agents\\mainwindow.axaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{1AA52C8A-C24C-4BD8-BEB3-14407C2D8866}|Agents.csproj|solutionrelative:mainwindow.axaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{1AA52C8A-C24C-4BD8-BEB3-14407C2D8866}|Agents.csproj|c:\\users\\vivobook 15x\\desktop\\task21_03\\agents\\models\\product.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{1AA52C8A-C24C-4BD8-BEB3-14407C2D8866}|Agents.csproj|solutionrelative:models\\product.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{1AA52C8A-C24C-4BD8-BEB3-14407C2D8866}|Agents.csproj|c:\\users\\vivobook 15x\\desktop\\task21_03\\agents\\models\\productsale.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{1AA52C8A-C24C-4BD8-BEB3-14407C2D8866}|Agents.csproj|solutionrelative:models\\productsale.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{1AA52C8A-C24C-4BD8-BEB3-14407C2D8866}|Agents.csproj|c:\\users\\vivobook 15x\\desktop\\task21_03\\agents\\models\\agent.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{1AA52C8A-C24C-4BD8-BEB3-14407C2D8866}|Agents.csproj|solutionrelative:models\\agent.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
"AbsoluteMoniker": "D:0:0:{1AA52C8A-C24C-4BD8-BEB3-14407C2D8866}|Agents.csproj|c:\\users\\vivobook 15x\\desktop\\task21_03\\agents\\functions\\addproduct.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}",
|
||||
"RelativeMoniker": "D:0:0:{1AA52C8A-C24C-4BD8-BEB3-14407C2D8866}|Agents.csproj|solutionrelative:functions\\addproduct.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}"
|
||||
}
|
||||
],
|
||||
"DocumentGroupContainers": [
|
||||
@ -30,74 +14,22 @@
|
||||
"DocumentGroups": [
|
||||
{
|
||||
"DockedWidth": 200,
|
||||
"SelectedChildIndex": 5,
|
||||
"SelectedChildIndex": 1,
|
||||
"Children": [
|
||||
{
|
||||
"$type": "Bookmark",
|
||||
"Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 3,
|
||||
"Title": "Productsale.cs",
|
||||
"DocumentMoniker": "C:\\Users\\VivoBook 15X\\Desktop\\Task21_03\\Agents\\Models\\Productsale.cs",
|
||||
"RelativeDocumentMoniker": "Models\\Productsale.cs",
|
||||
"ToolTip": "C:\\Users\\VivoBook 15X\\Desktop\\Task21_03\\Agents\\Models\\Productsale.cs",
|
||||
"RelativeToolTip": "Models\\Productsale.cs",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAA0AAAAcAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-03-24T07:39:36.75Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 2,
|
||||
"Title": "Product.cs",
|
||||
"DocumentMoniker": "C:\\Users\\VivoBook 15X\\Desktop\\Task21_03\\Agents\\Models\\Product.cs",
|
||||
"RelativeDocumentMoniker": "Models\\Product.cs",
|
||||
"ToolTip": "C:\\Users\\VivoBook 15X\\Desktop\\Task21_03\\Agents\\Models\\Product.cs",
|
||||
"RelativeToolTip": "Models\\Product.cs",
|
||||
"ViewState": "AgIAAAMAAAAAAAAAAAAgwA0AAAAfAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-03-24T07:18:40.508Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 4,
|
||||
"Title": "Agent.cs",
|
||||
"DocumentMoniker": "C:\\Users\\VivoBook 15X\\Desktop\\Task21_03\\Agents\\Models\\Agent.cs",
|
||||
"RelativeDocumentMoniker": "Models\\Agent.cs",
|
||||
"ToolTip": "C:\\Users\\VivoBook 15X\\Desktop\\Task21_03\\Agents\\Models\\Agent.cs",
|
||||
"RelativeToolTip": "Models\\Agent.cs",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAUAAAAaAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-03-24T06:30:30.068Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 1,
|
||||
"Title": "MainWindow.axaml.cs",
|
||||
"DocumentMoniker": "C:\\Users\\VivoBook 15X\\Desktop\\Task21_03\\Agents\\MainWindow.axaml.cs",
|
||||
"RelativeDocumentMoniker": "MainWindow.axaml.cs",
|
||||
"ToolTip": "C:\\Users\\VivoBook 15X\\Desktop\\Task21_03\\Agents\\MainWindow.axaml.cs",
|
||||
"RelativeToolTip": "MainWindow.axaml.cs",
|
||||
"ViewState": "AgIAACQAAAAAAAAAAAAcwDAAAAAhAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-03-24T06:24:34.479Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 0,
|
||||
"Title": "MainWindow.axaml",
|
||||
"DocumentMoniker": "C:\\Users\\VivoBook 15X\\Desktop\\Task21_03\\Agents\\MainWindow.axaml",
|
||||
"RelativeDocumentMoniker": "MainWindow.axaml",
|
||||
"ToolTip": "C:\\Users\\VivoBook 15X\\Desktop\\Task21_03\\Agents\\MainWindow.axaml",
|
||||
"RelativeToolTip": "MainWindow.axaml",
|
||||
"Title": "AddProduct.axaml",
|
||||
"DocumentMoniker": "C:\\Users\\VivoBook 15X\\Desktop\\Task21_03\\Agents\\Functions\\AddProduct.axaml",
|
||||
"RelativeDocumentMoniker": "Functions\\AddProduct.axaml",
|
||||
"ToolTip": "C:\\Users\\VivoBook 15X\\Desktop\\Task21_03\\Agents\\Functions\\AddProduct.axaml",
|
||||
"RelativeToolTip": "Functions\\AddProduct.axaml",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
|
||||
"WhenOpened": "2025-03-24T06:24:32.359Z",
|
||||
"WhenOpened": "2025-03-25T20:22:51.155Z",
|
||||
"EditorCaption": ""
|
||||
}
|
||||
]
|
||||
|
@ -3,24 +3,8 @@
|
||||
"WorkspaceRootPath": "C:\\Users\\VivoBook 15X\\Desktop\\Task21_03\\Agents\\",
|
||||
"Documents": [
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{1AA52C8A-C24C-4BD8-BEB3-14407C2D8866}|Agents.csproj|c:\\users\\vivobook 15x\\desktop\\task21_03\\agents\\mainwindow.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}",
|
||||
"RelativeMoniker": "D:0:0:{1AA52C8A-C24C-4BD8-BEB3-14407C2D8866}|Agents.csproj|solutionrelative:mainwindow.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{1AA52C8A-C24C-4BD8-BEB3-14407C2D8866}|Agents.csproj|c:\\users\\vivobook 15x\\desktop\\task21_03\\agents\\mainwindow.axaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{1AA52C8A-C24C-4BD8-BEB3-14407C2D8866}|Agents.csproj|solutionrelative:mainwindow.axaml.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{1AA52C8A-C24C-4BD8-BEB3-14407C2D8866}|Agents.csproj|c:\\users\\vivobook 15x\\desktop\\task21_03\\agents\\models\\product.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{1AA52C8A-C24C-4BD8-BEB3-14407C2D8866}|Agents.csproj|solutionrelative:models\\product.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{1AA52C8A-C24C-4BD8-BEB3-14407C2D8866}|Agents.csproj|c:\\users\\vivobook 15x\\desktop\\task21_03\\agents\\models\\productsale.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{1AA52C8A-C24C-4BD8-BEB3-14407C2D8866}|Agents.csproj|solutionrelative:models\\productsale.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{1AA52C8A-C24C-4BD8-BEB3-14407C2D8866}|Agents.csproj|c:\\users\\vivobook 15x\\desktop\\task21_03\\agents\\models\\agent.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{1AA52C8A-C24C-4BD8-BEB3-14407C2D8866}|Agents.csproj|solutionrelative:models\\agent.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
"AbsoluteMoniker": "D:0:0:{1AA52C8A-C24C-4BD8-BEB3-14407C2D8866}|Agents.csproj|c:\\users\\vivobook 15x\\desktop\\task21_03\\agents\\functions\\addproduct.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}",
|
||||
"RelativeMoniker": "D:0:0:{1AA52C8A-C24C-4BD8-BEB3-14407C2D8866}|Agents.csproj|solutionrelative:functions\\addproduct.axaml||{6D5344A2-2FCD-49DE-A09D-6A14FD1B1224}"
|
||||
}
|
||||
],
|
||||
"DocumentGroupContainers": [
|
||||
@ -30,74 +14,22 @@
|
||||
"DocumentGroups": [
|
||||
{
|
||||
"DockedWidth": 200,
|
||||
"SelectedChildIndex": 5,
|
||||
"SelectedChildIndex": 1,
|
||||
"Children": [
|
||||
{
|
||||
"$type": "Bookmark",
|
||||
"Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 3,
|
||||
"Title": "Productsale.cs",
|
||||
"DocumentMoniker": "C:\\Users\\VivoBook 15X\\Desktop\\Task21_03\\Agents\\Models\\Productsale.cs",
|
||||
"RelativeDocumentMoniker": "Models\\Productsale.cs",
|
||||
"ToolTip": "C:\\Users\\VivoBook 15X\\Desktop\\Task21_03\\Agents\\Models\\Productsale.cs",
|
||||
"RelativeToolTip": "Models\\Productsale.cs",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAA0AAAAcAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-03-24T07:39:36.75Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 2,
|
||||
"Title": "Product.cs",
|
||||
"DocumentMoniker": "C:\\Users\\VivoBook 15X\\Desktop\\Task21_03\\Agents\\Models\\Product.cs",
|
||||
"RelativeDocumentMoniker": "Models\\Product.cs",
|
||||
"ToolTip": "C:\\Users\\VivoBook 15X\\Desktop\\Task21_03\\Agents\\Models\\Product.cs",
|
||||
"RelativeToolTip": "Models\\Product.cs",
|
||||
"ViewState": "AgIAAAMAAAAAAAAAAAAgwA0AAAAfAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-03-24T07:18:40.508Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 4,
|
||||
"Title": "Agent.cs",
|
||||
"DocumentMoniker": "C:\\Users\\VivoBook 15X\\Desktop\\Task21_03\\Agents\\Models\\Agent.cs",
|
||||
"RelativeDocumentMoniker": "Models\\Agent.cs",
|
||||
"ToolTip": "C:\\Users\\VivoBook 15X\\Desktop\\Task21_03\\Agents\\Models\\Agent.cs",
|
||||
"RelativeToolTip": "Models\\Agent.cs",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAUAAAAaAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-03-24T06:30:30.068Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 1,
|
||||
"Title": "MainWindow.axaml.cs",
|
||||
"DocumentMoniker": "C:\\Users\\VivoBook 15X\\Desktop\\Task21_03\\Agents\\MainWindow.axaml.cs",
|
||||
"RelativeDocumentMoniker": "MainWindow.axaml.cs",
|
||||
"ToolTip": "C:\\Users\\VivoBook 15X\\Desktop\\Task21_03\\Agents\\MainWindow.axaml.cs",
|
||||
"RelativeToolTip": "MainWindow.axaml.cs",
|
||||
"ViewState": "AgIAACQAAAAAAAAAAAAcwDAAAAAhAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-03-24T06:24:34.479Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 0,
|
||||
"Title": "MainWindow.axaml",
|
||||
"DocumentMoniker": "C:\\Users\\VivoBook 15X\\Desktop\\Task21_03\\Agents\\MainWindow.axaml",
|
||||
"RelativeDocumentMoniker": "MainWindow.axaml",
|
||||
"ToolTip": "C:\\Users\\VivoBook 15X\\Desktop\\Task21_03\\Agents\\MainWindow.axaml",
|
||||
"RelativeToolTip": "MainWindow.axaml",
|
||||
"Title": "AddProduct.axaml",
|
||||
"DocumentMoniker": "C:\\Users\\VivoBook 15X\\Desktop\\Task21_03\\Agents\\Functions\\AddProduct.axaml",
|
||||
"RelativeDocumentMoniker": "Functions\\AddProduct.axaml",
|
||||
"ToolTip": "C:\\Users\\VivoBook 15X\\Desktop\\Task21_03\\Agents\\Functions\\AddProduct.axaml",
|
||||
"RelativeToolTip": "Functions\\AddProduct.axaml",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003549|",
|
||||
"WhenOpened": "2025-03-24T06:24:32.359Z",
|
||||
"WhenOpened": "2025-03-25T20:22:51.155Z",
|
||||
"EditorCaption": ""
|
||||
}
|
||||
]
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -25,8 +25,4 @@
|
||||
</PackageReference>
|
||||
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="8.0.10" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="Functions\" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
121
Functions/AddProduct.axaml
Normal file
121
Functions/AddProduct.axaml
Normal file
@ -0,0 +1,121 @@
|
||||
<Window xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="600"
|
||||
x:Class="Agents.AddProduct"
|
||||
Title="Добавление и удаление продукта"
|
||||
xmlns:vm="using:Agents.Models">
|
||||
<DockPanel Background="Blue">
|
||||
<ScrollViewer>
|
||||
<StackPanel>
|
||||
<StackPanel HorizontalAlignment="Center">
|
||||
<Border
|
||||
Background="Red"
|
||||
CornerRadius="10"
|
||||
Padding="20"
|
||||
Margin="20"
|
||||
Width="750"
|
||||
Height="300"
|
||||
>
|
||||
<ScrollViewer>
|
||||
<StackPanel>
|
||||
<TextBlock Text="Список продуктов" HorizontalAlignment="Center" Foreground="Blue"/>
|
||||
<ListBox Name="ListProducts">
|
||||
<ListBox.ItemTemplate>
|
||||
<DataTemplate x:DataType="vm:Product">
|
||||
<StackPanel>
|
||||
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Text="Название продукта: "/>
|
||||
<TextBlock Text="{Binding Title}"/>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Text="Описание товара: "/>
|
||||
<TextBlock Text="{Binding Description}"/>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Text="Название продукта: "/>
|
||||
<TextBlock Text="{Binding Productionpersoncount}"/>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Text="Артикул: "/>
|
||||
<TextBlock Text="{Binding Articlenumber}"/>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Text="Минимальная цена для агента: "/>
|
||||
<TextBlock Text="{Binding Mincostforagent}"/>
|
||||
<TextBlock Text=" Руб."/>
|
||||
</StackPanel>
|
||||
|
||||
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</ListBox.ItemTemplate>
|
||||
</ListBox>
|
||||
</StackPanel>
|
||||
</ScrollViewer>
|
||||
</Border>
|
||||
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Spacing="15" HorizontalAlignment="Center" Orientation="Horizontal">
|
||||
|
||||
<StackPanel>
|
||||
<TextBlock Text="Введите Название"/>
|
||||
<TextBox Width="200" x:Name="TextNewTitle" Text=""/>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel>
|
||||
<TextBlock Text="Введите новый Артикул"/>
|
||||
<TextBox Width="200" x:Name="TextNewArticlenumber" Text=""/>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel>
|
||||
<TextBlock Text="Введите минимальную цену (в рублях)"/>
|
||||
<NumericUpDown Value="" Width="150" Minimum="0" Name="TextNewMincostforagent"/>
|
||||
</StackPanel>
|
||||
|
||||
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Spacing="15" HorizontalAlignment="Center" Orientation="Horizontal">
|
||||
|
||||
<StackPanel HorizontalAlignment="Center">
|
||||
|
||||
|
||||
<StackPanel>
|
||||
|
||||
<TextBlock Text="Выберите тип продукта" HorizontalAlignment="Center"/>
|
||||
<ComboBox Name="ListProductType" HorizontalAlignment="Center" Width="200">
|
||||
<ComboBox.ItemTemplate>
|
||||
<DataTemplate x:DataType="vm:Producttype">
|
||||
<TextBlock Text="{Binding Title}"/>
|
||||
</DataTemplate>
|
||||
</ComboBox.ItemTemplate>
|
||||
</ComboBox>
|
||||
</StackPanel>
|
||||
|
||||
</StackPanel>
|
||||
|
||||
|
||||
|
||||
<StackPanel HorizontalAlignment="Center">
|
||||
<TextBlock Text="Введите количество"/>
|
||||
<NumericUpDown Value="" Width="150" Minimum="0" Name="TextNewCount"/>
|
||||
</StackPanel>
|
||||
|
||||
</StackPanel>
|
||||
|
||||
<Button Content="Добавить" Click="Addproduct" Background="Green" HorizontalAlignment="Center"/>
|
||||
<Button Content="Удалить" Click="DeleteProduct" Background="Red" Foreground="White" HorizontalAlignment="Center"/>
|
||||
<Button Content="Назад" Click="Exit" Background="Green" HorizontalAlignment="Center"/>
|
||||
<TextBlock Name="Status" Text="" HorizontalAlignment="Center"/>
|
||||
</StackPanel>
|
||||
</ScrollViewer>
|
||||
</DockPanel>
|
||||
</Window>
|
124
Functions/AddProduct.axaml.cs
Normal file
124
Functions/AddProduct.axaml.cs
Normal file
@ -0,0 +1,124 @@
|
||||
using Agents.Models;
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Interactivity;
|
||||
using Avalonia.Markup.Xaml;
|
||||
using Avalonia.Media;
|
||||
using System;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Linq;
|
||||
|
||||
namespace Agents;
|
||||
|
||||
public partial class AddProduct : Window
|
||||
{
|
||||
static User11Context db = new User11Context();
|
||||
ObservableCollection<Product> ProductsitemSource = new ObservableCollection<Product>(db.Products.OrderByDescending(it=>it.Id));
|
||||
ObservableCollection<Producttype> ProducttypesitemSource = new ObservableCollection<Producttype>(db.Producttypes);
|
||||
public AddProduct()
|
||||
{
|
||||
InitializeComponent();
|
||||
ListProducts.ItemsSource = ProductsitemSource;
|
||||
ListProductType.ItemsSource = ProducttypesitemSource;
|
||||
}
|
||||
void Addproduct(object sender, RoutedEventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
float? i = float.Parse(TextNewCount.Text);
|
||||
int? count = Convert.ToInt32(i);
|
||||
|
||||
|
||||
decimal? min = Convert.ToDecimal(TextNewMincostforagent.Text);
|
||||
|
||||
Producttype? t = db.Producttypes.Where(it => it == ListProductType.SelectedItem).FirstOrDefault();
|
||||
if(t != null)
|
||||
{
|
||||
if (TextNewTitle.Text != "" && TextNewArticlenumber.Text != "" && count != null && min != null)
|
||||
{
|
||||
if (TextNewArticlenumber.Text != "")
|
||||
{
|
||||
if (count != null)
|
||||
{
|
||||
if (min != null)
|
||||
{
|
||||
Product product = new Product()
|
||||
{
|
||||
Title = TextNewTitle.Text,
|
||||
Producttypeid = t.Id,
|
||||
Articlenumber = TextNewArticlenumber.Text,
|
||||
Productionpersoncount = count,
|
||||
Mincostforagent = (decimal)min,
|
||||
|
||||
};
|
||||
db.Products.Add(product);
|
||||
db.SaveChanges();
|
||||
|
||||
Update();
|
||||
|
||||
Status.Foreground = Brushes.Green;
|
||||
Status.Text = "Ïðîäóêò äîáàâëåí";
|
||||
}
|
||||
else
|
||||
{
|
||||
Status.Foreground = Brushes.Red;
|
||||
Status.Text = "Ââåäèòå öåíó";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Status.Foreground = Brushes.Red;
|
||||
Status.Text = "Ââåäèòå êîëè÷åñòâî";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Status.Foreground = Brushes.Red;
|
||||
Status.Text = "Ââåäèòå Àðòèêóë";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Status.Foreground = Brushes.Red;
|
||||
Status.Text = "Íóæíî äîáàâèòü âñå äàííûå";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Status.Foreground = Brushes.Red;
|
||||
Status.Text = "Âûáåðèòå òèï ïðîäóêòà";
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
Status.Foreground = Brushes.Red;
|
||||
Status.Text = "ïðîèçîøëà îøèáêà";
|
||||
}
|
||||
}
|
||||
|
||||
void DeleteProduct(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (ListProducts.SelectedItem != null)
|
||||
{
|
||||
Product product = db.Products.Where(it => it == ListProducts.SelectedItem).FirstOrDefault();
|
||||
db.Products.Remove(product);
|
||||
db.SaveChanges();
|
||||
|
||||
Update();
|
||||
|
||||
Status.Foreground = Brushes.Green;
|
||||
Status.Text = "Ïðîäóêò óäàë¸í";
|
||||
}
|
||||
}
|
||||
|
||||
void Update()
|
||||
{
|
||||
ProductsitemSource = new ObservableCollection<Product>(db.Products.OrderByDescending(it => it.Id));
|
||||
ListProducts.ItemsSource = ProductsitemSource;
|
||||
}
|
||||
void Exit(object sender, RoutedEventArgs e)
|
||||
{
|
||||
new MainWindow().Show();
|
||||
Close();
|
||||
}
|
||||
}
|
77
Functions/AgentEidtor.axaml
Normal file
77
Functions/AgentEidtor.axaml
Normal file
@ -0,0 +1,77 @@
|
||||
<Window xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Agents.AgentEidtor"
|
||||
Title="Изменить агента"
|
||||
xmlns:vm="using:Agents.Models">
|
||||
|
||||
<DockPanel Background="Blue">
|
||||
<ScrollViewer>
|
||||
|
||||
<StackPanel Spacing="15">
|
||||
|
||||
<StackPanel HorizontalAlignment="Center">
|
||||
<TextBlock Text="Выберите клиента для изменения"/>
|
||||
<ComboBox Name="ListAgents" HorizontalAlignment="Center" Width="300" SelectionChanged="ComboBox_SelectionChanged">
|
||||
<ComboBox.ItemTemplate>
|
||||
<DataTemplate x:DataType="vm:Agent">
|
||||
<TextBlock Text="{Binding Title}"/>
|
||||
</DataTemplate>
|
||||
</ComboBox.ItemTemplate>
|
||||
</ComboBox>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Spacing="15" HorizontalAlignment="Center" Orientation="Horizontal">
|
||||
|
||||
<StackPanel Orientation="Vertical">
|
||||
<TextBlock Text="Введите новый приоритет"/>
|
||||
<NumericUpDown Value="" Width="150" Minimum="0" Name="TextNewPriority"/>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Orientation="Vertical">
|
||||
<TextBlock Text="Введите новый ИНН"/>
|
||||
<TextBox Width="300" x:Name="TextNewInn" Text=""/>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Orientation="Vertical">
|
||||
<TextBlock Text="Введите новый КПП"/>
|
||||
<TextBox Width="300" x:Name="TextNewKPP" Text=""/>
|
||||
</StackPanel>
|
||||
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Spacing="15" HorizontalAlignment="Center" Orientation="Horizontal">
|
||||
|
||||
<StackPanel Orientation="Vertical">
|
||||
<TextBlock Text="Введите новый адрес"/>
|
||||
<TextBox Width="300" Height="90" x:Name="TextNewAddress" TextWrapping="Wrap" Text=""/>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Orientation="Vertical">
|
||||
<TextBlock Text="Введите новое имя директора"/>
|
||||
<TextBox Width="300" x:Name="TextNewDirectorname" Text=""/>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Orientation="Vertical">
|
||||
<TextBlock Text="Введите новую почту"/>
|
||||
<TextBox Width="300" x:Name="TextNewEmail" Text=""/>
|
||||
</StackPanel>
|
||||
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel>
|
||||
<Button Content="Изменить данные" Click="ButtonUpdate" HorizontalAlignment="Center" Background="Green"/>
|
||||
<Button Content="Назад" Click="Exit" HorizontalAlignment="Center" Background="Green"/>
|
||||
</StackPanel>
|
||||
|
||||
|
||||
<TextBlock Name="Status" Text="" HorizontalAlignment="Center"/>
|
||||
|
||||
</StackPanel>
|
||||
|
||||
</ScrollViewer>
|
||||
</DockPanel>
|
||||
|
||||
</Window>
|
73
Functions/AgentEidtor.axaml.cs
Normal file
73
Functions/AgentEidtor.axaml.cs
Normal file
@ -0,0 +1,73 @@
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Media.Imaging;
|
||||
using Avalonia.Platform;
|
||||
using System.Reflection;
|
||||
using System;
|
||||
using Agents.Models;
|
||||
using System.Collections.ObjectModel;
|
||||
using Avalonia.Interactivity;
|
||||
using System.Linq;
|
||||
using System.Runtime.ExceptionServices;
|
||||
using Avalonia.Media;
|
||||
|
||||
namespace Agents;
|
||||
|
||||
public partial class AgentEidtor : Window
|
||||
{
|
||||
static User11Context db = new User11Context();
|
||||
ObservableCollection<Agent> AgentsitemSource = new ObservableCollection<Agent>(db.Agents.OrderBy(it => it.Title));
|
||||
public AgentEidtor()
|
||||
{
|
||||
InitializeComponent();
|
||||
ListAgents.ItemsSource = AgentsitemSource;
|
||||
}
|
||||
|
||||
private void ComboBox_SelectionChanged(object? sender, Avalonia.Controls.SelectionChangedEventArgs e)
|
||||
{
|
||||
if (sender != null)
|
||||
{
|
||||
Agent agent = db.Agents.Where(it => it == ListAgents.SelectedItem).FirstOrDefault();
|
||||
TextNewPriority.Text = agent.Priority.ToString();
|
||||
TextNewInn.Text = agent.Inn;
|
||||
TextNewKPP.Text = agent.Kpp;
|
||||
TextNewAddress.Text = agent.Address;
|
||||
TextNewDirectorname.Text = agent.Directorname;
|
||||
TextNewEmail.Text = agent.Email;
|
||||
}
|
||||
}
|
||||
|
||||
private void ButtonUpdate(object sender, RoutedEventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
Agent agent = db.Agents.Where(it => it == ListAgents.SelectedItem).First();
|
||||
|
||||
float a = float.Parse(TextNewPriority.Text);
|
||||
agent.Priority = Convert.ToInt32(a);
|
||||
|
||||
agent.Inn = TextNewInn.Text;
|
||||
agent.Kpp = TextNewKPP.Text;
|
||||
agent.Directorname = TextNewDirectorname.Text;
|
||||
agent.Address = TextNewAddress.Text;
|
||||
agent.Email = TextNewEmail.Text;
|
||||
|
||||
db.SaveChanges();
|
||||
|
||||
Status.Foreground = Brushes.Green;
|
||||
Status.Text = "Äàííûå ïîëüçîâàòåëÿ èçìåíåíû";
|
||||
}
|
||||
catch
|
||||
{
|
||||
Status.Foreground = Brushes.Red;
|
||||
Status.Text = "Ïðîèçîøëà îøèáêà";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void Exit(object sender, RoutedEventArgs e)
|
||||
{
|
||||
new MainWindow().Show();
|
||||
Close();
|
||||
}
|
||||
}
|
51
Functions/ProductEditor.axaml
Normal file
51
Functions/ProductEditor.axaml
Normal file
@ -0,0 +1,51 @@
|
||||
<Window xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Agents.ProductEditor"
|
||||
Title="ProductEditor"
|
||||
xmlns:vm="using:Agents.Models">
|
||||
<DockPanel>
|
||||
<StackPanel Spacing="15">
|
||||
|
||||
<StackPanel>
|
||||
<TextBlock Text="Выберите Продукт" HorizontalAlignment="Center"/>
|
||||
<ComboBox HorizontalAlignment="Center" Name="ListProducts" Width="400" SelectionChanged="ComboBox_SelectionChanged">
|
||||
<ComboBox.ItemTemplate>
|
||||
<DataTemplate x:DataType="vm:Product">
|
||||
<TextBlock Text="{Binding Title}"/>
|
||||
</DataTemplate>
|
||||
</ComboBox.ItemTemplate>
|
||||
</ComboBox>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Spacing="15" HorizontalAlignment="Center" Orientation="Horizontal">
|
||||
|
||||
<StackPanel Orientation="Vertical">
|
||||
<TextBlock Text="Введите количество продукта"/>
|
||||
<NumericUpDown Value="" Width="150" Minimum="0" Name="TextNewProductionpersoncount"/>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Orientation="Vertical">
|
||||
<TextBlock Text="Введите новый Артикул"/>
|
||||
<TextBox Width="200" x:Name="TextNewArticlenumber" Text=""/>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Orientation="Vertical">
|
||||
<TextBlock Text="Введите минимальную цену для агента (в рублях)"/>
|
||||
<NumericUpDown Value="" Width="150" Minimum="0" Name="TextNewMincostforagent"/>
|
||||
</StackPanel>
|
||||
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel>
|
||||
<Button Content="Изменить данные" Click="ButtonUpdate" HorizontalAlignment="Center"/>
|
||||
<Button Content="Назад" Click="Exit" HorizontalAlignment="Center"/>
|
||||
</StackPanel>
|
||||
|
||||
<TextBlock Name="Status" Text="" HorizontalAlignment="Center"/>
|
||||
|
||||
</StackPanel>
|
||||
</DockPanel>
|
||||
</Window>
|
61
Functions/ProductEditor.axaml.cs
Normal file
61
Functions/ProductEditor.axaml.cs
Normal file
@ -0,0 +1,61 @@
|
||||
using Agents.Models;
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Interactivity;
|
||||
using Avalonia.Markup.Xaml;
|
||||
using Avalonia.Media;
|
||||
using System;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Linq;
|
||||
|
||||
namespace Agents;
|
||||
|
||||
public partial class ProductEditor : Window
|
||||
{
|
||||
static User11Context db = new User11Context();
|
||||
ObservableCollection<Product> products = new ObservableCollection<Product>(db.Products);
|
||||
public ProductEditor()
|
||||
{
|
||||
InitializeComponent();
|
||||
ListProducts.ItemsSource = products;
|
||||
}
|
||||
private void ComboBox_SelectionChanged(object? sender, Avalonia.Controls.SelectionChangedEventArgs e)
|
||||
{
|
||||
Product product = db.Products.Where(it=>it == ListProducts.SelectedItem).FirstOrDefault();
|
||||
TextNewProductionpersoncount.Text = product.Productionpersoncount.ToString();
|
||||
TextNewArticlenumber.Text = product.Articlenumber.ToString();
|
||||
TextNewMincostforagent.Text = product.Mincostforagent.ToString();
|
||||
}
|
||||
|
||||
private void ButtonUpdate(object sender, RoutedEventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
Product product = db.Products.Where(it => it == ListProducts.SelectedItem).First();
|
||||
|
||||
float a = float.Parse(TextNewProductionpersoncount.Text);
|
||||
product.Productionpersoncount = Convert.ToInt32(a);
|
||||
|
||||
product.Articlenumber = TextNewArticlenumber.Text;
|
||||
|
||||
float i = float.Parse(TextNewMincostforagent.Text);
|
||||
product.Mincostforagent = Convert.ToInt32(i);
|
||||
db.SaveChanges();
|
||||
|
||||
Status.Foreground = Brushes.Green;
|
||||
Status.Text = "Äàííûå ïðîäóêòà èçìåíåíû";
|
||||
}
|
||||
catch
|
||||
{
|
||||
Status.Foreground = Brushes.Red;
|
||||
Status.Text = "Ïðîèçîøëà îøèáêà";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void Exit(object sender, RoutedEventArgs e)
|
||||
{
|
||||
new MainWindow().Show();
|
||||
Close();
|
||||
}
|
||||
}
|
@ -134,11 +134,13 @@
|
||||
Margin="20"
|
||||
Height="80"
|
||||
>
|
||||
<StackPanel>
|
||||
<StackPanel HorizontalAlignment="Center">
|
||||
<TextBlock Text="Доступные функции" HorizontalAlignment="Center" Foreground="Blue"/>
|
||||
<StackPanel Orientation="Horizontal" Background="Red" HorizontalAlignment="Center">
|
||||
<Button Content="Обновить список продуктов" Click="ButtonUpdate" Background="Green"/>
|
||||
<Button Content="Редактированть данные" Click="" Background="Green"/>
|
||||
<Button Content="Обновить продукт" Click="ButtonProductEidtor" Background="Green"/>
|
||||
<Button Content="Изменить агентов" Click="ButtonAgentEidtor" Background="Green"/>
|
||||
<Button Content="Добавление и удаление продукта" Click="ButtonAddProduct" Background="Green"/>
|
||||
<Button Content="Редактированть данные продуктов" Click="ButtonProductEidtor" Background="Green"/>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</Border>
|
||||
|
@ -25,8 +25,7 @@ namespace Agents
|
||||
{
|
||||
if(sender != null)
|
||||
{
|
||||
using (User11Context db = new User11Context())
|
||||
{
|
||||
|
||||
try
|
||||
{
|
||||
UpdateInfo();
|
||||
@ -35,7 +34,7 @@ namespace Agents
|
||||
{
|
||||
ExceptionDispatchInfo.Capture(ex).Throw();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
private void ListBox_SelectionChanged1(object? sender, Avalonia.Controls.SelectionChangedEventArgs e)
|
||||
@ -53,10 +52,10 @@ namespace Agents
|
||||
|
||||
private void UpdateInfo()
|
||||
{
|
||||
Agent agent = db.Agents.Where(it => it == ListAgents.SelectedItem).FirstOrDefault();
|
||||
Productsale? PS = db.Productsales.Where(it => it.Agentid == agent.Id).FirstOrDefault();
|
||||
if (PS != null)
|
||||
Agent? agent = db.Agents.Where(it => it == ListAgents.SelectedItem).FirstOrDefault();
|
||||
if (agent != null)
|
||||
{
|
||||
Productsale? PS = db.Productsales.Where(it => it.Agentid == agent.Id).FirstOrDefault();
|
||||
var prods = db.Productsales
|
||||
.Where(PWS => PWS.Agentid == agent.Id)
|
||||
.Select(PWS => new Product
|
||||
@ -81,5 +80,22 @@ namespace Agents
|
||||
ListProducts.ItemsSource = new ObservableCollection<Product>(prods);
|
||||
}
|
||||
}
|
||||
private void ButtonAgentEidtor(object sender, RoutedEventArgs e)
|
||||
{
|
||||
new AgentEidtor().Show();
|
||||
Close();
|
||||
}
|
||||
private void ButtonProductEidtor(object sender, RoutedEventArgs e)
|
||||
{
|
||||
new ProductEditor().Show();
|
||||
Close();
|
||||
}
|
||||
|
||||
private void ButtonAddProduct(object sender, RoutedEventArgs e)
|
||||
{
|
||||
new AddProduct().Show();
|
||||
Close();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -14,7 +14,7 @@ using System.Reflection;
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("Agents")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+18a2fd7bc37cf902fa084ca75d9b11bc046836b6")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("Agents")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("Agents")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
@ -1 +1 @@
|
||||
49b7bb7a45c8f76bcb00f3dde7736a990df1fa7f8dccd1478c97c85435bf6700
|
||||
b9c09ae530f91552353b8e651705dc9b1ec333a7de7dd684b4a3e2132a51a386
|
||||
|
@ -24,5 +24,14 @@ build_property.EnableCodeStyleSeverity =
|
||||
[C:/Users/VivoBook 15X/Desktop/Task21_03/Agents/App.axaml]
|
||||
build_metadata.AdditionalFiles.SourceItemGroup = AvaloniaXaml
|
||||
|
||||
[C:/Users/VivoBook 15X/Desktop/Task21_03/Agents/Functions/AddProduct.axaml]
|
||||
build_metadata.AdditionalFiles.SourceItemGroup = AvaloniaXaml
|
||||
|
||||
[C:/Users/VivoBook 15X/Desktop/Task21_03/Agents/Functions/AgentEidtor.axaml]
|
||||
build_metadata.AdditionalFiles.SourceItemGroup = AvaloniaXaml
|
||||
|
||||
[C:/Users/VivoBook 15X/Desktop/Task21_03/Agents/Functions/ProductEditor.axaml]
|
||||
build_metadata.AdditionalFiles.SourceItemGroup = AvaloniaXaml
|
||||
|
||||
[C:/Users/VivoBook 15X/Desktop/Task21_03/Agents/MainWindow.axaml]
|
||||
build_metadata.AdditionalFiles.SourceItemGroup = AvaloniaXaml
|
||||
|
@ -1 +1 @@
|
||||
464ac82623e4b9e05843eb98aedb09dd6babfe26ebf9c613e4e8c31f52746fee
|
||||
291fde3fd23923f8bcf8b73c387a7e6152f5ad6f6bade5fec7a8c02a30a13f72
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1 +1 @@
|
||||
52101edfc7686cbd8f0c2993fb23a494a97b9211833fbf2a416c552f1624b79e
|
||||
cdb2d27bf7fe9c7d1d6b3a43ac185a1f4cee0196d1cda531d59b718a7c0544a9
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue
Block a user