Skip to content

Instantly share code, notes, and snippets.

View Platonenkov's full-sized avatar
🏠
Working from home

Aleksandr Platonenkov

🏠
Working from home
View GitHub Profile
@Platonenkov
Platonenkov / release.md
Created June 1, 2024 17:23
Автоматическая упаковка релиза в архив RAR
  <Target Name="RarOutput" AfterTargets="ZipOutput">
    <PropertyGroup>
      <ArchiveFileName>FileName</ArchiveFileName>
      <ArchiveFilePath>$([System.IO.Path]::GetFullPath($(OutDir)../$(ArchiveFileName)))</ArchiveFilePath>
      <ProgramFilesPath>$([System.Environment]::GetEnvironmentVariable("ProgramFiles"))</ProgramFilesPath>
      <RarPath>$([System.IO.Path]::Combine($(ProgramFilesPath), "WinRAR", "Rar.exe"))</RarPath>
    </PropertyGroup>
    <Message Text="RAR path: $(RarPath)" Importance="high" Condition="Exists($(RarPath))"/>
    <Exec Command="&quot;$(RarPath)&quot; a -ep1 -v25600k -tsmcap -m5 -r -k -s -tl -dh -ag[yyyy-MM-ddThh-mm-ss] -hp&quot;File&quot; -x&quot;*.pdb&quot; &quot;$(ArchiveFilePath)(pass=File)&quot; &quot;$(OutDir)&quot;" IgnoreExitCode="true" Condition="Exists($(RarPath))"/>
@Platonenkov
Platonenkov / configureNginx .md
Last active March 9, 2024 07:35
configur nginx
sudo apt update

Устанавливаем nginx

sudo apt-get install nginx
@Platonenkov
Platonenkov / run.md
Created February 20, 2024 07:05
run from dll on port

dotnet Server.dll --urls=http://localhost:5001/

@Platonenkov
Platonenkov / ErrorDto.cs
Created July 10, 2023 14:28
Exception Handling Middleware
namespace StaffService.Dto
{
public class ErrorDto
{
public int StatusCode { get; set; }
public string Message { get; set; }
}
}
@Platonenkov
Platonenkov / AsyncConverter.cs
Created December 4, 2022 14:28
Async Converter for wpf
public class AsyncConverter : MarkupExtension, IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
var task = Task.Run(async () =>
{
await Task.Delay(3000);
return "Async operation";
});
return new TaskCompletionNotifier<string>(task);
@Platonenkov
Platonenkov / TopMouseScrollPriorityBehavior.cs
Created November 30, 2022 06:55
Mouse scroll in a scroll viewer with a datagrid or listbox and additional UI elements
public class TopMouseScrollPriorityBehavior
{
public static bool GetTopMouseScrollPriority(ScrollViewer obj)
{
return (bool)obj.GetValue(TopMouseScrollPriorityProperty);
}
public static void SetTopMouseScrollPriority(ScrollViewer obj, bool value)
{
obj.SetValue(TopMouseScrollPriorityProperty, value);
@Platonenkov
Platonenkov / ConsoleTable.cs
Created October 24, 2022 17:34
Console Table
using System;
using System.Collections.Generic;
using System.Linq;
internal static class ConsoleTable
{
public static void Run()
{
double[] Rows = { 26000, 28000, 30000, 32000, 34000, 36000, 38000, 40000, 42000, 44000, 46000 };
double[] Cols = { 0, 11000, 20000, 30000, 40000 };
@Platonenkov
Platonenkov / DropData.cs
Last active August 14, 2023 07:12
Drop Data Behavior
using Microsoft.Xaml.Behaviors;
using System;
using System.ComponentModel;
using System.Windows;
using System.Windows.Input;
namespace Utilities.WPF.Behaviors;
public class DropData : Behavior<UIElement>
@Platonenkov
Platonenkov / App.xaml.cs
Created May 31, 2022 12:31
Serilog Элементарная настройка
//.......
using Serilog;
using ILogger = Microsoft.Extensions.Logging.ILogger;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
//.......
public static ILogger Logger;
@Platonenkov
Platonenkov / Log4NetExtensions.cs
Created May 25, 2022 08:03
Log4Net -элементарная настройка
using System.IO;
using System.Reflection;
using Microsoft.Extensions.Logging;
namespace RRJ_Express.Utilities.Logger
{
public static class Log4NetExtensions
{
//Тут указываем путь куда положили файл настроек логгера