public IActionResult UpdateWithPictures([FromBody] BIDiagram item)
    {
        var session       = HttpContext.Get <LoggableEntities>(_context);
        var current_Admin = session == null ? null : session.Admin;

        var allowed_items = ApiTokenValid ? _context.BIDiagram : _context.BIDiagram;

        if (!allowed_items.Any(i => i.Id == item.Id))
        {
            return(Unauthorized());
        }
        var new_item = item;

        var can_edit_by_token = ApiTokenValid || true;

        if (item == null || !can_edit_by_token)
        {
            return(Unauthorized());
        }
        // throw new Exception("Unauthorized edit attempt");
        _context.Update(new_item);
        _context.Entry(new_item).Property(x => x.CreatedDate).IsModified = false;
        _context.SaveChanges();
        return(Ok());
    }
    public IActionResult /*BIDiagram*/ Create()
    {
        var session       = HttpContext.Get <LoggableEntities>(_context);
        var current_Admin = session == null ? null : session.Admin;


        var can_create_by_token = ApiTokenValid || true;

        if (!can_create_by_token)
        {
            return(Unauthorized());
        }
        // throw new Exception("Unauthorized create attempt");
        var item = new BIDiagram()
        {
            CreatedDate = DateTime.Now,
        };

        _context.BIDiagram.Add(PowerBIPoC.Models.BIDiagram.FilterViewableAttributesLocal(current_Admin)(item));
        _context.SaveChanges();
        item = PowerBIPoC.Models.BIDiagram.WithoutImages(item);
        return(Ok(item));
    }