le theme, WIP les cercles

* input.css: refabrication des feuilles de style : la feuille des
  champs de formulaire.

* CircleMember.cs: un membre de cercle est un nom d'utilisateur
  associé au cercle d'un autre utilisateur.

* ICircle.cs: Définit l'interface d'un cercle:
un cercle est identifié par un entier long,
il a un possesseur.

* Makefile: utilise le fichier de conf généré pour débugger.

* NpgsqlContentProvider.cs: bug fix

* README.md: maj priorités

* AccountController.cs: implémente une méthode de l'API pour ajouter
  un utilisateur au cercle

* links.css: Corrige la couleur du boutton de validation des
  formulaire de classe `ActionLink`

* style.css: refabrication: importe la nouvelle feuille de style des
  champs de formulaires

* style.css: nettoyage du thème sombre

* style.css: nettoyage + section principale (`main`) centré

* FrontOfficeController.cs: Repositionne la route vers le devis à
  do/Estimate

* YavscHelpers.cs: corrige ma ré-écriture des helpers html ActionLink

* App.master: formattage du code source

* AppAdmin.master: synchronisation avec la page maître,
beaucoup de changements dans cette page maître pour les
  administrateurs:
* prend en charge les côtes d'article
* utilise les fontes de caractère de la page pour les lien action
* prend en charge les zones de formulaire masquable.

* NoLogin.master: synchronisation avec la page maître

* Performer.ascx: WIP permet d'ajouter un préstataire à un de ses
  cercles.

* YourEstimates.aspx: corrige un lien cassé

* Yavsc.csproj: mise à niveau Npgsql,
renommage Estimate

* packages.config: mise à niveau de la bibliothèque Npgsql (pilote
  d'accès à la base de donnée)

* CircleBase.cs: un objet cercle basique implémente l'interface d'un
  cercle.

* PerformerProfile.cs: s'assure que le nom d'utilisateur utilisé n'est
  pas vide.

* IIdentified.cs: doc xml

* UserNameBase.cs: l'objet base de type "nom d'utilisateur" implémente
  l'interface générique
d'un identifié, par une chaine de caractère.

* YavscModel.csproj: reference les nouvelles definitions :
* un membre de cercle
* l'interface d'un cercle

* MainClass.cs: format du code

* YavscClient.csproj:
* Estimate.aspx: refabrication
This commit is contained in:
Paul Schneider 2015-12-15 21:36:33 +01:00
commit 58839ab69c
33 changed files with 343 additions and 121 deletions

View file

@ -1,3 +1,28 @@
2015-12-15 Paul Schneider <paul@pschneider.fr>
* CircleMember.cs: un membre de cercle est un nom
d'utilisateur associé au cercle d'un autre utilisateur.
* ICircle.cs: Définit l'interface d'un cercle:
un cercle est identifié par un entier long,
il a un possesseur.
* CircleBase.cs: un objet cercle basique implémente
l'interface d'un cercle.
* PerformerProfile.cs: s'assure que le nom d'utilisateur
utilisé n'est pas vide.
* IIdentified.cs: doc xml
* UserNameBase.cs: l'objet base de type "nom d'utilisateur"
implémente l'interface générique
d'un identifié, par une chaine de caractère.
* YavscModel.csproj: reference les nouvelles definitions :
* un membre de cercle
* l'interface d'un cercle
2015-12-09 Paul Schneider <paul@pschneider.fr>
* CircleManager.cs: implémente les methodes utilisées à la

View file

@ -25,7 +25,7 @@ namespace Yavsc.Model.Circles
/// <summary>
/// Circle base.
/// </summary>
public class CircleBase
public class CircleBase : ICircle
{
/// <summary>
/// Initializes a new instance of the <see cref="Yavsc.Model.Circles.CircleBase"/> class.

View file

@ -0,0 +1,43 @@
//
// CircleMember.cs
//
// Author:
// Paul Schneider <paul@pschneider.fr>
//
// Copyright (c) 2015 GNU GPL
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
using System;
using Yavsc.Model.RolesAndMembers;
namespace Yavsc.Model.Circles
{
/// <summary>
/// Circle member.
/// </summary>
public class CircleMember : UserNameBase
{
/// <summary>
/// Gets or sets the owner.
/// </summary>
/// <value>The owner.</value>
#region ICircle implementation
public string Owner {
get;
set;
}
#endregion
}
}

View file

@ -0,0 +1,39 @@
//
// CircleBase.cs
//
// Author:
// Paul Schneider <paul@pschneider.fr>
//
// Copyright (c) 2015 GNU GPL
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
using System;
namespace Yavsc.Model.Circles
{
/// <summary>
/// I circle.
/// </summary>
public interface ICircle: IIdentified<long>
{
/// <summary>
/// Gets or sets the owner.
/// </summary>
/// <value>The owner.</value>
string Owner { get; set; }
}
}

View file

@ -37,12 +37,6 @@ namespace Yavsc.Model.FrontOffice
/// </summary>
public class PerformerProfile: UserNameBase, IRating, IIdentified<long>
{
/// <summary>
/// Initializes a new instance of the <see cref="Yavsc.Model.Skill.PerformerProfile"/> class.
/// </summary>
public PerformerProfile()
{
}
/// <summary>
/// Gets or sets the identifier.
@ -63,6 +57,9 @@ namespace Yavsc.Model.FrontOffice
/// <param name="username">Username.</param>
public PerformerProfile(string username)
{
if (string.IsNullOrWhiteSpace (username))
throw new InvalidOperationException (
"The specified username cannot be blank.");
UserName = username;
}

View file

@ -22,8 +22,15 @@ using System;
namespace Yavsc.Model
{
/// <summary>
/// I identified.
/// </summary>
public interface IIdentified<T>
{
/// <summary>
/// Gets or sets the identifier.
/// </summary>
/// <value>The identifier.</value>
T Id { get; set; }
}
}

View file

@ -28,7 +28,7 @@ namespace Yavsc.Model.RolesAndMembers
/// <summary>
/// User name base.
/// </summary>
public class UserNameBase {
public class UserNameBase : IIdentified<string> {
/// <summary>
/// Gets or sets the name of the user.
/// </summary>
@ -37,6 +37,20 @@ namespace Yavsc.Model.RolesAndMembers
,Display(ResourceType=typeof(LocalizedText),Name="User_name"),RegularExpression(@"^[a-zA-Z .-_#]{1,100}$")]
public string UserName { get; set; }
#region IIdentified implementation
/// <summary>
/// Gets or sets the identifier.
/// </summary>
/// <value>The identifier.</value>
public string Id {
get {
return UserName;
}
set {
throw new NotImplementedException ();
}
}
#endregion
}
}

View file

@ -241,6 +241,8 @@
<Compile Include="FrontOffice\PerformerAvailability.cs" />
<Compile Include="Skill\AuthentificatedSkillRating.cs" />
<Compile Include="Skill\SkillRating.cs" />
<Compile Include="Circles\CircleMember.cs" />
<Compile Include="Circles\ICircle.cs" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<ItemGroup>