Skip to content

Commit 61edd5d

Browse files
committed
init
1 parent 2bab338 commit 61edd5d

File tree

3 files changed

+22
-11
lines changed

3 files changed

+22
-11
lines changed

ClientApp/vuex/actions.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@ export const fetchInitialMessages = ({commit}) => {
1010
}
1111

1212
export const fetchMessages = ({commit}, lastFetchedMessageDate) => {
13-
axios.get('http://localhost:5000/fetchMessages?lastFetchedMessageDate=' + lastFetchedMessageDate)
13+
axios.post('http://localhost:5000/fetchMessages',{
14+
lastMessageDate : lastFetchedMessageDate
15+
})
1416
.then(response => {
1517
commit('FETCH_MESSAGES', response.data)
1618
}).catch(err => {

ClientApp/vuex/store.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ const store = new Vuex.Store({
1414
state.lastFetchedMessageDate = payload.lastFetchedMessageDate
1515
},
1616
FETCH_MESSAGES: (state, payload) => {
17-
state.messages = state.messages.concat(payload)
17+
state.messages = state.messages.concat(payload.messages)
1818
state.lastFetchedMessageDate = minBy(state.messages, 'date').date
1919
}
2020
},

Controllers/HomeController.cs

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,6 @@ public IActionResult Index()
1717

1818
[Route("initialMessages")]
1919
public JsonResult initialMessages(){
20-
//Added to simulate initial loading from remote server
21-
Thread.Sleep(2000);
22-
2320
var initialMessages = FakeMessageStore.FakeMessages
2421
.OrderByDescending(m => m.Date)
2522
.Take(2);
@@ -32,13 +29,25 @@ public JsonResult initialMessages(){
3229
return Json(initialValues);
3330
}
3431

32+
[HttpPost]
3533
[Route("fetchMessages")]
36-
public JsonResult FetchMessages(DateTime lastFetchedMessageDate){
37-
return Json(Message.CreateMessage(
38-
"New Message",
39-
DateTime.Now.Millisecond.ToString(),
40-
DateTime.Now
41-
));
34+
public JsonResult FetchMessages([FromBody]FetchMessageRequest request){
35+
var messages = FakeMessageStore.FakeMessages
36+
.OrderByDescending(m => m.Date)
37+
.Where(p => p.Date < request.lastMessageDate);
38+
39+
if(messages.Any()){
40+
var newMessages = messages.Take(2);
41+
return Json(new ClientState()
42+
{
43+
Messages = newMessages,
44+
LastFetchedMessageDate = newMessages.Last().Date
45+
});
46+
}
47+
return Json(null);
4248
}
4349
}
50+
public class FetchMessageRequest {
51+
public DateTime lastMessageDate {get; set;}
52+
}
4453
}

0 commit comments

Comments
 (0)