예제 #1
0
 public IActionResult CreateNote([FromForm] UserNoteRequest userNoteData)
 {
     try
     {
         var idClaim = HttpContext.User.Claims.FirstOrDefault(id => id.Type.Equals("id", StringComparison.InvariantCultureIgnoreCase));
         int userId  = Convert.ToInt32(idClaim.Value);
         UserNoteResponseData data = _userNoteBusiness.CreateNote(userId, userNoteData);
         bool   success            = false;
         string message;
         if (userNoteData == null)
         {
             message = "Try again";
             return(Ok(new { success, message }));
         }
         else
         {
             success = true;
             message = "Notes Created Successfully";
             return(Ok(new { success, message, data }));
         }
     }
     catch (Exception ex)
     {
         return(BadRequest(new { ex.Message }));
     }
 }
        public UserNoteResponseData UpdateNote(int userID, int noteID, UpdateNoteRequest updateNoteRequest)
        {
            try
            {
                UserNoteResponseData userNoteResponseData = null;
                var userData = _context.UserNotes.FirstOrDefault(user => user.UserId == userID && user.NotesId == noteID);
                userData.Title       = updateNoteRequest.Title;
                userData.Description = updateNoteRequest.Description;
                _context.SaveChanges();

                userNoteResponseData = new UserNoteResponseData()
                {
                    NoteId      = userData.NotesId,
                    Title       = userData.Title,
                    Description = userData.Description,
                    Color       = userData.Color,
                    Image       = userData.Image,
                    Pin         = userData.Pin,
                    Archived    = userData.Archived,
                    Trash       = userData.Trash,
                    Reminder    = userData.Reminder
                };
                return(userNoteResponseData);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
예제 #3
0
 public IActionResult AddCollaborator(int noteID, CollaboratorsRequest collaborators)
 {
     try
     {
         bool   success = false;
         string message;
         var    idClaim            = HttpContext.User.Claims.FirstOrDefault(id => id.Type.Equals("id", StringComparison.InvariantCultureIgnoreCase));
         int    userID             = Convert.ToInt32(idClaim.Value);
         UserNoteResponseData data = _userNoteBusiness.AddCollaborator(userID, noteID, collaborators);
         if (data != null)
         {
             success = true;
             message = "Collaborator Added Successfully";
             return(Ok(new { success, message, data }));
         }
         else
         {
             message = "Try Again!";
             return(Ok(new { success, message }));
         }
     }
     catch (Exception ex)
     {
         return(BadRequest(new { ex.Message }));
     }
 }
        public UserNoteResponseData AddCollaborator(int userID, int noteID, CollaboratorsRequest collaborators)
        {
            try
            {
                var notesinfo = _context.UserNotes.
                                Where(userNote => userNote.UserId == userID && userNote.NotesId == noteID && userNote.NotesId == noteID).FirstOrDefault();

                foreach (CollaboratorRequest collaborator in collaborators.Collaborators)
                {
                    var collaboratorsData = _context.Collaborators.
                                            Where(userCollab => userCollab.UserID == collaborator.UserID && userCollab.NoteID == noteID).
                                            FirstOrDefault();
                    if (userID == collaborator.UserID || collaboratorsData != null)
                    {
                        return(null);
                    }
                    else
                    {
                        CollaboratorInfo userNotes = new CollaboratorInfo()
                        {
                            UserID       = collaborator.UserID,
                            NoteID       = noteID,
                            CreatedDate  = DateTime.Now,
                            ModifiedDate = DateTime.Now,
                        };
                        _context.Collaborators.Add(userNotes);
                        _context.SaveChanges();
                    }
                }

                List <LabelResponseData> labelsData = _context.NotesLabels.
                                                      Where(note => note.NotesId == notesinfo.NotesId).
                                                      Join(_context.Labels,
                                                           noteLabel => noteLabel.LabelId,
                                                           label => label.LabelID,
                                                           (noteLabel, label) => new LabelResponseData
                {
                    LabelID   = noteLabel.LabelId,
                    LabelName = label.LabelName,
                }).
                                                      ToList();
                List <CollaboratorResponseData> collabsData = _context.Collaborators.
                                                              Where(noted => noted.NoteID == noteID).
                                                              Join(_context.Users,
                                                                   noteCollab => noteCollab.UserID,
                                                                   collab => collab.ID,
                                                                   (noteCollab, collab) => new CollaboratorResponseData
                {
                    UserID = noteCollab.UserID,
                    Email  = collab.Email
                }).
                                                              ToList();

                UserNoteResponseData noteResponseData = new UserNoteResponseData()
                {
                    NoteId        = notesinfo.NotesId,
                    Title         = notesinfo.Title,
                    Description   = notesinfo.Description,
                    Color         = notesinfo.Color,
                    Image         = notesinfo.Image,
                    Pin           = notesinfo.Pin,
                    Archived      = notesinfo.Archived,
                    Trash         = notesinfo.Trash,
                    Reminder      = notesinfo.Reminder,
                    Labels        = labelsData,
                    Collaborators = collabsData
                };
                return(noteResponseData);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
        public UserNoteResponseData AddlabelsToNote(int userID, int noteID, AddLabelNoteRequest addLabelNote)
        {
            try
            {
                List <NotesLabel> labels = _context.NotesLabels.Where(notes => notes.NotesId == noteID).ToList();

                if (labels != null && labels.Count != 0)
                {
                    _context.NotesLabels.RemoveRange(labels);
                    _context.SaveChanges();
                }

                if (addLabelNote.Label.Count > 0)
                {
                    List <NotesLabelRequest> labelRequests = addLabelNote.Label;
                    foreach (NotesLabelRequest labelRequest in labelRequests)
                    {
                        LabelInfo labelInfo = _context.Labels.
                                              Where(labeled => labeled.UserID == userID && labeled.LabelID == labelRequest.LabelId).
                                              FirstOrDefault <LabelInfo>();

                        if (labelRequest.LabelId > 0 && labelInfo != null)
                        {
                            var data = new NotesLabel
                            {
                                LabelId      = labelRequest.LabelId,
                                NotesId      = noteID,
                                CreatedDate  = DateTime.Now,
                                ModifiedDate = DateTime.Now
                            };

                            _context.NotesLabels.Add(data);
                            _context.SaveChanges();
                        }
                    }
                }

                var notesinfo = _context.UserNotes.
                                Where(note => note.NotesId == noteID && note.UserId == userID).
                                First <UserNotesInfo>();
                List <LabelResponseData> labelsData = _context.NotesLabels.
                                                      Where(note => note.NotesId == notesinfo.NotesId).
                                                      Join(_context.Labels,
                                                           noteLabel => noteLabel.LabelId,
                                                           label => label.LabelID,
                                                           (noteLabel, label) => new LabelResponseData
                {
                    LabelID   = noteLabel.LabelId,
                    LabelName = label.LabelName,
                }).
                                                      ToList();

                UserNoteResponseData noteResponseData = new UserNoteResponseData()
                {
                    NoteId      = notesinfo.NotesId,
                    Title       = notesinfo.Title,
                    Description = notesinfo.Description,
                    Color       = notesinfo.Color,
                    Image       = notesinfo.Image,
                    Pin         = notesinfo.Pin,
                    Archived    = notesinfo.Archived,
                    Trash       = notesinfo.Trash,
                    Reminder    = notesinfo.Reminder,
                    Labels      = labelsData
                };

                return(noteResponseData);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
        public UserNoteResponseData CreateNote(int userID, UserNoteRequest userNoteData)
        {
            try
            {
                UserNotesInfo userNote = new UserNotesInfo()
                {
                    UserId       = userID,
                    Title        = userNoteData.Title,
                    Description  = userNoteData.Description,
                    Color        = userNoteData.Color,
                    Image        = userNoteData.Image,
                    Pin          = userNoteData.Pin,
                    Archived     = userNoteData.Archived,
                    Trash        = userNoteData.Trash,
                    Reminder     = userNoteData.Reminder,
                    CreatedDate  = DateTime.Now,
                    ModifiedDate = DateTime.Now
                };
                _context.UserNotes.Add(userNote);
                _context.SaveChanges();

                if (userNoteData.Label != null && userNoteData.Label.Count != 0)
                {
                    List <NotesLabelRequest> labelRequests = userNoteData.Label;
                    foreach (NotesLabelRequest labelRequest in labelRequests)
                    {
                        LabelInfo labelInfo = _context.Labels.
                                              Where(label => label.UserID == userID && label.LabelID == labelRequest.LabelId).
                                              FirstOrDefault <LabelInfo>();

                        if (labelRequest.LabelId > 0 && labelInfo != null)
                        {
                            var data = new NotesLabel
                            {
                                LabelId      = labelRequest.LabelId,
                                NotesId      = userNote.NotesId,
                                CreatedDate  = DateTime.Now,
                                ModifiedDate = DateTime.Now
                            };
                            _context.NotesLabels.Add(data);
                            _context.SaveChanges();
                        }
                    }
                }
                if (userNoteData.Collaborators != null && userNoteData.Collaborators.Count != 0)
                {
                    List <CollaboratorRequest> collaboratorss = userNoteData.Collaborators;
                    foreach (CollaboratorRequest collaborator in collaboratorss)
                    {
                        if (collaborator.UserID != 0)
                        {
                            CollaboratorInfo userNotes = new CollaboratorInfo()
                            {
                                UserID       = collaborator.UserID,
                                NoteID       = userNote.NotesId,
                                CreatedDate  = DateTime.Now,
                                ModifiedDate = DateTime.Now,
                            };
                            _context.Collaborators.Add(userNotes);
                            _context.SaveChanges();
                        }
                    }
                }

                List <LabelResponseData> labelsData = _context.NotesLabels.
                                                      Where(note => note.NotesId == userNote.NotesId).
                                                      Join(_context.Labels,
                                                           labbelledNote => labbelledNote.LabelId,
                                                           label => label.LabelID,
                                                           (labbelledNote, label) => new LabelResponseData
                {
                    LabelID   = labbelledNote.LabelId,
                    LabelName = label.LabelName,
                }).
                                                      ToList();
                List <CollaboratorResponseData> collabsData = _context.Collaborators.
                                                              Where(noted => noted.NoteID == userNote.NotesId).
                                                              Join(_context.Users,
                                                                   noteLabel => noteLabel.UserID,
                                                                   label => label.ID,
                                                                   (noteLabel, label) => new CollaboratorResponseData
                {
                    UserID = noteLabel.UserID,
                    Email  = label.Email
                }).
                                                              ToList();
                var noteResponseData = new UserNoteResponseData()
                {
                    NoteId        = userNote.NotesId,
                    Title         = userNote.Title,
                    Description   = userNote.Description,
                    Color         = userNote.Color,
                    Image         = userNote.Image,
                    Pin           = userNote.Pin,
                    Archived      = userNote.Archived,
                    Reminder      = userNote.Reminder,
                    Trash         = userNote.Trash,
                    Labels        = labelsData,
                    Collaborators = collabsData
                };

                return(noteResponseData);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
        public UserNoteResponseData UpdateNote(int userID, int noteID, UpdateNoteRequest updateNoteRequest)
        {
            UserNoteResponseData userNoteResponseData = _userNoteRepository.UpdateNote(userID, noteID, updateNoteRequest);

            return(userNoteResponseData);
        }
        public UserNoteResponseData CreateNote(int userID, UserNoteRequest userNotes)
        {
            UserNoteResponseData userNoteResponseData = _userNoteRepository.CreateNote(userID, userNotes);

            return(userNoteResponseData);
        }
        public UserNoteResponseData AddCollaborator(int userID, int noteID, CollaboratorsRequest collaborators)
        {
            UserNoteResponseData data = _userNoteRepository.AddCollaborator(userID, noteID, collaborators);

            return(data);
        }
        public UserNoteResponseData AddlabelsToNote(int userID, int noteID, AddLabelNoteRequest addLabelNote)
        {
            UserNoteResponseData data = _userNoteRepository.AddlabelsToNote(userID, noteID, addLabelNote);

            return(data);
        }