public async Task <IActionResult> OnPostUpdateAsync() { var entity = await EntitiesService.FindByIdAndTableNameAsync(EntityId, TableName); if (entity == null) { return(NotFound()); } var formDict = Request.Form.ToDictionary(k => k.Key.ToString(), k => k.Value); var result = await EntitiesService.UpdateAsync(entity, formDict); if (result.Successfull) { StatusMessage = $"The {entity.GetType().Name} has been succesfully updated."; return(RedirectToPage(new { id = EntityId, table = TableName })); } foreach (var error in result.Errors) { ModelState.AddModelError(string.Empty, error.Message); } return(await OnGetAsync(EntityId.ToString(), TableName)); }
public async Task <IActionResult> OnGetAsync(string id, string table) { var entity = await EntitiesService.FindByIdAndTableNameAsync(id, table); if (entity == null) { return(NotFound()); } var props = EntitiesService.GetEntityPropertiesByTable(table).Where(p => !p.IsForeignKey()); if (props == null) { return(NotFound()); } ForeignKeys = EntitiesService.GetForeignKeyPropertiesToDto(entity).ToList(); ViewData["EntityId"] = id; ViewData["TableName"] = table; TableName = table; PageTitle = $"{BtnUpdateValue} - {entity.GetType().GetProperty(PropertyNameConstants.Name)?.GetValue(entity)}"; Entity = entity; EntityId = id; Properties = props.ToList(); return(Page()); }
public async Task <JsonResult> OnPostDeleteViaAjaxAsync([FromBody] DeleteEntityFromSideNavDto dto) { var entity = await EntitiesService.FindByIdAndTableNameAsync(dto.Id, dto.Table); if (entity == null) { return(new JsonResult(KerykeionDbResult.Fail(new KerykeionDbError { Message = "The entity is not found." }))); } var result = await EntitiesService.DeleteAsync(entity); return(new JsonResult(result)); }
public async Task <IActionResult> OnPostDeleteAsync() { var entity = await EntitiesService.FindByIdAndTableNameAsync(EntityId, TableName); if (entity == null) { return(NotFound()); } var result = await EntitiesService.DeleteAsync(entity); if (result.Successfull) { return(RedirectToPage("/Entities/Index", new { table = TableName })); } foreach (var error in result.Errors) { StatusMessage += $"Error: {error.Message}<br />"; } return(await OnGetAsync(EntityId.ToString(), TableName)); }
public async Task <IActionResult> OnPostDeleteAsync(string id) { var entity = await EntitiesService.FindByIdAndTableNameAsync(id, TableName); if (entity == null) { return(NotFound()); } var result = await EntitiesService.DeleteAsync(entity); if (result.Successfull) { StatusMessage = "The entity has been successfully deleted."; return(RedirectToPage(new { table = TableName })); } foreach (var error in result.Errors) { StatusMessage += $"Error: {error.Message}<br />"; } return(await OnGetAsync(TableName)); }