DataModels + Contracts is Done

This commit is contained in:
maxnes3 2023-05-01 19:49:49 +04:00
parent 7665037503
commit a40f08d577
41 changed files with 851 additions and 0 deletions

View File

@ -0,0 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

View File

@ -0,0 +1,26 @@
using PersonnelDepartmentDataModels.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PersonnelDepartmentContracts.BindingModels
{
public class DealBindingModel : IDealModel
{
public DateTime DateFrom { get; set; }
public DateTime DateTo { get; set; }
public int PositionId { get; set; }
public int EmployeeId { get; set; }
public int DepartmentId { get; set; }
public int TypeId { get; set; }
public int Id { get; set; }
}
}

View File

@ -0,0 +1,18 @@
using PersonnelDepartmentDataModels.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PersonnelDepartmentContracts.BindingModels
{
public class DepartmentBindingModel : IDepartmentModel
{
public string Name { get; set; } = string.Empty;
public int Telephone { get; set; }
public int Id { get; set; }
}
}

View File

@ -0,0 +1,20 @@
using PersonnelDepartmentDataModels.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PersonnelDepartmentContracts.BindingModels
{
public class EmployeeBindingModel : IEmployeeModel
{
public string FirstName { get ;set; } = string.Empty;
public string LastName { get; set; } = string.Empty;
public string Patronymic { get; set; } = string.Empty;
public int Id { get; set; }
}
}

View File

@ -0,0 +1,16 @@
using PersonnelDepartmentDataModels.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PersonnelDepartmentContracts.BindingModels
{
public class PositionBindingModel : IPositionModel
{
public string Name { get; set; } = string.Empty;
public int Id { get; set; }
}
}

View File

@ -0,0 +1,16 @@
using PersonnelDepartmentDataModels.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PersonnelDepartmentContracts.BindingModels
{
public class TypeBindingModel : ITypeModel
{
public string Name { get; set; } = string.Empty;
public int Id { get; set; }
}
}

View File

@ -0,0 +1,20 @@
using PersonnelDepartmentContracts.BindingModels;
using PersonnelDepartmentContracts.SearchModels;
using PersonnelDepartmentContracts.ViewModels;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PersonnelDepartmentContracts.BusinessLogicContracts
{
public interface IDealLogic
{
List<DealViewModel>? ReadList(DealSearchModel? model);
DealViewModel? ReadElement(DealSearchModel model);
bool Create(DealBindingModel model);
bool Update(DealBindingModel model);
bool Delete(DealBindingModel model);
}
}

View File

@ -0,0 +1,20 @@
using PersonnelDepartmentContracts.BindingModels;
using PersonnelDepartmentContracts.SearchModels;
using PersonnelDepartmentContracts.ViewModels;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PersonnelDepartmentContracts.BusinessLogicContracts
{
public interface IDepartmentLogic
{
List<DepartmentViewModel>? ReadList(DepartmentSearchModel? model);
DepartmentViewModel? ReadElement(DepartmentSearchModel model);
bool Create(DepartmentBindingModel model);
bool Update(DepartmentBindingModel model);
bool Delete(DepartmentBindingModel model);
}
}

View File

@ -0,0 +1,20 @@
using PersonnelDepartmentContracts.BindingModels;
using PersonnelDepartmentContracts.SearchModels;
using PersonnelDepartmentContracts.ViewModels;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PersonnelDepartmentContracts.BusinessLogicContracts
{
public interface IEmployeeLogic
{
List<EmployeeViewModel>? ReadList(EmployeeSearchModel? model);
EmployeeViewModel? ReadElement(EmployeeSearchModel model);
bool Create(EmployeeBindingModel model);
bool Update(EmployeeBindingModel model);
bool Delete(EmployeeBindingModel model);
}
}

View File

@ -0,0 +1,20 @@
using PersonnelDepartmentContracts.BindingModels;
using PersonnelDepartmentContracts.SearchModels;
using PersonnelDepartmentContracts.ViewModels;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PersonnelDepartmentContracts.BusinessLogicContracts
{
public interface IPositionLogic
{
List<PositionViewModel>? ReadList(PositionSearchModel? model);
PositionViewModel? ReadElement(PositionSearchModel model);
bool Create(PositionBindingModel model);
bool Update(PositionBindingModel model);
bool Delete(PositionBindingModel model);
}
}

View File

@ -0,0 +1,20 @@
using PersonnelDepartmentContracts.BindingModels;
using PersonnelDepartmentContracts.SearchModels;
using PersonnelDepartmentContracts.ViewModels;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PersonnelDepartmentContracts.BusinessLogicContracts
{
public interface ITypeLogic
{
List<TypeViewModel>? ReadList(TypeSearchModel? model);
TypeViewModel? ReadElement(TypeSearchModel model);
bool Create(TypeBindingModel model);
bool Update(TypeBindingModel model);
bool Delete(TypeBindingModel model);
}
}

View File

@ -0,0 +1,17 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\PersonnelDepartmentDataModels\PersonnelDepartmentDataModels.csproj" />
</ItemGroup>
<ItemGroup>
<Folder Include="StoragesContracts\" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,17 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PersonnelDepartmentContracts.SearchModels
{
public class DealSearchModel
{
public int? Id { get; set; }
public DateTime? DateFrom { get; set; }
public DateTime? DateTo { get; set; }
}
}

View File

@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PersonnelDepartmentContracts.SearchModels
{
public class DepartmentSearchModel
{
public int? Id { get; set; }
public string? Name { get; set; }
}
}

View File

@ -0,0 +1,19 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PersonnelDepartmentContracts.SearchModels
{
public class EmployeeSearchModel
{
public int? Id { get; set; }
public string? FirstName { get; set; }
public string? LastName { get; set; }
public string? Patronymic { get; set; }
}
}

View File

@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PersonnelDepartmentContracts.SearchModels
{
public class PositionSearchModel
{
public int? Id { get; set; }
public string? Name { get; set; }
}
}

View File

@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PersonnelDepartmentContracts.SearchModels
{
public class TypeSearchModel
{
public int? Id { get; set; }
public string? Name { get; set; }
}
}

View File

@ -0,0 +1,20 @@
using PersonnelDepartmentContracts.SearchModels;
using PersonnelDepartmentContracts.ViewModels;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PersonnelDepartmentContracts.StoragesContracts
{
public interface IDealStorage
{
List<DealViewModel> GetFullList();
List<DealViewModel> GetFilteredList(DealSearchModel model);
DealViewModel? GetElement(DealSearchModel model);
DealViewModel? Insert(DealSearchModel model);
DealViewModel? Update(DealSearchModel model);
DealViewModel? Delete(DealSearchModel model);
}
}

View File

@ -0,0 +1,20 @@
using PersonnelDepartmentContracts.SearchModels;
using PersonnelDepartmentContracts.ViewModels;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PersonnelDepartmentContracts.StoragesContracts
{
public interface IDepartmentStorage
{
List<DepartmentViewModel> GetFullList();
List<DepartmentViewModel> GetFilteredList(DepartmentSearchModel model);
DepartmentViewModel? GetElement(DepartmentSearchModel model);
DepartmentViewModel? Insert(DepartmentSearchModel model);
DepartmentViewModel? Update(DepartmentSearchModel model);
DepartmentViewModel? Delete(DepartmentSearchModel model);
}
}

View File

@ -0,0 +1,20 @@
using PersonnelDepartmentContracts.SearchModels;
using PersonnelDepartmentContracts.ViewModels;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PersonnelDepartmentContracts.StoragesContracts
{
public interface IEmployeeStorage
{
List<EmployeeViewModel> GetFullList();
List<EmployeeViewModel> GetFilteredList(EmployeeSearchModel model);
EmployeeViewModel? GetElement(EmployeeSearchModel model);
EmployeeViewModel? Insert(EmployeeSearchModel model);
EmployeeViewModel? Update(EmployeeSearchModel model);
EmployeeViewModel? Delete(EmployeeSearchModel model);
}
}

View File

@ -0,0 +1,20 @@
using PersonnelDepartmentContracts.SearchModels;
using PersonnelDepartmentContracts.ViewModels;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PersonnelDepartmentContracts.StoragesContracts
{
public interface IPositionStorage
{
List<PositionViewModel> GetFullList();
List<PositionViewModel> GetFilteredList(PositionSearchModel model);
PositionViewModel? GetElement(PositionSearchModel model);
PositionViewModel? Insert(PositionSearchModel model);
PositionViewModel? Update(PositionSearchModel model);
PositionViewModel? Delete(PositionSearchModel model);
}
}

View File

@ -0,0 +1,20 @@
using PersonnelDepartmentContracts.SearchModels;
using PersonnelDepartmentContracts.ViewModels;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PersonnelTypeContracts.StoragesContracts
{
public interface ITypeStorage
{
List<TypeViewModel> GetFullList();
List<TypeViewModel> GetFilteredList(TypeSearchModel model);
TypeViewModel? GetElement(TypeSearchModel model);
TypeViewModel? Insert(TypeSearchModel model);
TypeViewModel? Update(TypeSearchModel model);
TypeViewModel? Delete(TypeSearchModel model);
}
}

View File

@ -0,0 +1,32 @@
using PersonnelDepartmentDataModels.Models;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PersonnelDepartmentContracts.ViewModels
{
public class DealViewModel : IDealModel
{
[DisplayName("Дата с")]
public DateTime DateFrom { get; set; }
[DisplayName("Дата по")]
public DateTime DateTo { get; set; }
public int PositionId { get; set; }
[DisplayName("Должность")]
public string PositionName { get; set; } = string.Empty;
public int EmployeeId { get; set; }
[DisplayName("ФИО Сотрудника")]
public string EmployeeName { get; set; } = string.Empty;
public int DepartmentId { get; set; }
[DisplayName("Отдел")]
public string DepartmentName { get; set; } = string.Empty;
public int TypeId { get; set; }
[DisplayName("Тип договора")]
public string TypeName { get; set; } = string.Empty;
[DisplayName("Номер")]
public int Id { get; set; }
}
}

View File

@ -0,0 +1,20 @@
using PersonnelDepartmentDataModels.Models;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PersonnelDepartmentContracts.ViewModels
{
public class DepartmentViewModel : IDepartmentModel
{
[DisplayName("Название")]
public string Name { get; set; } = string.Empty;
[DisplayName("Контактный телефон")]
public int Telephone { get; set; }
[DisplayName("Код")]
public int Id { get; set; }
}
}

View File

@ -0,0 +1,22 @@
using PersonnelDepartmentDataModels.Models;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PersonnelDepartmentContracts.ViewModels
{
public class EmployeeViewModel : IEmployeeModel
{
[DisplayName("Имя")]
public string FirstName { get; set; } = string.Empty;
[DisplayName("Фамилия")]
public string LastName { get; set; } = string.Empty;
[DisplayName("Отчество")]
public string Patronymic { get; set; } = string.Empty;
[DisplayName("Код")]
public int Id { get; set; }
}
}

View File

@ -0,0 +1,18 @@
using PersonnelDepartmentDataModels.Models;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PersonnelDepartmentContracts.ViewModels
{
public class PositionViewModel : IPositionModel
{
[DisplayName("Название")]
public string Name { get; set; } = string.Empty;
[DisplayName("Код")]
public int Id { get; set; }
}
}

View File

@ -0,0 +1,18 @@
using PersonnelDepartmentDataModels.Models;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PersonnelDepartmentContracts.ViewModels
{
public class TypeViewModel : ITypeModel
{
[DisplayName("Название")]
public string Name { get; set; } = string.Empty;
[DisplayName("Код")]
public int Id { get; set; }
}
}

View File

@ -0,0 +1,13 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PersonnelDepartmentDataModels
{
public interface IId
{
int Id { get; }
}
}

View File

@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PersonnelDepartmentDataModels.Models
{
public interface IDealModel : IId
{
DateTime DateFrom { get; }
DateTime DateTo { get; }
int PositionId { get; }
int EmployeeId { get; }
int DepartmentId { get; }
int TypeId { get; }
}
}

View File

@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PersonnelDepartmentDataModels.Models
{
public interface IDepartmentModel : IId
{
string Name { get; }
int Telephone { get; }
}
}

View File

@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PersonnelDepartmentDataModels.Models
{
public interface IEmployeeModel : IId
{
string FirstName { get; }
string LastName { get; }
string Patronymic { get; }
}
}

View File

@ -0,0 +1,13 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PersonnelDepartmentDataModels.Models
{
public interface IPositionModel : IId
{
string Name { get; }
}
}

View File

@ -0,0 +1,13 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PersonnelDepartmentDataModels.Models
{
public interface ITypeModel : IId
{
string Name { get; }
}
}

View File

@ -0,0 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

View File

@ -0,0 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

View File

@ -0,0 +1,37 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.5.33424.131
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PersonnelDepartmentView", "PersonnelDepartmentView\PersonnelDepartmentView.csproj", "{BB25BA47-9884-4BA9-A587-0C02F233E241}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PersonnelDepartmentDataModels", "PersonnelDepartmentDataModels\PersonnelDepartmentDataModels.csproj", "{609BE714-09CF-485B-A3EB-8998C5F5E4BD}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PersonnelDepartmentContracts", "PersonnelDepartmentContracts\PersonnelDepartmentContracts.csproj", "{9A959A51-26F5-4B67-B54E-CD271E12C944}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{BB25BA47-9884-4BA9-A587-0C02F233E241}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BB25BA47-9884-4BA9-A587-0C02F233E241}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BB25BA47-9884-4BA9-A587-0C02F233E241}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BB25BA47-9884-4BA9-A587-0C02F233E241}.Release|Any CPU.Build.0 = Release|Any CPU
{609BE714-09CF-485B-A3EB-8998C5F5E4BD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{609BE714-09CF-485B-A3EB-8998C5F5E4BD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{609BE714-09CF-485B-A3EB-8998C5F5E4BD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{609BE714-09CF-485B-A3EB-8998C5F5E4BD}.Release|Any CPU.Build.0 = Release|Any CPU
{9A959A51-26F5-4B67-B54E-CD271E12C944}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9A959A51-26F5-4B67-B54E-CD271E12C944}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9A959A51-26F5-4B67-B54E-CD271E12C944}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9A959A51-26F5-4B67-B54E-CD271E12C944}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {241FDB7E-BB62-47A5-B995-E3BDE531A12B}
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,39 @@
namespace PersonnelDepartmentView
{
partial class Form1
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(800, 450);
this.Text = "Form1";
}
#endregion
}
}

View File

@ -0,0 +1,10 @@
namespace PersonnelDepartmentView
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
}
}

View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -0,0 +1,11 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net6.0-windows</TargetFramework>
<Nullable>enable</Nullable>
<UseWindowsForms>true</UseWindowsForms>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
</Project>

View File

@ -0,0 +1,17 @@
namespace PersonnelDepartmentView
{
internal static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
// To customize application configuration such as set high DPI settings or default font,
// see https://aka.ms/applicationconfiguration.
ApplicationConfiguration.Initialize();
Application.Run(new Form1());
}
}
}