Exemplo n.º 1
0
        public void sendmaterial(string text, string openid)
        {
            string[]                str          = openid.Split('|');
            Business.material       material     = new Business.material();
            Business.materialData[] materialdata = material.Select(text);
            string imgfile = "../uploads/" + materialdata[0].materialfile;


            switch (materialdata[0].materialtype)
            {
            case ("1"):
                var voice    = MaterialLib.Add(HttpContext.Current.Server.MapPath(imgfile), AccessTokenBox.GetTokenValue(), MaterialType.voice);
                var voiceret = GroupSend.SendVoiceByOpenID(voice.media_id, AccessTokenBox.GetTokenValue(), str);
                break;

            case ("2"):
                var image    = MaterialLib.Add(HttpContext.Current.Server.MapPath(imgfile), AccessTokenBox.GetTokenValue(), MaterialType.image);
                var imageret = GroupSend.SendImgByOpenID(image.media_id, AccessTokenBox.GetTokenValue(), str);
                break;

            case ("3"):
                var video    = MaterialLib.Add(HttpContext.Current.Server.MapPath(imgfile), AccessTokenBox.GetTokenValue(), MaterialType.video);
                var videoret = GroupSend.SendVideoByOpenID(video.media_id, AccessTokenBox.GetTokenValue(), str);
                break;

            default: break;
            }
        }
Exemplo n.º 2
0
 /// <summary>
 /// Sends a view model data to one or more clients.
 /// </summary>
 /// <param name="vmInfo">View model info.</param>
 /// <param name="args">Arguments containing information on clients to send to.</param>
 private void Send(VMInfo vmInfo, GroupSend args)
 {
     ResponseVMFilter.Invoke(vmInfo.Id, vmInfo.Instance, args.Data, filteredData =>
     {
         _vmResponse(MULTICAST + nameof(GroupSend), vmInfo.Id, JsonConvert.SerializeObject(args));
     });
 }
Exemplo n.º 3
0
 /// <summary>
 /// Sends a view model data to one or more clients.
 /// </summary>
 /// <param name="vmInfo">View model info.</param>
 /// <param name="args">Arguments containing information on clients to send to.</param>
 private void Send(VMInfo vmInfo, GroupSend args)
 {
     ResponseVMFilter.Invoke(vmInfo, args, filteredData =>
     {
         VMResponse(MULTICAST + nameof(GroupSend), vmInfo.Id, JsonSerializer.Serialize(args));
         return(Task.CompletedTask);
     });
 }
Exemplo n.º 4
0
        /// <summary>
        /// Handles multicast push updates request from a multicast view model.
        /// </summary>
        private void VMInstance_RequestMulticastPushUpdates(object sender, MulticastPushUpdatesEventArgs e)
        {
            var vmInfo = _activeVMs.FirstOrDefault(kvp => kvp.Value.Instance == sender).Value;

            if (vmInfo == null)
            {
                return;
            }

            if (e.PushData)
            {
                var vmInstance = vmInfo.Instance;
                lock (vmInstance)
                {
                    var changedProperties = vmInstance.AcceptChangedProperties();
                    if (changedProperties != null && changedProperties.Count > 0)
                    {
                        var vmData = vmInstance.Serialize(changedProperties);
                        ResponseVMFilter.Invoke(vmInfo.Id, vmInstance, vmData, filteredData =>
                        {
                            if (!string.IsNullOrEmpty(e.GroupName))
                            {
                                var message = new GroupSend
                                {
                                    GroupName            = e.GroupName,
                                    ConnectionIds        = e.ConnectionIds,
                                    ExcludedConnectionId = e.ExcludedConnectionId,
                                    Data = (string)filteredData
                                };
                                _vmResponse(MULTICAST + nameof(GroupSend), vmInfo.Id, JsonConvert.SerializeObject(message));
                            }
                            else
                            {
                                foreach (var connectionId in e.ConnectionIds)
                                {
                                    _vmResponse(connectionId, vmInfo.Id, (string)filteredData);
                                }
                            }
                        });
                    }
                    e.PushData = false;
                }
            }
            else if (e.ExcludedConnectionId != vmInfo.ConnectionId)
            {
                e.ConnectionIds.Add(vmInfo.ConnectionId);
            }
        }
Exemplo n.º 5
0
        public void sendarticle(string text, string openid)
        {
            string[]               str         = openid.Split('|');
            Business.article       article     = new Business.article();
            Business.articleData[] articledata = article.Select(text);
            string imgfile = "../uploads/" + articledata[0].thumb_media_id;
            var    img     = MaterialLib.Add(HttpContext.Current.Server.MapPath(imgfile), AccessTokenBox.GetTokenValue(), MaterialType.image);
            var    ret     = GroupSend.UpLoadNew(new List <Article> {
                new Article
                {
                    title              = articledata[0].title,
                    author             = articledata[0].author,
                    content            = articledata[0].content,
                    content_source_url = "https://www.baidu.com/",
                    digest             = articledata[0].digest,
                    show_cover_pic     = 1,
                    thumb_media_id     = img.media_id
                }
            }, AccessTokenBox.GetTokenValue());

            var ss = WxApi.GroupSend.SendArticleByOpenID(ret.media_id, AccessTokenBox.GetTokenValue(), str);
        }
Exemplo n.º 6
0
 public void sendtext(string text, string openid)
 {
     string[] str = openid.Split('|');
     var      ss  = GroupSend.SendTextByOpenID(text, AccessTokenBox.GetTokenValue(), str);
 }