read not
This commit is contained in:
@@ -36,7 +36,7 @@
|
||||
|
||||
<ItemGroup>
|
||||
<Reference Include="Service">
|
||||
<HintPath>..\..\..\LocalGit\TaxPayerTools\Service\bin\Debug\Service.dll</HintPath>
|
||||
<HintPath>..\..\Dlls\Service.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
|
||||
|
@@ -18,8 +18,9 @@ namespace Back.Controllers
|
||||
private readonly MobileValidation _mobilevalidation;
|
||||
private readonly ServValidatinMsg _servValidatinMsg;
|
||||
private readonly servSendMsg _servSendMsg;
|
||||
private readonly servNotification _servNotification;
|
||||
public UserController(servUser servUser, MobileValidation mobilevalidation, servCompany servCompany
|
||||
, ServValidatinMsg servValidatinMsg, servSendMsg servSendMsg)
|
||||
, ServValidatinMsg servValidatinMsg, servSendMsg servSendMsg, servNotification servNotification)
|
||||
{
|
||||
|
||||
_servUser = servUser;
|
||||
@@ -27,6 +28,7 @@ namespace Back.Controllers
|
||||
_servCompany = servCompany;
|
||||
_servValidatinMsg = servValidatinMsg;
|
||||
_servSendMsg = servSendMsg;
|
||||
_servNotification = servNotification;
|
||||
}
|
||||
[HttpPost("authenticate")]
|
||||
[AllowAnonymous]
|
||||
@@ -92,6 +94,15 @@ namespace Back.Controllers
|
||||
return Ok(await _servUser.GetDashBoard(Convert.ToInt32(UserID)));
|
||||
|
||||
}
|
||||
[HttpPut("ReadNotification/{ntID}")]
|
||||
public async Task<ActionResult<bool>> ReadNotification(int ntID)
|
||||
{
|
||||
var claim = HttpContext.User.Claims.First(c => c.Type == "UserID");
|
||||
var UserID = claim.Value;
|
||||
return Ok(await _servNotification.ReadNotification(Convert.ToInt32(UserID), ntID));
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
@@ -43,6 +43,7 @@ namespace TaxPayer.Infrastructure.Persistence
|
||||
public DbSet<OrderDiscountCode> OrderDiscountCodes { get; set; }
|
||||
public DbSet<TiceketUnknownPeople> TiceketUnknownPeoples { get; set; }
|
||||
public DbSet<SaleLead> SaleLeads { get; set; }
|
||||
public DbSet<UserNotfi> UserNotifis { get; set; }
|
||||
#endregion
|
||||
//public override Task<int> SaveChangesAsync(CancellationToken cancellationToken = new CancellationToken())
|
||||
//{
|
||||
|
@@ -5,9 +5,10 @@
|
||||
public int ID { get; set; }
|
||||
public int Type { get; set; }
|
||||
public string Message { get; set; }
|
||||
public string? Path { get; set; }
|
||||
public string? ViewSize { get; set; }
|
||||
public string Title { get; set; }
|
||||
public string Date { get; set; }
|
||||
public bool Status { get; set; }
|
||||
public int Status { get; set; }
|
||||
public string? ForUser { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
|
9
Back/Data/Models/UserNotfi.cs
Normal file
9
Back/Data/Models/UserNotfi.cs
Normal file
@@ -0,0 +1,9 @@
|
||||
namespace Back.Data.Models
|
||||
{
|
||||
public class UserNotfi
|
||||
{
|
||||
public int ID { get; set; }
|
||||
public int UserID { get; set; }
|
||||
public int NotificationID { get; set; }
|
||||
}
|
||||
}
|
@@ -7,14 +7,27 @@ namespace Back.Services
|
||||
public class servNotification
|
||||
{
|
||||
private readonly IAsyncRepository<Notification> _NotificationRepo;
|
||||
|
||||
public servNotification(IAsyncRepository<Notification> NotificationRepo)
|
||||
private readonly IAsyncRepository<UserNotfi> _UserNotfiRepo;
|
||||
public servNotification(IAsyncRepository<Notification> NotificationRepo, IAsyncRepository<UserNotfi> userNotfiRepo)
|
||||
{
|
||||
_NotificationRepo = NotificationRepo;
|
||||
_UserNotfiRepo = userNotfiRepo;
|
||||
}
|
||||
public async Task<List<Notification>> GetNotifications()
|
||||
public async Task<bool> ReadNotification(int UserID,int ntID)
|
||||
{
|
||||
return await _NotificationRepo.Get(w=>w.Status).ToListAsync();
|
||||
if (!await _UserNotfiRepo.Get(w => w.UserID == UserID && w.NotificationID == ntID).AnyAsync())
|
||||
return await _UserNotfiRepo.AddBoolResultAsync(new UserNotfi
|
||||
{
|
||||
NotificationID = ntID,
|
||||
UserID = UserID,
|
||||
});
|
||||
else return true;
|
||||
}
|
||||
public async Task<List<Notification>> GetNotifications(int UserID)
|
||||
{
|
||||
var readmsg=await _UserNotfiRepo.Get(w => w.UserID == UserID).Select(s=>s.NotificationID).ToListAsync();
|
||||
|
||||
return await _NotificationRepo.Get(w=>(string.IsNullOrEmpty(w.ForUser) || w.ForUser.Contains("/"+UserID.ToString()+"/"))&& !readmsg.Contains(w.ID)).ToListAsync();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -244,14 +244,14 @@ namespace Back.Services
|
||||
request.Warning.Add(new AlertDTO { Status = 5, Message = "بهتر است اطلاعات شرکت بروزرسانی شود" });
|
||||
}
|
||||
}
|
||||
var nots = await _servNotification.GetNotifications();
|
||||
var nots = await _servNotification.GetNotifications(UserID);
|
||||
if (nots.Any())
|
||||
request.Notifications = nots.Select(s => new AlertDTO
|
||||
{
|
||||
ViewSize=s.ID.ToString(),
|
||||
Message = s.Message,
|
||||
Status = s.Type,
|
||||
Path = s.Path,
|
||||
ViewSize = s.ViewSize
|
||||
Path = s.Title
|
||||
}).ToList();
|
||||
|
||||
LastActivitySevice lastInvoice = new LastActivitySevice();
|
||||
|
Reference in New Issue
Block a user