/// <summary>
        /// 至少有当Receiver和Publisher都要求删除的时候。db中才会真正删除
        /// </summary>
        /// <param name="currentUser"></param>
        /// <param name="personalMessageDao"></param>
        public virtual void Delete(User currentUser, IPersonalMessageDao personalMessageDao)
        {
            if (currentUser == null)
            {
                throw new ArgumentNullException("currentUser");
            }
            if (personalMessageDao == null)
            {
                throw new ArgumentNullException("personalMessageDao");
            }
            if (Receiver.Id == currentUser.Id)
            {
                DeleteStatus |= PersonalMessageStatus.Receiver;
            }
            else
            {
                DeleteStatus |= PersonalMessageStatus.Publisher;
            }

            if (this.DeleteStatus.HasFlag(PersonalMessageStatus.Publisher) && this.DeleteStatus.HasFlag(PersonalMessageStatus.Receiver))
            {
                personalMessageDao.Delete(this);
            }
        }
Example #2
0
 public List <Models.User.PersonalMessage> SetMessageStatus(List <Models.User.PersonalMessage> messages, PersonalMessageStatus status)
 {
     try
     {
         var mapper     = new MapperConfiguration(c => c.CreateMap <Models.User.PersonalMessage, BLL.DataTransferObjects.PersonalMessage>()).CreateMapper();
         var mapped_res = mapper.Map <List <Models.User.PersonalMessage>, List <BLL.DataTransferObjects.PersonalMessage> >(messages);
         var res        = data.SetMessageStatus(mapped_res, (Int32)status);
         mapper = new MapperConfiguration(c => c.CreateMap <BLL.DataTransferObjects.PersonalMessage, Models.User.PersonalMessage>()).CreateMapper();
         var mapped_result = mapper.Map <List <BLL.DataTransferObjects.PersonalMessage>, List <Models.User.PersonalMessage> >(res);
         return(mapped_result);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }