Диплом: Автоматизация учёта арендованных средств на примере "KR PROPERTIES"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
<DataGridTextColumn Header="Код" Binding="{Binding Id}"/>
<DataGridTextColumn Header="ФИО" Binding="{Binding FIO}"/>
<DataGridTextColumn Header="Пасспорт" Binding="{Binding Passport}"/>
<DataGridTextColumn Header="Датарождения" Binding="{Binding BirthDay}"/>
</DataGrid.Columns>
</DataGrid>
<Button Click="ButtonNewContract_Click" Content="Добавтьновыйконтракт" Grid.Row="1"
Margin="5" Padding="5"/>
</Grid>
</TabItem>
</TabControl>
</Grid>
</Window>
Приложение 2
View модуля Documents
<Windowx:Class="Diplom.Documents"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
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"
xmlns:local="clr-namespace:Diplom"
mc:Ignorable="d"
Title="Documents" Height="450" Width="800">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<DataGrid Grid.Row="0"
IsReadOnly="True"
Margin="5 5 5 0"
x:Name="DocumentsDataGrid"
SelectionChanged="DocumentsDataGrid_SelectionChanged">
<DataGrid.Columns>
<DataGridTextColumn Header="код" Binding="{Binding Id}"/>
<DataGridTextColumn Header="имядокумента" Binding="{Binding Document_name}"/>
<DataGridTextColumn Header="кодтипа" Binding="{Binding TypeId}"/>
<DataGridTextColumn Header="тип" Binding="{Binding TypeDocument}"/>
<DataGridTextColumn Header="ссылка" Binding="{Binding Link}"/>
</DataGrid.Columns>
</DataGrid>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Button Content="открытьдокумент" Click="ButtonOpen_Click" Margin="5" Padding="5"/>
<Button Content="добавить" Margin="5" Padding="5" Grid.Column="1"
Click="ButtonAddDocument_Click"/>
<Button Content="удалить" Margin="5" Padding="5" Grid.Column="2"
Click="ButtonDeleteDocument_Click"/>
</Grid>
</Grid>
</Window>
Приложение 3
View модуля NewDocument
<Windowx:Class="Diplom.NewDocument"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
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"
xmlns:local="clr-namespace:Diplom"
mc:Ignorable="d"
Title="NewDocument" Height="450" Width="400">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid Grid.Row="0" Margin="5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="300"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="25"/>
<RowDefinition Height="25"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<TextBlock Grid.Column="0" Grid.Row="0" VerticalAlignment="Center"
Text="имядокумента"/>
<TextBox Grid.Column="1" Grid.Row="0"
x:Name="NameDocumentTB"/>
<TextBlock Grid.Column="0" Grid.Row="1" VerticalAlignment="Center"
Text="путь"/>
<TextBox Grid.Column="1" Grid.Row="1"
x:Name="LinkDocumentTB"/>
<Button Click="ButtonReview_Click" Grid.Row="2" Grid.Column="1" Content="обзор"
HorizontalAlignment="Right" Margin="0 5 5 0" Padding="35 3 35 3"/>
</Grid>
<DataGrid IsReadOnly="True" Grid.Row="1"
x:Name="TypeDocumentDataGrid"
SelectionChanged="TypeDocumentDataGrid_SelectionChanged">
<DataGrid.Columns>
<DataGridTextColumn Header="кодтипа" Binding="{Binding Id}"/>
<DataGridTextColumn Header="имятипа" Binding="{Binding typename}" MinWidth="350"/>
</DataGrid.Columns>
</DataGrid>
<Button Content="добавить / готово" Margin="5" Padding="5" Grid.Row="2"
Click="ButtonDone_Click"/>
</Grid>
</Window>
Приложение 4
View модуля NewContract
<Windowx:Class="Diplom.NewContract"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
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"
xmlns:local="clr-namespace:Diplom"
mc:Ignorable="d"
Title="NewContract" Height="450" Width="800">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/><!--разныйтескт-->
<RowDefinition Height="1*"/><!--поляввода-->
<RowDefinition Height="1*"/><!--datagrid-->
<RowDefinition Height="Auto"/><!--кнопкаготово-->
</Grid.RowDefinitions>
<TextBlock Margin="25 5 25 0" TextWrapping="Wrap">* Что бы создать новый контракт,
необходимо: ввести 'дата начала аренды', 'дата окончания аренды', 'цена' и затем выбрать
недвижимость из таблицы ниже. (вся недвижимость представленная в таблице является
свободной)</TextBlock>
<GridGrid.Row="1"Margin="10">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="300"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="25"/>
<RowDefinition Height="25"/>
<RowDefinition Height="20"/>
<RowDefinition Height="25"/>
<RowDefinition Height="25"/>
<RowDefinition Height="25"/>
</Grid.RowDefinitions>
<TextBlock Grid.Column="0" Grid.Row="0" VerticalAlignment="Center"
Text="кодклиента"/>
<TextBlock Grid.Column="1" Grid.Row="0"
x:Name="IdClientTB"/>
<TextBlock Grid.Column="0" Grid.Row="1" VerticalAlignment="Center"
Text="ФИОклиента"/>
<TextBlock Grid.Column="1" Grid.Row="1"
x:Name="FIOClientTB"/>
<TextBlock Grid.Column="0" Grid.Row="3" VerticalAlignment="Center"
Text="датаначалааренды"/>
<DatePicker Grid.Column="1" Grid.Row="3"
x:Name="startArendaTB"/>
<TextBlock Grid.Column="0" Grid.Row="4" VerticalAlignment="Center"
Text="датаокончанияаренды"/>
<DatePicker Grid.Column="1" Grid.Row="4"
x:Name="endArendaTB"/>
<TextBlock Grid.Column="0" Grid.Row="5" VerticalAlignment="Center"
Text="цена"/>
<TextBox Grid.Column="1" Grid.Row="5"
x:Name="PriceArendaTB"/>
</Grid>
<DataGrid IsReadOnly="True"
x:Name="RealEstateDataGrid"
Grid.Row="2"
SelectionChanged="RealEstateDataGrid_SelectionChanged">
<DataGrid.Columns>
<DataGridTextColumn Header="Код" Binding="{Binding Id}"/>
<DataGridTextColumn Header="Адрес" Binding="{Binding Address}"/>
<DataGridTextColumn Header="Типпомещения" Binding="{Binding TypeRealEstate}"/>
<DataGridTextColumn Header="Метрыкубические" Binding="{Binding Area_cubic_meters}"/>
<DataGridTextColumn Header="Метрыквадратные" Binding="{Binding square_meters}"/>
</DataGrid.Columns>
</DataGrid>
<Button Content="готово" Margin="5" Padding="5" Click="ButtonDone_Click" Grid.Row="3"/>
</Grid>
</Window>
Приложение 5
Model модуля Main
using System;
usingSystem.Collections.Generic;
usingSystem.Data.OleDb;
using System.IO;
using System.Linq;
using System.Text;
usingSystem.Threading.Tasks;
using System.Windows;
usingSystem.Windows.Controls;
usingSystem.Windows.Data;
usingSystem.Windows.Documents;
usingSystem.Windows.Input;
usingSystem.Windows.Media;
usingSystem.Windows.Media.Imaging;
usingSystem.Windows.Navigation;
usingSystem.Windows.Shapes;
namespace Diplom
{
publicpartialclassMainWindow : Window
{
OleDbConnection connection;
OleDbCommand command;
OleDbDataReader reader;
string sqlCommand;
Arenda select_arenda = null;
Client select_client = null;
publicMainWindow()
{
InitializeComponent();
string path = SettingsApp.Default.FullPathDataBase;
if (path == "") { path = "C:\\"; }
FileInfo file = new FileInfo(path);
if(!file.Exists)
{
MessageBox.Show(
"Ненайденфайлбазыданных: " + SettingsApp.Default.FullPathDataBase,
"Warning", MessageBoxButton.OK, MessageBoxImage.Warning);
Microsoft.Win32.OpenFileDialog dialog = new
Microsoft.Win32.OpenFileDialog();
if (dialog.ShowDialog().ToString() == "True")
{
path = dialog.FileName;
SettingsApp.Default.FullPathDataBase = dialog.FileName;
SettingsApp.Default.Save();
}
else
{
SettingsApp.Default.FullPathDataBase = "DBApp.mdb";
SettingsApp.Default.Save();
MessageBox.Show("err");
Environment.Exit(0);
}
}
connection = newOleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=" + path + ";Persist Security Info=True");
try
{
connection.Open();
}
catch (Exception ex)
{
MessageBox.Show("ERROR: " + ex.Message, "ERROR DB CONNECTION",
MessageBoxButton.OK, MessageBoxImage.Error);
MessageBoxResult result = MessageBox.Show("Сброситьпутьдобазыданных ?",
"err db connect", MessageBoxButton.YesNo, MessageBoxImage.Question);
if (result == MessageBoxResult.Yes)
{
SettingsApp.Default.FullPathDataBase = "C:\\";
SettingsApp.Default.Save();
}
Environment.Exit(0);
}
//загрузка Arenda
sqlCommand = "SELECT * FROM [ArendaRequest]";
command = newOleDbCommand(sqlCommand, connection);
reader = command.ExecuteReader();
if (reader.HasRows)
{
while (reader.Read())
{
Arenda temp = newArenda();
temp.Id = reader.GetInt32(0);
temp.date_of_delivery = reader.GetDateTime(1);
temp.сompletion_date = reader.GetDateTime(2);
temp.Price = reader.GetInt32(3);
temp.IdClient = reader.GetInt32(4);
temp.FIOClient = reader.GetString(5);
temp.IdRealEstate = reader.GetInt32(6);
temp.AddressRealEstate = reader.GetString(7);
ArendaDataGrid.Items.Add(temp);
}
}
//загрузка Client
sqlCommand = "SELECT * FROM [Client]";
command = newOleDbCommand(sqlCommand, connection);
reader = command.ExecuteReader();
if (reader.HasRows)
{
while (reader.Read())
{
Client temp = newClient();
temp.Id = reader.GetInt32(0);
temp.FIO = reader.GetString(1);
temp.Passport = reader.GetString(2);
temp.BirthDay = reader.GetDateTime(3);
temp.sex = reader.GetBoolean(4);
ClientDataGrid.Items.Add(temp);
}
}
//загрузка RealEstate
sqlCommand = "SELECT * FROM [RealEstatewRequest]";
command = newOleDbCommand(sqlCommand, connection);
reader = command.ExecuteReader();
if (reader.HasRows)
{
while (reader.Read())
{
RealEstate temp = newRealEstate();
temp.Id = reader.GetInt32(0);
temp.Address = reader.GetString(1);
temp.Area_cubic_meters = reader.GetInt32(2);
temp.square_meters = reader.GetInt32(3);
temp.TypeRealEstate = reader.GetString(4);
temp.TypeId = reader.GetInt32(5);
RealEstateDataGrid.Items.Add(temp);
}
}
}
//topmenu buttons
privatevoid ButtonHelp_Click(object sender, RoutedEventArgs e)
{
Helpwindow helpwindow = newHelpwindow();
helpwindow.ShowDialog();
}
privatevoid ButtonDB_property_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show(
"Подключение к БД успешно открыто.\r\n" +
" Параметры подключениея к базе данных: " + "\r\n" +
" |базаданных: ---------- " + connection.Database + "\r\n" +
" |сервер: --------------- " + connection.DataSource + "\r\n" +
" |версиясервера: ------- " + connection.ServerVersion + "\r\n" +
" |состояние: ------------ " + connection.State);
}
privatevoid ButtonReport_Click(object sender, RoutedEventArgs e)
{
sqlCommand = "SELECT COUNT(*) FROM [RealEstate]";
command = newOleDbCommand(sqlCommand, connection);
int AllRealEstate = (int)command.ExecuteScalar();
sqlCommand = "SELECT COUNT(*) FROM [RealEstate] WHERE NOT EXISTS (SELECT *
FROM [Arenda] WHERE [Arenda].[realestate] = [RealEstate].[Id])";
command = newOleDbCommand(sqlCommand, connection);
int FreeRealEstate = (int)command.ExecuteScalar();
sqlCommand = "SELECT SUM(price) FROM [Arenda] WHERE
((([Arenda].[сompletion_date]) > #" + string.Format("{0}/{1}/{2}", DateTime.Now.Month -
3, DateTime.Now.Day, DateTime.Now.Year) + "#));";
command = newOleDbCommand(sqlCommand, connection);
object MoneyArenda = command.ExecuteScalar();
MessageBox.Show("Наданныймоменткомпаниявладеет " + AllRealEstate + "
еденицаминедвижмости.\r\n" +
"Сейчас свободной недвижимости " + FreeRealEstate + " едениц.\r\n" +
"Заработано денег за квартал " + MoneyArenda + " рублей.");
}
//Arenda buttons
privatevoid ButtonDocuments_Click(object sender, RoutedEventArgs e)
{
if (select_arenda != null)
{
Documents newwindowdocuments = newDocuments(select_arenda.Id,
connection);
newwindowdocuments.Show();
}
else
{
MessageBox.Show("Сначала выберите запись на вкладке \"Арендованные
средства\"");
}
}
privatevoid RadioButtonAllContracts_Click(object sender, RoutedEventArgs e)
{
ArendaDataGrid.Items.Filter = null;
}
privatevoid RadioButtonCurrentContract_Click(object sender, RoutedEventArgs e)
{
ArendaDataGrid.Items.Filter = new Predicate<object>(item =>
((Arenda)item).сompletion_date > DateTime.Now);
}
privatevoid ButtonDeleteArenda_Click(object sender, RoutedEventArgs e)
{
MessageBoxResult rezultdialog =
MessageBox.Show("Выуверенычтохотитеудалитьзаписьаренды ?", string.Empty,
MessageBoxButton.YesNo, MessageBoxImage.Exclamation);
if (rezultdialog == MessageBoxResult.Yes)
{
if (select_arenda != null)
{
sqlCommand = "DELETE FROM [Arenda] WHERE [Arenda].[Id] = " +
select_arenda.Id;
command = newOleDbCommand(sqlCommand, connection);
try
{
if (command.ExecuteNonQuery() == 1)
{
MessageBox.Show("Записьуспешноудалена");
ArendaDataGrid.Items.Remove(select_arenda);
select_arenda = null;
}
else
{
thrownewException("Базаданныхвернула '1'");
}
}
catch (Exception ex)
{
MessageBox.Show("Ошибака: " + ex.Message, "Error",
MessageBoxButton.OK, MessageBoxImage.Error);
}
}
else
{
MessageBox.Show("Сначала выберите запись для удаления.");
}
}
}
privatevoid ArendaDataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
Arenda arenda = ArendaDataGrid.SelectedItem as Arenda;
if (arenda != null)
{
this.select_arenda = arenda;
}
}
//RealEstate buttons
privatevoid RadioButtonAllRealState_Click(object sender, RoutedEventArgs e)
{
RealEstateDataGrid.Items.Clear();
sqlCommand = "SELECT * FROM [RealEstatewRequest]";
command = newOleDbCommand(sqlCommand, connection);
reader = command.ExecuteReader();
if (reader.HasRows)
{
while (reader.Read())
{
RealEstate temp = newRealEstate();
temp.Id = reader.GetInt32(0);
temp.Address = reader.GetString(1);
temp.Area_cubic_meters = reader.GetInt32(2);
temp.square_meters = reader.GetInt32(3);
temp.TypeRealEstate = reader.GetString(4);
temp.TypeId = reader.GetInt32(5);
RealEstateDataGrid.Items.Add(temp);
}
}
else
{
MessageBox.Show("В базе данных нет записей");
}
}
privatevoid RadioButtonBusyRealState_Click(object sender, RoutedEventArgs e)
{
RealEstateDataGrid.Items.Clear();
sqlCommand = "SELECT [RealEstatewRequest].[Id],
[RealEstatewRequest].[address], [RealEstatewRequest].[area_cubic_meters],
[RealEstatewRequest].[square_meters], [RealEstatewRequest].[TypeName],
[RealEstatewRequest].[type_realestate] FROM [Arenda] LEFT JOIN [RealEstatewRequest] ON
[Arenda].[realestate] = [RealEstatewRequest].[Id]";
command = newOleDbCommand(sqlCommand, connection);
reader = command.ExecuteReader();
if (reader.HasRows)
{
while (reader.Read())
{
RealEstate temp = newRealEstate();
temp.Id = reader.GetInt32(0);
temp.Address = reader.GetString(1);
temp.Area_cubic_meters = reader.GetInt32(2);
temp.square_meters = reader.GetInt32(3);

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
«Управление ресурсами проекта» (на примере организации ООО «ЛАКОСТЭ»)
Agile-методология в управлении проектами на примере ООО «Ресурсный центр «Академия КлассИнфо»
Aвтoмaтизaция пpoцecca вeдeния инфopмaциoннoй бaзы o дoлжнocтяx и вaкaнcияx c укaзaниeм тpeбoвaний к уpoвню знaний и нaвыкoв кaндидaтoв для гpуппы кaдpoв вoйcкoвoй чacти 3474»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
Cовершенствование управления рентабельности предприятия (на примере гуипп «бендерская типография «полиграфист»)