public async Task <IActionResult> AddChangelog(Guid id, bool update = false)
        {
            User user            = Helpers.UserHelper.GetCurrentUser(User, db);
            ReferenceGeometry rg = await db.Geometries.FindAsync(id);

            if (rg != null)
            {
                ChangeLog cl = new ChangeLog()
                {
                    User = user, Log = "Created new geometry"
                };
                if (update)
                {
                    cl.Log = "Changed geometry";
                }
                ChangeLogGeometry clg = new ChangeLogGeometry()
                {
                    ChangeLog = cl, Geometry = rg
                };
                db.ChangeLogs.Add(cl);
                db.ChangeLogsGeometries.Add(clg);

                await db.SaveChangesAsync();

                return(Json("OK"));
            }
            return(Json("GeometryId not found"));
        }
        public async Task <IActionResult> Rename(Guid id, string newName)
        {
            User user = Helpers.UserHelper.GetCurrentUser(User, db);

            ReferenceGeometry rg = await db.Geometries
                                   .Include(m => m.ProjectGroup).ThenInclude(pg => pg.Group).ThenInclude(g => g.GroupUsers)
                                   .Where(m => m.GeometryId == id).FirstOrDefaultAsync();

            if (rg == null)
            {
                return(StatusCode(404));
            }
            // No right for it, User is not in Group

            if ((rg.ProjectGroup.Group.GroupUsers.Any(m => m.UserId == user.UserId)) || User.IsInRole("DM"))
            {
                rg.GeometryName = newName;
                ChangeLog cl = new ChangeLog()
                {
                    Log = "renamed geometry to " + newName, User = user
                };
                db.ChangeLogs.Add(cl);
                ChangeLogGeometry clg = new ChangeLogGeometry()
                {
                    ChangeLog = cl, Geometry = rg
                };
                db.ChangeLogsGeometries.Add(clg);

                db.Entry(rg).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(Content("OK"));
            }

            // No right for it, User is not in Group

            return(StatusCode(403));
        }