1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Threading.Tasks;
- namespace HyperCube.Models
- {
- public enum NotificationType {System = 0, User }
- public class Notification
- {
- public int ID { get; set; }
- public NotificationType NotifiType { get; set; }
- public string Header { get; set; }
- public string Body { get; set; }
- public string RecipientID { get; private set; }
- public string SendertID { get; private set; }
- public bool IsRead { get; set; }
- public DateTime? DateRead { get; set; }
- public bool IsApproved { get; set; }
- public DateTime? DateApprove { get; set; }
- public bool IsRejected { get; set; }
- public DateTime? DateReject { get; set; }
- public Notification(NotificationType type, string header, string body, string recipientid, string senderid)
- {
- NotifiType = type;
- Header = header;
- Body = body;
- RecipientID = recipientid;
- SendertID = senderid;
- IsRead = false;
- IsApproved = false;
- IsRejected = false;
- }
- public async Task<int> Send()
- {
- string sql = $"INSERT INTO notifications (type, header, body, recipientid, senderid) " +
- $"VALUES ('{(int)NotifiType}','{Header}','{Body}','{RecipientID}','{SendertID}')";
- long id = await MySQLConnector.Instance().SQLInsert(sql);
- ID = (int)id;
- return ID;
- }
- public async Task Update()
- {
- int isread = Convert.ToInt32(IsRead);
- int isapproved = Convert.ToInt32(IsApproved);
- int isrejected = Convert.ToInt32(IsRejected);
- string dateread = DateRead?.ToString("yyyy-MM-dd HH:mm:ss");
- string dateapprove = DateApprove?.ToString("yyyy-MM-dd HH:mm:ss");
- string datereject = DateReject?.ToString("yyyy-MM-dd HH:mm:ss");
- string sql = $"UPDATE notifications" +
- $" SET isread='{isread}', dateread='{dateread}', isapproved='{isapproved}', dateapprove='{dateapprove}', isrejected='{isrejected}', datereject='{datereject}' " +
- $" WHERE id ='{ID}'";
- await MySQLConnector.Instance().SQLInsert(sql);
- }
- }
- }
|