public async Task <int?> Create(Note data, string identity) { if (identity == null) { return(null); } if (string.IsNullOrEmpty(data.Title)) { return(null); } if (data.CategoryId.HasValue) { if (await parent.CategoriesProvider.Get(data.CategoryId.Value, identity) == null) { return(null); } } Models.Note raw = Models.Note.FromModel(data); raw.CreationTime = raw.ModificationTime = DateTimeOffset.Now; raw.UserId = identity; context.Notes.Add(raw); await context.SaveChangesAsync(); return(raw.Id); }
public async Task <int?> Update(int id, Note data, string identity) { if (identity == null) { return(null); } Models.Note raw = await context.Notes.FindAsync(id); if (raw == null || raw.UserId != identity) { return(null); } Models.Note value = Models.Note.FromModel(data); raw.Title = value.Title; raw.Content = value.Content; raw.CategoryId = value.CategoryId; raw.Keywords = value.Keywords; raw.Status = value.Status; raw.ModificationTime = DateTimeOffset.Now; context.Notes.Update(raw); await context.SaveChangesAsync(); return(raw.Id); }
public async Task <int?> Delete(int id, string identity) { if (identity == null) { return(null); } Models.Note raw = await context.Notes.FindAsync(id); if (raw == null || raw.UserId != identity) { return(null); } { IRelationsProvider provider = parent.RelationsProvider; await provider.ClearAdjacents(id, identity); } context.Notes.Remove(raw); await context.SaveChangesAsync(); return(id); }