diff --git a/NpgsqlMRPProviders/NpgsqlMembershipProvider.cs b/NpgsqlMRPProviders/NpgsqlMembershipProvider.cs index 4cc00c12..78fc8555 100644 --- a/NpgsqlMRPProviders/NpgsqlMembershipProvider.cs +++ b/NpgsqlMRPProviders/NpgsqlMembershipProvider.cs @@ -15,6 +15,9 @@ using System.Web.Configuration; namespace Npgsql.Web { + /// + /// Npgsql membership provider. + /// public sealed class NpgsqlMembershipProvider: MembershipProvider { @@ -34,7 +37,11 @@ namespace Npgsql.Web // // System.Configuration.Provider.ProviderBase.Initialize Method // - + /// + /// Initialize the specified name and config. + /// + /// Name. + /// Config. public override void Initialize (string name, NameValueCollection config) { // @@ -134,54 +141,87 @@ namespace Npgsql.Web private int pMaxInvalidPasswordAttempts; private int pPasswordAttemptWindow; private MembershipPasswordFormat pPasswordFormat; - + /// + /// Gets or sets the name of the application. + /// + /// The name of the application. public override string ApplicationName { get { return pApplicationName; } set { pApplicationName = value; } } - + /// + /// Gets a value indicating whether this enable password reset. + /// + /// true if enable password reset; otherwise, false. public override bool EnablePasswordReset { get { return pEnablePasswordReset; } } - + /// + /// Gets a value indicating whether this enable password retrieval. + /// + /// true if enable password retrieval; otherwise, false. public override bool EnablePasswordRetrieval { get { return pEnablePasswordRetrieval; } } - + /// + /// Gets a value indicating whether this requires question and answer. + /// + /// true if requires question and answer; otherwise, false. public override bool RequiresQuestionAndAnswer { get { return pRequiresQuestionAndAnswer; } } - + /// + /// Gets a value indicating whether this requires unique email. + /// + /// true if requires unique email; otherwise, false. public override bool RequiresUniqueEmail { get { return pRequiresUniqueEmail; } } - + /// + /// Gets the max invalid password attempts. + /// + /// The max invalid password attempts. public override int MaxInvalidPasswordAttempts { get { return pMaxInvalidPasswordAttempts; } } - + /// + /// Gets the password attempt window. + /// + /// The password attempt window. public override int PasswordAttemptWindow { get { return pPasswordAttemptWindow; } } - + /// + /// Gets the password format. + /// + /// The password format. public override MembershipPasswordFormat PasswordFormat { get { return pPasswordFormat; } } private int pMinRequiredNonAlphanumericCharacters; - + /// + /// Gets the minimum required non alphanumeric characters. + /// + /// The minimum required non alphanumeric characters. public override int MinRequiredNonAlphanumericCharacters { get { return pMinRequiredNonAlphanumericCharacters; } } private int pMinRequiredPasswordLength; - + /// + /// Gets the minimum length of the required password. + /// + /// The minimum length of the required password. public override int MinRequiredPasswordLength { get { return pMinRequiredPasswordLength; } } private string pPasswordStrengthRegularExpression; - + /// + /// Gets the password strength regular expression. + /// + /// The password strength regular expression. public override string PasswordStrengthRegularExpression { get { return pPasswordStrengthRegularExpression; } } @@ -193,7 +233,14 @@ namespace Npgsql.Web // // MembershipProvider.ChangePassword // - + /// To be added. + /// To be added. + /// + /// Changes the password. + /// + /// true, if password was changed, false otherwise. + /// Username. + /// Old pwd. public override bool ChangePassword (string username, string oldPwd, string newPwd) { if (!ValidateUser (username, oldPwd)) @@ -233,7 +280,15 @@ namespace Npgsql.Web // // MembershipProvider.ChangePasswordQuestionAndAnswer // - + /// To be added. + /// To be added. + /// + /// Changes the password question and answer. + /// + /// true, if password question and answer was changed, false otherwise. + /// Username. + /// Password. + /// New pwd question. public override bool ChangePasswordQuestionAndAnswer (string username, string password, string newPwdQuestion, @@ -268,6 +323,20 @@ namespace Npgsql.Web // MembershipProvider.CreateUser // + /// Creates an User. + /// + /// To be added. + /// + /// To be added. + /// The user. + /// Username. + /// Password. + /// E-mail. + /// Password question. + /// Password answer. + /// If set to true is approved. + /// To be added. + /// Status. public override MembershipUser CreateUser (string username, string password, string email, @@ -397,7 +466,15 @@ namespace Npgsql.Web // // MembershipProvider.GetAllUsers // - + /// To be added. + /// To be added. + /// To be added. + /// + /// + /// Gets all users. + /// + /// Page index. + /// Page size. public override MembershipUserCollection GetAllUsers (int pageIndex, int pageSize, out int totalRecords) { MembershipUserCollection users = new MembershipUserCollection (); @@ -448,7 +525,10 @@ namespace Npgsql.Web // // MembershipProvider.GetNumberOfUsersOnline // - + /// + /// Gets the number of users online. + /// + /// The number of users online. public override int GetNumberOfUsersOnline () { int numOnline = 0; @@ -479,7 +559,13 @@ namespace Npgsql.Web // // MembershipProvider.GetPassword // - + /// To be added. + /// + /// Gets the password. + /// + /// The password. + /// Username. + /// Answer. public override string GetPassword (string username, string answer) { string password = ""; @@ -592,6 +678,12 @@ namespace Npgsql.Web // // MembershipProvider.GetUser(object, bool) // + /// + /// Gets the user. + /// + /// The user. + /// Provider user key. + /// If set to true user is online. public override MembershipUser GetUser (object providerUserKey, bool userIsOnline) { MembershipUser u = null; @@ -686,7 +778,11 @@ namespace Npgsql.Web // // MembershipProvider.UnlockUser // - + /// + /// Unlocks the user. + /// + /// true, if user was unlocked, false otherwise. + /// Username. public override bool UnlockUser (string username) { int rowsAffected = 0; @@ -712,7 +808,11 @@ namespace Npgsql.Web // // MembershipProvider.GetUserNameByEmail // - + /// + /// Gets the user name by email. + /// + /// The user name by email. + /// Email. public override string GetUserNameByEmail (string email) { string username = ""; @@ -734,7 +834,13 @@ namespace Npgsql.Web // // MembershipProvider.ResetPassword // - + /// To be added. + /// + /// Resets the password. + /// + /// The password. + /// Username. + /// Answer. public override string ResetPassword (string username, string answer) { int rowsAffected = 0; @@ -818,7 +924,10 @@ namespace Npgsql.Web // // MembershipProvider.UpdateUser // - + /// + /// Updates the user. + /// + /// User. public override void UpdateUser (MembershipUser user) { using (NpgsqlConnection conn = new NpgsqlConnection (connectionString)) { @@ -842,7 +951,13 @@ namespace Npgsql.Web // // MembershipProvider.ValidateUser // - + /// To be added. + /// + /// Validates the user. + /// + /// true, if user was validated, false otherwise. + /// Username. + /// Password. public override bool ValidateUser (string username, string password) { bool isValid = false; @@ -1022,7 +1137,12 @@ namespace Npgsql.Web // CheckPassword // Compares password values based on the MembershipPasswordFormat. // - + /// + /// Checks the password. + /// + /// true, if password was checked, false otherwise. + /// Password. + /// Dbpassword. private bool CheckPassword (string password, string dbpassword) { string pass1 = password; @@ -1049,7 +1169,11 @@ namespace Npgsql.Web // EncodePassword // Encrypts, Hashes, or leaves the password clear based on the PasswordFormat. // - + /// + /// Encodes the password. + /// + /// The password. + /// Password. private string EncodePassword (string password) { string encodedPassword = password; @@ -1118,7 +1242,16 @@ namespace Npgsql.Web // // MembershipProvider.FindUsersByName // - + /// To be added. + /// To be added. + /// + /// Finds user by their name. + /// The name can use wilcards : % or ? (used in a Npgsql LIKE clause) + /// + /// An user's MembershipUser collection taching that name ... + /// Username to match. + /// Page index. + /// Total records. public override MembershipUserCollection FindUsersByName (string usernameToMatch, int pageIndex, int pageSize, out int totalRecords) { MembershipUserCollection users = new MembershipUserCollection (); @@ -1168,6 +1301,16 @@ namespace Npgsql.Web // MembershipProvider.FindUsersByEmail // + /// To be added. + /// To be added. + /// + /// To be added. + /// + /// To be added. + /// The users by email. + /// Email to match. + /// Page index. + /// Total records. public override MembershipUserCollection FindUsersByEmail (string emailToMatch, int pageIndex, int pageSize, out int totalRecords) { MembershipUserCollection users = new MembershipUserCollection (); diff --git a/NpgsqlMRPProviders/NpgsqlProfileProvider.cs b/NpgsqlMRPProviders/NpgsqlProfileProvider.cs index 44e362cc..eb880091 100644 --- a/NpgsqlMRPProviders/NpgsqlProfileProvider.cs +++ b/NpgsqlMRPProviders/NpgsqlProfileProvider.cs @@ -5,15 +5,25 @@ using Npgsql; namespace Npgsql.Web { + /// + /// Npgsql profile provider. + /// public class NpgsqlProfileProvider: ProfileProvider { private string connectionString; private string applicationName; - + /// + /// Initializes a new instance of the class. + /// public NpgsqlProfileProvider () { } + /// + /// Initialize the specified iname and config. + /// + /// Iname. + /// Config. public override void Initialize (string iname, System.Collections.Specialized.NameValueCollection config) { // get the @@ -29,27 +39,61 @@ namespace Npgsql.Web } #region implemented abstract members of System.Web.Profile.ProfileProvider - + /// + /// Deletes the inactive profiles. + /// + /// The inactive profiles. + /// Authentication option. + /// User inactive since date. public override int DeleteInactiveProfiles (ProfileAuthenticationOption authenticationOption, DateTime userInactiveSinceDate) { throw new System.NotImplementedException (); } - + /// + /// Deletes the profiles. + /// + /// The profiles. + /// Usernames. public override int DeleteProfiles (string[] usernames) { throw new System.NotImplementedException (); } - + /// + /// Deletes the profiles. + /// + /// The profiles. + /// Profiles. public override int DeleteProfiles (ProfileInfoCollection profiles) { throw new System.NotImplementedException (); } - + /// To be added. + /// To be added. + /// To be added. + /// + /// To be added. + /// + /// To be added. + /// The inactive profiles by user name. + /// Authentication option. + /// Username to match. + /// Page index. + /// Total records. public override ProfileInfoCollection FindInactiveProfilesByUserName (ProfileAuthenticationOption authenticationOption, string usernameToMatch, DateTime userInactiveSinceDate, int pageIndex, int pageSize, out int totalRecords) { throw new System.NotImplementedException (); } - + /// To be added. + /// To be added. + /// To be added. + /// To be added. + /// + /// + /// Finds the name of the profiles by user. + /// + /// Authentication option. + /// Username to match. + /// Page size. public override ProfileInfoCollection FindProfilesByUserName (ProfileAuthenticationOption authenticationOption, string usernameToMatch, int pageIndex, int pageSize, out int totalRecords) { if (pageIndex < 0) @@ -99,17 +143,41 @@ namespace Npgsql.Web } return c; } - + /// To be added. + /// To be added. + /// To be added. + /// To be added. + /// + /// + /// Gets all inactive profiles. + /// + /// Authentication option. + /// User inactive since date. + /// Page size. public override ProfileInfoCollection GetAllInactiveProfiles (ProfileAuthenticationOption authenticationOption, DateTime userInactiveSinceDate, int pageIndex, int pageSize, out int totalRecords) { throw new System.NotImplementedException (); } - + /// To be added. + /// To be added. + /// + /// To be added. + /// + /// To be added. + /// The all profiles. + /// Authentication option. + /// Page index. + /// Total records. public override ProfileInfoCollection GetAllProfiles (ProfileAuthenticationOption authenticationOption, int pageIndex, int pageSize, out int totalRecords) { throw new System.NotImplementedException (); } - + /// + /// Gets the number of inactive profiles. + /// + /// The number of inactive profiles. + /// Authentication option. + /// User inactive since date. public override int GetNumberOfInactiveProfiles (ProfileAuthenticationOption authenticationOption, DateTime userInactiveSinceDate) { throw new System.NotImplementedException (); @@ -118,7 +186,12 @@ namespace Npgsql.Web #endregion #region implemented abstract members of System.Configuration.SettingsProvider - + /// + /// Gets the property values. + /// + /// The property values. + /// Context. + /// Collection. public override SettingsPropertyValueCollection GetPropertyValues (SettingsContext context, SettingsPropertyCollection collection) { SettingsPropertyValueCollection c = new SettingsPropertyValueCollection (); @@ -157,7 +230,11 @@ namespace Npgsql.Web return c; } - + /// + /// Sets the property values. + /// + /// Context. + /// Collection. public override void SetPropertyValues (SettingsContext context, SettingsPropertyValueCollection collection) { // get the unique id of the profile @@ -220,7 +297,10 @@ namespace Npgsql.Web } } } - + /// + /// Gets or sets the name of the application. + /// + /// The name of the application. public override string ApplicationName { get { return applicationName; diff --git a/NpgsqlMRPProviders/NpgsqlRoleProvider.cs b/NpgsqlMRPProviders/NpgsqlRoleProvider.cs index c583d8ea..064f4da8 100644 --- a/NpgsqlMRPProviders/NpgsqlRoleProvider.cs +++ b/NpgsqlMRPProviders/NpgsqlRoleProvider.cs @@ -41,13 +41,33 @@ using System.Linq; namespace Npgsql.Web { + /// + /// Npgsql role provider. + /// public class NpgsqlRoleProvider: RoleProvider { + /// + /// The name. + /// protected string name = "NpgsqlRoleProvider"; + /// + /// The name of the connection string. + /// protected string connectionStringName = "pgProvider"; + /// + /// The name of the application. + /// protected string applicationName = "/"; + /// + /// The connection string. + /// protected string connectionString = string.Empty; + /// + /// Initialize the specified iname and config. + /// + /// Iname. + /// Config. public override void Initialize (string iname, System.Collections.Specialized.NameValueCollection config) { try { @@ -82,6 +102,12 @@ namespace Npgsql.Web } } + /// To be added. + /// + /// Adds the users to roles. + /// + /// Usernames. + /// Role names. public override void AddUsersToRoles (string[] usernames, string[] roleNames) { if (usernames.Any (x => x == null) || roleNames.Any (x => x == null)) { @@ -113,6 +139,10 @@ namespace Npgsql.Web } + /// + /// Gets or sets the name of the application. + /// + /// The name of the application. public override string ApplicationName { get { return applicationName; @@ -122,6 +152,11 @@ namespace Npgsql.Web } } + /// To be added. + /// + /// Creates the role. + /// + /// Role name. public override void CreateRole (string roleName) { if (roleName == null) @@ -148,6 +183,13 @@ namespace Npgsql.Web } + /// To be added. + /// + /// Deletes the role. + /// + /// true, if role was deleted, false otherwise. + /// Role name. + /// If set to true throw on populated role. public override bool DeleteRole (string roleName, bool throwOnPopulatedRole) { if (roleName == null) @@ -173,11 +215,23 @@ namespace Npgsql.Web return true; } + /// + /// Finds the users in role. + /// + /// The users in role. + /// Role name. + /// Username to match. public override string[] FindUsersInRole (string roleName, string usernameToMatch) { return GetUsersInRole (roleName, usernameToMatch); } + /// + /// Gets the users in role. + /// + /// The users in role. + /// Rolename. + /// Username to match. protected string[] GetUsersInRole (string rolename, string usernameToMatch) { if (rolename == null) @@ -206,6 +260,10 @@ namespace Npgsql.Web } } + /// + /// Gets all roles. + /// + /// The all roles. public override string[] GetAllRoles () { using (var conn = new NpgsqlConnection(connectionString)) { @@ -227,6 +285,11 @@ namespace Npgsql.Web } } + /// + /// Gets the roles for user. + /// + /// The roles for user. + /// Username. public override string[] GetRolesForUser (string username) { if (username == null) @@ -252,6 +315,13 @@ namespace Npgsql.Web } } + + /// To be added. + /// + /// Gets the users in role. + /// + /// The users in role. + /// Role name. public override string[] GetUsersInRole (string roleName) { if (string.IsNullOrEmpty (roleName)) @@ -277,6 +347,13 @@ namespace Npgsql.Web } } + /// To be added. + /// + /// Determines whether this instance is user in role the specified username roleName. + /// + /// true if this instance is user in role the specified username roleName; otherwise, false. + /// Username. + /// Role name. public override bool IsUserInRole (string username, string roleName) { if (username == null || roleName == null) @@ -303,6 +380,12 @@ namespace Npgsql.Web } + /// To be added. + /// + /// Removes the users from roles. + /// + /// Usernames. + /// Role names. public override void RemoveUsersFromRoles (string[] usernames, string[] roleNames) { if (usernames.Any (x => x == null) || roleNames.Any (x => x == null)) { @@ -333,6 +416,12 @@ namespace Npgsql.Web } + /// Tests if a given role name exists. + /// + /// Tests if a given role name exists. + /// + /// true, if exists was roled, false otherwise. + /// Role name. public override bool RoleExists (string roleName) { using (var conn = new NpgsqlConnection(connectionString)) { @@ -347,13 +436,21 @@ namespace Npgsql.Web } } } - + /// + /// Gets the name of this provider, + /// should correspond to the item key + /// in the configuration collection of providers. + /// + /// The name. public override string Name { get { return name; } } - + /// + /// Gets the description for this provider. + /// + /// The description. public override string Description { get { return "PostgreSQL ASP.Net Role Provider class"; diff --git a/SalesCatalog/SalesCatalog.csproj b/SalesCatalog/SalesCatalog.csproj index 09ed11c4..fd0803e2 100644 --- a/SalesCatalog/SalesCatalog.csproj +++ b/SalesCatalog/SalesCatalog.csproj @@ -58,7 +58,6 @@ - diff --git a/WebControls/ResultPages.cs b/WebControls/ResultPages.cs index 734319be..3943ed1b 100644 --- a/WebControls/ResultPages.cs +++ b/WebControls/ResultPages.cs @@ -7,6 +7,9 @@ using System.ComponentModel; namespace Yavsc.WebControls { + /// + /// Result pages. + /// [ AspNetHostingPermission (SecurityAction.Demand, Level = AspNetHostingPermissionLevel.Minimal), @@ -18,11 +21,18 @@ namespace Yavsc.WebControls ] public class ResultPages: WebControl { + /// + /// Initializes a new instance of the class. + /// public ResultPages () { } + /// + /// Gets or sets the results per page. + /// + /// The results per page. [Bindable (true)] [DefaultValue(10)] public int ResultsPerPage { @@ -35,6 +45,10 @@ namespace Yavsc.WebControls } + /// + /// Gets or sets the result count. + /// + /// The result count. [Bindable (true)] [DefaultValue(0)] public int ResultCount { @@ -47,6 +61,10 @@ namespace Yavsc.WebControls } } + /// + /// Gets or sets the text. + /// + /// The text. [Bindable (true)] [DefaultValue("Pages:")] [Localizable(true)] @@ -60,7 +78,11 @@ namespace Yavsc.WebControls ViewState["Text"] = value; } } - + + /// + /// Gets or sets the action. + /// + /// The action. [Bindable (true)] [DefaultValue("")] public string Action { @@ -75,6 +97,10 @@ namespace Yavsc.WebControls } + /// + /// Gets or sets the current page. + /// + /// The current page. [Bindable (true)] [DefaultValue(0)] public int CurrentPage { diff --git a/yavscModel/FrontOffice/Catalog/Price.cs b/yavscModel/FrontOffice/Catalog/Billing/Price.cs similarity index 77% rename from yavscModel/FrontOffice/Catalog/Price.cs rename to yavscModel/FrontOffice/Catalog/Billing/Price.cs index 4d9c7df2..32b0512e 100644 --- a/yavscModel/FrontOffice/Catalog/Price.cs +++ b/yavscModel/FrontOffice/Catalog/Billing/Price.cs @@ -1,19 +1,12 @@ using System; -namespace Yavsc.Model.FrontOffice +namespace Yavsc.Model.FrontOffice.Billing { /// /// Price. /// public class Price: Scalar { - /// - /// Initializes a new instance of the class. - /// - public Price () - { - } - decimal quantity; #region implemented abstract members of SalesCatalog.Value diff --git a/yavscModel/FrontOffice/Catalog/Billing/SetPrice.cs b/yavscModel/FrontOffice/Catalog/Billing/SetPrice.cs new file mode 100644 index 00000000..65d61406 --- /dev/null +++ b/yavscModel/FrontOffice/Catalog/Billing/SetPrice.cs @@ -0,0 +1,40 @@ +// +// ServiceForfait.cs +// +// Author: +// Paul Schneider +// +// Copyright (c) 2015 Paul Schneider +// +// 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 . +using System; +using System.ComponentModel.DataAnnotations; + +namespace Yavsc.Model.FrontOffice.Billing +{ + /// + /// A set price. + /// + public class SetPrice: Price + { + /// + /// Gets or sets the minimum count. + /// + /// The minimum count. + [Range(0,int.MaxValue)] + public int MinCount { get; set; } + + } +} + diff --git a/yavscModel/FrontOffice/Catalog/PhysicalProduct.cs b/yavscModel/FrontOffice/Catalog/PhysicalProduct.cs index 4825ffbe..45791074 100644 --- a/yavscModel/FrontOffice/Catalog/PhysicalProduct.cs +++ b/yavscModel/FrontOffice/Catalog/PhysicalProduct.cs @@ -1,4 +1,5 @@ using System; +using Yavsc.Model.FrontOffice.Billing; namespace Yavsc.Model.FrontOffice { diff --git a/yavscModel/FrontOffice/Catalog/Service.cs b/yavscModel/FrontOffice/Catalog/Service.cs index c0134090..58e9542a 100644 --- a/yavscModel/FrontOffice/Catalog/Service.cs +++ b/yavscModel/FrontOffice/Catalog/Service.cs @@ -1,4 +1,5 @@ using System; +using Yavsc.Model.FrontOffice.Billing; namespace Yavsc.Model.FrontOffice { @@ -19,6 +20,11 @@ namespace Yavsc.Model.FrontOffice /// /// The hour price. public Price HourPrice { get; set; } + /// + /// Gets or sets the set prices. + /// + /// The set prices. + public SetPrice[] SetPrices { get; set; } #region implemented abstract members of Product /// diff --git a/yavscModel/YavscModel.csproj b/yavscModel/YavscModel.csproj index b451a251..ddd6b83a 100644 --- a/yavscModel/YavscModel.csproj +++ b/yavscModel/YavscModel.csproj @@ -110,7 +110,6 @@ - @@ -137,6 +136,8 @@ + + @@ -148,12 +149,13 @@ + - + diff --git a/yavscclient/MyClass.cs b/yavscclient/MyClass.cs index a6c0c5f3..4f3277be 100644 --- a/yavscclient/MyClass.cs +++ b/yavscclient/MyClass.cs @@ -9,18 +9,31 @@ using Yavsc.Model.FrontOffice; namespace Yavsc { + /// + /// Main class. + /// public class MainClass { + /// + /// Gets or sets the service URL. + /// + /// The service URL. public static string ServiceUrl{ get; set; } + /// + /// The entry point of the program, where the program control starts and ends. + /// + /// The command-line arguments. public static void Main(string [] args) { foreach (string s in args) { if (Uri.IsWellFormedUriString (s,UriKind.Absolute)) { - // TODO create a client + // TODO create command usage + ServiceUrl = s; + break; } - GetCatalog (); } + GetCatalog (); } static HttpClient GetClient() { @@ -56,7 +69,10 @@ namespace Yavsc Console.WriteLine("{0} ({1})", (int)response.StatusCode, response.ReasonPhrase); } } - + /// + /// Ups the load. + /// + /// File name. public void UpLoad(string fileName) { using (var client = GetClient())