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();
            }
        }
示例#2
0
        /// <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);
        }