Esempio n. 1
0
        /// <summary>
        /// 批量更新
        /// </summary>
        /// <returns></returns>
        protected async Task <int> BatchUpdateAsync(List <Guid> ids, ThirdNewsUpdateDto dto)
        {
            var url = BaseUrl + "api/ThirdNews/";

            try
            {
                var data = new BatchUpdate <ThirdNewsUpdateDto>
                {
                    Ids       = ids,
                    UpdateDto = dto
                };
                var response = await httpClient.PutAsJsonAsync(url, data);

                if (response.IsSuccessStatusCode)
                {
                    return(ids.Count);
                }
                else
                {
                    return(0);
                }
            }
            catch (Exception)
            {
                return(default);
        // This method sends the status of all it's links (SNPPs) as a message to
        // a UDP port specified during construction as "rcPort".
        public void SendRCUpdateCallback(object state)
        {
            BatchUpdate batchUpdate = new BatchUpdate();

            batchUpdate.senderID   = routerId;
            batchUpdate.senderPort = localMgmtPort;
            int linkCounter = 0;

            foreach (KeyValuePair <byte, uint> ifaceDef in interfaceDefinitions)
            {
                if (peers[ifaceDef.Key] != null && peers[ifaceDef.Key].isActive)
                {
                    PeerInformation peer     = peers[ifaceDef.Key];
                    int             capacity = (int)BWMgmt.AvailableBandwidthAt(ifaceDef.Key);
                    //SendRCUpdateSingle(ifaceDef.Key); // Execute a more general method for given SNPP
                    batchUpdate.linkList.Add(new Link(
                                                 routerId,
                                                 asId,
                                                 snId,
                                                 ifaceDef.Key,
                                                 peer.remoteRouterId,
                                                 peer.remoteAsId,
                                                 peer.remoteSnId,
                                                 peer.remoteSNPP,
                                                 capacity
                                                 ));
                    linkCounter++;
                }
            }
            sendMgmtMessage(rcPort, batchUpdate);
            //Log.WriteLine("[LRM] Sent RC update ({0} links)", linkCounter);
        }
Esempio n. 3
0
        private void dataGridView2_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            try
            {
                if (e.RowIndex >= 0)
                {
                    if (e.ColumnIndex == dataGridView2.Columns["批次"].Index)
                    {
                        using (BatchUpdate bu = new BatchUpdate(dataGridView2.Rows[e.RowIndex].Cells["瓶签号"].Value.ToString(), piv.userID))
                        {
                            if (bu.ShowDialog() == DialogResult.OK)
                            {
                                if (dataGridView2.Rows[e.RowIndex].Cells["批次"].Value.ToString() != bu.Return())
                                {
                                    dataGridView2.Rows[e.RowIndex].Cells["checkbox"].Value = false;
                                    dataGridView2.Rows[e.RowIndex].Cells["批次"].Value       = bu.Return();
                                }
                            }
                        }
                    }

                    if (e.ColumnIndex == dataGridView2.Columns["仓位"].Index)
                    {
                        using (UpdateDeskNo bu = new UpdateDeskNo(dataGridView2.Rows[e.RowIndex].Cells["瓶签号"].Value.ToString(), piv.userID))
                        {
                            if (bu.ShowDialog() == DialogResult.OK)
                            {
                                if (dataGridView2.Rows[e.RowIndex].Cells["仓位"].Value.ToString() != bu.Return())
                                {
                                    dataGridView2.Rows[e.RowIndex].Cells["checkbox"].Value = false;
                                    dataGridView2.Rows[e.RowIndex].Cells["仓位"].Value       = bu.Return();
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Esempio n. 4
0
        private void btnRun_Click(object sender, EventArgs e)
        {
            Task.Run(() =>
            {
                bool guidReport = dgvData.Columns[0].HeaderText.Equals("guid", StringComparison.OrdinalIgnoreCase);
                foreach (DataGridViewRow r in dgvData.Rows)
                {
                    Color c = r.DefaultCellStyle.BackColor;
                    if (chkOnlyChanged.Checked && c != Color.Yellow)
                    {
                        continue;
                    }

                    if (c == Color.Red || c == Color.Green)
                    {
                        continue;
                    }

                    string guid = r.Cells[0].Value.ToString();
                    if (!guidReport)
                    {
                        guid = EncompassHelper.LoanNumberToGuid(guid);
                    }

                    if (string.IsNullOrEmpty(guid))
                    {
                        r.DefaultCellStyle.BackColor = Color.Red;
                        continue;
                    }
                    BatchUpdate b = new BatchUpdate(guid);
                    for (int i = 1; i < dgvData.Columns.Count; i++)
                    {
                        string value  = r.Cells[i].Value.ToString();
                        string header = dgvData.Columns[i].HeaderText;
                        b.Fields.Add(header, value);
                    }

                    EncompassHelper.SubmitBatch(b);
                    r.DefaultCellStyle.BackColor = Color.Green;
                }
            });
        }
Esempio n. 5
0
 public static void SubmitBatch(BatchUpdate Batch)
 {
     EncompassApplication.Session.Loans.SubmitBatchUpdate(Batch);
 }
Esempio n. 6
0
        async void _channel_OnDataReceived(object sender, DynamicJson rawdata)
        {
            //Parse channel array and call the appropriate events.
            if (rawdata[0].ToString() == "noop")
            {
                // set active client if more than 120 sec of inactivity
                if ((DateTime.UtcNow - _last_response_date).TotalSeconds > 120 && _client_id != null)
                {
                    SetActiveClientAsync();
                    _last_response_date = DateTime.UtcNow;
                }
            }
            else if (rawdata[0].ToString() == "resync") // internal handling
            {
                SyncAllNewEventsAsync(long.Parse(rawdata[1].ToString()));
            }
            else if (rawdata[0]["p"] != null)
            {
                DynamicJson wrapper = new DynamicJson(rawdata[0]["p"].ToString());
                if (wrapper["4"] != null && wrapper["4"]["2"] != null)
                {
                    if (_channel.Connected && !_wasConnected)
                    {
                        _client_id     = wrapper["4"]["2"].ToString();
                        _requestHeader = null;
                        _channel.SendAck(0);

                        _wasConnected = _channel.Connected;

                        // load self info
                        await GetSelfInfoAsync();

                        // load conversations if not loaded
                        await SyncRecentConversationsAsync();

                        if (OnConnectionEstablished != null)
                        {
                            OnConnectionEstablished(this, null);
                        }
                    }
                }

                if (wrapper["2"] != null && wrapper["2"]["2"] != null)
                {
                    DynamicJson cbu = new DynamicJson(wrapper["2"]["2"].ToString());
                    cbu.RemoveAt(0);
                    BatchUpdate batchUpdate = ProtoJsonSerializer.Deserialize <BatchUpdate>(cbu as DynamicJson);

                    foreach (StateUpdate state_update in batchUpdate.state_update)
                    {
                        if (state_update.event_notification != null)
                        {
                            switch (state_update.event_notification.current_event.event_type)
                            {
                            case EventType.EVENT_TYPE_REGULAR_CHAT_MESSAGE:
                            case EventType.EVENT_TYPE_UNKNOWN:
                                if (state_update.event_notification.current_event.conversation_id == null)
                                {
                                    break;
                                }

                                if (_active_conversations.ContainsKey(state_update.event_notification.current_event.conversation_id.id))
                                {
                                    _active_conversations[state_update.event_notification.current_event.conversation_id.id].events.Add(state_update.event_notification.current_event);
                                    if (OnNewMessageReceived != null)
                                    {
                                        OnNewMessageReceived(this, state_update.event_notification.current_event);
                                    }
                                }
                                else
                                {
                                    // get conversation
                                    await GetConversationAsync(state_update.event_notification.current_event.conversation_id.id);

                                    //ConversationState s = new ConversationState()
                                    //{
                                    //    conversation_id = state_update.event_notification.current_event.conversation_id,
                                    //    conversation = state_update.conversation,
                                    //    events = new List<Event>() { state_update.event_notification.current_event }
                                    //};

                                    //_active_conversations.Add(s.conversation_id.id, new Model.Conversation(s));
                                    //if (NewConversationCreated != null)
                                    //    NewConversationCreated(this, _active_conversations.Last().Value);
                                }
                                break;

                            case EventType.EVENT_TYPE_OTR_MODIFICATION:
                                _active_conversations[state_update.event_notification.current_event.conversation_id.id].conversation.otr_status = state_update.event_notification.current_event.otr_status;
                                break;

                            case EventType.EVENT_TYPE_CONVERSATION_RENAME:
                                _active_conversations[state_update.event_notification.current_event.conversation_id.id].conversation.name = state_update.event_notification.current_event.conversation_rename.new_name;
                                break;
                            }
                        }

                        if (state_update.presence_notification != null)
                        {
                            foreach (var presence in state_update.presence_notification.presence)
                            {
                                if (_contacts.ContainsKey(presence.user_id.gaia_id))
                                {
                                    _contacts[presence.user_id.gaia_id].presence = presence.presence;
                                }
                            }
                        }


                        if (state_update.self_presence_notification != null)
                        {
                            CurrentUser.presence = new Presence()
                            {
                                available = state_update.self_presence_notification.client_presence_state.state == ClientPresenceStateType.CLIENT_PRESENCE_STATE_DESKTOP_ACTIVE
                            }
                        }
                        ;


                        if (state_update.watermark_notification != null)
                        {
                            if (state_update.watermark_notification.sender_id.gaia_id == CurrentUser.id.gaia_id)
                            {
                                _active_conversations[state_update.watermark_notification.conversation_id.id].conversation.self_conversation_state.self_read_state.latest_read_timestamp = state_update.watermark_notification.latest_read_timestamp;
                            }
                            //else
                            //    _active_conversations[state_update.watermark_notification.conversation_id.id].read_state. = state_update.watermark_notification.latest_read_timestamp.FromUnixTime();
                        }
                    }

                    _timestamp = long.Parse(wrapper["1"]["4"].ToString());
                }
            }
        }
Esempio n. 7
0
        async void _channel_OnDataReceived(object sender, JArray rawdata)
        {
            //Parse channel array and call the appropriate events.
            if (rawdata[0].ToString() == "noop")
            {
                // set active client if more than 120 sec of inactivity
                if ((DateTime.UtcNow - _last_response_date).TotalSeconds > 120 && _client_id != null)
                {
                    SetActiveClientAsync();
                    _last_response_date = DateTime.UtcNow;
                }
            }
            else if (rawdata[0].ToString() == "resync")
            {
                SyncAllNewEventsAsync(long.Parse(rawdata[1].ToString()));
            }
            else if (rawdata[0]["p"] != null)
            {
                JObject wrapper = JObject.Parse(rawdata[0]["p"].ToString());
                if (wrapper["3"] != null && wrapper["3"]["2"] != null)
                {
                    _client_id     = wrapper["3"]["2"].ToString();
                    _requestHeader = null;

                    _channel.SendAck(0);

                    if (_channel.Connected && !_wasConnected)
                    {
                        _wasConnected = _channel.Connected;
                        if (ConnectionEstablished != null)
                        {
                            ConnectionEstablished(this, null);
                        }

                        // check if contacts are loaded
                        if (_contacts == null || _contacts.Count == 0)
                        {
                            if (ContactListLoaded != null)
                            {
                                ContactListLoaded(this, _contacts.Values.ToList());
                            }

                            string[] participants_id = _active_conversations.Values.SelectMany(c => c._conversation.current_participant.Where(p => p.gaia_id != CurrentUser.Id).Select(p => p.gaia_id)).Distinct().ToArray();
                            await GetEntityByIdAsync(participants_id);

                            if (ConversationHistoryLoaded != null)
                            {
                                ConversationHistoryLoaded(this, _active_conversations.Values.ToList());
                            }
                        }
                    }
                }

                if (wrapper["2"] != null && wrapper["2"]["2"] != null)
                {
                    JArray cbu = JArray.Parse(wrapper["2"]["2"].ToString());
                    cbu.RemoveAt(0);
                    BatchUpdate batchUpdate = ProtoJsonSerializer.Deserialize <BatchUpdate>(cbu as JArray);

                    foreach (StateUpdate state_update in batchUpdate.state_update)
                    {
                        if (state_update.event_notification != null)
                        {
                            switch (state_update.event_notification.current_event.event_type)
                            {
                            case EventType.EVENT_TYPE_REGULAR_CHAT_MESSAGE:
                            case EventType.EVENT_TYPE_UNKNOWN:
                                if (state_update.event_notification.current_event.conversation_id == null)
                                {
                                    break;
                                }

                                if (_active_conversations.ContainsKey(state_update.event_notification.current_event.conversation_id.id))
                                {
                                    _active_conversations[state_update.event_notification.current_event.conversation_id.id].AddNewMessage(state_update.event_notification.current_event);
                                    if (NewMessageReceived != null)
                                    {
                                        NewMessageReceived(this, _active_conversations[state_update.event_notification.current_event.conversation_id.id]);
                                    }
                                }
                                else
                                {
                                    ConversationState s = new ConversationState()
                                    {
                                        conversation_id = state_update.event_notification.current_event.conversation_id,
                                        conversation    = state_update.conversation,
                                        events          = new List <Event>()
                                        {
                                            state_update.event_notification.current_event
                                        }
                                    };

                                    _active_conversations.Add(s.conversation_id.id, new Model.Conversation(s));
                                    if (NewConversationCreated != null)
                                    {
                                        NewConversationCreated(this, _active_conversations.Last().Value);
                                    }
                                }
                                break;

                            case EventType.EVENT_TYPE_OTR_MODIFICATION:
                                _active_conversations[state_update.event_notification.current_event.conversation_id.id]._conversation.otr_status = state_update.event_notification.current_event.otr_status;
                                break;

                            case EventType.EVENT_TYPE_CONVERSATION_RENAME:
                                _active_conversations[state_update.event_notification.current_event.conversation_id.id]._conversation.name = state_update.event_notification.current_event.conversation_rename.new_name;
                                break;
                            }
                        }


                        if (state_update.presence_notification != null)
                        {
                            foreach (var presence in state_update.presence_notification.presence)
                            {
                                if (_contacts.ContainsKey(presence.user_id.gaia_id))
                                {
                                    setPresence(_contacts[presence.user_id.gaia_id], presence.presence);
                                }
                            }
                        }


                        if (state_update.self_presence_notification != null)
                        {
                            CurrentUser.SetPresence(new Presence()
                            {
                                available = state_update.self_presence_notification.client_presence_state.state == ClientPresenceStateType.CLIENT_PRESENCE_STATE_DESKTOP_ACTIVE
                            }
                                                    );
                        }

                        if (state_update.watermark_notification != null)
                        {
                            if (state_update.watermark_notification.sender_id.gaia_id == CurrentUser.Id)
                            {
                                _active_conversations[state_update.watermark_notification.conversation_id.id].SelfReadState = state_update.watermark_notification.latest_read_timestamp.FromUnixTime();
                            }
                            else
                            {
                                _active_conversations[state_update.watermark_notification.conversation_id.id].ReadState = state_update.watermark_notification.latest_read_timestamp.FromUnixTime();
                            }
                        }
                    }

                    _timestamp = long.Parse(wrapper["1"]["4"].ToString());
                }
            }
        }
Esempio n. 8
0
 protected override void Context()
 {
     base.Context();
     A.CallTo(() => _batchUpdatable.Updating).Returns(true);
     sut = new BatchUpdate(_batchUpdatable);
 }
Esempio n. 9
0
 public override Task <int> BatchUpdateAsync([FromBody] BatchUpdate <ThirdNewsUpdateDto> data) => base.BatchUpdateAsync(data);
Esempio n. 10
0
        private void BatchUpdater()
        {
            Session newSession = new Session();

            newSession.Start("https://TEBE11147866.ea.elliemae.net$TEBE11147866", "admin", "Y0uT@lk!ngT0M3?");
            String currentUser = EncompassApplication.Session.UserID;

            //Excel prep and call
            Microsoft.Office.Interop.Excel.Application userApp       = new Microsoft.Office.Interop.Excel.Application();
            Microsoft.Office.Interop.Excel.Workbook    userWorkbook  = userApp.Workbooks.Open(@"\\ftwfs02\Groups\POS\Encompass Support\Batch_Updater1.csv");
            Microsoft.Office.Interop.Excel._Worksheet  userWorksheet = userWorkbook.Sheets[1];
            Microsoft.Office.Interop.Excel.Range       userRange     = userWorksheet.UsedRange;
            //userWorksheet.Cells.NumberFormat = "General";
            try
            {
                //set shortcut for loan call
                Loan loan = EncompassApplication.CurrentLoan;

                //row/column setup
                int rCnt     = 1;
                int cCnt     = 1;
                int rowCount = userRange.Rows.Count;
                int colCount = userRange.Columns.Count;

                string   r1c2string = "";
                string   r1c3string = "";
                string   r1c4string = "";
                string   r1c5string = "";
                string   r1c6string = "";
                var      batchT     = loan.Fields["CX.PC.BATCH.TYPE"].Value;
                string   batchType  = batchT.ToString();
                DateTime dateRan    = new DateTime();
                dateRan = DateTime.Now;


                double colData1 = 0;
                string colDatSt = colData1.ToString();

                cCnt++;
                var r1c2 = userWorksheet.Cells[rCnt, cCnt].Value2;
                r1c2string = r1c2.ToString();
                cCnt++;
                var r1c3 = userWorksheet.Cells[rCnt, cCnt].Value2;
                if (r1c3 != null)
                {
                    r1c3string = r1c3.ToString();
                    cCnt++;
                }
                var r1c4 = userWorksheet.Cells[rCnt, cCnt].Value2;
                if (r1c4 != null)
                {
                    r1c4string = r1c4.ToString();
                    cCnt++;
                }
                var r1c5 = userWorksheet.Cells[rCnt, cCnt].Value2;
                if (r1c5 != null)
                {
                    r1c5string = r1c5.ToString();
                    cCnt++;
                }
                var r1c6 = userWorksheet.Cells[rCnt, cCnt].Value2;
                if (r1c6 != null)
                {
                    r1c6string = r1c6.ToString();
                    cCnt++;
                }


                cCnt = 1;


                rCnt = 2;
                cCnt = 2;
                var    colData2       = userWorksheet.Cells[rCnt, cCnt].Text;
                string colData2string = "";
                cCnt++;
                var    colData3       = userWorksheet.Cells[rCnt, cCnt].Text;
                string colData3string = "";
                cCnt++;
                var    colData4       = userWorksheet.Cells[rCnt, cCnt].Text;
                string colData4string = "";
                cCnt++;
                var    colData5       = userWorksheet.Cells[rCnt, cCnt].Text;
                string colData5string = "";
                cCnt++;
                var    colData6       = userWorksheet.Cells[rCnt, cCnt].Text;
                string colData6string = "";
                cCnt = 1;


                for (rCnt = 2; rCnt <= rowCount; rCnt++)
                {
                    if (userWorksheet.Cells[rCnt, cCnt].Value2 is null)
                    {
                        break;
                    }
                    colData1 = (double)userWorksheet.Cells[rCnt, cCnt].Value2;
                    colDatSt = colData1.ToString();
                    if (colData1.ToString().Substring(0, 1) == "6")
                    {
                        colDatSt = "00" + colDatSt;
                        colData1 = Convert.ToDouble(colDatSt);
                    }
                    cCnt++;

                    colData2       = userWorksheet.Cells[rCnt, cCnt].Text;
                    colData2string = colData2.ToString();

                    //Additional columns as needed
                    cCnt++;
                    colData3 = userWorksheet.Cells[rCnt, cCnt].Text;
                    if (colData3 != "")
                    {
                        colData3string = colData3.ToString();
                        cCnt++;
                    }
                    colData4 = userWorksheet.Cells[rCnt, cCnt].Text;
                    if (colData4 != "")
                    {
                        colData4string = colData4.ToString();
                        cCnt++;
                    }
                    colData5 = userWorksheet.Cells[rCnt, cCnt].Text;
                    if (colData5 != "")
                    {
                        colData5string = colData5.ToString();
                        cCnt++;
                    }
                    colData6 = userWorksheet.Cells[rCnt, cCnt].Text;
                    if (colData6 != "")
                    {
                        colData6string = colData6.ToString();
                        cCnt++;
                    }

                    cCnt = 1;

                    StringFieldCriterion cri = new StringFieldCriterion();
                    cri.FieldName = "Loan.LoanNumber";
                    cri.Value     = colDatSt;
                    BatchUpdate batch = new BatchUpdate(cri);
                    batch.Fields.Add(r1c2string, colData2string);
                    if (colData3string != "")
                    {
                        batch.Fields.Add(r1c3string, colData3string);
                    }
                    if (colData4string != "")
                    {
                        batch.Fields.Add(r1c4string, colData4string);
                    }
                    if (colData5string != "")
                    {
                        batch.Fields.Add(r1c5string, colData5string);
                    }
                    if (colData6string != "")
                    {
                        batch.Fields.Add(r1c6string, colData6string);
                    }
                    batch.Fields.Add("CX.PC.BATCH.COLL.TRACK", currentUser);
                    batch.Fields.Add("CX.PC.BATCH.COL.DATE", dateRan);
                    batch.Fields.Add("CX.PC.BATCH.IRON.MOUNTAIN", batchType);
                    EncompassApplication.Session.Loans.SubmitBatchUpdate(batch);
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Something went wrong.  Please click YES to save on the next popup, rebuild the spreadsheet and run the Batch Update again.");
            }
            finally
            {
                userRange.Delete(XlDeleteShiftDirection.xlShiftUp);
                string fileName = @"\\ftwfs02\Groups\POS\Encompass Support\Batch_Updater1.csv";
                string folder   = System.IO.Path.GetDirectoryName(fileName);
                if (System.IO.Directory.Exists(folder))
                {
                    userWorkbook.Close(true, fileName, null);
                }
                userApp.Quit();
                Marshal.ReleaseComObject(userWorksheet);
                Marshal.ReleaseComObject(userWorkbook);
                Marshal.ReleaseComObject(userApp);
                newSession.End();
            }


            //userRange.Delete(XlDeleteShiftDirection.xlShiftUp);
            //string fileName = @"H:\Encompass Support\Batch_Updater2.csv";
            //string folder = System.IO.Path.GetDirectoryName(fileName);
            //if (System.IO.Directory.Exists(folder))
            //{

            //    userWorkbook.Close(true, fileName, null);
            //}

            //userApp.Quit();
            //Marshal.ReleaseComObject(userWorksheet);
            //Marshal.ReleaseComObject(userWorkbook);
            //Marshal.ReleaseComObject(userApp);
            //newSession.End();
        }
Esempio n. 11
0
        void _channel_OnDataReceived(object sender, JArray rawdata)
        {
            //Parse channel array and call the appropriate events.
            if (rawdata[0].ToString() == "noop")
            {
                // set active client if more than 120 sec of inactivity
                if ((DateTime.UtcNow - _last_response_date).TotalSeconds > 120)
                {
                    SetActiveClient();
                    _last_response_date = DateTime.UtcNow;
                }
            }
            else if (rawdata[0]["p"] != null)
            {
                JObject wrapper = JObject.Parse(rawdata[0]["p"].ToString());
                if (wrapper["3"] != null && wrapper["3"]["2"] != null)
                {
                    _client_id     = wrapper["3"]["2"].ToString();
                    _requestHeader = null;

                    _channel.SendAck(0);

                    if (_channel.Connected && !_wasConnected)
                    {
                        _wasConnected = _channel.Connected;
                        if (ConnectionEstablished != null)
                        {
                            ConnectionEstablished(this, null);
                        }
                    }
                }

                if (wrapper["2"] != null && wrapper["2"]["2"] != null)
                {
                    JArray cbu = JArray.Parse(wrapper["2"]["2"].ToString());
                    cbu.RemoveAt(0);
                    BatchUpdate batchUpdate = ProtoJsonSerializer.Deserialize <BatchUpdate>(cbu as JArray);

                    foreach (StateUpdate state_update in batchUpdate.state_update)
                    {
                        if (state_update.event_notification != null)
                        {
                            if (state_update.event_notification.current_event.event_type == EventType.EVENT_TYPE_REGULAR_CHAT_MESSAGE)
                            {
                                if (_active_conversation_ids.Contains(state_update.event_notification.current_event.conversation_id.id))
                                {
                                    if (NewConversationEventReceived != null)
                                    {
                                        NewConversationEventReceived(this, state_update.event_notification.current_event);
                                    }
                                }
                                else
                                {
                                    if (NewConversationCreated != null)
                                    {
                                        ConversationState s = new ConversationState()
                                        {
                                            conversation_id = state_update.event_notification.current_event.conversation_id,
                                            conversation    = state_update.conversation,
                                            events          = new List <Event>()
                                            {
                                                state_update.event_notification.current_event
                                            }
                                        };
                                        NewConversationCreated(this, s);
                                    }
                                }
                            }
                        }

                        if (state_update.presence_notification != null)
                        {
                            foreach (var presence in state_update.presence_notification.presence)
                            {
                                PresenceInformationReceived(this, presence);
                            }
                        }

                        if (state_update.self_presence_notification != null)
                        {
                            PresenceInformationReceived(this, new PresenceResult()
                            {
                                user_id  = CurrentUser.id,
                                presence = new Presence()
                                {
                                    available = state_update.self_presence_notification.client_presence_state.state == ClientPresenceStateType.CLIENT_PRESENCE_STATE_DESKTOP_ACTIVE
                                }
                            });
                        }
                    }



                    this._timestamp = long.Parse(wrapper["1"]["4"].ToString());
                }
            }
        }
Esempio n. 12
0
 public async virtual Task <int> BatchUpdateAsync([FromBody] BatchUpdate <TUpdate> data)
 => await _store.BatchUpdateAsync(data.Ids, data.UpdateDto);