// POST: api/Chats
        public IHttpActionResult PostChat(string username, string clienUsername, string message)
        {
            ChatModels chatModels = new ChatModels(db);
            DateTime   dateTime   = DateTime.Now;
            int        chatId     = chatModels.AddChat(username, clienUsername, dateTime, message);

            SendNotificationWithFirebaseProvider provider = new SendNotificationWithFirebaseProvider();
            string deviceId = db.Users.Where(u => u.UserName == clienUsername).FirstOrDefault().FirebaseDeviceToken;

            if (deviceId != null && deviceId.Length > 0)
            {
                provider.SendPush(new PushMessage
                {
                    to           = deviceId,
                    notification = new PushMessageData
                    {
                        title = "Hadis diplome project",
                        text  = "Новое сообщение"
                    },
                    data = new
                    {
                        chatId = chatId + ""
                    }
                });
            }

            return(Ok());
        }
        // POST: api/ChatMessages
        public async Task <IHttpActionResult> PostChatMessage(int chatId, string username, string message)
        {
            ChatModels chatModels = new ChatModels(db);
            DateTime   dateTime   = DateTime.Now;

            chatModels.AddMessage(chatId, username, message, dateTime);

            await db.SaveChangesAsync();

            SendNotificationWithFirebaseProvider provider = new SendNotificationWithFirebaseProvider();
            string opponentUsername = chatModels.GetOpponentUsername(chatId, username);
            string deviceId         = db.Users.Where(u => u.UserName == opponentUsername).FirstOrDefault().FirebaseDeviceToken;

            if (deviceId != null && deviceId.Length > 0)
            {
                provider.SendPush(new PushMessage
                {
                    to           = deviceId,
                    notification = new PushMessageData
                    {
                        title = "Hadis diplome project",
                        text  = "Новое сообщение"
                    },
                    data = new
                    {
                        chatId = chatId + ""
                    }
                });
            }

            return(Ok());
        }
        // GET: api/Chats
        public List <UserChat> GetChats(string username)
        {
            ChatModels chatModels = new ChatModels(db);
            var        result     = chatModels.GetUserChats(username);

            return(result);
        }
        // GET: api/ChatMessages/5
        public bool GetChatMessage(int chatId, string username, int year, int month, int day, int hour, int minute, int second)
        {
            ChatModels chatModels = new ChatModels(db);
            DateTime   dateTime   = new DateTime(year, month, day, hour, minute, second);

            return(chatModels.HadNewMessage(chatId, username, dateTime));
        }
        // GET: api/ChatMessages
        public List <UserChatMessage> GetChatMessages(int chatId, int chatMessageId)
        {
            ChatModels chatModels = new ChatModels(db);
            var        model      = chatModels.GetUserChatMessages(chatId, chatMessageId);

            return(model);
        }
示例#6
0
        public ActionResult DeleteConfirmed(int id)
        {
            ChatModels chatModels = db.ChatModels.Find(id);

            db.ChatModels.Remove(chatModels);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
示例#7
0
        // POST: api/ChatUsers
        public IHttpActionResult PostChatUsers(string username, string token)
        {
            //fWkFWfF4GyE
            ChatModels chatModels = new ChatModels(db);

            chatModels.UpdateUserFirebaseToken(username, token);
            return(Ok());
        }
示例#8
0
 public ActionResult Edit([Bind(Include = "ChatID,ChatInput,ChatDate,Email")] ChatModels chatModels)
 {
     if (ModelState.IsValid)
     {
         db.Entry(chatModels).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(chatModels));
 }
示例#9
0
        public ActionResult Create([Bind(Include = "ChatID,ChatInput,ChatDate,Email")] ChatModels chatModels)
        {
            if (ModelState.IsValid)
            {
                db.ChatModels.Add(chatModels);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(chatModels));
        }
示例#10
0
        // GET: ChatModels/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ChatModels chatModels = db.ChatModels.Find(id);

            if (chatModels == null)
            {
                return(HttpNotFound());
            }
            return(View(chatModels));
        }
示例#11
0
        // GET: ChatModels/Edit/5
        public ActionResult Edit(int?id)
        {
            if (db.ChatModels.Find(id).Email != User.Identity.Name.ToString())
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ChatModels chatModels = db.ChatModels.Find(id);

            if (chatModels == null)
            {
                return(HttpNotFound());
            }
            return(View(chatModels));
        }
示例#12
0
        // GET: api/ChatUsers
        public object GetApplicationUsers(string ownUsername)
        {
            ChatModels chatModels = new ChatModels(db);

            return(chatModels.GetNewChatUsers(ownUsername).Select(u => new { UserId = u.Id, UserName = u.UserName }).ToList());
        }
        // GET: api/ChatMessages
        public List <UserChatMessage> GetChatMessages(int chatId)
        {
            ChatModels chatModels = new ChatModels(db);

            return(chatModels.GetUserChatMessages(chatId, null));
        }