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 ответов

9 просмотров

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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта