public IHttpActionResult PostSaveMessage(tMessage message)
        {
            try
            {
retryID:
                string messageID = new Utilities().GenerateCoupon(5);
                if (db.tMessages.Any(a => a.MessageId == messageID))
                {
                    goto retryID;
                }
                message.DateCreated = DateTime.Now;
                message.Seen        = false;
                message.MessageId   = messageID;
                var addedMessage = db.tMessages.Add(message);
                db.SaveChanges();

                var newMessage = db.tMessages.Where(w => w.recNo == addedMessage.recNo).Select(s => new
                {
                    s.recNo,
                    s.MessageId,
                    s.Message,
                    s.DateCreated,
                    s.SenderId,
                    s.RecipientId,
                    s.Seen,
                    s.Status
                }).FirstOrDefault();

                return(Json(new { stat = 1, message = newMessage }));
            }
            catch (Exception e)
            {
                return(Json(new { stat = 0, message = "Something went wrong" }));
            }
        }
Esempio n. 2
0
        public void newMessage(tMessage message)
        {
            IList <string> recipientConnectionID = users.Where(f => f.userID == message.RecipientId).Select(s => s.conId).ToList();
            IList <string> senderConnectionID    = users.Where(f => f.userID == message.SenderId).Select(s => s.conId).ToList();

            Clients.Clients(senderConnectionID).newOwnMessage(message);
            Clients.Clients(recipientConnectionID).newMessage(message);
        }
Esempio n. 3
0
        public ActionResult NewMessage(tMessage m)
        {
            dbDemoDataContext db = new dbDemoDataContext();

            db.tMessage.InsertOnSubmit(m);
            db.SubmitChanges();

            return(RedirectToAction("UserMain"));
        }
Esempio n. 4
0
        public async Task <Option <long> > AddRange(List <Entities.Message> messages)
        {
            Option <long> nextReferenceId = Option.None <long>();
            var           savedMessages   = await Find(new FindMessagesQuery(messages));

            var newMessages = messages.Except(savedMessages, new MessageComparer());

            foreach (var message in newMessages)
            {
                var queue = await messageQueueContext.tQueues.SingleOrDefaultAsync(q => q.QueueId == message.QueueId);

                var now = SystemClock.Instance.GetCurrentInstant().InUtc().ToDateTimeUtc();

                var messageDo = new tMessage
                {
                    ReferenceId     = message.ReferenceId,
                    NextReferenceId = message.NextReferenceId,
                    Content         = message.Content,
                    Queue           = queue,
                    HashCode        = message.HashCode,
                    Added           = now,
                    Changed         = now,
                    MimeTypeId      = message.MimeTypeId
                };

                messageQueueContext.tMessages.Add(messageDo);

#if TROUBLESHOOT
                try
                {
                    await messageQueueContext.SaveChangesAsync();
                }
                catch (Microsoft.EntityFrameworkCore.DbUpdateException error) when(error.InnerException.Message == "22021: invalid byte sequence for encoding \"UTF8\": 0x00")
                {
                    logger.LogError("Invalid document. Skipping..");
                    continue;
                }
#endif
                nextReferenceId = nextReferenceId.Match
                                  (
                    none: () => message.NextReferenceId.Some(),
                    some: m => Math.Max(message.NextReferenceId, m).Some()
                                  );
            }
#if RELEASE || DEBUG
            await messageQueueContext.SaveChangesAsync();
#endif
            return(nextReferenceId);
        }
Esempio n. 5
0
        public static tMessage ToEntity(ViewtMessage model)
        {
            tMessage item = new tMessage();

            item.ID         = model.ID;
            item.ToUid      = model.ToUid;
            item.sContent   = model.sContent;
            item.CreateDate = model.CreateDate;
            item.FromUid    = model.FromUid;
            item.iZan       = model.iZan;
            item.iAudio     = model.iAudio;
            item.ToType     = model.ToType;
            item.FormType   = model.FormType;
            item.ParentID   = model.ParentID;
            item.photo      = model.photo;
            item.Toid       = model.Toid;
            item.loginType  = model.loginType;
            return(item);
        }
Esempio n. 6
0
        public static ViewtMessage ToViewModel(tMessage model)
        {
            if (model == null)
            {
                return(null);
            }

            ViewtMessage item = new ViewtMessage();

            item.ID         = model.ID;
            item.ToUid      = model.ToUid;
            item.sContent   = model.sContent;
            item.CreateDate = model.CreateDate;
            item.FromUid    = model.FromUid;
            item.iZan       = model.iZan;
            item.iAudio     = model.iAudio;
            item.ToType     = model.ToType;
            item.FormType   = model.FormType;
            item.ParentID   = model.ParentID;
            item.photo      = model.photo;
            item.Toid       = model.Toid;
            item.loginType  = model.loginType;
            return(item);
        }