Ejemplo n.º 1
0
        public void AddNoteType([FromForm] string noteTypeName)
        {
            ProMaUser user = DataController.LoggedInUser;

            if (user == null)
            {
                throw new NotLoggedInException();
            }

            if (noteTypeName.Contains("'") || noteTypeName.Contains("\""))
            {
                throw new Exception("Invalid Note Type name");
            }

            NoteType newNoteType = new NoteType();

            newNoteType.NoteTypeName = noteTypeName;
            NoteTypeHandler.AddNoteType(newNoteType);

            NoteTypeMembership originalMembership = new NoteTypeMembership();

            originalMembership.UserId      = user.UserId;
            originalMembership.NoteTypeId  = newNoteType.NoteTypeId;
            originalMembership.IsCreator   = true;
            originalMembership.CanUseNotes = true;
            NoteTypeMembershipHandler.AddNoteTypeMembership(originalMembership);
        }
Ejemplo n.º 2
0
        public PostedNote.PostedNotePayload SetNoteActive([FromBody] SetNoteActiveRequestObject requestObject)
        {
            ProMaUser user = DataController.LoggedInUser;

            if (user == null)
            {
                throw new NotLoggedInException();
            }

            PostedNote relevantNote = PostedNoteHandler.GetNote(requestObject.noteId);

            if (relevantNote == null)
            {
                throw new Exception("No note with id " + requestObject.noteId.ToString());
            }

            if (relevantNote.NoteTypeId.HasValue && !NoteTypeHandler.UserCanPostNotesOfType(user.UserId, relevantNote.NoteTypeId.Value))
            {
                throw new Exception("Cannot modify or create notes of this type");
            }

            relevantNote.Active = requestObject.active;

            relevantNote.EditedTime   = ProMaUser.NowTime();
            relevantNote.EditedUserId = user.UserId;

            PostedNoteHandler.UpdatePostedNote(relevantNote);

            return(PostedNoteHandler.GetPayloadNote(relevantNote, user.UserId));
        }
Ejemplo n.º 3
0
        public PostedNote.PostedNotePayload ToggleHighlightNote([FromForm] int noteId)
        {
            ProMaUser user = DataController.LoggedInUser;

            if (user == null)
            {
                throw new NotLoggedInException();
            }

            PostedNote relevantNote = PostedNoteHandler.GetNote(noteId);

            if (relevantNote == null)
            {
                throw new Exception("No note with id " + noteId.ToString());
            }

            if (relevantNote.NoteTypeId.HasValue && !NoteTypeHandler.UserCanPostNotesOfType(user.UserId, relevantNote.NoteTypeId.Value))
            {
                throw new Exception("Cannot modify or create notes of this type");
            }

            relevantNote.Highlighted = !relevantNote.Highlighted;

            relevantNote.EditedTime   = ProMaUser.NowTime();
            relevantNote.EditedUserId = user.UserId;

            PostedNoteHandler.UpdatePostedNote(relevantNote);

            return(PostedNoteHandler.GetPayloadNote(relevantNote, user.UserId));
        }
Ejemplo n.º 4
0
        public List <NoteType> GetNoteTypes()
        {
            ProMaUser user = DataController.LoggedInUser;

            if (user == null)
            {
                throw new NotLoggedInException();
            }

            List <NoteType> returnThis = NoteTypeHandler.GetNoteTypesForUser(user.UserId).OrderByDescending(x => x.Membership.IsCreator).ThenBy(x => x.NoteTypeName).ThenBy(x => x.NoteTypeId).ToList();

            return(returnThis);
        }
Ejemplo n.º 5
0
        public PostedNote.PostedNotePayload EditNote([FromBody] EditNoteRequestObject requestObject)
        {
            ProMaUser user = DataController.LoggedInUser;

            if (user == null)
            {
                throw new NotLoggedInException();
            }

            PostedNote relevantNote = PostedNoteHandler.GetNote(requestObject.noteId);

            if (relevantNote == null)
            {
                throw new Exception("No note with id " + requestObject.noteId.ToString());
            }

            if (relevantNote.NoteTypeId.HasValue && !NoteTypeHandler.UserCanPostNotesOfType(user.UserId, relevantNote.NoteTypeId.Value))
            {
                throw new Exception("Cannot modify or create notes of this type");
            }

            relevantNote.NoteText = PostedNoteHandler.CleanNoteText(requestObject.noteText);

            if (requestObject.noteTypeId != -1)
            {
                relevantNote.NoteTypeId = requestObject.noteTypeId;
            }
            else
            {
                relevantNote.NoteTypeId = null;
            }

            relevantNote.EditedTime   = ProMaUser.NowTime();
            relevantNote.EditedUserId = user.UserId;
            relevantNote.NoteTitle    = requestObject.noteTitle;

            PostedNoteHandler.UpdatePostedNote(relevantNote);

            return(PostedNoteHandler.GetPayloadNote(relevantNote, (int?)(user.UserId)));
        }
Ejemplo n.º 6
0
        public PostedNote.PostedNotePayload PostNote([FromBody] PostNoteRequestObject requestObject)
        {
            ProMaUser user = DataController.LoggedInUser;

            if (user == null)
            {
                throw new NotLoggedInException();
            }

            if (requestObject.noteTypeId != -1 && !NoteTypeHandler.UserCanPostNotesOfType(user.UserId, requestObject.noteTypeId))
            {
                throw new Exception();
            }

            PostedNote newNote = new PostedNote();

            newNote.NoteText   = PostedNoteHandler.CleanNoteText(requestObject.noteText);
            newNote.PostedTime = ProMaUser.NowTime();
            newNote.UserId     = user.UserId;
            newNote.Active     = true;

            newNote.Completed     = false;
            newNote.CompletedTime = null;

            newNote.Highlighted = false;

            if (requestObject.noteTypeId != -1)
            {
                newNote.NoteTypeId = requestObject.noteTypeId;
            }
            else
            {
                newNote.NoteTypeId = null;
            }

            PostedNoteHandler.AddPostedNote(newNote);

            return(PostedNoteHandler.GetPayloadNote(newNote, user.UserId));
        }
Ejemplo n.º 7
0
        public void DeleteNoteType([FromForm] int noteTypeId)
        {
            ProMaUser user = DataController.LoggedInUser;

            if (user == null)
            {
                throw new NotLoggedInException();
            }

            NoteType relevantNoteType = NoteTypeHandler.GetNoteType(noteTypeId, user.UserId);

            if (relevantNoteType == null)
            {
                throw new Exception("No note with id " + noteTypeId.ToString());
            }

            if (!relevantNoteType.Membership.IsCreator)
            {
                throw new Exception("Created by someone else");
            }

            NoteTypeHandler.DeleteNoteType(relevantNoteType);
        }
Ejemplo n.º 8
0
        public void ShareNoteType([FromBody] ShareNoteTypeRequestObject requestObject)
        {
            ProMaUser user = DataController.LoggedInUser;

            if (user == null)
            {
                throw new NotLoggedInException();
            }

            NoteType relevantNoteType = NoteTypeHandler.GetNoteType(requestObject.noteTypeId, user.UserId);

            if (!relevantNoteType.Membership.IsCreator)
            {
                throw new Exception("Created by someone else");
            }

            NoteTypeMembership newMembership = new NoteTypeMembership();

            newMembership.NoteTypeId  = requestObject.noteTypeId;
            newMembership.CanUseNotes = requestObject.canEdit;
            newMembership.UserId      = requestObject.userId;
            NoteTypeMembershipHandler.AddNoteTypeMembership(newMembership);
        }
Ejemplo n.º 9
0
        public void RenameNoteType([FromBody] RenameNoteTypeRequestObject requestObject)
        {
            ProMaUser user = DataController.LoggedInUser;

            if (user == null)
            {
                throw new NotLoggedInException();
            }

            if (requestObject.newName.Contains("'") || requestObject.newName.Contains("\""))
            {
                throw new Exception("Invalid Note Type name");
            }

            NoteType relevantNoteType = NoteTypeHandler.GetNoteType(requestObject.noteTypeId, user.UserId);

            if (!relevantNoteType.Membership.IsCreator)
            {
                throw new Exception("Created by someone else");
            }

            relevantNoteType.NoteTypeName = requestObject.newName;
            NoteTypeHandler.UpdateNoteType(relevantNoteType);
        }