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" })); } }
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); }
public ActionResult NewMessage(tMessage m) { dbDemoDataContext db = new dbDemoDataContext(); db.tMessage.InsertOnSubmit(m); db.SubmitChanges(); return(RedirectToAction("UserMain")); }
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); }
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); }
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); }