169 похожих чатов

[Inject] protected AppState

State { get; set; }

protected User CurrentUser
{
get
{
return (UserManagerSingleton.GetUser(UserManager, HttpContextAccessor.HttpContext.User));
}
}

private Guid ID { get; set; }

protected TDataObj Obj;

protected override async Task OnInitializedAsync()
{
if (_userAuthorizationStrategy.IsUserBlocked(CurrentUser.Id))
{
NavigationManager.NavigateTo("/_403");
}

InitPreloadParam();

InitDataObject();

InitModalVisible();

OnInitExt();

StateHasChanged();
}

private void InitModalVisible()
{
if (IsModal)
{
IsVisible = true;
}
}

private void InitDataObject()
{
Obj = Dal.New();

if (ObjectOperation != EObjectOperation.Add)
{
//BtnLabel = "Обновить";
Obj = Dal.FindById(ID);
}
}

private void InitPreloadParam()
{
InitModelParams();
InitObjectOperation();
}

public object GetParamValue(string paramName)
{
return ModelParams?.Where(x => x.ParamName == paramName).FirstOrDefault()?.ParamValue;
}

private void InitModelParams()
{
var id = GetParamValue("id");

if (id != null)
{
ID = new Guid(id.ToString());
}
}

private void InitObjectOperation()
{
ObjectOperation = EObjectOperation.None;

var id = GetParamValue("id");
if (id == null || id.ToString() == string.Empty)
{
ObjectOperation = EObjectOperation.Add;
}
}

public void SetObjectOperation(EObjectOperation objectOperation)
{
ObjectOperation = objectOperation;
}

public virtual async Task SaveAsync()
{
var user = await UserManager.GetUserAsync(HttpContextAccessor.HttpContext.User);

try
{
PrepareForInsert();

if (ObjectOperation == EObjectOperation.Add)
{
Obj.UserCreateID = user.Id;
Obj.UserUpdateID = user.Id;

//Dal.Create(Obj);
//MessageService.Info("Запись добавлена");
}
else
{
Obj.UserUpdateID = user.Id;
//Dal.Update(Obj);
//MessageService.Info("Запись обновлена");
}

BeforeSave();

await Dal.SaveAsync(Obj);

AfterSave();

MessageService2.Add("Запись сохранена", MatToastType.Success, "Сохранение");

State.DataChanged();

OnCloseDelegate?.Invoke();
if (IsModal)
{
ModalService.Close();
}

}
catch (Exception e)
{
//Console.Error.WriteLine(e.Message);
MessageService2.Add(e.Message, MatToastType.Danger, "Сохранение");
}

StateHasChanged();
return;
}

public virtual async Task Save()
{
var user = await UserManager.GetUserAsync(HttpContextAccessor.HttpContext.User);

try
{
PrepareForInsert();

if (ObjectOperation == EObjectOperation.Add)
{
Obj.UserCreateID = user.Id;
Obj.UserUpdateID = user.Id;

1 ответов

2 просмотра

Кидай код на pastebin.com или gist.github.com плиз

Похожие вопросы

Обсуждают сегодня

А чем вам питонисты не угодили?😂
.
79
Язык Си можно выучить за день? По книжке ANSI C на 230 страниц
Vincent Vegan
29
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Dim Dim, [02.07.2024 11:07] DB 0x62 Dim Dim, [02.07.2024 11:07] DB 0x66 Dim Dim, [02.07.2024 11:07] кто пояснит что это?
Dim Dim
14
Ошибка: segmentation fault (core dumped) Код: pastebin.com/BEsNNSSV Сообщение от компилятора: отсутствует ОС: Arch Linux Ядро: x86_64 Linux 6.9.7-arch1-1 Процессор: Intel Cele...
sec
4
Ребят, а за скок можно впарить анон чат с апишкой и веб админкой ?
Eugene Неелов
15
Ещё такой вопрос. Мне необходимо хранить пароль пользователя локально. Для этого планирую использовать ini файл. Это для автозаполнения полей логин и пароль при авторизации. Е...
Евгений
19
Кстати, я тут еще с одной темой столкнулся, вот учу я C++, на таком то ресурсе, а остальные постоянно советуют практиковаться, что то писать, проекты, но как писать если вот т...
aaswq1
7
@ahndmn @ayaw0_0 здарова, на чем пишете?
Aiwan \ (•◡•) / _bot
7
Коллеги, как получить PId для собственного процесса из под линукса?
Роман Лях (rgreat)
6
Карта сайта