示例#1
0
        public IActionResult UpdateEvent([FromBody] Event _obj)
        {
            int         result     = 0;
            EventReturn returnData = new EventReturn();

            if (_obj != null)
            {
                result = eventRepository.UpdateEvent(_obj);
            }

            if (result > 0)
            {
                returnData.Message = "Event updated successfully!!";
                returnData.Status  = 1;
            }
            else
            {
                returnData.Message = "Event could not be updated!!";
                returnData.Status  = 0;
            }

            var json = JToken.FromObject(returnData);

            return(Ok(json));
        }
示例#2
0
        public IActionResult CreatEvent([FromBody] Event _obj)
        {
            int         result     = 0;
            EventReturn returnData = new EventReturn();

            if (_obj != null)
            {
                result = eventRepository.SaveEvent(_obj);
            }

            if (result > 0)
            {
                returnData.Message = "Event returned successfully!!";
                returnData.Status  = 1;
            }
            else
            {
                returnData.Message = "Please fill in the required fields.";
                returnData.Status  = 0;
            }

            var json = JToken.FromObject(returnData);

            return(Ok(json));
        }
示例#3
0
 public void Broadcast <TSent, TReturned>(string name, TSent data, EventReturn <TReturned> ack = null)
 {
     lock (Sockets)
     {
         foreach (var socket in Sockets)
         {
             socket.Emit(name, data, ack);
         }
     }
 }
示例#4
0
 public override void Emit <TSent, TReturned>(string name, TSent data, EventReturn <TReturned> ack = null)
 {
     if (data is string && (ack == null || ack is EventReturn <string>))
     {
         Emit(name, data as string, ack as EventReturn <string>);
     }
     else
     {
         base.Emit(name, data, ack);
     }
 }
示例#5
0
 public virtual void Emit <TSent, TReturned>(string name, TSent data, EventReturn <TReturned> ack = null)
 {
     if (data is byte[] && (ack is EventReturn <byte[]> || ack is EventReturn))
     {
         Emit(name, data as byte[], ack as EventReturn);
     }
     else
     {
         throw new InvalidCastException("Cannot emit non byte[] data");
     }
 }
示例#6
0
        public IActionResult DeleteEvent(int id)
        {
            long        result     = 0;
            EventReturn returnData = new EventReturn();

            result = eventRepository.DeleteEvent(id);

            if (result > 0)
            {
                returnData.Message = "Event deleted successfully!!";
                returnData.Status  = 1;
            }
            else
            {
                returnData.Message = "Event could not be deleted!!";
                returnData.Status  = 0;
            }

            var json = JToken.FromObject(returnData);

            return(Ok(json));
        }
示例#7
0
        public IActionResult fetchEvent(int id)
        {
            Event model = eventRepository.GetEvent(id);

            EventReturn result = new EventReturn();

            if (model != null)
            {
                result.Message = "Event returned successfully!!";
                result.Status  = 1;
                result.Data    = model;
            }
            else
            {
                result.Message = "No Event(s) found!!";
                result.Status  = 0;
                result.Data    = null;
            }

            var json = JToken.FromObject(result);

            return(Ok(json));
        }
示例#8
0
        /// <summary>
        /// Emit a event with byte array data.
        /// </summary>
        /// <param name="name">Event name</param>
        /// <param name="data">The data you want to send</param>
        /// <param name="ack">If endpoint responds a message, ack will be invoke with response data.</param>
        /// <exception cref="WebSocketException">When
        /// <see cref="WebSocket.SendAsync(ArraySegment{byte},WebSocketMessageType,bool,CancellationToken)">
        /// SendAsync()</see> got wrong.</exception>
        protected void Emit(string name, byte[] data, EventReturn ack = null)
        {
            EventMessage eventMessage;

            if (ack == null)
            {
                eventMessage = new EventMessage {
                    Name = name, Data = data, CallBackId = null
                };
            }
            else
            {
                var callBackId = RandomString(_callBackIdRandomLength);
                eventMessage = new EventMessage {
                    Name = name, Data = data, CallBackId = callBackId
                };
                lock (EventResponses)
                {
                    EventResponses.Add(callBackId, ack);
                }
            }

            SendAsync(eventMessage.ToMessagePack());
        }
示例#9
0
 public void Emit(string name, string data, EventReturn <string> ack = null)
 {
     base.Emit(name, Cast(data), value => { ack?.Invoke(Cast(value)); });
 }