public NormalResult CreatePushHistory(int pushMessageId, int userId, bool androidSendFlag, bool iosSendFlag)
        {
            using (Entities db = new Entities())
            {
                Push_Message dbPush_Message = db.Push_Message
                                              .AsNoTracking()
                                              .FirstOrDefault(e => e.id == pushMessageId);

                if (dbPush_Message == null)
                {
                    return(new NormalResult("指定的数据不存在。"));
                }

                Push_History push_History = new Push_History();
                push_History.push_message_id    = pushMessageId;
                push_History.title              = dbPush_Message.title;
                push_History.type               = dbPush_Message.type;
                push_History.description        = dbPush_Message.description;
                push_History.richContent        = dbPush_Message.richContent;
                push_History.user_id            = userId;
                push_History.create_time        = DateTime.Now;
                push_History.android_push_state = androidSendFlag;
                push_History.ios_push_state     = iosSendFlag;

                db.Push_History.Add(push_History);
                db.SaveChanges();
            }

            return(new NormalResult());
        }
 public Push_Message GetPushMessage(int id)
 {
     using (Entities db = new Entities())
     {
         Push_Message pushMessage = db.Push_Message
                                    .AsNoTracking()
                                    .FirstOrDefault(e => e.id == id);
         return(pushMessage);
     }
 }
 public void RemovePushMessage(int id)
 {
     using (Entities db = new Entities())
     {
         Push_Message pushMessage = db.Push_Message.FirstOrDefault(e => e.id == id);
         if (pushMessage != null)
         {
             db.Push_Message.Remove(pushMessage);
             db.SaveChanges();
         }
     }
 }
        public ActionResult GetPushMessage(int id)
        {
            Push_Message pushMessage = _pushMessageManager.GetPushMessage(id);

            if (pushMessage == null)
            {
                return(FailedResult("指定的数据不存在。"));
            }

            Push_MessageDto pushMessageDto = Mapper.Map <Push_MessageDto>(pushMessage);

            return(DataResult(pushMessageDto));
        }
        public NormalResult CreatePushMessage(Push_Message pushMessage)
        {
            //pushMessage.Id = Guid.NewGuid();

            pushMessage.create_time = DateTime.Now;

            using (Entities db = new Entities())
            {
                db.Push_Message.Add(pushMessage);
                db.SaveChanges();
            }

            return(new NormalResult());
        }
        public ActionResult UpdatePushMessage()
        {
            Push_MessageDto args = RequestArgs <Push_MessageDto>();

            if (args == null)
            {
                return(FailedResult("参数无效。"));
            }

            Push_Message pushMessage = Mapper.Map <Push_Message>(args);

            NormalResult result = _pushMessageManager.UpdatePushMessage(pushMessage);

            return(ApiResult(result.Successful, result.Message));
        }
        /// <summary>
        /// 推送指定 id 的消息
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult Push(int id)
        {
            MyPushService pushService = new MyPushService();


            //推消息
            bool androidSendFlag = false;
            bool iosSendFlag     = false;

            Push_Message message = _pushMessageManager.GetPushMessage(id);

            List <Member> memberList      = _memberManager.GetAllMemberList();
            StringBuilder memberPhoneNums = new StringBuilder();

            foreach (Member jadeMember in memberList)
            {
                memberPhoneNums.Append(jadeMember.phone_num + "\n");
            }

            //memberPhoneNums.Append("15251857421" + "\n");
            if (message.type == 0)
            {
                androidSendFlag = pushService.SendAndroidCustomizedcastFile(message.title, message.description, memberPhoneNums.ToString());
                iosSendFlag     = pushService.SendIOSCustomizedcast(message.title, message.description, memberPhoneNums.ToString(), "", "http://app.zsyyd.com/Member/PushMessageMobilePage?id=" + message.id);
            }
            else
            {
                androidSendFlag = pushService.SendAndroidCustomizedcastFile(message.title, message.description, memberPhoneNums.ToString(), "com.android.zhangsy.H5urlActivity", "http://app.zsyyd.com/Member/PushMessageMobilePage?id=" + message.id);
                iosSendFlag     = pushService.SendIOSCustomizedcast(message.title, message.description, memberPhoneNums.ToString(), "h5url", HttpContext.Request.Url.AbsolutePath + "?id=" + message.id);
            };

            //写历史记录
            _pushMessageManager.CreatePushHistory(id, this.UserContext.UserId, androidSendFlag, iosSendFlag);

            if (androidSendFlag && iosSendFlag)
            {
                return(SuccessfulResult());
            }
            else
            {
                return(FailedResult("推送失败。"));
            }
        }
        public NormalResult UpdatePushMessage(Push_Message pushMessage)
        {
            using (Entities db = new Entities())
            {
                IQueryable <Push_Message> queryable = db.Push_Message;

                Push_Message dbPush_Message = queryable.FirstOrDefault(e => e.id == pushMessage.id);
                if (dbPush_Message == null)
                {
                    return(new NormalResult("指定的数据不存在。"));
                }

                ShengMapper.SetValuesSkipVirtual(pushMessage, dbPush_Message);

                db.SaveChanges();
            }

            return(new NormalResult());
        }