* Web.config:

* Web.csproj:
* instdbws.sql:
* packages.config:
* TestByteA.cs:
* App.master:
* MyClass.cs:
* LocalizedText.resx:
* Index.aspx:
* LocalizedText.fr.resx:
* packages.config:
* Details.aspx:
* packages.config:
* packages.config:
* packages.config:
* EventPub.aspx:
* LocalizedText.Designer.cs:
* FileSystemController.cs:
* FrontOfficeController.cs:
* NpgsqlContentProvider.cs:
* ITContentProvider.csproj:
* FileSystemManager.cs:
* Circle.cs:
* YaEvent.cs:
* NpgsqlBlogProvider.csproj:
* NpgsqlMRPProviders.csproj:
* EventPub.cs:
* NpgsqlContentProvider.csproj:
* EventType.cs:
* UserPrefs.cs:
* CalendarController.cs:
* EstablishmentType.cs: 

* ITCPNpgsqlProvider.cs:
* NpgsqlBlogProvider.cs:
* NpgsqlRoleProvider.cs:
* NpgsqlProfileProvider.cs:
* NpgsqlMembershipProvider.cs: Npgsql Command.Parameters.Add is
  obsolete

* Commande.cs: FileSystem ctor needs a format parameter in order to
  use path by membership

* google-services.json: intented to be used to build android
  application able to receive push notification via GCM
main
Paul Schneider 11 years ago
parent 04304ac0c3
commit 31734da129
39 changed files with 777 additions and 469 deletions

@ -101,7 +101,7 @@ namespace ITContentProvider
cnx.Open ();
using (NpgsqlCommand cmd = cnx.CreateCommand()) {
cmd.CommandText = "delete from projets where id = @id";
cmd.Parameters.Add ("@id", prjId);
cmd.Parameters.AddWithValue ("@id", prjId);
cmd.ExecuteNonQuery();
}
cnx.Close ();
@ -122,10 +122,10 @@ namespace ITContentProvider
cnx.Open ();
using (NpgsqlCommand cmd = cnx.CreateCommand()) {
cmd.CommandText = "insert into projets (name,managerid,ApplicatonName,prdesc) values (@name,@mid,@appname,@pdesc)";
cmd.Parameters.Add ("@name", name);
cmd.Parameters.Add ("@mid", ownerId);
cmd.Parameters.Add ("@appname", ApplicationName);
cmd.Parameters.Add ("@desc", desc);
cmd.Parameters.AddWithValue ("@name", name);
cmd.Parameters.AddWithValue ("@mid", ownerId);
cmd.Parameters.AddWithValue ("@appname", ApplicationName);
cmd.Parameters.AddWithValue ("@desc", desc);
id = (int)cmd.ExecuteScalar ();
}
cnx.Close ();

@ -32,7 +32,6 @@
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="Npgsql" />
<Reference Include="System.Data" />
<Reference Include="System.Configuration" />
<Reference Include="System.ComponentModel.DataAnnotations" />
@ -40,6 +39,12 @@
<Reference Include="System.Web.Http" />
<Reference Include="System.Web.Http.WebHost" />
<Reference Include="System.Web" />
<Reference Include="Mono.Security">
<HintPath>..\packages\Npgsql.2.2.5\lib\net45\Mono.Security.dll</HintPath>
</Reference>
<Reference Include="Npgsql">
<HintPath>..\packages\Npgsql.2.2.5\lib\net45\Npgsql.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
@ -66,4 +71,7 @@
<ItemGroup>
<Content Include="Views\Modules\IT\Index.aspx" />
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
</ItemGroup>
</Project>

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Npgsql" version="2.2.5" targetFramework="net451" />
</packages>

@ -26,8 +26,8 @@ namespace Npgsql.Web.Blog
using (NpgsqlConnection cnx = new NpgsqlConnection (connectionString))
using (NpgsqlCommand cmd = cnx.CreateCommand ()) {
cmd.CommandText = "insert into bltag (blid,tag) values (@postid,@tag) returning _id";
cmd.Parameters.Add("@tag",tag);
cmd.Parameters.Add("@postid",postid);
cmd.Parameters.AddWithValue("@tag",tag);
cmd.Parameters.AddWithValue("@postid",postid);
return (long) cmd.ExecuteScalar ();
}
}
@ -40,7 +40,7 @@ namespace Npgsql.Web.Blog
using (NpgsqlConnection cnx = new NpgsqlConnection (connectionString))
using (NpgsqlCommand cmd = cnx.CreateCommand ()) {
cmd.CommandText = "delete from bltag where _id = @tagid";
cmd.Parameters.Add("@tagid",tagid);
cmd.Parameters.AddWithValue("@tagid",tagid);
cmd.ExecuteNonQuery ();
}
}
@ -71,8 +71,8 @@ namespace Npgsql.Web.Blog
"where applicationname = @appname and postid = @id" +
((getHidden) ? " and visible = true ":" ") +
"order by posted asc" ;
cmd.Parameters.Add ("@appname", applicationName);
cmd.Parameters.Add ("@id", postid);
cmd.Parameters.AddWithValue ("@appname", applicationName);
cmd.Parameters.AddWithValue ("@id", postid);
cnx.Open ();
using (NpgsqlDataReader rdr = cmd.ExecuteReader()) {
while (rdr.Read ()) {
@ -108,11 +108,11 @@ namespace Npgsql.Web.Blog
" bcontent=@content, " +
" visible = @visible " +
"where _id = @id";
cmd.Parameters.Add ("@now", now);
cmd.Parameters.Add ("@title", title);
cmd.Parameters.Add ("@content", content);
cmd.Parameters.Add ("@visible", visible);
cmd.Parameters.Add ("@id", postid);
cmd.Parameters.AddWithValue ("@now", now);
cmd.Parameters.AddWithValue ("@title", title);
cmd.Parameters.AddWithValue ("@content", content);
cmd.Parameters.AddWithValue ("@visible", visible);
cmd.Parameters.AddWithValue ("@id", postid);
cnx.Open ();
cmd.ExecuteNonQuery ();
cnx.Close();
@ -146,14 +146,14 @@ namespace Npgsql.Web.Blog
"modified,posted,visible,username,applicationname)" +
"values (@postid,@bcontent,@modified,@posted," +
"@visible,@username,@appname) returning _id";
cmd.Parameters.Add ("@postid", postid);
cmd.Parameters.Add ("@bcontent", content);
cmd.Parameters.AddWithValue ("@postid", postid);
cmd.Parameters.AddWithValue ("@bcontent", content);
DateTime now = DateTime.Now;
cmd.Parameters.Add ("@modified", now);
cmd.Parameters.Add ("@posted", now);
cmd.Parameters.Add ("@visible", visible);
cmd.Parameters.Add ("@username", from);
cmd.Parameters.Add ("@appname", applicationName);
cmd.Parameters.AddWithValue ("@modified", now);
cmd.Parameters.AddWithValue ("@posted", now);
cmd.Parameters.AddWithValue ("@visible", visible);
cmd.Parameters.AddWithValue ("@username", from);
cmd.Parameters.AddWithValue ("@appname", applicationName);
cnx.Open ();
return (long) cmd.ExecuteScalar();
}
@ -233,8 +233,8 @@ namespace Npgsql.Web.Blog
using (NpgsqlCommand cmd = cnx.CreateCommand()) {
cmd.CommandText = "select username, title, bcontent, modified, posted, visible from blog " +
"where applicationname = @appname and _id = @id";
cmd.Parameters.Add ("@appname", applicationName);
cmd.Parameters.Add ("@id", postid);
cmd.Parameters.AddWithValue ("@appname", applicationName);
cmd.Parameters.AddWithValue ("@id", postid);
cnx.Open ();
using (NpgsqlDataReader rdr = cmd.ExecuteReader()) {
if (rdr.Read ()) {
@ -262,7 +262,7 @@ namespace Npgsql.Web.Blog
using (NpgsqlConnection cnx = new NpgsqlConnection (connectionString))
using (NpgsqlCommand cmd = cnx.CreateCommand ()) {
cmd.CommandText = "delete from comment where _id = @id returning postid";
cmd.Parameters.Add ("id", cmtid);
cmd.Parameters.AddWithValue ("id", cmtid);
cnx.Open ();
postid = (long) cmd.ExecuteScalar ();
}
@ -281,9 +281,9 @@ namespace Npgsql.Web.Blog
using (NpgsqlCommand cmd = cnx.CreateCommand()) {
cmd.CommandText = "select _id,bcontent,modified,posted,visible from blog " +
"where applicationname = @appname and username = @username and title = @title";
cmd.Parameters.Add ("@appname", applicationName);
cmd.Parameters.Add ("@username", username);
cmd.Parameters.Add ("@title", title);
cmd.Parameters.AddWithValue ("@appname", applicationName);
cmd.Parameters.AddWithValue ("@username", username);
cmd.Parameters.AddWithValue ("@title", title);
cnx.Open ();
using (NpgsqlDataReader rdr = cmd.ExecuteReader()) {
if (rdr.Read ()) {
@ -295,10 +295,14 @@ namespace Npgsql.Web.Blog
be.Posted = rdr.GetDateTime (rdr.GetOrdinal ("posted"));
be.Visible = rdr.GetBoolean (rdr.GetOrdinal ("visible"));
be.Id = rdr.GetInt64 (rdr.GetOrdinal ("_id"));
}
rdr.Close ();
}
if (be!=null)
using (NpgsqlCommand cmdtags = cnx.CreateCommand()) {
List<string> tags = new List<string> ();
cmd.CommandText = "select tag.name from tag,tagged where tag._id = tagged.tagid and tagged.postid = @pid";
cmd.Parameters.Add ("@pid", be.Id);
cmd.Parameters.AddWithValue ("@pid", be.Id);
using (NpgsqlDataReader rdrt = cmd.ExecuteReader ()) {
while (rdrt.Read ()) {
tags.Add (rdrt.GetString (0));
@ -307,8 +311,6 @@ namespace Npgsql.Web.Blog
be.Tags = tags.ToArray ();
}
}
}
}
return be;
}
/// <summary>
@ -330,14 +332,14 @@ namespace Npgsql.Web.Blog
using (NpgsqlCommand cmd = cnx.CreateCommand()) {
cmd.CommandText = "insert into blog (title,bcontent,modified,posted,visible,username,applicationname)" +
"values (@title,@bcontent,@modified,@posted,@visible,@username,@appname) returning _id";
cmd.Parameters.Add ("@title", title);
cmd.Parameters.Add ("@bcontent", content);
cmd.Parameters.AddWithValue ("@title", title);
cmd.Parameters.AddWithValue ("@bcontent", content);
DateTime now = DateTime.Now;
cmd.Parameters.Add ("@modified", now);
cmd.Parameters.Add ("@posted", now);
cmd.Parameters.Add ("@visible", visible);
cmd.Parameters.Add ("@username", username);
cmd.Parameters.Add ("@appname", applicationName);
cmd.Parameters.AddWithValue ("@modified", now);
cmd.Parameters.AddWithValue ("@posted", now);
cmd.Parameters.AddWithValue ("@visible", visible);
cmd.Parameters.AddWithValue ("@username", username);
cmd.Parameters.AddWithValue ("@appname", applicationName);
cnx.Open ();
return (long) cmd.ExecuteScalar();
}
@ -359,18 +361,18 @@ namespace Npgsql.Web.Blog
using (NpgsqlCommand cmd = cnx.CreateCommand()) {
cmd.CommandText = "select title,bcontent,modified,posted,username,visible from blog " +
"where applicationname = @appname";
cmd.Parameters.Add ("@appname", applicationName);
cmd.Parameters.AddWithValue ("@appname", applicationName);
if ((searchflags & FindBlogEntryFlags.MatchContent) > 0) {
cmd.CommandText += " and bcontent like @bcontent";
cmd.Parameters.Add ("@bcontent", pattern);
cmd.Parameters.AddWithValue ("@bcontent", pattern);
}
if ((searchflags & FindBlogEntryFlags.MatchTitle) > 0) {
cmd.CommandText += " and title like @title";
cmd.Parameters.Add ("@title", pattern);
cmd.Parameters.AddWithValue ("@title", pattern);
}
if ((searchflags & FindBlogEntryFlags.MatchUserName) > 0) {
cmd.CommandText += " and username like @username";
cmd.Parameters.Add ("@username", pattern);
cmd.Parameters.AddWithValue ("@username", pattern);
}
if ((searchflags & FindBlogEntryFlags.MatchInvisible) == 0) {
cmd.CommandText += " and visible = true";
@ -409,9 +411,9 @@ namespace Npgsql.Web.Blog
using (NpgsqlConnection cnx=new NpgsqlConnection(connectionString))
using (NpgsqlCommand cmd = cnx.CreateCommand()) {
cmd.CommandText = "delete from blog where username = @username and applicationname = @appname and title=@title";
cmd.Parameters.Add ("@username",username);
cmd.Parameters.Add ("@appname", applicationName);
cmd.Parameters.Add ("@title",title);
cmd.Parameters.AddWithValue ("@username",username);
cmd.Parameters.AddWithValue ("@appname", applicationName);
cmd.Parameters.AddWithValue ("@title",title);
cnx.Open ();
cmd.ExecuteNonQuery ();
cnx.Close();
@ -443,8 +445,8 @@ namespace Npgsql.Web.Blog
"from blog where applicationname = @appname and visible = true " +
" order by posted desc limit @len" ;
cmd.Parameters.Add ("@appname", applicationName);
cmd.Parameters.Add ("@len", defaultPageSize*10);
cmd.Parameters.AddWithValue ("@appname", applicationName);
cmd.Parameters.AddWithValue ("@len", defaultPageSize*10);
cnx.Open ();
using (NpgsqlDataReader rdr = cmd.ExecuteReader()) {
totalRecords = 0;

@ -41,9 +41,14 @@
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="Npgsql" />
<Reference Include="System.Configuration" />
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="Mono.Security">
<HintPath>..\packages\Npgsql.2.2.5\lib\net45\Mono.Security.dll</HintPath>
</Reference>
<Reference Include="Npgsql">
<HintPath>..\packages\Npgsql.2.2.5\lib\net45\Npgsql.dll</HintPath>
</Reference>
</ItemGroup>
<ProjectExtensions>
<MonoDevelop>
@ -56,6 +61,7 @@
</ProjectExtensions>
<ItemGroup>
<None Include="Sql\BlogTable.sql" />
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\yavscModel\YavscModel.csproj">

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Npgsql" version="2.2.5" targetFramework="net451" />
</packages>

@ -41,12 +41,17 @@
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Web" />
<Reference Include="System.Configuration" />
<Reference Include="Npgsql" />
<Reference Include="System" />
<Reference Include="System.Web.ApplicationServices" />
<Reference Include="System.Data" />
<Reference Include="System.Data.Linq" />
<Reference Include="System.Core" />
<Reference Include="Mono.Security">
<HintPath>..\packages\Npgsql.2.2.5\lib\net45\Mono.Security.dll</HintPath>
</Reference>
<Reference Include="Npgsql">
<HintPath>..\packages\Npgsql.2.2.5\lib\net45\Npgsql.dll</HintPath>
</Reference>
</ItemGroup>
<ProjectExtensions>
<MonoDevelop>
@ -66,5 +71,6 @@
<None Include="Sql\RolesTable.sql" />
<None Include="Sql\UserRoleTable.sql" />
<None Include="Sql\StockSymbols.sql" />
<None Include="packages.config" />
</ItemGroup>
</Project>

@ -259,10 +259,10 @@ namespace Npgsql.Web
using (NpgsqlCommand cmd = new NpgsqlCommand ("UPDATE Users " +
" SET Passw = @Password, LastPasswordChangedDate = @LastPasswordChangedDate " +
" WHERE Username = @Username AND ApplicationName = @ApplicationName", conn)) {
cmd.Parameters.Add ("@Password", NpgsqlDbType.Varchar, 255).Value = EncodePassword (newPwd);
cmd.Parameters.Add ("@LastPasswordChangedDate", DateTime.Now);
cmd.Parameters.Add ("@Username", NpgsqlDbType.Varchar, 255).Value = username;
cmd.Parameters.Add ("@ApplicationName", NpgsqlDbType.Varchar, 255).Value = pApplicationName;
cmd.Parameters.AddWithValue ("@Password", NpgsqlDbType.Varchar, 255).Value = EncodePassword (newPwd);
cmd.Parameters.AddWithValue ("@LastPasswordChangedDate", DateTime.Now);
cmd.Parameters.AddWithValue ("@Username", NpgsqlDbType.Varchar, 255).Value = username;
cmd.Parameters.AddWithValue ("@ApplicationName", NpgsqlDbType.Varchar, 255).Value = pApplicationName;
conn.Open ();
rowsAffected = cmd.ExecuteNonQuery ();
conn.Close ();
@ -301,10 +301,10 @@ namespace Npgsql.Web
using (NpgsqlCommand cmd = new NpgsqlCommand ("UPDATE Users " +
" SET PasswordQuestion = @Question, PasswordAnswer = @Answer" +
" WHERE Username = @Username AND ApplicationName = @ApplicationName", conn)) {
cmd.Parameters.Add ("@Question", NpgsqlDbType.Varchar, 255).Value = newPwdQuestion;
cmd.Parameters.Add ("@Answer", NpgsqlDbType.Varchar, 255).Value = EncodePassword (newPwdAnswer);
cmd.Parameters.Add ("@Username", NpgsqlDbType.Varchar, 255).Value = username;
cmd.Parameters.Add ("@ApplicationName", NpgsqlDbType.Varchar, 255).Value = pApplicationName;
cmd.Parameters.AddWithValue ("@Question", NpgsqlDbType.Varchar, 255).Value = newPwdQuestion;
cmd.Parameters.AddWithValue ("@Answer", NpgsqlDbType.Varchar, 255).Value = EncodePassword (newPwdAnswer);
cmd.Parameters.AddWithValue ("@Username", NpgsqlDbType.Varchar, 255).Value = username;
cmd.Parameters.AddWithValue ("@ApplicationName", NpgsqlDbType.Varchar, 255).Value = pApplicationName;
conn.Open ();
rowsAffected = cmd.ExecuteNonQuery ();
conn.Close ();
@ -388,24 +388,24 @@ namespace Npgsql.Web
"@FailedPasswordAttemptCount , @FailedPasswordAttemptWindowStart, " +
" @FailedPasswordAnswerAttemptCount, @FailedPasswordAnswerAttemptWindowStart)", conn)) {
cmd.Parameters.Add ("@PKID", NpgsqlDbType.Varchar).Value = providerUserKey;
cmd.Parameters.Add ("@Username", NpgsqlDbType.Varchar, 255).Value = username;
cmd.Parameters.Add ("@Password", NpgsqlDbType.Varchar, 255).Value = EncodePassword (password);
cmd.Parameters.Add ("@Email", NpgsqlDbType.Varchar, 128).Value = email;
cmd.Parameters.Add ("@PasswordQuestion", NpgsqlDbType.Varchar, 255).Value = passwordQuestion;
cmd.Parameters.Add ("@PasswordAnswer", NpgsqlDbType.Varchar, 255).Value = EncodePassword (passwordAnswer);
cmd.Parameters.Add ("@IsApproved", NpgsqlDbType.Bit).Value = isApproved;
cmd.Parameters.Add ("@Comment", NpgsqlDbType.Varchar, 255).Value = "";
cmd.Parameters.Add ("@CreationDate", createDate);
cmd.Parameters.Add ("@LastPasswordChangedDate", createDate);
cmd.Parameters.Add ("@LastActivityDate", createDate);
cmd.Parameters.Add ("@ApplicationName", NpgsqlDbType.Varchar, 255).Value = pApplicationName;
cmd.Parameters.Add ("@IsLockedOut", NpgsqlDbType.Bit).Value = false;
cmd.Parameters.Add ("@LastLockedOutDate", createDate);
cmd.Parameters.Add ("@FailedPasswordAttemptCount", NpgsqlDbType.Integer).Value = 0;
cmd.Parameters.Add ("@FailedPasswordAttemptWindowStart", createDate);
cmd.Parameters.Add ("@FailedPasswordAnswerAttemptCount", NpgsqlDbType.Integer).Value = 0;
cmd.Parameters.Add ("@FailedPasswordAnswerAttemptWindowStart", createDate);
cmd.Parameters.AddWithValue ("@PKID", NpgsqlDbType.Varchar).Value = providerUserKey;
cmd.Parameters.AddWithValue ("@Username", NpgsqlDbType.Varchar, 255).Value = username;
cmd.Parameters.AddWithValue ("@Password", NpgsqlDbType.Varchar, 255).Value = EncodePassword (password);
cmd.Parameters.AddWithValue ("@Email", NpgsqlDbType.Varchar, 128).Value = email;
cmd.Parameters.AddWithValue ("@PasswordQuestion", NpgsqlDbType.Varchar, 255).Value = passwordQuestion;
cmd.Parameters.AddWithValue ("@PasswordAnswer", NpgsqlDbType.Varchar, 255).Value = EncodePassword (passwordAnswer);
cmd.Parameters.AddWithValue ("@IsApproved", NpgsqlDbType.Bit).Value = isApproved;
cmd.Parameters.AddWithValue ("@Comment", NpgsqlDbType.Varchar, 255).Value = "";
cmd.Parameters.AddWithValue ("@CreationDate", createDate);
cmd.Parameters.AddWithValue ("@LastPasswordChangedDate", createDate);
cmd.Parameters.AddWithValue ("@LastActivityDate", createDate);
cmd.Parameters.AddWithValue ("@ApplicationName", NpgsqlDbType.Varchar, 255).Value = pApplicationName;
cmd.Parameters.AddWithValue ("@IsLockedOut", NpgsqlDbType.Bit).Value = false;
cmd.Parameters.AddWithValue ("@LastLockedOutDate", createDate);
cmd.Parameters.AddWithValue ("@FailedPasswordAttemptCount", NpgsqlDbType.Integer).Value = 0;
cmd.Parameters.AddWithValue ("@FailedPasswordAttemptWindowStart", createDate);
cmd.Parameters.AddWithValue ("@FailedPasswordAnswerAttemptCount", NpgsqlDbType.Integer).Value = 0;
cmd.Parameters.AddWithValue ("@FailedPasswordAnswerAttemptWindowStart", createDate);
conn.Open ();
int recAdded = cmd.ExecuteNonQuery ();
if (recAdded > 0) {
@ -450,8 +450,8 @@ namespace Npgsql.Web
using (NpgsqlConnection conn = new NpgsqlConnection (connectionString)) {
using (NpgsqlCommand cmd = new NpgsqlCommand ("DELETE FROM Users " +
" WHERE Username = @Username AND Applicationname = @ApplicationName", conn)) {
cmd.Parameters.Add ("@Username", NpgsqlDbType.Varchar, 255).Value = username;
cmd.Parameters.Add ("@ApplicationName", NpgsqlDbType.Varchar, 255).Value = pApplicationName;
cmd.Parameters.AddWithValue ("@Username", NpgsqlDbType.Varchar, 255).Value = username;
cmd.Parameters.AddWithValue ("@ApplicationName", NpgsqlDbType.Varchar, 255).Value = pApplicationName;
conn.Open ();
rowsAffected = cmd.ExecuteNonQuery ();
if (deleteAllRelatedData) {
@ -481,7 +481,7 @@ namespace Npgsql.Web
using (NpgsqlConnection conn = new NpgsqlConnection (connectionString)) {
using (NpgsqlCommand cmd = new NpgsqlCommand ("SELECT Count(*) FROM Users " +
"WHERE ApplicationName = @ApplicationName", conn)) {
cmd.Parameters.Add ("@ApplicationName", NpgsqlDbType.Varchar, 255).Value = ApplicationName;
cmd.Parameters.AddWithValue ("@ApplicationName", NpgsqlDbType.Varchar, 255).Value = ApplicationName;
conn.Open ();
totalRecords = 0;
totalRecords = (int)((long)cmd.ExecuteScalar ());
@ -539,8 +539,8 @@ namespace Npgsql.Web
using (NpgsqlCommand cmd = new NpgsqlCommand ("SELECT Count(*) FROM Users " +
" WHERE LastActivityDate > @CompareDate AND ApplicationName = @ApplicationName", conn)) {
cmd.Parameters.Add ("@CompareDate", compareTime);
cmd.Parameters.Add ("@ApplicationName", NpgsqlDbType.Varchar, 255).Value = pApplicationName;
cmd.Parameters.AddWithValue ("@CompareDate", compareTime);
cmd.Parameters.AddWithValue ("@ApplicationName", NpgsqlDbType.Varchar, 255).Value = pApplicationName;
@ -583,8 +583,8 @@ namespace Npgsql.Web
using (NpgsqlCommand cmd = new NpgsqlCommand ("SELECT Passw, PasswordAnswer, IsLockedOut FROM Users " +
" WHERE Username = @Username AND ApplicationName = @ApplicationName", conn)) {
cmd.Parameters.Add ("@Username", NpgsqlDbType.Varchar, 255).Value = username;
cmd.Parameters.Add ("@ApplicationName", NpgsqlDbType.Varchar, 255).Value = pApplicationName;
cmd.Parameters.AddWithValue ("@Username", NpgsqlDbType.Varchar, 255).Value = username;
cmd.Parameters.AddWithValue ("@ApplicationName", NpgsqlDbType.Varchar, 255).Value = pApplicationName;
NpgsqlDataReader reader = null;
@ -646,29 +646,30 @@ namespace Npgsql.Web
" LastActivityDate, LastPasswordChangedDate, LastLockedOutDate" +
" FROM Users WHERE Username = @Username AND ApplicationName = @ApplicationName", conn)) {
cmd.Parameters.Add ("@Username", NpgsqlDbType.Varchar, 255).Value = username;
cmd.Parameters.Add ("@ApplicationName", NpgsqlDbType.Varchar, 255).Value = pApplicationName;
cmd.Parameters.AddWithValue ("@Username", NpgsqlDbType.Varchar, 255).Value = username;
cmd.Parameters.AddWithValue ("@ApplicationName", NpgsqlDbType.Varchar, 255).Value = pApplicationName;
conn.Open ();
using (NpgsqlDataReader reader = cmd.ExecuteReader ()) {
if (reader.HasRows) {
reader.Read ();
u = GetUserFromReader (reader);
}
reader.Close ();
}
}
if (userIsOnline) {
if (u != null && userIsOnline) {
NpgsqlCommand updateCmd = new NpgsqlCommand ("UPDATE Users " +
"SET LastActivityDate = @LastActivityDate " +
"WHERE Username = @Username AND Applicationname = @ApplicationName", conn);
updateCmd.Parameters.Add ("@LastActivityDate", DateTime.Now);
updateCmd.Parameters.Add ("@Username", username);
updateCmd.Parameters.Add ("@ApplicationName", pApplicationName);
updateCmd.Parameters.AddWithValue ("@LastActivityDate", DateTime.Now);
updateCmd.Parameters.AddWithValue ("@Username", username);
updateCmd.Parameters.AddWithValue ("@ApplicationName", pApplicationName);
updateCmd.ExecuteNonQuery ();
}
}
reader.Close ();
}
}
conn.Close ();
}
return u;
@ -694,7 +695,7 @@ namespace Npgsql.Web
" LastActivityDate, LastPasswordChangedDate, LastLockedOutDate" +
" FROM Users WHERE PKID = @PKID", conn)) {
cmd.Parameters.Add ("@PKID", NpgsqlDbType.Varchar).Value = providerUserKey;
cmd.Parameters.AddWithValue ("@PKID", NpgsqlDbType.Varchar).Value = providerUserKey;
conn.Open ();
using (NpgsqlDataReader reader = cmd.ExecuteReader ()) {
@ -702,17 +703,18 @@ namespace Npgsql.Web
reader.Read ();
u = GetUserFromReader (reader);
if (userIsOnline) {
}
reader.Close ();
if (u!=null && userIsOnline) {
NpgsqlCommand updateCmd = new NpgsqlCommand ("UPDATE Users " +
"SET LastActivityDate = @LastActivityDate " +
"WHERE PKID = @PKID", conn);
updateCmd.Parameters.Add ("@LastActivityDate", DateTime.Now);
updateCmd.Parameters.Add ("@PKID", providerUserKey);
updateCmd.Parameters.AddWithValue ("@LastActivityDate", DateTime.Now);
updateCmd.Parameters.AddWithValue ("@PKID", providerUserKey);
updateCmd.ExecuteNonQuery ();
}
}
reader.Close ();
}
}
conn.Close ();
}
@ -790,9 +792,9 @@ namespace Npgsql.Web
using (NpgsqlCommand cmd = new NpgsqlCommand ("UPDATE Users " +
" SET IsLockedOut = False, LastLockedOutDate = @LastLockedOutDate " +
" WHERE Username = @Username AND ApplicationName = @ApplicationName", conn)) {
cmd.Parameters.Add ("@LastLockedOutDate", DateTime.Now);
cmd.Parameters.Add ("@Username", username);
cmd.Parameters.Add ("@ApplicationName", pApplicationName);
cmd.Parameters.AddWithValue ("@LastLockedOutDate", DateTime.Now);
cmd.Parameters.AddWithValue ("@Username", username);
cmd.Parameters.AddWithValue ("@ApplicationName", pApplicationName);
conn.Open ();
rowsAffected = cmd.ExecuteNonQuery ();
conn.Close ();
@ -819,8 +821,8 @@ namespace Npgsql.Web
using (NpgsqlConnection conn = new NpgsqlConnection (connectionString)) {
using (NpgsqlCommand cmd = new NpgsqlCommand ("SELECT Username" +
" FROM Users WHERE Email = @Email AND ApplicationName = @ApplicationName", conn)) {
cmd.Parameters.Add ("@Email", NpgsqlDbType.Varchar, 128).Value = email;
cmd.Parameters.Add ("@ApplicationName", NpgsqlDbType.Varchar, 255).Value = pApplicationName;
cmd.Parameters.AddWithValue ("@Email", NpgsqlDbType.Varchar, 128).Value = email;
cmd.Parameters.AddWithValue ("@ApplicationName", NpgsqlDbType.Varchar, 255).Value = pApplicationName;
conn.Open ();
username = (string)cmd.ExecuteScalar ();
conn.Close ();
@ -870,8 +872,8 @@ namespace Npgsql.Web
using (NpgsqlCommand cmd = new NpgsqlCommand ("SELECT PasswordAnswer, IsLockedOut FROM Users " +
" WHERE Username = @Username AND ApplicationName = @ApplicationName", conn)) {
cmd.Parameters.Add ("@Username", NpgsqlDbType.Varchar, 255).Value = username;
cmd.Parameters.Add ("@ApplicationName", NpgsqlDbType.Varchar, 255).Value = pApplicationName;
cmd.Parameters.AddWithValue ("@Username", NpgsqlDbType.Varchar, 255).Value = username;
cmd.Parameters.AddWithValue ("@ApplicationName", NpgsqlDbType.Varchar, 255).Value = pApplicationName;
string passwordAnswer = "";
@ -900,10 +902,10 @@ namespace Npgsql.Web
" SET Passw = @Password, LastPasswordChangedDate = @LastPasswordChangedDate" +
" WHERE Username = @Username AND ApplicationName = @ApplicationName AND IsLockedOut = False", conn);
updateCmd.Parameters.Add ("@Password", NpgsqlDbType.Varchar, 255).Value = EncodePassword (newPassword);
updateCmd.Parameters.Add ("@LastPasswordChangedDate", DateTime.Now);
updateCmd.Parameters.Add ("@Username", username);
updateCmd.Parameters.Add ("@ApplicationName", pApplicationName);
updateCmd.Parameters.AddWithValue ("@Password", NpgsqlDbType.Varchar, 255).Value = EncodePassword (newPassword);
updateCmd.Parameters.AddWithValue ("@LastPasswordChangedDate", DateTime.Now);
updateCmd.Parameters.AddWithValue ("@Username", username);
updateCmd.Parameters.AddWithValue ("@ApplicationName", pApplicationName);
rowsAffected = updateCmd.ExecuteNonQuery ();
@ -935,11 +937,11 @@ namespace Npgsql.Web
" SET Email = @Email, Comment = @Comment," +
" IsApproved = @IsApproved" +
" WHERE Username = @Username AND ApplicationName = @ApplicationName", conn)) {
cmd.Parameters.Add ("@Email", NpgsqlDbType.Varchar, 128).Value = user.Email;
cmd.Parameters.Add ("@Comment", NpgsqlDbType.Varchar, 255).Value = user.Comment;
cmd.Parameters.Add ("@IsApproved", NpgsqlDbType.Bit).Value = user.IsApproved;
cmd.Parameters.Add ("@Username", NpgsqlDbType.Varchar, 255).Value = user.UserName;
cmd.Parameters.Add ("@ApplicationName", NpgsqlDbType.Varchar, 255).Value = pApplicationName;
cmd.Parameters.AddWithValue ("@Email", NpgsqlDbType.Varchar, 128).Value = user.Email;
cmd.Parameters.AddWithValue ("@Comment", NpgsqlDbType.Varchar, 255).Value = user.Comment;
cmd.Parameters.AddWithValue ("@IsApproved", NpgsqlDbType.Bit).Value = user.IsApproved;
cmd.Parameters.AddWithValue ("@Username", NpgsqlDbType.Varchar, 255).Value = user.UserName;
cmd.Parameters.AddWithValue ("@ApplicationName", NpgsqlDbType.Varchar, 255).Value = pApplicationName;
conn.Open ();
cmd.ExecuteNonQuery ();
conn.Close ();
@ -966,8 +968,8 @@ namespace Npgsql.Web
using (NpgsqlCommand cmd = new NpgsqlCommand ("SELECT Passw, IsApproved FROM Users " +
" WHERE Username = @Username AND ApplicationName = @ApplicationName AND IsLockedOut = False", conn)) {
cmd.Parameters.Add ("@Username", NpgsqlDbType.Varchar, 255).Value = username;
cmd.Parameters.Add ("@ApplicationName", NpgsqlDbType.Varchar, 255).Value = pApplicationName;
cmd.Parameters.AddWithValue ("@Username", NpgsqlDbType.Varchar, 255).Value = username;
cmd.Parameters.AddWithValue ("@ApplicationName", NpgsqlDbType.Varchar, 255).Value = pApplicationName;
bool isApproved = false;
@ -993,9 +995,9 @@ namespace Npgsql.Web
NpgsqlCommand updateCmd = new NpgsqlCommand ("UPDATE Users SET LastLoginDate = @LastLoginDate" +
" WHERE Username = @Username AND ApplicationName = @ApplicationName", conn);
updateCmd.Parameters.Add ("@LastLoginDate", DateTime.Now);
updateCmd.Parameters.Add ("@Username", NpgsqlDbType.Varchar, 255).Value = username;
updateCmd.Parameters.Add ("@ApplicationName", NpgsqlDbType.Varchar, 255).Value = pApplicationName;
updateCmd.Parameters.AddWithValue ("@LastLoginDate", DateTime.Now);
updateCmd.Parameters.AddWithValue ("@Username", NpgsqlDbType.Varchar, 255).Value = username;
updateCmd.Parameters.AddWithValue ("@ApplicationName", NpgsqlDbType.Varchar, 255).Value = pApplicationName;
updateCmd.ExecuteNonQuery ();
}
@ -1032,8 +1034,8 @@ namespace Npgsql.Web
" FROM Users " +
" WHERE Username = @Username AND ApplicationName = @ApplicationName", conn)) {
cmd.Parameters.Add ("@Username", NpgsqlDbType.Varchar, 255).Value = username;
cmd.Parameters.Add ("@ApplicationName", NpgsqlDbType.Varchar, 255).Value = pApplicationName;
cmd.Parameters.AddWithValue ("@Username", NpgsqlDbType.Varchar, 255).Value = username;
cmd.Parameters.AddWithValue ("@ApplicationName", NpgsqlDbType.Varchar, 255).Value = pApplicationName;
DateTime windowStart = new DateTime ();
@ -1079,10 +1081,10 @@ namespace Npgsql.Web
cmd.Parameters.Clear ();
cmd.Parameters.Add ("@Count", NpgsqlDbType.Integer).Value = 1;
cmd.Parameters.Add ("@WindowStart", DateTime.Now);
cmd.Parameters.Add ("@Username", NpgsqlDbType.Varchar, 255).Value = username;
cmd.Parameters.Add ("@ApplicationName", NpgsqlDbType.Varchar, 255).Value = pApplicationName;
cmd.Parameters.AddWithValue ("@Count", NpgsqlDbType.Integer).Value = 1;
cmd.Parameters.AddWithValue ("@WindowStart", DateTime.Now);
cmd.Parameters.AddWithValue ("@Username", NpgsqlDbType.Varchar, 255).Value = username;
cmd.Parameters.AddWithValue ("@ApplicationName", NpgsqlDbType.Varchar, 255).Value = pApplicationName;
cmd.ExecuteNonQuery ();
@ -1097,10 +1099,10 @@ namespace Npgsql.Web
cmd.Parameters.Clear ();
cmd.Parameters.Add ("@IsLockedOut", NpgsqlDbType.Bit).Value = true;
cmd.Parameters.Add ("@LastLockedOutDate", DateTime.Now);
cmd.Parameters.Add ("@Username", NpgsqlDbType.Varchar, 255).Value = username;
cmd.Parameters.Add ("@ApplicationName", NpgsqlDbType.Varchar, 255).Value = pApplicationName;
cmd.Parameters.AddWithValue ("@IsLockedOut", NpgsqlDbType.Bit).Value = true;
cmd.Parameters.AddWithValue ("@LastLockedOutDate", DateTime.Now);
cmd.Parameters.AddWithValue ("@Username", NpgsqlDbType.Varchar, 255).Value = username;
cmd.Parameters.AddWithValue ("@ApplicationName", NpgsqlDbType.Varchar, 255).Value = pApplicationName;
cmd.ExecuteNonQuery ();
@ -1120,9 +1122,9 @@ namespace Npgsql.Web
cmd.Parameters.Clear ();
cmd.Parameters.Add ("@Count", NpgsqlDbType.Integer).Value = failureCount;
cmd.Parameters.Add ("@Username", NpgsqlDbType.Varchar, 255).Value = username;
cmd.Parameters.Add ("@ApplicationName", NpgsqlDbType.Varchar, 255).Value = pApplicationName;
cmd.Parameters.AddWithValue ("@Count", NpgsqlDbType.Integer).Value = failureCount;
cmd.Parameters.AddWithValue ("@Username", NpgsqlDbType.Varchar, 255).Value = username;
cmd.Parameters.AddWithValue ("@ApplicationName", NpgsqlDbType.Varchar, 255).Value = pApplicationName;
cmd.ExecuteNonQuery ();
}
@ -1260,8 +1262,8 @@ namespace Npgsql.Web
using (NpgsqlCommand cmd = new NpgsqlCommand ("SELECT count(*)" +
" FROM Users " +
" WHERE Username LIKE @uns AND ApplicationName = @appn ", conn)) {
cmd.Parameters.Add ("@uns", usernameToMatch);
cmd.Parameters.Add ("@appn", ApplicationName);
cmd.Parameters.AddWithValue ("@uns", usernameToMatch);
cmd.Parameters.AddWithValue ("@appn", ApplicationName);
totalRecords = (int)((long)cmd.ExecuteScalar ());
}
if (totalRecords > 0)
@ -1271,8 +1273,8 @@ namespace Npgsql.Web
" FROM Users " +
" WHERE Username LIKE @UsernameSearch AND ApplicationName = @ApplicationName " +
" ORDER BY Username Asc", conn)) {
cmd.Parameters.Add ("@UsernameSearch", NpgsqlDbType.Varchar, 255).Value = usernameToMatch;
cmd.Parameters.Add ("@ApplicationName", NpgsqlDbType.Varchar, 255).Value = pApplicationName;
cmd.Parameters.AddWithValue ("@UsernameSearch", NpgsqlDbType.Varchar, 255).Value = usernameToMatch;
cmd.Parameters.AddWithValue ("@ApplicationName", NpgsqlDbType.Varchar, 255).Value = pApplicationName;
using (NpgsqlDataReader reader = cmd.ExecuteReader ()) {
int counter = 0;
@ -1319,8 +1321,8 @@ namespace Npgsql.Web
using (NpgsqlCommand cmd = new NpgsqlCommand ("SELECT count(*) " +
" FROM Users " +
" WHERE Email LIKE @EmailSearch AND ApplicationName = @appname ", conn)) {
cmd.Parameters.Add ("@EmailSearch", emailToMatch);
cmd.Parameters.Add ("@appname", this.ApplicationName);
cmd.Parameters.AddWithValue ("@EmailSearch", emailToMatch);
cmd.Parameters.AddWithValue ("@appname", this.ApplicationName);
totalRecords = (int)(long)cmd.ExecuteScalar ();
}
@ -1330,8 +1332,8 @@ namespace Npgsql.Web
" FROM Users " +
" WHERE Email LIKE @EmailSearch AND ApplicationName = @ApplicationName " +
" ORDER BY Username Asc", conn)) {
cmd.Parameters.Add ("@EmailSearch", NpgsqlDbType.Varchar, 255).Value = emailToMatch;
cmd.Parameters.Add ("@ApplicationName", NpgsqlDbType.Varchar, 255).Value = ApplicationName;
cmd.Parameters.AddWithValue ("@EmailSearch", NpgsqlDbType.Varchar, 255).Value = emailToMatch;
cmd.Parameters.AddWithValue ("@ApplicationName", NpgsqlDbType.Varchar, 255).Value = ApplicationName;
using (NpgsqlDataReader reader = cmd.ExecuteReader ()) {
int counter = 0;
int startIndex = pageSize * pageIndex;

@ -111,8 +111,8 @@ namespace Npgsql.Web
using (NpgsqlConnection cnx = new NpgsqlConnection (connectionString)) {
using (NpgsqlCommand cmd = cnx.CreateCommand ()) {
cmd.CommandText = "select username, uniqueid, lastactivitydate, lastupdateddate, isanonymous from profiles where username like @username and applicationname = @appname";
cmd.Parameters.Add ("@username", usernameToMatch);
cmd.Parameters.Add ("@appname", applicationName);
cmd.Parameters.AddWithValue ("@username", usernameToMatch);
cmd.Parameters.AddWithValue ("@appname", applicationName);
cnx.Open ();
using (NpgsqlDataReader r = cmd.ExecuteReader ()) {
if (r.HasRows) {
@ -206,8 +206,8 @@ namespace Npgsql.Web
"profiledata.uniqueid = profiles.uniqueid " +
"and profiles.username = @username " +
"and profiles.applicationname = @appname";
cmd.Parameters.Add ("@username", username);
cmd.Parameters.Add ("@appname", applicationName);
cmd.Parameters.AddWithValue ("@username", username);
cmd.Parameters.AddWithValue ("@appname", applicationName);
cnx.Open ();
using (NpgsqlDataReader r = cmd.ExecuteReader (
System.Data.CommandBehavior.CloseConnection | System.Data.CommandBehavior.SingleRow)) {
@ -249,8 +249,8 @@ namespace Npgsql.Web
cmdpi.CommandText = "select count(uniqueid) " +
"from profiles where username = @username " +
"and applicationname = @appname";
cmdpi.Parameters.Add ("@username", username);
cmdpi.Parameters.Add ("@appname", applicationName);
cmdpi.Parameters.AddWithValue ("@username", username);
cmdpi.Parameters.AddWithValue ("@appname", applicationName);
long c = (long)cmdpi.ExecuteScalar ();
if (c == 0) {
@ -263,7 +263,7 @@ namespace Npgsql.Web
//
using (NpgsqlCommand cmdpdins = cnx.CreateCommand ()) {
cmdpdins.CommandText = "insert into profiledata (uniqueid) values (@puid)";
cmdpdins.Parameters.Add ("@puid", puid);
cmdpdins.Parameters.AddWithValue ("@puid", puid);
cmdpdins.ExecuteNonQuery ();
}
} else {
@ -288,8 +288,8 @@ namespace Npgsql.Web
"where uniqueid = @puid ",
s.Name
);
cmd.Parameters.Add ("@puid", puid);
cmd.Parameters.Add ("@val", s.PropertyValue);
cmd.Parameters.AddWithValue ("@puid", puid);
cmd.Parameters.AddWithValue ("@val", s.PropertyValue);
cmd.ExecuteNonQuery ();
}
}

@ -123,9 +123,9 @@ namespace Npgsql.Web
using (var comm = conn.CreateCommand()) {
comm.CommandType = System.Data.CommandType.Text;
comm.CommandText = "insert into usersroles (applicationname, username, rolename) values (@appname,@user,@role)";
comm.Parameters.Add ("appname", NpgsqlTypes.NpgsqlDbType.Varchar, 250).Value = applicationName;
NpgsqlParameter pu = comm.Parameters.Add ("user", NpgsqlTypes.NpgsqlDbType.Varchar, 250);
NpgsqlParameter pr = comm.Parameters.Add ("role", NpgsqlTypes.NpgsqlDbType.Varchar, 250);
comm.Parameters.AddWithValue ("appname", NpgsqlTypes.NpgsqlDbType.Varchar, 250).Value = applicationName;
NpgsqlParameter pu = comm.Parameters.AddWithValue ("user", NpgsqlTypes.NpgsqlDbType.Varchar, 250);
NpgsqlParameter pr = comm.Parameters.AddWithValue ("role", NpgsqlTypes.NpgsqlDbType.Varchar, 250);
foreach (string u in usernames) {
pu.Value = u;
foreach (string r in roleNames) {
@ -174,9 +174,9 @@ namespace Npgsql.Web
using (var comm = conn.CreateCommand()) {
comm.CommandType = System.Data.CommandType.Text;
comm.CommandText = "insert into roles (rolename, applicationname, comment) values (@rolename, @appname, @comment)";
comm.Parameters.Add ("@rolename", NpgsqlTypes.NpgsqlDbType.Varchar, 250).Value = roleName;
comm.Parameters.Add ("@appname", NpgsqlTypes.NpgsqlDbType.Varchar, 250).Value = applicationName;
comm.Parameters.Add ("@comment", NpgsqlTypes.NpgsqlDbType.Varchar, 250).Value = roleName;
comm.Parameters.AddWithValue ("@rolename", NpgsqlTypes.NpgsqlDbType.Varchar, 250).Value = roleName;
comm.Parameters.AddWithValue ("@appname", NpgsqlTypes.NpgsqlDbType.Varchar, 250).Value = applicationName;
comm.Parameters.AddWithValue ("@comment", NpgsqlTypes.NpgsqlDbType.Varchar, 250).Value = roleName;
comm.ExecuteNonQuery ();
}
}
@ -206,9 +206,9 @@ namespace Npgsql.Web
using (var comm = conn.CreateCommand()) {
comm.CommandType = System.Data.CommandType.Text;
comm.CommandText = "delete from roles where rolename = @rolename and applicationname = @appname";
comm.Parameters.Add ("@rolename", NpgsqlTypes.NpgsqlDbType.Varchar, 250).Value = roleName;
comm.Parameters.Add ("@appname", NpgsqlTypes.NpgsqlDbType.Varchar, 250).Value = applicationName;
comm.Parameters.Add ("@comment", NpgsqlTypes.NpgsqlDbType.Varchar, 250).Value = roleName;
comm.Parameters.AddWithValue ("@rolename", NpgsqlTypes.NpgsqlDbType.Varchar, 250).Value = roleName;
comm.Parameters.AddWithValue ("@appname", NpgsqlTypes.NpgsqlDbType.Varchar, 250).Value = applicationName;
comm.Parameters.AddWithValue ("@comment", NpgsqlTypes.NpgsqlDbType.Varchar, 250).Value = roleName;
comm.ExecuteNonQuery ();
}
}
@ -245,9 +245,9 @@ namespace Npgsql.Web
comm.CommandType = System.Data.CommandType.Text;
comm.CommandText = "select username from usersroles where applicationname = @appname " +
"and rolename = @rolename and username like @username";
comm.Parameters.Add ("@rolename", NpgsqlTypes.NpgsqlDbType.Varchar, 250).Value = rolename;
comm.Parameters.Add ("@appname", NpgsqlTypes.NpgsqlDbType.Varchar, 250).Value = applicationName;
comm.Parameters.Add ("@username", NpgsqlTypes.NpgsqlDbType.Varchar, 250).Value = usernameToMatch;
comm.Parameters.AddWithValue ("@rolename", NpgsqlTypes.NpgsqlDbType.Varchar, 250).Value = rolename;
comm.Parameters.AddWithValue ("@appname", NpgsqlTypes.NpgsqlDbType.Varchar, 250).Value = applicationName;
comm.Parameters.AddWithValue ("@username", NpgsqlTypes.NpgsqlDbType.Varchar, 250).Value = usernameToMatch;
using (var reader = comm.ExecuteReader()) {
var r = new List<string> ();
var usernameColumn = reader.GetOrdinal ("username");
@ -272,7 +272,7 @@ namespace Npgsql.Web
comm.CommandType = System.Data.CommandType.Text;
comm.CommandText = "select rolename from roles where applicationname = @appname";
comm.Parameters.Add ("@appname", NpgsqlTypes.NpgsqlDbType.Varchar, 250).Value = applicationName;
comm.Parameters.AddWithValue ("@appname", NpgsqlTypes.NpgsqlDbType.Varchar, 250).Value = applicationName;
using (var reader = comm.ExecuteReader()) {
var r = new List<string> ();
var rolenameColumn = reader.GetOrdinal ("rolename");
@ -301,8 +301,8 @@ namespace Npgsql.Web
using (var comm = conn.CreateCommand()) {
comm.CommandType = System.Data.CommandType.Text;
comm.CommandText = "select rolename from usersroles where applicationname = @appname and username = @username";
comm.Parameters.Add ("@username", NpgsqlTypes.NpgsqlDbType.Varchar, 250).Value = username;
comm.Parameters.Add ("@appname", NpgsqlTypes.NpgsqlDbType.Varchar, 250).Value = applicationName;
comm.Parameters.AddWithValue ("@username", NpgsqlTypes.NpgsqlDbType.Varchar, 250).Value = username;
comm.Parameters.AddWithValue ("@appname", NpgsqlTypes.NpgsqlDbType.Varchar, 250).Value = applicationName;
using (var reader = comm.ExecuteReader()) {
var r = new List<string> ();
var rolenameColumn = reader.GetOrdinal ("rolename");
@ -333,8 +333,8 @@ namespace Npgsql.Web
comm.CommandType = System.Data.CommandType.Text;
comm.CommandText = "select username from usersroles where applicationname = @appname " +
"and rolename = @rolename";
comm.Parameters.Add ("@rolename", NpgsqlTypes.NpgsqlDbType.Varchar, 255).Value = roleName;
comm.Parameters.Add ("@appname", NpgsqlTypes.NpgsqlDbType.Varchar, 255).Value = applicationName;
comm.Parameters.AddWithValue ("@rolename", NpgsqlTypes.NpgsqlDbType.Varchar, 255).Value = roleName;
comm.Parameters.AddWithValue ("@appname", NpgsqlTypes.NpgsqlDbType.Varchar, 255).Value = applicationName;
using (var reader = comm.ExecuteReader()) {
var r = new List<string> ();
var usernameColumn = reader.GetOrdinal ("username");
@ -370,9 +370,9 @@ namespace Npgsql.Web
comm.CommandType = System.Data.CommandType.Text;
comm.CommandText = "select count(*)>0 from usersroles where applicationname = @appname " +
"and username = @username and rolename = @rolename";
comm.Parameters.Add ("@username", username);
comm.Parameters.Add ("@rolename", roleName);
comm.Parameters.Add ("@appname", applicationName);
comm.Parameters.AddWithValue ("@username", username);
comm.Parameters.AddWithValue ("@rolename", roleName);
comm.Parameters.AddWithValue ("@appname", applicationName);
var retval = (bool)comm.ExecuteScalar ();
return retval;
}
@ -401,9 +401,9 @@ namespace Npgsql.Web
comm.CommandType = System.Data.CommandType.Text;
comm.CommandText = "delete from usersroles where applicationname = @appname and " +
"username = @username and rolename = @rolename";
NpgsqlParameter pu = comm.Parameters.Add ("@username", NpgsqlTypes.NpgsqlDbType.Varchar, 250);
NpgsqlParameter pr = comm.Parameters.Add ("@rolename", NpgsqlTypes.NpgsqlDbType.Varchar, 250);
comm.Parameters.Add ("@appname", NpgsqlTypes.NpgsqlDbType.Varchar, 250).Value = applicationName;
NpgsqlParameter pu = comm.Parameters.AddWithValue ("@username", NpgsqlTypes.NpgsqlDbType.Varchar, 250);
NpgsqlParameter pr = comm.Parameters.AddWithValue ("@rolename", NpgsqlTypes.NpgsqlDbType.Varchar, 250);
comm.Parameters.AddWithValue ("@appname", NpgsqlTypes.NpgsqlDbType.Varchar, 250).Value = applicationName;
foreach (string rolename in roleNames) {
pr.Value = rolename;
foreach (string username in usernames) {
@ -429,8 +429,8 @@ namespace Npgsql.Web
using (var comm = new NpgsqlCommand("role_exists", conn)) {
comm.CommandType = System.Data.CommandType.Text;
comm.CommandText = "select Count(*)>0 from roles where applicationname = @applicationname and rolename = @rolename";
comm.Parameters.Add ("@rolename", NpgsqlTypes.NpgsqlDbType.Varchar, 250).Value = roleName;
comm.Parameters.Add ("@applicationname", NpgsqlTypes.NpgsqlDbType.Varchar, 250).Value = applicationName;
comm.Parameters.AddWithValue ("@rolename", NpgsqlTypes.NpgsqlDbType.Varchar, 250).Value = roleName;
comm.Parameters.AddWithValue ("@applicationname", NpgsqlTypes.NpgsqlDbType.Varchar, 250).Value = applicationName;
var retval = (bool)comm.ExecuteScalar ();
return retval;
}

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Npgsql" version="2.2.5" targetFramework="net451" />
</packages>

@ -33,11 +33,11 @@ namespace Yavsc
using (NpgsqlCommand cmd = cnx.CreateCommand ()) {
cmd.CommandText =
"insert into commandes (prdref,creation,params,clientname,applicationname) values (@pref,@creat,@prms,@cli,@app) returning id";
cmd.Parameters.Add ("@pref", com.ProductRef);
cmd.Parameters.Add ("@creat", com.CreationDate);
cmd.Parameters.Add ("@prms", JsonConvert.SerializeObject(com.Parameters));
cmd.Parameters.Add ("@cli", Membership.GetUser().UserName);
cmd.Parameters.Add ("@app", ApplicationName);
cmd.Parameters.AddWithValue ("@pref", com.ProductRef);
cmd.Parameters.AddWithValue ("@creat", com.CreationDate);
cmd.Parameters.AddWithValue ("@prms", JsonConvert.SerializeObject(com.Parameters));
cmd.Parameters.AddWithValue ("@cli", Membership.GetUser().UserName);
cmd.Parameters.AddWithValue ("@app", ApplicationName);
cnx.Open ();
com.Id = id = (long)cmd.ExecuteScalar ();
}
@ -64,8 +64,8 @@ namespace Yavsc
using (NpgsqlCommand cmd = cnx.CreateCommand ()) {
cmd.CommandText =
"select id,creation,prdref,params from commandes where @user = clientname and applicationname = @app";
cmd.Parameters.Add ("@user", username);
cmd.Parameters.Add ("@app", this.ApplicationName);
cmd.Parameters.AddWithValue ("@user", username);
cmd.Parameters.AddWithValue ("@app", this.ApplicationName);
cnx.Open ();
using (NpgsqlDataReader rdr = cmd.ExecuteReader ()) {
while (rdr.Read ()) {
@ -249,7 +249,7 @@ namespace Yavsc
cmd.CommandText =
"select _id from estimate where client = @uname or username = @uname";
cmd.Parameters.Add ("@uname", username);
cmd.Parameters.AddWithValue ("@uname", username);
cnx.Open ();
List<Estimate> ests = new List<Estimate> ();
using (NpgsqlDataReader rdr = cmd.ExecuteReader ()) {
@ -283,11 +283,11 @@ namespace Yavsc
cmd.CommandText += "client = @clid";
if (responsible != null)
cmd.CommandText += " and ";
cmd.Parameters.Add ("@clid", client);
cmd.Parameters.AddWithValue ("@clid", client);
}
if (responsible != null) {
cmd.CommandText += "username = @resp";
cmd.Parameters.Add ("@resp", responsible);
cmd.Parameters.AddWithValue ("@resp", responsible);
}
cnx.Open ();
@ -314,7 +314,7 @@ namespace Yavsc
cmd.CommandText =
"delete from writtings where _id = @wrid";
cmd.Parameters.Add ("@wrid", wrid);
cmd.Parameters.AddWithValue ("@wrid", wrid);
cnx.Open ();
cmd.ExecuteNonQuery ();
}
@ -332,7 +332,7 @@ namespace Yavsc
cmd.CommandText =
"delete from estimate where _id = @estid";
cmd.Parameters.Add ("@estid", estid);
cmd.Parameters.AddWithValue ("@estid", estid);
cnx.Open ();
cmd.ExecuteNonQuery ();
}
@ -351,7 +351,7 @@ namespace Yavsc
cmd.CommandText =
"select title,username,client,description from estimate where _id = @estid";
cmd.Parameters.Add ("@estid", estimid);
cmd.Parameters.AddWithValue ("@estid", estimid);
cnx.Open ();
Estimate est = null;
using (NpgsqlDataReader rdr = cmd.ExecuteReader ()) {
@ -372,7 +372,7 @@ namespace Yavsc
est.Description = rdr.GetString (index);
est.Id = estimid;
using (NpgsqlCommand cmdw = new NpgsqlCommand ("select _id, productid, ucost, count, description from writtings where estimid = @estid", cnx)) {
cmdw.Parameters.Add("@estid", estimid);
cmdw.Parameters.AddWithValue("@estid", estimid);
using (NpgsqlDataReader rdrw = cmdw.ExecuteReader ()) {
List<Writting> lw = null;
if (rdrw.HasRows) {
@ -422,11 +422,11 @@ namespace Yavsc
"count = @count, " +
"productid = @prdid " +
"where _id = @wrid";
cmd.Parameters.Add ("@wrid", wr.Id);
cmd.Parameters.Add ("@desc", wr.Description);
cmd.Parameters.Add ("@ucost", wr.UnitaryCost);
cmd.Parameters.Add ("@prdid", wr.ProductReference);
cmd.Parameters.Add ("@count", wr.Count);
cmd.Parameters.AddWithValue ("@wrid", wr.Id);
cmd.Parameters.AddWithValue ("@desc", wr.Description);
cmd.Parameters.AddWithValue ("@ucost", wr.UnitaryCost);
cmd.Parameters.AddWithValue ("@prdid", wr.ProductReference);
cmd.Parameters.AddWithValue ("@count", wr.Count);
cnx.Open ();
cmd.ExecuteNonQuery ();
cnx.Close ();
@ -445,11 +445,11 @@ namespace Yavsc
cmd.CommandText =
"update estimate set title = @tit, username = @un, " +
"description = @descr, client = @cli where _id = @estid";
cmd.Parameters.Add ("@tit", estim.Title);
cmd.Parameters.Add ("@un", estim.Responsible);
cmd.Parameters.Add ("@descr", estim.Description);
cmd.Parameters.Add ("@cli", estim.Client);
cmd.Parameters.Add ("@estid", estim.Id);
cmd.Parameters.AddWithValue ("@tit", estim.Title);
cmd.Parameters.AddWithValue ("@un", estim.Responsible);
cmd.Parameters.AddWithValue ("@descr", estim.Description);
cmd.Parameters.AddWithValue ("@cli", estim.Client);
cmd.Parameters.AddWithValue ("@estid", estim.Id);
cnx.Open ();
cmd.ExecuteNonQuery ();
cnx.Close ();
@ -472,12 +472,12 @@ namespace Yavsc
using (NpgsqlCommand cmd = cnx.CreateCommand ()) {
cmd.CommandText =
"insert into writtings (description, estimid, ucost, count, productid) VALUES (@dscr,@estid,@ucost,@count,@prdid) returning _id";
cmd.Parameters.Add ("@dscr", desc);
cmd.Parameters.Add("@estid", estid);
cmd.Parameters.AddWithValue ("@dscr", desc);
cmd.Parameters.AddWithValue("@estid", estid);
cmd.Parameters.Add("@ucost", ucost);
cmd.Parameters.Add("@count", count);
cmd.Parameters.Add("@prdid", productid);
cmd.Parameters.AddWithValue("@ucost", ucost);
cmd.Parameters.AddWithValue("@count", count);
cmd.Parameters.AddWithValue("@prdid", productid);
cnx.Open ();
long res = (long) cmd.ExecuteScalar ();
@ -498,8 +498,8 @@ namespace Yavsc
using (NpgsqlCommand cmd = cnx.CreateCommand ()) {
cmd.CommandText =
"update writtings set description = @dscr where _id = @writid";
cmd.Parameters.Add ("@tit", newDesc);
cmd.Parameters.Add ("@writid", writid);
cmd.Parameters.AddWithValue ("@tit", newDesc);
cmd.Parameters.AddWithValue ("@writid", writid);
cnx.Open ();
cmd.ExecuteNonQuery ();
cnx.Close ();
@ -522,11 +522,11 @@ namespace Yavsc
cmd.CommandText =
"insert into estimate (title,description,username,client,applicationname) " +
"values (@tit,@descr,@resp,@un,@app) returning _id";
cmd.Parameters.Add ("@tit", title);
cmd.Parameters.Add ("@un", client);
cmd.Parameters.Add ("@resp", responsible);
cmd.Parameters.Add ("@descr", description);
cmd.Parameters.Add("@app", ApplicationName);
cmd.Parameters.AddWithValue ("@tit", title);
cmd.Parameters.AddWithValue ("@un", client);
cmd.Parameters.AddWithValue ("@resp", responsible);
cmd.Parameters.AddWithValue ("@descr", description);
cmd.Parameters.AddWithValue("@app", ApplicationName);
cnx.Open ();
Estimate created = new Estimate ();
created.Id = (long)cmd.ExecuteScalar ();

@ -32,7 +32,6 @@
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="Npgsql" />
<Reference Include="System.Configuration" />
<Reference Include="System.Data" />
<Reference Include="System.Web.Mvc" />
@ -44,6 +43,12 @@
<Reference Include="System.Web.ApplicationServices" />
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.Xml" />
<Reference Include="Mono.Security">
<HintPath>..\packages\Npgsql.2.2.5\lib\net45\Mono.Security.dll</HintPath>
</Reference>
<Reference Include="Npgsql">
<HintPath>..\packages\Npgsql.2.2.5\lib\net45\Npgsql.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
@ -56,4 +61,7 @@
<Name>YavscModel</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
</ItemGroup>
</Project>

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Npgsql" version="2.2.5" targetFramework="net451" />
</packages>

@ -0,0 +1 @@
{"project_info":{"project_id":"yavsc-001","project_number":"325408689282","name":"Yavsc"},"client":[{"client_info":{"client_id":"android:fr.pschneider.android.wearable.speedtracker","client_type":1,"android_client_info":{"package_name":"fr.pschneider.android.wearable.speedtracker"}},"oauth_client":[],"services":{"analytics_service":{"status":1},"cloud_messaging_service":{"status":2,"apns_config":[]},"appinvite_service":{"status":1,"other_platform_oauth_client":[]},"google_signin_service":{"status":1},"ads_service":{"status":1}}}]}

@ -2,7 +2,6 @@
using Yavsc.Model;
using System.Configuration;
using System.Text;
using System.Web.Mvc;
using System.Collections.Generic;
namespace fortune

@ -1,5 +1,5 @@
//
// NightFlashController.cs
// CalendarController.cs
//
// Author:
// Paul Schneider <paulschneider@free.fr>
@ -22,6 +22,12 @@ using System;
using System.Web.Http;
using System.ComponentModel.DataAnnotations;
using Yavsc.ApiControllers.Calendar.Model;
using Yavsc.Helpers;
using System.ComponentModel;
using Yavsc.Model;
using System.Web.Security;
using System.Web.Profile;
using System.Web.Http.ModelBinding;
namespace Yavsc.ApiControllers.Calendar
{
@ -30,19 +36,13 @@ namespace Yavsc.ApiControllers.Calendar
/// </summary>
public class CalendarController: ApiController
{
/// <summary>
/// List events according the specified search arguments.
/// </summary>
/// <param name="args">Arguments.</param>
[ValidateAjaxAttribute]
[HttpGet]
public YaEvent[] List ([FromUri] PositionAndKeyphrase args)
YaEvent[] getTestList()
{
return new YaEvent[] {
new YaEvent () {
Description = "Test Descr",
Title = "Night club special bubble party",
Location = new Position() {
Location = new Position () {
Longitude = 0,
Latitude = 0
}
@ -50,7 +50,7 @@ namespace Yavsc.ApiControllers.Calendar
new YaEvent () {
Title = "Test2",
ImgLocator = "http://bla/im.png",
Location = new Position() {
Location = new Position () {
Longitude = 0,
Latitude = 0
}
@ -58,7 +58,7 @@ namespace Yavsc.ApiControllers.Calendar
new YaEvent () {
Description = "Test Descr",
Title = "Night club special bubble party",
Location = new Position() {
Location = new Position () {
Longitude = 0,
Latitude = 0
}
@ -66,7 +66,7 @@ namespace Yavsc.ApiControllers.Calendar
new YaEvent () {
Title = "Test2",
ImgLocator = "http://bla/im.png",
Location = new Position() {
Location = new Position () {
Longitude = 0,
Latitude = 0
}
@ -74,6 +74,17 @@ namespace Yavsc.ApiControllers.Calendar
};
}
/// <summary>
/// List events according the specified search arguments.
/// </summary>
/// <param name="args">Arguments.</param>
[ValidateAjaxAttribute]
[HttpGet]
public YaEvent[] List ([FromUri] PositionAndKeyphrase args)
{
return getTestList();
}
/// <summary>
/// Provider the specified ProviderId.
/// </summary>
@ -119,12 +130,260 @@ namespace Yavsc.ApiControllers.Calendar
/// <param name="ev">Ev.</param>
public int PostEvent ([FromBody] ProvidedEvent ev)
{
return -1;
throw new NotImplementedException();
}
/// <summary>
/// Notification.
/// </summary>
public class Notification {
/// <summary>
/// The title.
/// </summary>
public string title;
/// <summary>
/// The body.
/// </summary>
public string body;
/// <summary>
/// The icon.
/// </summary>
public string icon;
/// <summary>
/// The sound.
/// </summary>
public string sound;
/// <summary>
/// The tag.
/// </summary>
public string tag;
/// <summary>
/// The color.
/// </summary>
public string color;
/// <summary>
/// The click action.
/// </summary>
public string click_action;
}
// https://gcm-http.googleapis.com/gcm/send
/// <summary>
/// Message with payload.
/// </summary>
public class MessageWithPayload<T> {
/// <summary>
/// To.
/// </summary>
public string to;
/// <summary>
/// The registration identifiers.
/// </summary>
public string [] registration_ids;
/// <summary>
/// The data.
/// </summary>
public T[] data ;
/// <summary>
/// The notification.
/// </summary>
public Notification notification;
/// <summary>
/// The collapse key.
/// </summary>
public string collapse_key; // in order to collapse ...
/// <summary>
/// The priority.
/// </summary>
public int priority; // between 0 and 10, 10 is the lowest!
/// <summary>
/// The content available.
/// </summary>
public bool content_available;
/// <summary>
/// The delay while idle.
/// </summary>
public bool delay_while_idle;
/// <summary>
/// The time to live.
/// </summary>
public int time_to_live; // seconds
/// <summary>
/// The name of the restricted package.
/// </summary>
public string restricted_package_name;
/// <summary>
/// The dry run.
/// </summary>
public bool dry_run;
/// <summary>
/// Validate the specified modelState.
/// </summary>
/// <param name="modelState">Model state.</param>
public void Validate(ModelStateDictionary modelState) {
if (to==null && registration_ids == null) {
modelState.AddModelError ("to", "One of \"to\" or \"registration_ids\" parameters must be specified");
modelState.AddModelError ("registration_ids", "*");
}
if (notification == null && data == null) {
modelState.AddModelError ("notification", "At least one of \"notification\" or \"data\" parameters must be specified");
modelState.AddModelError ("data", "*");
}
if (notification != null) {
if (notification.icon == null)
modelState.AddModelError ("notification.icon", "please, specify an icon resoure name");
if (notification.title == null)
modelState.AddModelError ("notification.title", "please, specify a title");
}
}
}
/// <summary>
/// Message with payload response.
/// </summary>
public class MessageWithPayloadResponse {
/// <summary>
/// The multicast identifier.
/// </summary>
public int multicast_id;
/// <summary>
/// The success count.
/// </summary>
public int success;
/// <summary>
/// The failure count.
/// </summary>
public int failure;
/// <summary>
/// The canonical identifiers... ?!?
/// </summary>
public int canonical_ids;
/// <summary>
/// Detailled result.
/// </summary>
public class Result {
/// <summary>
/// The message identifier.
/// </summary>
public string message_id;
/// <summary>
/// The registration identifier.
/// </summary>
public string registration_id;
/// <summary>
/// The error.
/// </summary>
public string error;
}
/// <summary>
/// The results.
/// </summary>
public Result [] results;
}
/// <summary>
/// GCM register model.
/// </summary>
public class GCMRegisterModel {
/// <summary>
/// Gets or sets the name of the user.
/// </summary>
/// <value>The name of the user.</value>
[Localizable(true)]
[Display(ResourceType=typeof(LocalizedText),Name="UserName")]
[Required(ErrorMessage = "S'il vous plait, entrez un nom d'utilisateur")]
public string UserName { get; set; }
/// <summary>
/// Gets or sets the password.
/// </summary>
/// <value>The password.</value>
[DisplayName("Mot de passe")]
[Required(ErrorMessage = "S'il vous plait, entez un mot de passe")]
public string Password { get; set; }
/// <summary>
/// Gets or sets the email.
/// </summary>
/// <value>The email.</value>
[DisplayName("Adresse e-mail")]
[Required(ErrorMessage = "S'il vous plait, entrez un e-mail valide")]
public string Email { get; set; }
/// <summary>
/// Gets or sets the registration identifier against Google Clood Messaging and their info on this application.
/// </summary>
/// <value>The registration identifier.</value>
public string RegistrationId { get; set; }
}
/// <summary>
/// Registers with push notifications enabled.
/// </summary>
/// <param name="model">Model.</param>
[ValidateAjax]
public void RegisterWithPushNotifications(GCMRegisterModel model)
{
if (ModelState.IsValid) {
MembershipCreateStatus mcs;
var user = Membership.CreateUser (
model.UserName,
model.Password,
model.Email,
null,
null,
false,
out mcs);
switch (mcs) {
case MembershipCreateStatus.DuplicateEmail:
ModelState.AddModelError ("Email", "Cette adresse e-mail correspond " +
"à un compte utilisateur existant");
break;
case MembershipCreateStatus.DuplicateUserName:
ModelState.AddModelError ("UserName", "Ce nom d'utilisateur est " +
"déjà enregistré");
break;
case MembershipCreateStatus.Success:
YavscHelpers.SendActivationEmail (user);
// TODO set registration id
throw new NotImplementedException ();
}
}
}
/// <summary>
/// Sets the registration identifier.
/// </summary>
/// <param name="registrationId">Registration identifier.</param>
[Authorize]
void NotifyEvent(EventPub evpub) {
throw new NotImplementedException();
public void SetRegistrationId(string registrationId)
{
// TODO set registration id
setRegistrationId (Membership.GetUser ().UserName, registrationId);
}
private void setRegistrationId(string username, string regid) {
ProfileBase pr = ProfileBase.Create(username);
pr.SetPropertyValue ("gregid", regid);
}
/// <summary>
/// Notifies the event.
/// </summary>
/// <param name="evpub">Evpub.</param>
public MessageWithPayloadResponse NotifyEvent(EventPub evpub) {
SimpleJsonPostMethod<MessageWithPayload<YaEvent>,MessageWithPayloadResponse> r =
new SimpleJsonPostMethod<MessageWithPayload<YaEvent>,MessageWithPayloadResponse>(
"https://gcm-http.googleapis.com/gcm/send");
using (r) {
var msg = new MessageWithPayload<YaEvent> () { data = new YaEvent[] { (YaEvent)evpub } };
msg.to = string.Join (" ", Circle.Union (evpub.Circles));
return r.Invoke (msg);
}
}
}
}

@ -1,5 +1,5 @@
//
// NightFlashController.cs
// Circle.cs
//
// Author:
// Paul Schneider <paulschneider@free.fr>
@ -21,13 +21,42 @@
using System;
using System.Web.Http;
using System.ComponentModel.DataAnnotations;
using System.Collections.Generic;
namespace Yavsc.ApiControllers.Calendar.Model
{
class Circle
/// <summary>
/// Circle.
/// </summary>
public class Circle
{
/// <summary>
/// Gets or sets the title.
/// </summary>
/// <value>The title.</value>
public string Title { get; set; }
string [] Users { get; set; }
/// <summary>
/// Gets or sets the users.
/// </summary>
/// <value>The users.</value>
public string [] Users { get; set; }
/// <summary>
/// Union the specified that.
/// </summary>
/// <param name="that">That.</param>
public static string [] Union (Circle []those)
{
List<string> content = new List<string>();
foreach (Circle c in those) {
foreach (string user_name in c.Users) {
if (!content.Contains (user_name))
content.Add (user_name);
}
}
return content.ToArray ();
}
}
}

@ -1,62 +0,0 @@
//
// NFEvent.cs
//
// Author:
// Paul Schneider <paulschneider@free.fr>
//
// 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 <http://www.gnu.org/licenses/>.
using System;
using System.Web.Http;
using System.ComponentModel.DataAnnotations;
namespace Yavsc.ApiControllers.Calendar.Model
{
/// <summary>
/// Establishment type.
/// </summary>
public enum EstablishmentType
{
/// <summary>
/// The discotheque.
/// </summary>
Discotheque,
/// <summary>
/// The piano bar.
/// </summary>
PianoBar,
/// <summary>
/// The bar.
/// </summary>
Bar,
/// <summary>
/// The place publique.
/// </summary>
PlacePublique,
/// <summary>
/// The maison privee.
/// </summary>
MaisonPrivee,
/// <summary>
/// The domaine publique.
/// </summary>
DomainePublique,
/// <summary>
/// The domaine prive.
/// </summary>
DomainePrive
}
}

@ -1,5 +1,5 @@
//
// NightFlashController.cs
// EventPub.cs
//
// Author:
// Paul Schneider <paulschneider@free.fr>
@ -22,12 +22,21 @@ using System;
using System.Web.Http;
using System.ComponentModel.DataAnnotations;
using Yavsc.ApiControllers.Calendar.Model;
using Yavsc.Model;
namespace Yavsc.ApiControllers.Calendar.Model
{
class EventPub: YaEvent
/// <summary>
/// Event pub.
/// </summary>
public class EventPub: YaEvent
{
Circle[] Circles { get; set; }
/// <summary>
/// Gets or sets the circles.
/// </summary>
/// <value>The circles.</value>
[Display(ResourceType=typeof(LocalizedText),Name="Circles")]
public Circle[] Circles { get; set; }
}
}

@ -1,71 +0,0 @@
//
// EventType.cs
//
// Author:
// Paul Schneider <paulschneider@free.fr>
//
// 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 <http://www.gnu.org/licenses/>.
using System;
using System.Web.Http;
using System.ComponentModel.DataAnnotations;
namespace Yavsc.ApiControllers.Calendar.Model
{
/// <summary>
/// Event type.
/// </summary>
public enum EventType
{
/// <summary>
/// The concert gratuit.
/// </summary>
ConcertGratuit,
/// <summary>
/// The concert prive.
/// </summary>
ConcertPrive,
/// <summary>
/// The distraciton.
/// </summary>
Distraciton,
/// <summary>
/// The rencontre.
/// </summary>
Rencontre,
/// <summary>
/// The assemblee.
/// </summary>
Assemblee,
/// <summary>
/// The reunion.
/// </summary>
Reunion,
/// <summary>
/// The bureau.
/// </summary>
Bureau,
/// <summary>
/// The manifestation.
/// </summary>
Manifestation,
/// <summary>
/// The zone de danger.
/// </summary>
ZoneDeDanger
}
}

@ -1,5 +1,5 @@
//
// NightFlashController.cs
// UserPrefs.cs
//
// Author:
// Paul Schneider <paulschneider@free.fr>
@ -28,7 +28,7 @@ namespace Yavsc.ApiControllers.Calendar.Model
class UserPrefs
{
Circle [] Circles { get; set ; }
Dictionary<string,double> MusicTypeRatings { get; set; }
Dictionary<string,double> EventTypeRatings { get; set; }
Dictionary<string,double> LocationTypeRatings { get; set; }
}
}

@ -22,6 +22,7 @@
using System;
using System.Web.Http;
using System.ComponentModel.DataAnnotations;
using Yavsc.Model;
namespace Yavsc.ApiControllers.Calendar.Model
{
@ -31,71 +32,65 @@ namespace Yavsc.ApiControllers.Calendar.Model
/// </summary>
public class YaEvent
{
/// <summary>
/// Initializes a new instance of the <see cref="Yavsc.ApiControllers.Calendar.Model.YaEvent"/> class.
/// </summary>
public YaEvent()
{
this.EstabType = EstablishmentType.DomainePublique;
this.NFEvType = EventType.Distraciton;
}
/// <summary>
/// Gets or sets the type of the NF ev.
/// </summary>
/// <value>The type of the NF ev.</value>
[Required]
public EventType NFEvType { get; set; }
/// <summary>
/// Gets or sets the type of the estab.
/// </summary>
/// <value>The type of the estab.</value>
[Required(ErrorMessage="Please, choose an establisment type.")]
public EstablishmentType EstabType { get; set; }
/// <summary>
/// The title.
/// </summary>
[Required(ErrorMessage="Please, choose a .")]
[Display(ResourceType=typeof(LocalizedText),Name="Title")]
public string Title { get; set; }
/// <summary>
/// The description.
/// </summary>
[Required(ErrorMessage="Please, choose a Description.")] public string Description { get; set; }
[Required(ErrorMessage="Please, choose a Description.")]
[Display(ResourceType=typeof(LocalizedText),Name="Description")]
public string Description { get; set; }
/// <summary>
/// The location.
/// </summary>
[Required(ErrorMessage="Please, choose a Location.")] public Position Location { get; set; }
[Required(ErrorMessage="Please, choose a Location.")]
[Display(ResourceType=typeof(LocalizedText),Name="Location")]
public Position Location { get; set; }
/// <summary>
/// The start date.
/// </summary>
[Required(ErrorMessage="Please, choose a Start Date.")] public DateTime StartDate { get; set; }
[Required(ErrorMessage="Please, choose a Start Date.")]
[Display(ResourceType=typeof(LocalizedText),Name="StartDate")]
public DateTime StartDate { get; set; }
/// <summary>
/// Gets or sets the end date.
/// </summary>
/// <value>The end date.</value>
[Required(ErrorMessage="Please, choose an End Date.")] public DateTime EndDate { get; set; }
[Required(ErrorMessage="Please, choose an End Date.")]
[Display(ResourceType=typeof(LocalizedText),Name="EndDate")]
public DateTime EndDate { get; set; }
/// <summary>
/// The name of the NF provider.
/// </summary>
[Required(ErrorMessage="Please, choose a Nigth Flash Provider Name.")] public string NFProviderName { get; set; }
[Required(ErrorMessage="Please, choose a Provider Name.")]
[Display(ResourceType=typeof(LocalizedText),Name="ProviderName")]
public string ProviderName { get; set; }
/// <summary>
/// The NF provider identifier.
/// </summary>
[Required(ErrorMessage="Please, choose a Night Flash Provider Identifier.")] public string NFProviderId { get; set; }
[Required(ErrorMessage="Please, choose a Provider Identifier.")]
[Display(ResourceType=typeof(LocalizedText),Name="ProviderId")]
public string ProviderId { get; set; }
/// <summary>
/// The promotion code.
/// </summary>
public string PromotionCode { get; set; }
[Display(ResourceType=typeof(LocalizedText),Name="Comment")]
public string Comment { get; set; }
/// <summary>
/// The event web page.
/// </summary>
[Display(ResourceType=typeof(LocalizedText),Name="EventWebPage")]
public string EventWebPage { get; set; }
/// <summary>
/// The image locator.
/// </summary>-
/// </summary>
[Display(ResourceType=typeof(LocalizedText),Name="ImgLocator")]
public string ImgLocator { get; set; }
}
}

@ -13,29 +13,18 @@ namespace Yavsc.Controllers
/// <summary>
/// File system controller.
/// </summary>
public class FileSystemController : Controller
{
/// <summary>
/// Gets the users base directory.
/// </summary>
/// <value>The users dir.</value>
public string RootDir {
get {
return mgr.Prefix;
}
}
FileSystemManager mgr = null ;
/// <summary>
/// Initialize the specified requestContext.
/// </summary>
/// <param name="requestContext">Request context.</param>
[Authorize]
protected override void Initialize (System.Web.Routing.RequestContext requestContext)
{
base.Initialize (requestContext);
mgr = new FileSystemManager (
string.Format("~/users/{0}",Membership.GetUser().UserName));
}
/// <summary>
@ -44,7 +33,10 @@ namespace Yavsc.Controllers
[Authorize]
public ActionResult Index (string id)
{
return View (mgr.GetFiles (id));
FileSystemManager fsmgr = new FileSystemManager ();
var files = fsmgr.GetFiles (id);
files.Owner = Membership.GetUser ().UserName;
return View (files);
}
/// <summary>
@ -53,6 +45,7 @@ namespace Yavsc.Controllers
/// <param name="id">Identifier.</param>
public ActionResult Details (string id)
{
foreach (char x in Path.GetInvalidPathChars()) {
if (id.Contains (x)) {
ViewData ["Message"] =
@ -62,10 +55,19 @@ namespace Yavsc.Controllers
return RedirectToAction ("Index");
}
}
FileInfo fi = mgr.FileInfo (id);
ViewData ["Content"] = Url.Content (fi.FullName);
FileSystemManager fsmgr = new FileSystemManager ();
FileInfo fi = fsmgr.FileInfo (id);
ViewData ["id"] = id;
// TODO : ensure that we use the default port for
// the used sheme
ViewData ["url"] =
string.Format(
"{0}://{1}/users/{2}/{3}",
Request.Url.Scheme,
Request.Url.Authority,
Membership.GetUser ().UserName ,
id );
return View (fi);
}
@ -77,16 +79,10 @@ namespace Yavsc.Controllers
[Authorize]
public ActionResult Create (string id)
{
mgr.Put ( id, Request.Files);
return View ("Index",mgr.GetFiles(id));
FileSystemManager fsmgr = new FileSystemManager ();
return View ("Index",fsmgr.GetFiles(id));
}
/// <summary>
/// Gets the user's base dir.
/// </summary>
/// <value>The base dir.</value>
public string UserBaseDir { get { return Path.Combine (RootDir, Membership.GetUser ().UserName); } }
/// <summary>
/// Edit the specified id.
/// </summary>

@ -12,6 +12,7 @@ using System.Web.Security;
using System.Threading;
using Yavsc.Model.FrontOffice;
using Yavsc.Model.FileSystem;
using Yavsc.ApiControllers.Calendar.Model;
namespace Yavsc.Controllers
{
@ -43,7 +44,10 @@ namespace Yavsc.Controllers
{
return View ();
}
public ActionResult EventPub (EventPub model)
{
return View (model);
}
/// <summary>
/// Estimates this instance.
/// </summary>

@ -60,6 +60,11 @@ ViewState["orgtitle"] = T.GetString(Page.Title);
</aside>
<div style="float:right; height:5em; z-index:-1;"></div>
<footer>
<!-- Placez cette balise dans l'en-tête ou juste avant la balise de fermeture du corps de texte. -->
<script src="https://apis.google.com/js/platform.js" async defer>
{lang: 'fr'}
</script>
<div class="g-plusone" data-annotation="inline" data-width="230"></div>
<%= Html.ActionLink("Contact","Contact","Home",null, new { @class="footerlink" }) %> <br/>
<% foreach ( string link in Yavsc.ThanksHelper.Links()) { %>
<%= link %>

@ -47,14 +47,14 @@ namespace Yavsc
using (NpgsqlCommand cmd = cnx.CreateCommand ())
{
cmd.CommandText = "insert into testbytea (t) values (@tv)";
cmd.Parameters.Add ("@tv", a);
cmd.Parameters.AddWithValue ("@tv", a);
cmd.ExecuteNonQuery ();
}
using (NpgsqlCommand cmd = cnx.CreateCommand ())
{
cmd.CommandText = "select t from testbytea";
cmd.Parameters.Add ("@tv", a);
cmd.Parameters.AddWithValue ("@tv", a);
NpgsqlDataReader rdr = cmd.ExecuteReader ();
if (!rdr.Read ())

@ -7,5 +7,5 @@ Dérnière modification :
<%= Model.LastWriteTime %><br/>
Dernier accès :
<%= Model.LastAccessTime %><br/>
Lien permanent : <a href="/<%= ViewData["Content"] %>">/<%= ViewData["Content"] %></a>
Lien permanent : <a href="<%= ViewData["url"] %>"><%= ViewData["url"] %></a>
</asp:Content>

@ -1,8 +1,9 @@
<%@ Page Language="C#" MasterPageFile="~/Models/App.master" Inherits="System.Web.Mvc.ViewPage<Yavsc.FileInfoCollection>" %>
<%@ Page Language="C#" MasterPageFile="~/Models/App.master" Inherits="System.Web.Mvc.ViewPage<Yavsc.Model.FileSystem.FileInfoCollection>" %>
<asp:Content ID="MainContentContent" ContentPlaceHolderID="MainContent" runat="server">
<h1> Index of <%= Model.Owner %>'s files (<%= Html.Encode(Model.Count) %>) </h1>
<h1> Index of <%= Model.Owner %>'s files (<%= Html.Encode(Model.Count) %>)
</h1>
<ul>
<% foreach (System.IO.FileInfo fi in Model) { %>
<% foreach (System.IO.FileInfo fi in Model) { %>
<li> <%= Html.ActionLink(fi.Name,"Details",new {id = fi.Name}) %> </li>
<% } %>
</ul>

@ -0,0 +1,23 @@
<%@ Page Language="C#" MasterPageFile="~/Models/App.master" Inherits="System.Web.Mvc.ViewPage<Yavsc.ApiControllers.Calendar.Model.EventPub>" %>
<asp:Content ID="MainContentContent" ContentPlaceHolderID="MainContent" runat="server">
<% using (Html.BeginForm()) { %>
<%= Html.LabelFor(model => model.Title) %>: <%=Model.Title%><br/>
<%= Html.LabelFor(model => model.Description) %>: <%=Model.Description%> <br/>
<%= Html.LabelFor(model => model.Location) %>: <%=Model.Location%> <br/>
<%= Html.LabelFor(model => model.StartDate) %>: <%=Model.StartDate%> <br/>
<%= Html.LabelFor(model => model.EndDate) %>: <%=Model.EndDate%> <br/>
<%= Html.LabelFor(model => model.Circles) %>: <%=Model.Circles%> <br/>
<%= Html.LabelFor(model => model.ImgLocator) %>: <%=Model.ImgLocator%> <br/>
<%= Html.LabelFor(model => model.EventWebPage) %>: <%=Model.EventWebPage%> <br/>
<%= Html.LabelFor(model => model.ProviderName) %>: <%=Model.ProviderName%> <br/>
<%= Html.LabelFor(model => model.Comment) %>: <%=Model.Comment%> <br/>
<% } %>
</asp:Content>

@ -45,17 +45,7 @@ http://msdn2.microsoft.com/en-us/library/b5ysx397.aspx
-->
<compilation defaultLanguage="C#" debug="false">
<assemblies>
<add assembly="Npgsql, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7" />
<add assembly="System.Configuration.Install, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<add assembly="System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<add assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<add assembly="System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<add assembly="System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<add assembly="System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<add assembly="System.Web.ApplicationServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<add assembly="System.Web.Http.WebHost, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<add assembly="System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<add assembly="System.Web.WebPages, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
@ -149,6 +139,7 @@ http://msdn2.microsoft.com/en-us/library/b5ysx397.aspx
<add name="avatar" />
<add name="gcalapi" />
<add name="gcalid" />
<add name="gregid" />
</properties>
</profile>
<blog defaultProvider="NpgsqlBlogProvider">
@ -261,7 +252,7 @@ http://msdn2.microsoft.com/en-us/library/b5ysx397.aspx
</root>
</log4net>
<connectionStrings>
<add name="yavsc" connectionString="Server=127.0.0.1;Port=5432;Database=yavsc;User Id=yavsc;Password=admin;Encoding=Unicode;" providerName="Npgsql" />
<add name="yavsc" connectionString="Server=127.0.0.1;Port=5432;Database=YavscDev;User Id=yavscdev;Password=admin;Encoding=Unicode;" providerName="Npgsql" />
</connectionStrings>
<appSettings>
<add key="WorkflowContentProviderClass" value="yavsc.NpgsqlContentProvider" />

@ -54,7 +54,6 @@
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Configuration" />
<Reference Include="Npgsql" />
<Reference Include="CodeKicker.BBCode">
<HintPath>lib\CodeKicker.BBCode.dll</HintPath>
</Reference>
@ -85,6 +84,12 @@
<Reference Include="System.Net.Http.Formatting" />
<Reference Include="System.Net.Http.WebRequest" />
<Reference Include="System.Web.WebPages.Razor" />
<Reference Include="Mono.Security">
<HintPath>..\packages\Npgsql.2.2.5\lib\net45\Mono.Security.dll</HintPath>
</Reference>
<Reference Include="Npgsql">
<HintPath>..\packages\Npgsql.2.2.5\lib\net45\Npgsql.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Folder Include="Models\" />
@ -187,8 +192,6 @@
<Compile Include="ApiControllers\Calendar\Model\Schedule.cs" />
<Compile Include="ApiControllers\Calendar\Model\ProviderPublicInfo.cs" />
<Compile Include="ApiControllers\Calendar\Model\WeekDay.cs" />
<Compile Include="ApiControllers\Calendar\Model\EstablishmentType.cs" />
<Compile Include="ApiControllers\Calendar\Model\EventType.cs" />
<Compile Include="ApiControllers\Calendar\CalendarController.cs" />
<Compile Include="ApiControllers\Calendar\Model\YaEvent.cs" />
<Compile Include="ApiControllers\Calendar\Model\Circle.cs" />
@ -682,6 +685,7 @@
<Content Include="Views\FrontOffice\Estimate.aspx" />
<Content Include="Theme\dark\croix.png" />
<Content Include="Views\Admin\RemoveRole..aspx" />
<Content Include="Views\FrontOffice\EventPub.aspx" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />

@ -122,6 +122,7 @@ CREATE TABLE profiledata
gtokenexpir timestamp with time zone, -- Google access token expiration date
avatar character varying(512), -- url for an avatar
gcalapi boolean NOT NULL DEFAULT false, -- true when user authorized to use its Google calendar
gregid character varying(1024), -- Google Cloud Message registration identifier
CONSTRAINT fkprofiles2 FOREIGN KEY (uniqueid)
REFERENCES profiles (uniqueid) MATCH SIMPLE
ON UPDATE CASCADE ON DELETE CASCADE
@ -142,6 +143,7 @@ COMMENT ON COLUMN profiledata.gtokentype IS 'Google access token type';
COMMENT ON COLUMN profiledata.grefreshtoken IS 'Google refresh token';
COMMENT ON COLUMN profiledata.gtokenexpir IS 'Google access token expiration date';
COMMENT ON COLUMN profiledata.avatar IS 'url for an avatar';
COMMENT ON COLUMN profiledata.gregid IS 'Google Cloud Message registration identifier';
-- Index: fki_fkprofiles2

@ -5,5 +5,6 @@
<package id="jquery-globalize" version="0.1.3" targetFramework="net45" />
<package id="log4net" version="2.0.3" targetFramework="net40" />
<package id="Newtonsoft.Json" version="6.0.8" targetFramework="net451" />
<package id="Npgsql" version="2.2.5" targetFramework="net451" />
<package id="PayPalCoreSDK" version="1.6.0" targetFramework="net451" />
</packages>

@ -56,11 +56,14 @@ namespace Yavsc.Model.FileSystem
/// <summary>
/// Initializes a new instance of the <see cref="Yavsc.Model.FileSystem.FileSystemManager"/> class.
/// </summary>
public FileSystemManager (string rootDirectory="~/files", char dirSep = '/')
public FileSystemManager (string rootDirectory="~/users/{0}", char dirSep = '/')
{
prefix = rootDirectory;
MembershipUser user = Membership.GetUser ();
if (user == null)
throw new Exception ("Not membership available");
Prefix = HttpContext.Current.Server.MapPath (
string.Format (rootDirectory, user.UserName));
DirectorySeparator = dirSep;
}
string regexFileName = "^[A-Za-z0-9#^!+ _~\\-.]+$";
@ -109,9 +112,6 @@ namespace Yavsc.Model.FileSystem
}
set {
prefix = value;
if (value.StartsWith ("~/")) {
prefix = HttpContext.Current.Server.MapPath(value);
}
}
}
@ -145,7 +145,7 @@ namespace Yavsc.Model.FileSystem
{
string path = Prefix;
if (subdir != null) {
checkSubDir (subdir);
checkSubDir (subdir); // checks for specification validity
path = Path.Combine (Prefix, subdir);
}
DirectoryInfo di = new DirectoryInfo (path);

@ -89,7 +89,7 @@ namespace Yavsc.Model.FrontOffice
}
private FileSystemManager GetFSM() {
return new FileSystemManager ("~/commands");
return new FileSystemManager ("~/commands/{0}");
}
}
}

@ -64,12 +64,24 @@ namespace Yavsc.Model {
}
}
public static string ProviderId {
get {
return ResourceManager.GetString("ProviderId", resourceCulture);
}
}
public static string Welcome {
get {
return ResourceManager.GetString("Welcome", resourceCulture);
}
}
public static string StartDate {
get {
return ResourceManager.GetString("StartDate", resourceCulture);
}
}
public static string My_Estimates {
get {
return ResourceManager.GetString("My_Estimates", resourceCulture);
@ -94,6 +106,12 @@ namespace Yavsc.Model {
}
}
public static string ImgLocator {
get {
return ResourceManager.GetString("ImgLocator", resourceCulture);
}
}
public static string MaxDate {
get {
return ResourceManager.GetString("MaxDate", resourceCulture);
@ -124,12 +142,36 @@ namespace Yavsc.Model {
}
}
public static string Comment {
get {
return ResourceManager.GetString("Comment", resourceCulture);
}
}
public static string ProviderName {
get {
return ResourceManager.GetString("ProviderName", resourceCulture);
}
}
public static string User_List {
get {
return ResourceManager.GetString("User List", resourceCulture);
}
}
public static string Circles {
get {
return ResourceManager.GetString("Circles", resourceCulture);
}
}
public static string EndDate {
get {
return ResourceManager.GetString("EndDate", resourceCulture);
}
}
public static string Message_sent {
get {
return ResourceManager.GetString("Message_sent", resourceCulture);
@ -208,6 +250,12 @@ namespace Yavsc.Model {
}
}
public static string Location {
get {
return ResourceManager.GetString("Location", resourceCulture);
}
}
public static string MinDate {
get {
return ResourceManager.GetString("MinDate", resourceCulture);
@ -220,6 +268,12 @@ namespace Yavsc.Model {
}
}
public static string EventWebPage {
get {
return ResourceManager.GetString("EventWebPage", resourceCulture);
}
}
public static string DuplicateEmail {
get {
return ResourceManager.GetString("DuplicateEmail", resourceCulture);

@ -48,4 +48,14 @@
<data name="Item_added_to_basket"><value>Article ajouté au panier</value></data>
<data name="Estimate_not_found"><value>Devis non trouvé</value></data>
<data name="My_Estimates"><value>Mes estimations</value></data>
<data name="User_name"><value>Nom d'utilisateur</value></data>
<data name="Circles"><value>Cercles</value></data>
<data name="Location"><value>Lieu</value></data>
<data name="StartDate"><value>Date de démarrage</value></data>
<data name="EndDate"><value>Date de fin</value></data>
<data name="ProviderName"><value>Nom du fournisseur</value></data>
<data name="ProviderId"><value>Identifiant du fournisseur</value></data>
<data name="Comment"><value>Commentaire</value></data>
<data name="EventWebPage"><value>Page web de l'événement</value></data>
<data name="ImgLocator"><value>URI de l'image</value></data>
</root>

@ -50,4 +50,14 @@
<data name="DuplicateEmail"><value>This email adress is already used ({0}).</value></data>
<data name="DuplicateUserName"><value>This user name is already used ({0}).</value></data>
<data name="My_Estimates"><value>My estimates</value></data>
</root>
<data name="User_name"><value>User name</value></data>
<data name="Circles"><value>Circles</value></data>
<data name="Location"><value>Location</value></data>
<data name="StartDate"><value>Start date</value></data>
<data name="EndDate"><value>End date</value></data>
<data name="ProviderName"><value>Provider name</value></data>
<data name="ProviderId"><value>Provider identifier</value></data>
<data name="Comment"><value>Comment</value></data>
<data name="EventWebPage"><value>Event Web page</value></data>
<data name="ImgLocator"><value>Image URI</value></data>
</root>

Loading…