/// <summary> /// Удалить элемент. /// </summary> /// <param name="input">Ввод.</param> /// <returns>Задача.</returns> public async Task DeleteItem(ModDummyMainBaseJobItemGetInput input) { using var source = CreateDbContext(); var obj = await source.DummyMain.FirstAsync( x => x.Id == input.DataId ).CoreBaseExtTaskWithCurrentCulture(false); source.DummyMain.Remove(obj); await source.SaveChangesAsync().CoreBaseExtTaskWithCurrentCulture(false); }
/// <summary> /// Мод "DummyMain". Основа. Расширение. Применить. Фильтрацию. /// </summary> /// <param name="query">Запрос.</param> /// <param name="input">Ввод.</param> /// <returns>Запрос с учётом фильтрации.</returns> public static IQueryable <DataEntityObjectDummyMain> ModDummyMainBaseExtApplyFiltering( this IQueryable <DataEntityObjectDummyMain> query, ModDummyMainBaseJobItemGetInput input ) { if (input.DataId > 0) { query = query.Where(x => x.Id == input.DataId); } if (input.DataName != null) { query = query.Where(x => x.Name == input.DataName); } return(query); }
) BuildActionItemDelete(ModDummyMainBaseJobItemGetInput input) { var job = AppJobItemDelete; Task execute() => job.Execute(input); void onSuccess(CoreBaseExecutionResult result) { job.OnSuccess(ExtLogger, result, input); } void onError(Exception ex, CoreBaseExecutionResult result) { job.OnError(ex, ExtLogger, result); } return(execute, onSuccess, onError); }
) BuildActionItemGet(ModDummyMainBaseJobItemGetInput input) { var job = AppJobItemGet; Task <ModDummyMainBaseJobItemGetOutput> execute() => job.Execute(input); void onSuccess(ModDummyMainBaseJobItemGetResult result) { job.OnSuccess(ExtLogger, result, input); } void onError(Exception ex, ModDummyMainBaseJobItemGetResult result) { job.OnError(ex, ExtLogger, result); } return(execute, onSuccess, onError); }
public async Task <IActionResult> Get([FromQuery] ModDummyMainBaseJobItemGetInput input) { var result = new ModDummyMainBaseJobItemGetResult(); var(execute, onSuccess, onError) = MyModel.BuildActionItemGet(input); try { result.Data = await execute().CoreBaseExtTaskWithCurrentCulture(false); onSuccess(result); } catch (Exception ex) { onError(ex, result); } return(Ok(result)); }
/// <summary> /// Получить элемент. /// </summary> /// <param name="input">Ввод.</param> /// <returns>Задача с полученными данными.</returns> public async Task <ModDummyMainBaseJobItemGetOutput> GetItem( ModDummyMainBaseJobItemGetInput input ) { ModDummyMainBaseJobItemGetOutput result = null; using (var source = CreateDbContext()) { var entityDummy = await source.DummyMain .Include(x => x.ObjectDummyOneToMany) .Include(x => x.ObjectsDummyMainDummyManyToMany) .ModDummyMainBaseExtApplyFiltering(input) .FirstOrDefaultAsync() .CoreBaseExtTaskWithCurrentCulture(false); if (entityDummy != null) { result = CreateItem(entityDummy); if (result.ObjectsDummyMainDummyManyToMany != null) { var idsOfDummyManyToMany = result.ObjectsDummyMainDummyManyToMany .Select(x => x.ObjectDummyManyToManyId) .ToArray(); if (idsOfDummyManyToMany.Any()) { var enities = await source.DummyManyToMany .Where(x => idsOfDummyManyToMany.Contains(x.Id)) .ToArrayAsync() .CoreBaseExtTaskWithCurrentCulture(false); if (enities.Any()) { InitItemDummyManyToMany(result, enities); } } } } } return(result); }
/// <inheritdoc/> protected sealed override void DoRun() { var input = new ModDummyMainBaseJobItemGetInput { DataId = 1 }; var result = new CoreBaseExecutionResultWithData <ModDummyMainBaseJobItemGetOutput>(); try { result.Data = Job.Execute(input).CoreBaseExtTaskWithCurrentCulture(false).GetResult(); Job.OnSuccess(Logger, result, input); } catch (Exception ex) { Job.OnError(ex, Logger, result); } var msg = result.CoreBaseExtJsonSerialize(CoreBaseExtJson.OptionsForLogger); Show(msg, false); }