yavsc/yavscModel/Skill/SkillProvider.cs

90 lines
2.6 KiB
C#

//
// SkillProvider.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 System.Configuration.Provider;
namespace Yavsc.Model.Skill
{
/// <summary>
/// Skill provider.
/// </summary>
public abstract class SkillProvider: ProviderBase
{
/// <summary>
/// Declare the specified skill.
/// </summary>
/// <param name="skill">Skill.</param>
public abstract long Declare(Skill skill) ;
/// <summary>
/// Declare the specified user skill.
/// </summary>
/// <param name="userskill">Userskill.</param>
public abstract long Declare(UserSkillDeclaration userskill) ;
/// <summary>
/// Rate the specified user skill.
/// </summary>
/// <param name="userskill">Userskill.</param>
public abstract long Rate(UserSkillRating userskill) ;
/// <summary>
/// Rate the specified skill.
/// </summary>
/// <param name="skill">Skill.</param>
public abstract void Rate(SkillRating skill) ;
/// <summary>
/// Finds the skill identifier.
/// </summary>
/// <returns>The skill identifier.</returns>
/// <param name="pattern">Pattern.</param>
public abstract Skill [] FindSkill(string pattern);
/// <summary>
/// Gets the user skills.
/// </summary>
/// <returns>The user skills.</returns>
/// <param name="username">Username.</param>
public abstract PerformerProfile GetUserSkills(string username) ;
/// <summary>
/// Finds the performer.
/// </summary>
/// <returns>The performer.</returns>
/// <param name="skillIds">Skill identifiers.</param>
public abstract string [] FindPerformer(long []skillIds);
/// <summary>
/// Deletes the skill.
/// </summary>
/// <param name="skillId">Skill identifier.</param>
public abstract void DeleteSkill(long skillId);
/// <summary>
/// Deletes the user skill.
/// </summary>
/// <param name="userSkillId">User skill identifier.</param>
public abstract void DeleteUserSkill(long userSkillId);
}
}