* 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
vnext
Paul Schneider 9 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,18 +295,20 @@ 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"));
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);
using (NpgsqlDataReader rdrt = cmd.ExecuteReader ()) {
while (rdrt.Read ()) {
tags.Add (rdrt.GetString (0));
}
}
be.Tags = tags.ToArray ();
}
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.AddWithValue ("@pid", be.Id);
using (NpgsqlDataReader rdrt = cmd.ExecuteReader ()) {
while (rdrt.Read ()) {
tags.Add (rdrt.GetString (0));
}
}
be.Tags = tags.ToArray ();
}
}
return be;
@ -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);
if (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.ExecuteNonQuery ();
}
}
reader.Close ();
}
}
if (u != null && userIsOnline) {
NpgsqlCommand updateCmd = new NpgsqlCommand ("UPDATE Users " +
"SET LastActivityDate = @LastActivityDate " +
"WHERE Username = @Username AND Applicationname = @ApplicationName", conn);
updateCmd.Parameters.AddWithValue ("@LastActivityDate", DateTime.Now);
updateCmd.Parameters.AddWithValue ("@Username", username);
updateCmd.Parameters.AddWithValue ("@ApplicationName", pApplicationName);
updateCmd.ExecuteNonQuery ();
}
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,16 +703,17 @@ namespace Npgsql.Web
reader.Read ();
u = GetUserFromReader (reader);
if (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.ExecuteNonQuery ();
}
}
reader.Close ();
if (u!=null && userIsOnline) {
NpgsqlCommand updateCmd = new NpgsqlCommand ("UPDATE Users " +
"SET LastActivityDate = @LastActivityDate " +
"WHERE PKID = @PKID", conn);
updateCmd.Parameters.AddWithValue ("@LastActivityDate", DateTime.Now);
updateCmd.Parameters.AddWithValue ("@PKID", providerUserKey);
updateCmd.ExecuteNonQuery ();
}
}
}
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>

@ -44,10 +44,20 @@
<data name="was_added_to_the_role"><value>was added to the role</value></data>
<data name="was_added_to_the_empty_role"><value>There was no user in the '{1}' role. You ({0}) was just added as firt user in the '{1}' role.</value></data>
<data name="younotadmin"><value>You're not administrator</value></data>
<data name="role_created"><value>role created</value></data>
<data name="role_created"><value>role created</value></data>
<data name="Item_added_to_basket"><value>Item added to basket</value></data>
<data name="Estimate_not_found"><value>Estimate not found</value></data>
<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…