/// <summary>
 /// 深拷贝优惠券详细信息
 /// </summary>
 /// <param name="couponItem"></param>
 /// <returns></returns>
 private MessagerDto DeepClone(MessagerDto dto)
 {
     using (Stream stream = new MemoryStream())
     {
         IFormatter formatter = new BinaryFormatter();
         formatter.Serialize(stream, dto);
         stream.Seek(0, SeekOrigin.Begin);
         MessagerDto entityDto = formatter.Deserialize(stream) as MessagerDto;
         return(entityDto);
     }
 }
        public ActionResult Create(MessagerDto dto)
        {
            dto.Status   = (int)MessagerStatusFlag.UnRead;
            dto.SenderId = AuthorityHelper.OperatorId ?? 0;
            List <MessagerDto> listDto = new List <MessagerDto>();

            foreach (int id in dto.ReceiverIds)
            {
                MessagerDto entity = DeepClone(dto);
                entity.ReceiverId = id;
                listDto.Add(entity);
            }
            var result = _messagerContract.Insert(true, sendMessageAction, listDto.ToArray());

            if (result.ResultType == OperationResultType.Success)
            {
                SetCache(dto.ReceiverIds);
            }
            return(Json(result, JsonRequestBehavior.AllowGet));
        }
        public ActionResult Update(MessagerDto dto)
        {
            var result = _messagerContract.Update(sendMessageAllAction, dto);

            return(Json(result, JsonRequestBehavior.AllowGet));
        }