public void InsertHistory(NotificationsServices serviceId, DateTime date, IList <decimal> items) { string insertItems = ""; if (items.Count > 0) { for (int i = 0; i < items.Count; i++) { if (i == 0) { insertItems += String.Format(" values ({0},'{1}','{2}') ", (int)serviceId, String.Format("{0}_{1}", items[i], serviceId), date.Date); } else { insertItems += String.Format(" ,({0},'{1}','{2}') ", (int)serviceId, String.Format("{0}_{1}", items[i], serviceId), date.Date); } } string sqlCommand = @" insert into TA_NotificationServicesHistory (ns_NotificationServiceID,nt_ItemID,nt_Date) " + insertItems; base.NHibernateSession.CreateSQLQuery(sqlCommand) //.SetParameter("serviceId", (int)serviceId) //.SetParameter("date", date.Date) .ExecuteUpdate(); } }
/// <summary> /// شناسه های جدید که برای آنها اطلاع رسانی نکرده ایم را برمیگرداند /// </summary> /// <param name="serviceType"></param> /// <param name="ids"></param> /// <returns></returns> private IList <decimal> GetNewNotifications(NotificationsServices serviceType, IList <decimal> ids) { IList <NotificationServicesHistory> list = historyRep.GetHistory(serviceType, DateTime.Now); var result = from o in ids where !list.Select(x => x.ItemID).Contains(String.Format("{0}_{1}", o, serviceType)) select o; IList <decimal> newIds = result.ToList <decimal>(); return(newIds); }
public IList <NotificationServicesHistory> GetHistory(NotificationsServices serviceId, DateTime date) { string HQLCommand = @"FROM NotificationServicesHistory WHERE NotificationServiceID = :serviceId AND Date <= :date"; IQuery query = base.NHibernateSession.CreateQuery(HQLCommand) .SetParameter("serviceId", (int)serviceId) .SetParameter("date", date.Date); IList <NotificationServicesHistory> list = query.List <NotificationServicesHistory>(); return(list); }