コード例 #1
0
ファイル: ChatController.cs プロジェクト: mkef01/OpenSchool
        public JsonResult SendMessage(string message, string contact, string socket_id)
        {
            ApplicationDbContext bd = new ApplicationDbContext();
            var user = bd.UsuariosAsps.Where(u => u.UserName == User.Identity.Name)
                       .ToList();
            var currentUser = user[0];

            MensajeChat convo = new MensajeChat
            {
                sender_id   = currentUser.Id,
                message     = message,
                receiver_id = contact,
                created_at  = DateTime.UtcNow
            };

            using (var db = new Models.ApplicationDbContext())
            {
                db.MensajeChat.Add(convo);
                db.SaveChanges();
            }

            var conversationChannel = getConvoChannel(currentUser.Id, contact);

            pusher.TriggerAsync(
                conversationChannel,
                "new_message",
                convo,
                new TriggerOptions()
            {
                SocketId = socket_id
            });

            return(Json(new { status = "success", data = convo },
                        JsonRequestBehavior.AllowGet));
        }
コード例 #2
0
ファイル: Cliente.cs プロジェクト: Dreadds/PacManConcurrente
 public void enviarMensajeChat(string mensaje)
 {
     LibreriaComunes.Comunicacion.MensajeChat mc = new MensajeChat {
         codigoUsuario = id, mensaje = mensaje
     };
     recibirMensajeChat(mc);
     ac.enviarMensajeChat(mc);
 }
コード例 #3
0
        private void EnviarChat_Click(object sender, EventArgs e)
        {
            string mensaje = "10/" + Convert.ToString(ID) + "," + Jugador1 + ";" + MensajeChat.Text;

            byte[] msg = System.Text.Encoding.ASCII.GetBytes(mensaje);
            Server.Send(msg);
            MensajeChat.Clear();
        }
コード例 #4
0
        public MensajeChat AddMensajeChat(MensajeChat mensajeChat)
        {
            using (var ctx = new ContextoIndignadoFramework())
            {
                ctx.MensajeChatSet.AddObject(mensajeChat);
                ctx.SaveChanges();
            }

            return(mensajeChat);
        }
コード例 #5
0
        public MensajeChat GetMensajeChatByKey(int idRoom, string idMensaje)
        {
            MensajeChat MensajeChat = null;

            using (var ctx = new ContextoIndignadoFramework())
            {
                ctx.MensajeChatSet.MergeOption = MergeOption.NoTracking;

                MensajeChat = ctx.MensajeChatSet.Where(o => o.idRoom == idRoom && o.idMensaje == idMensaje).FirstOrDefault();
            }
            return(MensajeChat);
        }
コード例 #6
0
 public void UpdateMensajeChat(MensajeChat mensajeChat)
 {
     if (mensajeChat == null)
     {
         throw new ArgumentNullException(ENTITY_SET_NAME);
     }
     using (var ctx = new ContextoIndignadoFramework())
     {
         var    key      = ctx.CreateEntityKey(ENTITY_SET_NAME, mensajeChat);
         object original = null;
         if (ctx.TryGetObjectByKey(key, out original))
         {
             ctx.ApplyCurrentValues(key.EntitySetName, mensajeChat);
         }
         ctx.SaveChanges();
     }
 }
コード例 #7
0
        //private Dictionary<string, MensajesDelChat> rooms = null;

        //public IntegracionService()
        //{
        //    //rooms = new Dictionary<string, MensajesDelChat>();
        //}

        public void agregarMensaje(MensajeChat mensaje)
        {
            try
            {
                System.Console.WriteLine("agregarMensaje idRoom:" + mensaje.idRoom);
                lock (syncObject)
                {
                    var bc = new Integracion();
                    bc.AgregarMensajeChat(mensaje);
                }
            }
            catch (Exception ex)
            {
                throw new FaultException <ProcessExecutionFault>
                          (new ProcessExecutionFault(), ex.Message);
            }
        }
コード例 #8
0
        public void NewAsync(string user, string msg)
        {
            AsyncManager.OutstandingOperations.Increment();
            var chatService = new ChatService.IntegracionServiceClient();

            chatService.agregarMensajeCompleted += (s, e) =>
            {
                AsyncManager.OutstandingOperations.Decrement();
                chatService.Close();
            };
            var mensaje = new MensajeChat()
            {
                usuarioNombre = user, mensaje = msg, idRoom = (int)Session["idMov"], idMensaje = Guid.NewGuid().ToString(), fecha = DateTime.Now
            };

            chatService.agregarMensajeAsync(mensaje);
        }
コード例 #9
0
        public void BorrarMensajeChat(MensajeChat mensajeChat)
        {
            Console.WriteLine("Borrando MensajeChat" + mensajeChat.idMensaje);

            using (var ts = new TransactionScope(TransactionScopeOption.Required))
            {
                try
                {
                    DeleteMensajeChat(mensajeChat);
                    ts.Complete();
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                    throw;
                }
            }

            Console.WriteLine("MensajeChat Borrado");
        }
コード例 #10
0
        public void DeleteMensajeChat(MensajeChat mensajeChat)
        {
            // Business logic.
            //MensajeChat.IsCompleted = false;
            //MensajeChat.DateSubmitted = DateTime.Now;
            //MensajeChat.DateModified = DateTime.Now;

            Console.WriteLine(mensajeChat.ToString());

            // Persist data.
            var dac = new MensajeChatDAC();

            try
            {
                dac.DeleteMensajeChatByKey(mensajeChat.idRoom, mensajeChat.idMensaje);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                throw;
            }
        }
コード例 #11
0
        private MensajeChat CreateMensajeChat(MensajeChat mensajeChat)
        {
            // Business logic.
            //MensajeChat.IsCompleted = false;
            //MensajeChat.DateSubmitted = DateTime.Now;
            //MensajeChat.DateModified = DateTime.Now;

            Console.WriteLine(mensajeChat.ToString());

            // Persist data.
            var dac = new MensajeChatDAC();

            try
            {
                return(dac.AddMensajeChat(mensajeChat));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                throw;
            }
        }
コード例 #12
0
        public MensajeChat AgregarMensajeChat(MensajeChat mensajeChat)
        {
            Console.WriteLine("Creando MensajeChat... ");

            using (var ts = new TransactionScope(TransactionScopeOption.Required))
            {
                try
                {
                    mensajeChat = CreateMensajeChat(mensajeChat);
                    //LogStatus(MensajeChat);
                    ts.Complete();
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                    throw;
                }
            }

            Console.WriteLine("Nuevo MensajeChat = " + mensajeChat.idMensaje);

            return(mensajeChat);
        }