示例#1
0
        public IActionResult Profile(NotesBindingModel notesBindingModel)
        {
            User user = null;

            using (var context = new NotesDbContext())
            {
                user = context.Users.FirstOrDefault(u => u.Id == int.Parse(notesBindingModel.UserId));

                if (notesBindingModel.Title == "" || notesBindingModel.Content == "")
                {
                    this.ViewModel["message"]  = "Empty input fields !";
                    this.ViewModel["username"] = user.Username;

                    var notes = context.Notes.Where(n => n.OwnerId == user.Id).ToArray();

                    this.ViewModel["notes"] = notes.Any()
                    ? string.Join(string.Empty, notes
                                  .Select(u => $"<li><a href=\"/users/note?id={u.Id}\">{u.Title}</a>  -  {u.Content}</li>"))
                        : $"<p>No notes for this user !</p>";

                    return(View());
                }


                Note note = new Note
                {
                    Content = notesBindingModel.Content,
                    Title   = notesBindingModel.Title,
                    Owner   = user
                };

                context.Notes.Add(note);
                context.SaveChanges();
            }

            return(Redirect($"/users/profile?id={user.Id}"));
        }