Example #1
0
        public bool MessageChat(CHAT mode, uint lang, string text, string target)
        {
            ByteArrayBuilder pack = new ByteArrayBuilder(false);

            pack.Add((byte)mode).Add(lang);

            /* Opravuje to bug s textem za channelem
             * if(mode==CHAT.CHANNEL || mode==CHAT.WHISPER)
             * {
             *      if( target == null)
             * return false;
             *      pack.Add(target);
             * }*/
            pack.Add(GUID);
            pack.Add((uint)(text.Length + 1)).Add(text);
            pack.Add((byte)0);

            ArrayList us = MessageChatGetSet(mode, target);

            if (us == null)
            {
                if (target != null)
                {
                    MessageChat(CHAT.SYSTEM, lang, String.Format("target \"{0}\" not found", target), Name);
                }
                return(false);
            }

            foreach (Character c in us)
            {
                c.Send(OP.SMSG_MESSAGECHAT, pack);
            }
            return(true);
        }
Example #2
0
 public ActionResult Modifica(ChatViewModel viewModel)
 {
     if (ModelState.IsValid)
     {
         using (DatabaseContext db = new DatabaseContext())
         {
             PersonaModel utente = Session["utente"] as PersonaModel;
             CHAT         model  = db.CHAT.SingleOrDefault(m => m.ID == viewModel.Id && m.ID_MITTENTE == utente.Persona.ID);
             if (model != null)
             {
                 model.TESTO = viewModel.Testo;
                 db.CHAT.Attach(model);
                 var entry = db.Entry(model);
                 entry.State = System.Data.Entity.EntityState.Modified;
                 if (db.SaveChanges() > 0)
                 {
                     //return PartialView("PartialPages/_FormMessaggio", new ChatViewModel());
                     return(PartialView("PartialPages/_ListaChat", ChatViewModel.GetListaChat(db, model.ID_MITTENTE, (int)model.ID_DESTINATARIO)));
                 }
             }
         }
     }
     Response.StatusCode = (int)System.Net.HttpStatusCode.BadRequest;
     //return PartialView("PartialPages/_FormMessaggio",viewModel);
     return(null);
 }
Example #3
0
 public ActionResult Invia(ChatViewModel viewModel)
 {
     if (ModelState.IsValid)
     {
         using (DatabaseContext db = new DatabaseContext())
         {
             CHAT         model  = viewModel.GetModel();
             PersonaModel utente = Session["utente"] as PersonaModel;
             model.ID_MITTENTE      = utente.Persona.ID;
             model.DATA_INSERIMENTO = DateTime.Now;
             model.STATO            = (int)StatoChat.INVIATO;
             db.CHAT.Add(model);
             if (db.SaveChanges() > 0)
             {
                 // aggiornare tramite javascript o lato server la pagina (return PartialView)
                 //return Json(true);
                 //return PartialView("PartialPages/_FormMessaggio", new ChatViewModel());
                 return(PartialView("PartialPages/_ListaChat", ChatViewModel.GetListaChat(db, model.ID_MITTENTE, (int)model.ID_DESTINATARIO)));
             }
         }
     }
     Response.StatusCode = (int)System.Net.HttpStatusCode.BadRequest;
     //return PartialView("PartialPages/_FormMessaggio", viewModel);
     return(null);
 }
Example #4
0
        void MessageChat(OP code, PlayerConnection c)
        {
            uint t;
            uint lang;

            c.Seek(2).Get(out t).Get(out lang);

            CHAT mode = (CHAT)t;

            string text   = null;
            string target = null;

            if (mode == CHAT.CHANNEL || mode == CHAT.WHISPER)
            {
                c.Get(out target);
            }
            c.Get(out text);

            if (mode == CHAT.SAY || mode == CHAT.GUILD)
            {
                if (gmcmd.Parse(c.player, text))
                {
                    return;
                }
            }
            c.player.MessageChat(mode, lang, text, target);
        }
Example #5
0
 public void SetModel(CHAT model)
 {
     Id              = model.ID;
     Mittente        = new PersonaModel(model.PERSONA);
     MittenteId      = model.PERSONA.ID;
     Destinatario    = new PersonaModel(model.PERSONA1);
     DestinatarioId  = model.PERSONA1.ID;
     Testo           = model.TESTO;
     DataInserimento = model.DATA_INSERIMENTO;
     Stato           = (StatoChat)model.STATO;
 }
Example #6
0
        public ActionResult FormModifica(int id)
        {
            ChatViewModel viewModel = new ChatViewModel();

            using (DatabaseContext db = new DatabaseContext())
            {
                CHAT model = db.CHAT.SingleOrDefault(m => m.ID == id);
                if (model != null)
                {
                    viewModel.SetModel(model);
                }
            }
            return(PartialView("PartialPages/_FormMessaggio", viewModel));
        }
Example #7
0
        public CHAT GetModel()
        {
            CHAT model = new CHAT();

            model.ID = this.Id;
            if (this.MittenteId != null)
            {
                model.ID_MITTENTE = (int)this.MittenteId;
            }
            model.ID_DESTINATARIO  = this.DestinatarioId;
            model.TESTO            = this.Testo;
            model.DATA_INSERIMENTO = (DateTime)this.DataInserimento;
            model.DATA_MODIFICA    = null;
            model.STATO            = (int)this.Stato;
            return(model);
        }
Example #8
0
 public ActionResult Elimina(int id)
 {
     using (DatabaseContext db = new DatabaseContext())
     {
         PersonaModel utente = Session["utente"] as PersonaModel;
         CHAT         model  = db.CHAT.SingleOrDefault(m => m.ID == id && m.ID_MITTENTE == utente.Persona.ID);
         if (model != null)
         {
             db.CHAT.Attach(model);
             db.CHAT.Remove(model);
             if (db.SaveChanges() > 0)
             {
                 return(PartialView("PartialPages/_ListaChat", ChatViewModel.GetListaChat(db, model.ID_MITTENTE, (int)model.ID_DESTINATARIO)));
             }
         }
     }
     Response.StatusCode = (int)System.Net.HttpStatusCode.BadRequest;
     return(null);
 }
Example #9
0
        public ActionResult InserirChat(Guid ID_SERVICO, string mensagem)
        {
            var chat = new CHAT(ID_SERVICO, idUsuarioLogado, mensagem);

            ctx.Chat.Add(chat);
            ctx.SaveChanges();

            var lstDominio = ctx.Chat.Where(w => w.ID_SERVICO == ID_SERVICO).ToList();
            var model      = new FinalizarNegociacaoVM();

            model.Chats = Mapper.Map <List <ChatVM> >(lstDominio);

            foreach (var item in model.Chats)
            {
                item.NOME_USUARIO = ctx.Usuario.Find(item.ID_USUARIO).NOME;
            }

            return(RedirectToAction("FinalizarNegociacao", new { ID_SERVICO }));
        }
Example #10
0
 public ChatViewModel(CHAT model)
 {
     SetModel(model);
 }
Example #11
0
        public virtual ArrayList MessageChatGetSet(CHAT mode, string tag)
        {
            ArrayList us = new ArrayList();

            switch (mode)
            {
            case CHAT.SAY:
            case CHAT.MONSTER_SAY:
            case CHAT.EMOTE:
            case CHAT.MONSTER_EMOTE:
            {
                foreach (ObjWithPosition ob in objectInRange)
                {
                    if (ob is Character)
                    {
                        us.Add(ob);
                    }
                }
                us.Add(this);
                break;
            }

            case CHAT.YELL:
            case CHAT.MONSTER_YELL:

                break;

            case CHAT.WHISPER:
            {
                ulong guid = gameServer.GetCharacter(tag);
                if (guid == 0)
                {
                    return(null);
                }
                Obj o = gameServer.GetObj(guid);
                if (o is Character)
                {
                    us.Add(o);
                }
                us.Add(this);
                break;
            }

            case CHAT.SYSTEM:
            {
                if (tag == null)
                {
                    return(gameServer.GetOnline());
                }
                ulong guid = gameServer.GetCharacter(tag);
                if (guid == 0)
                {
                    return(null);
                }
                Obj o = gameServer.GetObj(guid);
                if (o is Character)
                {
                    us.Add(o);
                }
                break;
            }

            case CHAT.CHANNEL:
            {
                return(gameServer.Channel.MessageChatGetSet(tag));
            }
            }
            return(us);
        }