Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/qpashkaaa/warehouse-accounting
Desktop App written in C# using C.R.U.D.
https://github.com/qpashkaaa/warehouse-accounting
Last synced: 26 days ago
JSON representation
Desktop App written in C# using C.R.U.D.
- Host: GitHub
- URL: https://github.com/qpashkaaa/warehouse-accounting
- Owner: qpashkaaa
- Created: 2023-07-02T16:24:01.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-09-09T11:21:49.000Z (over 1 year ago)
- Last Synced: 2023-09-09T12:26:56.243Z (over 1 year ago)
- Language: C#
- Homepage:
- Size: 479 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# What It This?
**Desktop App written in C# using C.R.U.D.**
>*This application was created to master the technologies used and study the Model-View-ViewModel(MVVM) development pattern. The application allows you to create, view, update and delete data in a PostgreSQL database.*## Preview
### Screenshots
_____
![Screenshot_1](https://github.com/qpashkaaa/Warehouse-accounting/assets/95401099/b95121f7-486d-467b-83df-37c7caeb0292)
_____
![Screenshot_2](https://github.com/qpashkaaa/Warehouse-accounting/assets/95401099/0e1df69d-59bb-4091-a4ae-d0139746f550)
_____
![Screenshot_3](https://github.com/qpashkaaa/Warehouse-accounting/assets/95401099/f8194edd-2a9a-401c-a710-031cf9ceb7ae)
_____
![Screenshot_4](https://github.com/qpashkaaa/Warehouse-accounting/assets/95401099/524bc834-b09b-45a8-8d2d-959c3fbaea9f)
_____### Demo Video
https://github.com/qpashkaaa/Warehouse-accounting/assets/95401099/1bd2b2af-5e4f-430c-a5ba-b1fe3f6142b2
_____## Features
- **Performing basic functions for working with databases : CREATE, READ, UPDATE, DELETE.**
- **Algorithmic encryption and password decryption during registration and authorization.**
```C#
public static String AES_encrypt(String input)
{
RijndaelManaged aes = new RijndaelManaged();
aes.KeySize = keyLength;
aes.BlockSize = 128;
aes.Mode = CipherMode.CBC;
aes.Padding = PaddingMode.PKCS7;
aes.Key = mkey(key, keyLength);
aes.IV = mkey(Iv, 128);var encrypt = aes.CreateEncryptor(aes.Key, aes.IV);
byte[] xBuff = null;using (var ms = new MemoryStream())
{
using (var cs = new CryptoStream(ms, encrypt, CryptoStreamMode.Write))
{
byte[] xXml = Encoding.UTF8.GetBytes(input);
cs.Write(xXml, 0, xXml.Length);
cs.FlushFinalBlock();
}xBuff = ms.ToArray();
}return Convert.ToBase64String(xBuff, Base64FormattingOptions.None);
}
```
- **A component-oriented architecture built on the interaction of multiple User Сontrols that perform their functions.**
```XAML
```
```C#
public partial class CustomDataGridInfoBox : UserControl
{
public CustomDataGridInfoBox()
{
InitializeComponent();
}public static DependencyProperty TableNameProperty = DependencyProperty.Register(
"TableName",
typeof(string),
typeof(CustomDataGridInfoBox),
new FrameworkPropertyMetadata(
null, // default value
FrameworkPropertyMetadataOptions.BindsTwoWayByDefault));public string TableName
{
get { return (string)GetValue(TableNameProperty); }
set { SetValue(TableNameProperty, value); }
}public static DependencyProperty CountTableElementsProperty = DependencyProperty.Register(
"CountTableElements",
typeof(int),
typeof(CustomDataGridInfoBox),
new FrameworkPropertyMetadata(
0, // default value
FrameworkPropertyMetadataOptions.BindsTwoWayByDefault));public int CountTableElements
{
get { return (int)GetValue(CountTableElementsProperty); }
set { SetValue(CountTableElementsProperty, value); }
}
}
```## Tech Stack
- **С# WPF(MVVM)**
- **Entity Framework**
- **PostgreSQL (Database)**## Requirements
- **NuGet Packages**
- ```Microsoft.EntityFrameworkCore```
- ```Microsoft.EntityFrameworkCore.Tools```
- ```Microsoft.Extensions.Configuration```
- ```Microsoft.Extensions.Configuration.Json```
- ```Microsoft.Extensions.DependencyInjection```
- ```Microsoft.Xaml.Behaviors.Wpf```
- ```MvvmLightLibs```
- ```Npgsql.EntityFrameworkCore.PostgreSQL```## Authors
- [Pavel Roslyakov](https://github.com/qpashkaaa)## Contacts
- [Portfolio Website](https://portfolio-website-qpashkaaa.vercel.app/)
- [Telegram](https://t.me/qpashkaaa)
- [VK](https://vk.com/qpashkaaa)
- [LinkedIN](https://www.linkedin.com/in/pavel-roslyakov-7b303928b/)## Year of Development
> *2023*