public async Task <IHttpActionResult> PutTenLogin(int id, TenLogin tenLogin)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != tenLogin.LoginIndex)
            {
                return(BadRequest());
            }

            tldb.Entry(tenLogin).State = EntityState.Modified;

            try
            {
                await tldb.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!TenLoginExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
        public async Task <IHttpActionResult> GetTenLogin(int id)
        {
            TenLogin tenLogin = await tldb.TenLogins.FindAsync(id);

            if (tenLogin == null)
            {
                return(NotFound());
            }

            return(Ok(tenLogin));
        }
        public async Task <IHttpActionResult> PostTenLogin(TenLogin tenLogin)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            tldb.TenLogins.Add(tenLogin);
            await tldb.SaveChangesAsync();

            return(CreatedAtRoute("DefaultApi", new { id = tenLogin.LoginIndex }, tenLogin));
        }
        public async Task <IHttpActionResult> DeleteTenLogin(int id)
        {
            TenLogin tenLogin = await tldb.TenLogins.FindAsync(id);

            if (tenLogin == null)
            {
                return(NotFound());
            }

            tldb.TenLogins.Remove(tenLogin);
            await tldb.SaveChangesAsync();

            return(Ok(tenLogin));
        }
        public IHttpActionResult GetTenLogin(string userID, string userPWD, string lastLogin, string DeviceUUID, string DeviceToken, string HashValue)
        {
            TenLogin tenLogin = tldb.TenLogins.Where(x => x.UserID.CompareTo(userID) == 0).FirstOrDefault();

            if (tenLogin == null)
            {
                return(NotFound());
            }

            if (tenLogin.UserPWD != userPWD)
            {
                return(BadRequest("Wrong PWD"));
            }
            return(Ok(tenLogin));
        }
        public IHttpActionResult PostTenMsg(TenMsg tenMsg)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            m_db.TenMsgs.Add(tenMsg);
            m_db.SaveChanges();

            if (tenMsg.PhoneType == 0) // iPhone
            {
                TenLogin targetLogin = m_loginDb.TenLogins.Where(tl => tl.UserIndex == tenMsg.Receiver).FirstOrDefault();

                Debug.WriteLine("Target Login: "******"Device Token: " + ByteArrayToString(targetLogin.DeviceToken));

                m_pushBroker.QueueNotification(new AppleNotification()
                                               .ForDeviceToken(ByteArrayToString(targetLogin.DeviceToken))
                                               .WithAlert(tenMsg.MsgContent)
                                               .WithBadge(7)
                                               .WithSound("sound.caf"));

                /*
                 * m_pushBroker.QueueNotification(new AppleNotification()
                 *                         .ForDeviceToken("d0d0a5a868b2b70f5f6900a6cbe034facf38050b4402d14b61a68ae6c27b0b92")
                 *                         .WithAlert("Hi from TDS!")
                 *                         .WithBadge(7)
                 *                         .WithSound("sound.caf"));*/
            }
            else if (tenMsg.PhoneType == 1) // Android
            {
            }

            return(CreatedAtRoute("DefaultApi", new { id = tenMsg.MsgIndex }, tenMsg));
        }