-
0
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
public async Task<ActionResult> Enable2FA(string id)
{
if (string.IsNullOrEmpty(id))
{
return BadRequest("Invalid user Id");
}
User user = await userManager.FindByIdAsync(id);
if (user == null)
{
return BadRequest(USER_NOT_FOUND_MESSAGE);
}
EnableAuthenticatorModel model = await LoadSharedKeyAndQrCodeUriAsync(user);
return Ok(model);
}
Что-то мне подсказывает что можно более логичнее написать сие кусок кода
horil97821,
08 Апреля 2020
-
+1
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
using System;
namespace Test
{
public class HttpException : Exception
{
public HttpException(int status)
{
StatusCode = status;
}
public int StatusCode { get; set; }
}
class Program
{
static void TestCatch(int status)
{
try
{
throw new HttpException(status);
}
catch (HttpException ex) when (ex.StatusCode == 404)
{
Console.WriteLine("Not Found!");
}
catch (HttpException ex) when (ex.StatusCode >= 500 && ex.StatusCode < 600)
{
Console.WriteLine("Server Error");
}
catch (HttpException ex)
{
Console.WriteLine("HTTP Error {0}", ex.StatusCode);
}
}
static void Main(string[] args)
{
TestCatch(404);
TestCatch(501);
TestCatch(101);
}
}
}
https://ideone.com/zXstg3
Именно поэтому я за «C#».
gost,
27 Марта 2020
-
0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
try
{
await storageClient.DownloadObjectAsync(Bucket, fileName, stream).ConfigureAwait(false);
}
catch(Exception ex)
{
throw new FileStorageException($"File '{fileName}' not found in a bucket '{Bucket}'", ex) { StatusCode = StatusCodes.Status404NotFound };
}
Сеньйор дот нет девелопер
horil97821,
26 Марта 2020
-
+1
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
using System;
using System.Runtime.Serialization;
namespace MyCoolProject {
internal sealed class CatastrophicException: Exception
{
private static bool dead = false;
public static bool Dead { get { return dead; } }
void RecurseDeath() {
try {
RecurseDeath();
} finally {
RecurseDeath();
}
}
private void DIE() {
dead = true;
try {
Environment.FailFast("Catastrophic Exception!!!");
} finally {
try {
RecurseDeath();
} finally {
throw this;
}
}
}
public CatastrophicException() {
DIE();
}
public sealed override string ToString() {
DIE();
throw this;
}
public sealed override System.Collections.IDictionary Data {
get {
DIE();
throw this;
}
}
public sealed override bool Equals(object obj) {
DIE();
throw this;
}
public sealed override Exception GetBaseException() {
DIE();
throw this;
}
public sealed override int GetHashCode() {
DIE();
throw this;
}
public sealed override string HelpLink {
get {
DIE();
throw this;
} set {
DIE();
}
}
public sealed override string Message {
get {
DIE();
throw this;
}
}
public sealed override void GetObjectData(SerializationInfo info, StreamingContext context) {
DIE();
}
public sealed override string Source {
get {
DIE();
throw this;
}
set {
DIE();
}
}
public sealed override string StackTrace {
get {
DIE();
throw this;
}
}
~CatastrophicException() {
try {
new CatastrophicException().DIE();
} finally {
try {
new CatastrophicException().DIE();
} finally {
new CatastrophicException().DIE();
}
}
}
}
}
Upliner,
11 Марта 2020
-
+1
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
public class WindowEx : Window //...
{
//hwnd окна
public IntPtr Handle { get; set; }
private const int GWL_EXSTYLE = (-20);
private const uint WS_EX_TOPMOST = 0x00000008;
public void SetTopmost()
{
SetTopmost(Handle);
}
public static void SetTopmost(IntPtr hWnd)
{
SetWindowLongPtr(hWnd, GWL_EXSTYLE, (IntPtr)((ulong)GetWindowLongPtr(hWnd, GWL_EXSTYLE) | WS_EX_TOPMOST));
}
public void UnSetTopmost()
{
UnSetTopmost(Handle);
}
public static void UnSetTopmost(IntPtr hWnd)
{
SetWindowLongPtr(hWnd, GWL_EXSTYLE, (IntPtr)((ulong)GetWindowLongPtr(hWnd, GWL_EXSTYLE) & ~WS_EX_TOPMOST));
}
private bool _topmost;
public new bool Topmost
{
set
{
if (value)
{
SetTopmost();
}
else
{
UnSetTopmost();
}
_topmost = value;
}
get { return _topmost; }
}
}
Тру окно. С тру топмостом. Бесполезно чуть менее, чем полностью:
1) Новый топмост не нужен. Оригинальное свойство через SetWindowPos сделает тоже самое (SetWindowPos может менять дополнительный стиль WS_EX_TOPMOST)
2) Handle (hwnd окна) c публичным set. Круто, чё. Следовало бы сделать public IntPtr Handle { get; private set; }
Так я писал код где-то лет 6 назад.
Janycz,
08 Марта 2020
-
+1
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
private void MainDataGridCellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
{
if (e.Column == MainDataGrid.Columns[1])
return;
if (CheckComplianceWithIndentation)
if ((NumberOfLeadingSpaces(Rows[e.Row.GetIndex()].OriginalText) != NumberOfLeadingSpaces(Rows[e.Row.GetIndex()].Translation)) && !Rows[e.Row.GetIndex()].Tags.Contains("I"))
Rows[e.Row.GetIndex()].Tags += "I";
else if (NumberOfLeadingSpaces(Rows[e.Row.GetIndex()].OriginalText) == NumberOfLeadingSpaces(Rows[e.Row.GetIndex()].Translation))
Rows[e.Row.GetIndex()].Tags = Rows[e.Row.GetIndex()].Tags.Replace("I", "");
if ((Rows[e.Row.GetIndex()].Translation.Trim() == "") && !Rows[e.Row.GetIndex()].Tags.Contains("N"))
Rows[e.Row.GetIndex()].Tags += "N";
else if (Rows[e.Row.GetIndex()].Translation.Trim() != "")
Rows[e.Row.GetIndex()].Tags = Rows[e.Row.GetIndex()].Tags.Replace("N", "");
//...
}
public void TagsInit()
{
if (CheckComplianceWithIndentation)
foreach (var hRow in Rows.Where(hRow => NumberOfLeadingSpaces(hRow.OriginalText) != NumberOfLeadingSpaces(hRow.Translation)))
{
hRow.Tags += "I";
}
foreach (var row in Rows.Where(hRow => hRow.Translation == ""))
{
row.Tags += "N";
}
}
Дано: C#, WPF, DataGrid, таблица.
Надо сделать: таблица имеет поля, в том числе и поле Tags, которое определяется полями Translation и OriginalText, а также настройками пользователя (CheckComplianceWithIndentation), нет бы его вынести в класс строки как геттер:
public string Tags => f(Translation, Original);
вместо:
private string _tags;
public string Tags
{
get => _tags;
set
{
_tags = value;
RaisePropertyChanged("Tags");
}
}
Так нет же, будем отлавливать изменения ячеек таблицы (MainDataGridCellEditEnding) и пересчитывать Tags. MainDataGrid.Columns[1] - это колонка с ними, прибито гвоздями в xaml: CanUserReorderColumns="False"
Эх, а еще и Trim вместо String.IsNullOrWhiteSpace.
А еще немного венгерской говнонотации (hRow).
Так я писал где-то лет 7 назад. Да, тогда стрелок не было, но они приведены в описании тупо для сокращения строк кода.
Janycz,
08 Марта 2020
-
+1
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
// Задача: Рисовать в консоли прогресс бар, на сколько дней текущий год завершился
static void ProgressBarOfElapsedDays(DateTime dateTime, bool isRefreshebleat = false) // рефрешеБЛЕАТ! :))
{
int daysOfYear = DateTime.IsLeapYear(dateTime.Year) ? 366 : 365;
int dayInProcents = daysOfYear * 100 / 100; // WAT?
int currentDay = dateTime.DayOfYear * 100;
int daysOfYearNotElapsed = daysOfYear * 100 - currentDay; // Сложный матан
int procent = 100 - (daysOfYear * 100 - currentDay) / dayInProcents;
int buffer = 0;
if (isRefreshebleat)
{
if (Console.CursorTop >= 1 || Console.CursorLeft >= 1)
{
Console.SetCursorPosition(Console.CursorLeft - Console.CursorLeft, Console.CursorTop - Console.CursorTop); // когда Console.SetCursorPosition(0, 0) недостаточно
}
}
// остальной код
}
isRefreshebleat и всё остальное :))
adoconnection,
06 Марта 2020
-
0
- 1
- 2
- 3
- 4
- 5
- 6
public static void ActivateChangeHotKeyButtonModeButtonClick(object sender, EventArgs e)
{
TaskBarHidderForm.ChangeHotKeyPanel.Visible = true;
TaskBarHidderForm.KeyButtons[0].Text = TaskBarHidder.HotKeyCodes[0].ToString();
TaskBarHidderForm.KeyButtons[1].Text = TaskBarHidder.HotKeyCodes[1].ToString();
}
кодить под пивко заебись :)
pashaluk31,
21 Января 2020
-
−4
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
public static unsafe int Strlen(byte* data)
{
int i = 0;
while (data[i] != 0)
{
++i;
}
return i;
}
Работа с C строками
Koshak90,
20 Декабря 2019
-
+1
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
public static XmlNode FindNodeRecursive(XmlNode document, string nodeName)
{
if (document.Name == nodeName)
return document;
foreach (XmlNode node in document.ChildNodes)
{
if (node.Name == nodeName)
return node;
XmlNode resNode = FindNodeRecursive(node, nodeName);
if (resNode != null && resNode.Name == nodeName)
return resNode;
}
return (XmlNode)null;
}
<...>
XmlDocument document = new XmlDocument();
document.LoadXml(request);
var PurchaseIdNode = XmlProcessing.FindNodeRecursive(document, "PurchaseId");
Разработчик с 15-летним стажем
XPath'у не доверяет
Barch,
12 Декабря 2019