Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }