//conversation and nuntias requests methods
        internal void SendNuntiasToConsumers(Nuntias newNuntias, string requestingMacAddress)
        {
            Output.ShowLog("SendNuntiasToConsumers() => " + newNuntias.ToJson());
            BackgroundWorker bworker = new BackgroundWorker();

            bworker.DoWork += (s, e) =>
            {
                try
                {
                    List <long> nuntiasOwnerIdList = NuntiasRepository.Instance.NuntiasOwnerIdList(newNuntias.Id);
                    foreach (long userId in nuntiasOwnerIdList)
                    {
                        Output.ShowLog(userId);
                        List <string> connectionIdList = LoggedInConnectionIdList(userId);
                        foreach (string connectionId in connectionIdList)
                        {
                            if (MacConnectionIdMap[requestingMacAddress] == connectionId)
                            {
                                continue;
                            }
                            Output.ShowLog("cm: " + userId + " " + connectionId);
                            ServerHub.WorkingHubInstance.Clients.Client(connectionId).SendNuntias(newNuntias.ToJson());
                        }
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine("Exception in SendNuntiasToConsumers() => " + ex.Message);
                }
            };
            bworker.RunWorkerAsync();
            bworker.RunWorkerCompleted += (s, e) => { bworker.Dispose(); };
        }
Example #2
0
        public static long?SendContentedNuntias(Nuntias newNuntias)
        {
            JObject nuntiasJsonData = newNuntias.ToJson();

            nuntiasJsonData["sender_mac_address"] = Universal.SystemMACAddress;
            long?  nuntiasId = null;
            string filePath  = LocalDataFileAccess.GetFilePathInLocalData(newNuntias.ContentFileId);

            if (filePath == null)
            {
                return(null);
            }
            byte[] fileByte = Universal.FileToByteArray(filePath);
            KeyValuePair <JObject, byte[]> nuntiasData = new KeyValuePair <JObject, byte[]>(nuntiasJsonData, fileByte);

            ServerHub.WorkingInstance.ServerHubProxy.Invoke <long>("SendContentedNuntias", nuntiasData).ContinueWith(task =>
            {
                if (!task.IsFaulted)
                {
                    nuntiasId = task.Result;
                }
                else
                {
                    Console.WriteLine(task.IsFaulted);
                }
            }).Wait();
            return(nuntiasId);
        }
        public static void UpdateNuntiasStatus(Nuntias newNuntias)
        {
            JObject nuntiasJsonData = newNuntias.ToJson();

            nuntiasJsonData["user_id"] = Consumer.LoggedIn.Id;
            bool?success = null;

            ServerHub.WorkingInstance.ServerHubProxy.Invoke <bool>("UpdateNuntiasStatusToOwners", nuntiasJsonData).ContinueWith(task =>
            {
                if (!task.IsFaulted)
                {
                    success = task.Result;
                }
            }).Wait();
        }
        public static long?SendNewNuntias(Nuntias newNuntias)
        {
            JObject nuntiasJsonData = newNuntias.ToJson();

            nuntiasJsonData["sender_mac_address"] = Universal.SystemMACAddress;
            long?nuntiasId = null;

            ServerHub.WorkingInstance.ServerHubProxy.Invoke <long>("SendNewNuntias", nuntiasJsonData).ContinueWith(task =>
            {
                if (!task.IsFaulted)
                {
                    nuntiasId = task.Result;
                }
            }).Wait();
            return(nuntiasId);
        }