88 lines
3.0 KiB
Plaintext
88 lines
3.0 KiB
Plaintext
@model string
|
|
@inject IHttpContextAccessor HttpContextAccessor
|
|
@inject IDataContextFactory<SeniorDataContext> dbFactory
|
|
@using LinqToDB;
|
|
|
|
@{
|
|
ViewBag.Title = "Hello Razor";
|
|
string username = HttpContextAccessor.HttpContext.Session.GetString("username");
|
|
var db = dbFactory.Create();
|
|
var user = (from u in db.Users
|
|
where u.Username.Equals(Model)
|
|
select u).FirstOrDefault();
|
|
var messages = (from m in db.Messages
|
|
where (m.Username.Equals(Model) && m.Receiver.Equals(username))
|
|
||(m.Receiver.Equals(Model) && m.Username.Equals(username))
|
|
orderby m.Time ascending
|
|
select m).ToArray();
|
|
}
|
|
|
|
<div class="content">
|
|
@if (messages.Count() == 0)
|
|
{
|
|
<p class="text-red">Non hai messaggi</p>
|
|
}
|
|
else
|
|
{
|
|
<h3 class="text-bold">Messaggi con @user.Name @user.LastName</h3>
|
|
|
|
foreach (var message in messages)
|
|
{
|
|
if (message.Seen == default && message.Receiver.Equals(username))
|
|
{
|
|
message.Seen = DateTime.Now;
|
|
db.Update(message);
|
|
}
|
|
<div>
|
|
@if (message.Receiver.Equals(username))
|
|
{
|
|
<div class="pull-left"></div>
|
|
<div class="pull-right-container bg-light-blue">
|
|
<span style="white-space: pre-line" class="">@message.Body</span>
|
|
<p class="text-aqua">@message.Seen</p>
|
|
</div>
|
|
}
|
|
else
|
|
{
|
|
<div class="pull-right-container bg-green-gradient">
|
|
<div style="white-space: pre-line" class="">@message.Body</div>
|
|
<p class="text-aqua">@message.Seen</p>
|
|
</div>
|
|
<div class="pull-right"></div>
|
|
}
|
|
</div>
|
|
}
|
|
}
|
|
<div class="pull-right">
|
|
<textarea id="res-message" class="progress-text" placeholder="Scrivi qui per scrivere un messaggio"></textarea>
|
|
<button id="btn-send-message">Invia</button>
|
|
<p id="message-error" class="text-red"></p>
|
|
</div>
|
|
<script>
|
|
$("#btn-send-message").on("click", function () {
|
|
var min = 10;
|
|
var body = $("#res-message").val().trim();
|
|
var endMessage = $("#message-error");
|
|
if (body.length < min) {
|
|
endMessage.html("Messaggio non valido (minimo " + min + " caratteri)");
|
|
return false;
|
|
}
|
|
|
|
$.ajax({
|
|
url: "/Account/_sendMessage",
|
|
type: "POST",
|
|
data: {
|
|
Receiver: "@Model",
|
|
Body: body
|
|
},
|
|
success: function (data) {
|
|
console.log(data);
|
|
$("#res-message").val("");
|
|
endMessage.html("Messaggio inviato");
|
|
window.location.reload();
|
|
}
|
|
});
|
|
});
|
|
</script>
|
|
</div>
|