comments ...
This commit is contained in:
parent
fdf5ee915e
commit
710c04d5f9
6 changed files with 32 additions and 17 deletions
|
|
@ -118,7 +118,7 @@ namespace Yavsc.Controllers
|
||||||
_context.Comment.Add(c);
|
_context.Comment.Add(c);
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
await _context.SaveChangesAsync(User.GetUserId());
|
await _context.SaveChangesAsync(uid);
|
||||||
}
|
}
|
||||||
catch (DbUpdateException)
|
catch (DbUpdateException)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,8 @@ namespace Yavsc.Models
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
using Microsoft.AspNetCore.Identity.EntityFrameworkCore;
|
using Microsoft.AspNetCore.Identity.EntityFrameworkCore;
|
||||||
using Yavsc.Server.Models.Calendar;
|
using Yavsc.Server.Models.Calendar;
|
||||||
|
using Yavsc.Controllers;
|
||||||
|
using Microsoft.EntityFrameworkCore.ChangeTracking;
|
||||||
|
|
||||||
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
|
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
|
||||||
{
|
{
|
||||||
|
|
@ -88,7 +90,7 @@ namespace Yavsc.Models
|
||||||
|
|
||||||
builder.Entity<Activity>().Property(a=>a.ParentCode).IsRequired(false);
|
builder.Entity<Activity>().Property(a=>a.ParentCode).IsRequired(false);
|
||||||
//builder.Entity<BlogPost>().HasOne(p => p.Author).WithMany(a => a.Posts);
|
//builder.Entity<BlogPost>().HasOne(p => p.Author).WithMany(a => a.Posts);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// this is not a failback procedure.
|
// this is not a failback procedure.
|
||||||
|
|
@ -202,11 +204,11 @@ namespace Yavsc.Models
|
||||||
public DbSet<GeneralSettings> GeneralSettings { get; set; }
|
public DbSet<GeneralSettings> GeneralSettings { get; set; }
|
||||||
public DbSet<CoWorking> CoWorking { get; set; }
|
public DbSet<CoWorking> CoWorking { get; set; }
|
||||||
|
|
||||||
private void AddTimestamps(string currentUsername)
|
private void AddTimestamps(string userId)
|
||||||
{
|
{
|
||||||
var entities =
|
var entities =
|
||||||
ChangeTracker.Entries()
|
ChangeTracker.Entries()
|
||||||
.Where(x => x.Entity.GetType().GetInterface("IBaseTrackedEntity") != null
|
.Where(x => x.Entity.GetType().GetInterface(nameof(ITrackedEntity)) != null
|
||||||
&& (x.State == EntityState.Added || x.State == EntityState.Modified));
|
&& (x.State == EntityState.Added || x.State == EntityState.Modified));
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -215,19 +217,22 @@ namespace Yavsc.Models
|
||||||
if (entity.State == EntityState.Added)
|
if (entity.State == EntityState.Added)
|
||||||
{
|
{
|
||||||
((ITrackedEntity)entity.Entity).DateCreated = DateTime.Now;
|
((ITrackedEntity)entity.Entity).DateCreated = DateTime.Now;
|
||||||
((ITrackedEntity)entity.Entity).UserCreated = currentUsername;
|
((ITrackedEntity)entity.Entity).UserCreated = userId;
|
||||||
}
|
}
|
||||||
|
|
||||||
((ITrackedEntity)entity.Entity).DateModified = DateTime.Now;
|
((ITrackedEntity)entity.Entity).DateModified = DateTime.Now;
|
||||||
((ITrackedEntity)entity.Entity).UserModified = currentUsername;
|
((ITrackedEntity)entity.Entity).UserModified = userId;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public int SaveChanges(string userId)
|
public int SaveChanges(string userId)
|
||||||
{
|
{
|
||||||
AddTimestamps(userId);
|
AddTimestamps(userId);
|
||||||
return base.SaveChanges();
|
return base.SaveChanges();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public async Task<int> SaveChangesAsync(string userId, CancellationToken ctoken = default(CancellationToken))
|
public async Task<int> SaveChangesAsync(string userId, CancellationToken ctoken = default(CancellationToken))
|
||||||
{
|
{
|
||||||
AddTimestamps(userId);
|
AddTimestamps(userId);
|
||||||
|
|
|
||||||
|
|
@ -80,11 +80,11 @@ $('#commentValidation').html(
|
||||||
@if (User.GetUserId()!=null) {
|
@if (User.GetUserId()!=null) {
|
||||||
<div class="form-horizontal">
|
<div class="form-horizontal">
|
||||||
<div class="input-group" >
|
<div class="input-group" >
|
||||||
<input name="Comment" id="Comment" class="form-control" placeholder="DoCommentPlaceHolder"]"/>
|
<input name="Comment" id="Comment" class="form-control" placeholder="..."/>
|
||||||
<span class="input-group-btn">
|
<span class="input-group-btn">
|
||||||
<span id="commentValidation"></span>
|
<span id="commentValidation"></span>
|
||||||
|
|
||||||
<input type="button" value="DoComment"]" class="btn btn-secondary"
|
<input type="button" value="Comment" class="btn btn-secondary"
|
||||||
data-receiverId="@Model.Id" id="cmtBtn"
|
data-receiverId="@Model.Id" id="cmtBtn"
|
||||||
/>
|
/>
|
||||||
</span>
|
</span>
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,16 @@
|
||||||
@model Comment
|
@model Comment
|
||||||
|
|
||||||
<div data-type="blogcomment" data-id="@Model.Id" data-allow-edit="@(User.GetUserId()==Model.AuthorId?"true":"false")"
|
<div data-type="blogcomment" data-id="@Model.Id" data-allow-edit="@(User.GetUserId()==Model.AuthorId?"true":"false")"
|
||||||
data-allow-moderate="@ViewData["moderatoFlag"]" data-date="@Html.Raw(Model.DateCreated)" data-username="@Model.Author.UserName" >
|
data-allow-moderate="@ViewData["moderatoFlag"]" data-date="@Model.DateCreated.ToString("yyyy-MM-dd hh:mm:ss")" data-username="@Model.Author.UserName" >
|
||||||
<asciidoc>@Model.Content</asciidoc>
|
<asciidoc>@Model.Content</asciidoc>
|
||||||
<div class="subcomments">
|
|
||||||
@if (Model.Children!=null && Model.Children.Count>0) {
|
@if (Model.Children!=null) {
|
||||||
foreach (var comment in Model.Children) {
|
<div class="subcomments">
|
||||||
@Html.DisplayFor(model=>comment,"Comment","Comment")
|
@foreach (var comment in Model.Children)
|
||||||
} }
|
{
|
||||||
</div>
|
Html.DisplayFor(model=>comment,"Comment","Comment");
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -24,3 +24,8 @@ div.carousel-inner > div.item > div.carousel-caption-s {
|
||||||
img.blogphoto {
|
img.blogphoto {
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
max-height: 100%; }
|
max-height: 100%; }
|
||||||
|
|
||||||
|
.cmtdatetime {
|
||||||
|
font-style: italic;
|
||||||
|
font-size: x-small;
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -25,12 +25,12 @@ $.widget("psc.blogcomment", {
|
||||||
var date = new Date(this.element.data("date"));
|
var date = new Date(this.element.data("date"));
|
||||||
var username = this.element.data("username");
|
var username = this.element.data("username");
|
||||||
this.editable = this.element.data("allow-edit");
|
this.editable = this.element.data("allow-edit");
|
||||||
this.element.prepend('<div class="commentmeta"><div class="avatar"><img src="/Avatars/' + username + '.xs.png" class="smalltofhol" />' + username + '</div><div class="cmtdatetime">' +
|
this.element.prepend('<div class="commentmeta"><img class="avatar" src="/Avatars/' + username + '.xs.png" class="smalltofhol" title="' + username + '" /><div class="cmtdatetime">' +
|
||||||
date.toLocaleDateString(this.options.lang) + ' ' + date.toLocaleTimeString(this.options.lang) + '</div></div>')
|
date.toLocaleDateString(this.options.lang) + ' ' + date.toLocaleTimeString(this.options.lang) + '</div></div>')
|
||||||
this.element.on("mouseenter", this.onMouseEnter);
|
this.element.on("mouseenter", this.onMouseEnter);
|
||||||
this.element.on("mouseleave", this.onMouseLeave);
|
this.element.on("mouseleave", this.onMouseLeave);
|
||||||
|
|
||||||
this.ctlBtn = $('<button class="btn glyphicon-collapse-down"></button>').on("click", function(ev) { _this.toggleCollapse(_this, ev) }).appendTo(_this.element);
|
this.ctlBtn = $('<button class="btn"><span class="ui-icon ui-icon-plus"></span></button>').on("click", function(ev) { _this.toggleCollapse(_this, ev) }).appendTo(_this.element);
|
||||||
},
|
},
|
||||||
toggleCollapse: function(_this, ev) {
|
toggleCollapse: function(_this, ev) {
|
||||||
_this.collapsed = !_this.collapsed;
|
_this.collapsed = !_this.collapsed;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue