Merge branch 'vnext' of https://github.com/pazof/yavsc into vnext

* 'vnext' of https://github.com/pazof/yavsc:
  Formatting
  no yield return for arrays: Json serialyzer fails to do it.
  pro net
  private chat
  pv test succeeded
  switch pub chan<->private
main
Paul Schneider 9 years ago
commit 29b6d75086
3 changed files with 35 additions and 24 deletions

@ -24,7 +24,7 @@ namespace Yavsc.Controllers
[HttpGet("users")]
public IEnumerable<ChatUserInfo> GetUserList()
{
List<ChatUserInfo> result = new List<ChatUserInfo>();
var cxsQuery = dbContext.Connections?.Include(c=>c.Owner).GroupBy( c => c.ApplicationUserId );
// List<ChatUserInfo> result = new List<ChatUserInfo>();
@ -37,12 +37,12 @@ namespace Yavsc.Controllers
if (cxs.Count>0) {
var user = cxs.First().Owner;
yield return new ChatUserInfo { UserName = user.UserName,
result.Add(new ChatUserInfo { UserName = user.UserName,
UserId = user.Id, Avatar = user.Avatar, Connections = cxs,
Roles = ( userManager.GetRolesAsync(user) ).Result.ToArray() };
Roles = ( userManager.GetRolesAsync(user) ).Result.ToArray() });
}
}
return result;
}
}
}

@ -16,14 +16,20 @@
color: black;
font-family: monospace;
font-style: bold;
background-color: yellow;
}
</style>
<div class="container">
<input type="hidden" id="displayname" />
<ul id="userlist" style="float:right;">
<div style="float:right; background-color: grey; padding:1em; margin:1em;">
<h3>Salons</h3>
<ul><li id="pubChan">Public</li></ul>
<h3>Utilisateurs</h3>
<ul id="userlist" style="list-style-type:none;">
</ul>
</div>
<ul id="discussion">
</ul>
<div style="display: inline-block;">
@ -52,42 +58,43 @@
<script>
$(function () {
document.userList = [];
var pvuis;
var setPrivate = function(li)
{
$("#sendmessagebox").addClass("hidden");
$("#sendpvbox").removeClass("hidden");
document.privateChatter = document.userList[$(li).data("usernum")];
$('#sendpvdest').html(document.privateChatter.UserName)
pvuis = { CXs: $(li).data("cxids"), UserName: $(li).data("name")};
$('#sendpvdest').html(pvuis.UserName)
}
var setPublic = function()
{
$("#sendmessagebox").removeClass("hidden");
$("#sendpvbox").addClass("hidden");
document.privateChatter = {};
}
$('#pubChan').css('cursor','pointer');
$('#pubChan').click(setPublic);
setPublic();
var getUsers = function() {
console.log("Try and get user list ...");
$('#userlist').empty();
$('#to').empty();
$.get("/api/chat/users").done(
function(users) {
$.each(users, function () {
var user = this;
console.log(user);
var existent = $('#userlist li').filterByData("name",user.UserName);
if (existent.length>0) existent.remove();
var li = $('<li class="user">'+htmlEncode(user.UserName)+'</li>');
var li = $('<li class="user"><img src="/Avatars/'+user.UserName+'.xs.png"> '+htmlEncode(user.UserName)+'</li>');
var cxids = [];
$.each(user.Connections,function() {
cxids.push(this.ConnectionId);
});
$(li).data("name",user.UserName);
$(li).data("cxids",cxids);
document.userList.push(user);
$(li).data("usernum",document.userList.length-1);
$(li).css('cursor','pointer');
$(li).click(function(){
setPrivate(this);
@ -133,7 +140,7 @@
ids.push(cxid);
connected.data("cxids",ids);
} else {
var li = $('<li class="user">'+username+'</li>');
var li = $('<li class="user"><img src="/Avatars/'+username+'.xs.png"> '+username+'</li>');
li.data("name",username);
li.data("cxids",[cxid]);
li.appendTo('#userlist');
@ -182,8 +189,8 @@ $('#discussion').append('<li class="notif"><i>' + htmlEncode(tag)
$('#sendpv').click(function () {
// Call the Send method on the hub.
$.each(document.privateChatter.Connections,function () {
chat.server.sendPV( this.ConnectionId, $('#pv').val());
$.each(pvuis.CXs,function () {
chat.server.sendPV( this, $('#pv').val());
});
// Clear text box and reset focus for next comment.
$('#pv').val('').focus();

@ -10,7 +10,7 @@ Ceci est une grosse liste de fonctionnalités, existantes, ou à implémenter, o
✔ Accès aux profiles des intervenants. @done (August 13th 2016, 0:57)
✔ Demande de devis, spécifiant une date et un lieu, envers un pro (ou "BookQuery", ou "demande de rendez-vous"). @done (August 13th 2016, 0:57)
✔ Notifications commande. @done (September 15th 2016, 15:00)
✔ Rendu html du format Markdown-av (+audio&video). @done (October 6th 2016, 14:32)
✔ Rendu Html du format Markdown-av (+audio&video). @done (October 6th 2016, 14:32)
✔ Rendu Android, via WebKit WebView. @done (October 6th 2016, 14:32)
✔ Salon public. @done (September 28th 2016, 17:58)
✔ Saisie et soumission basique du devis. @done (October 30th 2016, 21:50)
@ -49,16 +49,18 @@ Ceci est une grosse liste de fonctionnalités, existantes, ou à implémenter, o
☐ Évaluation de la prestation.
☐ Page d'accueil du mobile: Les alertes, et les derniers événements, donc, les derniers post, les
dernières inscriptions de prestataire, les annonces corporate
* La selection d'une star: pas de notation à afficher + idem chanteur
* La sélection d'une star: pas de notation à afficher + idem chanteur,
les critères : la date, les champs du formulaire de commande: le message, le lieu
☐ depuis le mobile
☐ depuis le Web
* La selection d'un DJ: (rechercher dans / afficher) les samples + idem chanteur
* La sélection d'un DJ: (rechercher dans / afficher) les samples + idem chanteur
les critères : la date, les champs du formulaire de commande: le message, le lieu, la tendance musicale
☐ depuis le mobile
☐ depuis le Web
* La selection d'un chanteur: (rechercher dans / afficher) les titres du répértoire
* La sélection d'un chanteur: (rechercher dans / afficher) les titres du répertoire
☐ depuis le mobile
☐ depuis le Web
* La selection d'une formation musicale: idem chanteur + (rechercher/afficher) la taille de la formation
* La sélection d'une formation musicale: idem chanteur + (rechercher/afficher) la taille de la formation
☐ depuis le mobile
☐ depuis le Web
@ -125,9 +127,11 @@ Ceci est une grosse liste de fonctionnalités, existantes, ou à implémenter, o
en l'enregistrant comme activité fille. Par ailleurs, l'utilisateur peut déclarer plusieurs activités,
sous la forme d'une liste, dont le premier élément indique l'activité principale
(pour laquelle un code APE doit correspondre).
☐ Le streaming video, de pair à pair
☐ Le streaming vidéo, de pair à pair
☐ Le streaming vidéo public.
## Jalon 5
☐ Conciliation
☐ Le réseau pro : on a des sous-traitants, on leur transmet des demandes de devis en tant que dépendance
d'une demande en cours,cette dernière n'est validable qu'une fois seulement que tous les devis dont elle dépend sont validés.

Loading…