public async Task <ServiceStatusItem> TodoUpdateAsync(TodoItem item) { ServiceStatusItem result = new ServiceStatusItem(); try { if (item.ID == 0) { result.AddError("Ivalid `id`"); } if (item.Date.HasValue == false || item.Date.Value < new DateTime(1970, 1, 1)) { result.AddError("`date` required"); } if (string.IsNullOrWhiteSpace(item.Title)) { result.AddError("`title` required"); } if (item.IDCategory < 0) { result.AddError("`idCategory` required"); } if (result.Messages.Count > 0) { return(result); } using (var db = new DBCommand(_connectionString, Queries.Update)) { db.AddParameterInt("@id", item.ID); db.AddParameterDateTime("@date", item.Date); db.AddParameterString("@title", 100, item.Title); db.AddParameterNote("@note", item.Note); db.AddParameterInt("@idCategory", item.IDCategory); db.AddParameterDateTime("@completed", item.Completed); await db.ExecuteNonQueryAsync(); result.AddSuccess($"Updated id: {item.ID}"); result.Success = true; } } catch (Exception ex) { result.AddError(ex); } return(result); }