diff --git a/Yavsc/Constants.cs b/Yavsc/Constants.cs
index 60179575..1b883944 100644
--- a/Yavsc/Constants.cs
+++ b/Yavsc/Constants.cs
@@ -26,7 +26,10 @@ namespace Yavsc
GCMNotificationUrl = "https://gcm-http.googleapis.com/gcm/send",
KeyProtectorPurpose = "OAuth.AspNet.AuthServer",
UserFilesPath = "/UserFiles",
- AvatarsPath = "/Avatars" ;
+ AvatarsPath = "/Avatars",
+ DefaultAvatar = "/images/Users/icon_user.png",
+ AnonAvatar = "/images/Users/icon_anon_user.png";
+
public static readonly Scope[] SiteScopes = {
new Scope { Id = "profile", Description = "Your profile informations" },
new Scope { Id = "book" , Description ="Your booking interface"},
diff --git a/Yavsc/Helpers/FileSystemHelpers.cs b/Yavsc/Helpers/FileSystemHelpers.cs
index 0c42fcad..1f646e62 100644
--- a/Yavsc/Helpers/FileSystemHelpers.cs
+++ b/Yavsc/Helpers/FileSystemHelpers.cs
@@ -107,6 +107,7 @@ namespace Yavsc.Helpers
{
var item = new FileRecievedInfo();
item.FileName = user.UserName + ".png";
+
var destFileName = Path.Combine(Startup.SiteSetup.UserFiles.Avatars, item.FileName);
var fi = new FileInfo(destFileName);
@@ -143,8 +144,9 @@ namespace Yavsc.Helpers
}
}
- item.DestDir = "/Avatars";
- user.Avatar = item.FileName;
+ item.DestDir = Startup.AvatarsOptions.RequestPath.ToUriComponent();
+ user.Avatar = $"{item.DestDir}/{item.FileName}";
+
return item;
}
diff --git a/Yavsc/Helpers/TagHelpers.cs b/Yavsc/Helpers/MarkDownTagHelper.cs
similarity index 100%
rename from Yavsc/Helpers/TagHelpers.cs
rename to Yavsc/Helpers/MarkDownTagHelper.cs
diff --git a/Yavsc/Helpers/UserHelpers.cs b/Yavsc/Helpers/UserHelpers.cs
new file mode 100644
index 00000000..48f7fad1
--- /dev/null
+++ b/Yavsc/Helpers/UserHelpers.cs
@@ -0,0 +1,33 @@
+
+using System.IO;
+using System.Linq;
+using Yavsc.Models;
+
+namespace Yavsc.Helpers
+{
+ public static class UserHelpers
+ {
+ ///
+ /// The avatar ...
+ ///
+ ///
+ ///
+ ///
+ ///
+ // FIXME support imgFmt
+ public static string AvatarUri(this ApplicationDbContext dbContext, string userId, string imgFmt )
+ {
+ var user = dbContext.Users.FirstOrDefault(u => u.Id == userId);
+ if (user==null) return Constants.AnonAvatar;
+ if (user.Avatar.StartsWith("/"))
+ {
+ // use fmt
+ FileInfo fi = new FileInfo(user.Avatar);
+ var ext = fi.Extension;
+ var avatar = user.Avatar.Substring(0, user.Avatar.Length - ext.Length );
+ return $"{avatar}{imgFmt}{ext}";
+ }
+ return user.Avatar;
+ }
+ }
+}
diff --git a/Yavsc/Migrations/20170201162847_defaultAvatar.Designer.cs b/Yavsc/Migrations/20170201162847_defaultAvatar.Designer.cs
new file mode 100644
index 00000000..b44677a1
--- /dev/null
+++ b/Yavsc/Migrations/20170201162847_defaultAvatar.Designer.cs
@@ -0,0 +1,1112 @@
+using System;
+using Microsoft.Data.Entity;
+using Microsoft.Data.Entity.Infrastructure;
+using Microsoft.Data.Entity.Metadata;
+using Microsoft.Data.Entity.Migrations;
+using Yavsc.Models;
+
+namespace Yavsc.Migrations
+{
+ [DbContext(typeof(ApplicationDbContext))]
+ [Migration("20170201162847_defaultAvatar")]
+ partial class defaultAvatar
+ {
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+ modelBuilder
+ .HasAnnotation("ProductVersion", "7.0.0-rc1-16348");
+
+ modelBuilder.Entity("Microsoft.AspNet.Identity.EntityFramework.IdentityRole", b =>
+ {
+ b.Property("Id");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken();
+
+ b.Property("Name")
+ .HasAnnotation("MaxLength", 256);
+
+ b.Property("NormalizedName")
+ .HasAnnotation("MaxLength", 256);
+
+ b.HasKey("Id");
+
+ b.HasIndex("NormalizedName")
+ .HasAnnotation("Relational:Name", "RoleNameIndex");
+
+ b.HasAnnotation("Relational:TableName", "AspNetRoles");
+ });
+
+ modelBuilder.Entity("Microsoft.AspNet.Identity.EntityFramework.IdentityRoleClaim", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd();
+
+ b.Property("ClaimType");
+
+ b.Property("ClaimValue");
+
+ b.Property("RoleId")
+ .IsRequired();
+
+ b.HasKey("Id");
+
+ b.HasAnnotation("Relational:TableName", "AspNetRoleClaims");
+ });
+
+ modelBuilder.Entity("Microsoft.AspNet.Identity.EntityFramework.IdentityUserClaim", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd();
+
+ b.Property("ClaimType");
+
+ b.Property("ClaimValue");
+
+ b.Property("UserId")
+ .IsRequired();
+
+ b.HasKey("Id");
+
+ b.HasAnnotation("Relational:TableName", "AspNetUserClaims");
+ });
+
+ modelBuilder.Entity("Microsoft.AspNet.Identity.EntityFramework.IdentityUserLogin", b =>
+ {
+ b.Property("LoginProvider");
+
+ b.Property("ProviderKey");
+
+ b.Property("ProviderDisplayName");
+
+ b.Property("UserId")
+ .IsRequired();
+
+ b.HasKey("LoginProvider", "ProviderKey");
+
+ b.HasAnnotation("Relational:TableName", "AspNetUserLogins");
+ });
+
+ modelBuilder.Entity("Microsoft.AspNet.Identity.EntityFramework.IdentityUserRole", b =>
+ {
+ b.Property("UserId");
+
+ b.Property("RoleId");
+
+ b.HasKey("UserId", "RoleId");
+
+ b.HasAnnotation("Relational:TableName", "AspNetUserRoles");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Access.Ban", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd();
+
+ b.Property("DateCreated");
+
+ b.Property("DateModified");
+
+ b.Property("UserCreated");
+
+ b.Property("UserModified");
+
+ b.HasKey("Id");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Access.BlackListed", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd();
+
+ b.Property("OwnerId")
+ .IsRequired();
+
+ b.Property("UserId")
+ .IsRequired();
+
+ b.HasKey("Id");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Access.CircleAuthorizationToBlogPost", b =>
+ {
+ b.Property("CircleId");
+
+ b.Property("BlogPostId");
+
+ b.HasKey("CircleId", "BlogPostId");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.AccountBalance", b =>
+ {
+ b.Property("UserId");
+
+ b.Property("ContactCredits");
+
+ b.Property("Credits");
+
+ b.HasKey("UserId");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.ApplicationUser", b =>
+ {
+ b.Property("Id");
+
+ b.Property("AccessFailedCount");
+
+ b.Property("Avatar")
+ .IsRequired()
+ .HasAnnotation("MaxLength", 512)
+ .HasAnnotation("Relational:DefaultValue", "/images/Users/icon_user.png")
+ .HasAnnotation("Relational:DefaultValueType", "System.String");
+
+ b.Property("BankInfoId");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken();
+
+ b.Property("DedicatedGoogleCalendar");
+
+ b.Property("DiskQuota");
+
+ b.Property("DiskUsage");
+
+ b.Property("Email")
+ .HasAnnotation("MaxLength", 256);
+
+ b.Property("EmailConfirmed");
+
+ b.Property("FullName")
+ .HasAnnotation("MaxLength", 512);
+
+ b.Property("LockoutEnabled");
+
+ b.Property("LockoutEnd");
+
+ b.Property("NormalizedEmail")
+ .HasAnnotation("MaxLength", 256);
+
+ b.Property("NormalizedUserName")
+ .HasAnnotation("MaxLength", 256);
+
+ b.Property("PasswordHash");
+
+ b.Property("PhoneNumber");
+
+ b.Property("PhoneNumberConfirmed");
+
+ b.Property("PostalAddressId");
+
+ b.Property("SecurityStamp");
+
+ b.Property("TwoFactorEnabled");
+
+ b.Property("UserName")
+ .HasAnnotation("MaxLength", 256);
+
+ b.HasKey("Id");
+
+ b.HasIndex("NormalizedEmail")
+ .HasAnnotation("Relational:Name", "EmailIndex");
+
+ b.HasIndex("NormalizedUserName")
+ .HasAnnotation("Relational:Name", "UserNameIndex");
+
+ b.HasAnnotation("Relational:TableName", "AspNetUsers");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Auth.Client", b =>
+ {
+ b.Property("Id");
+
+ b.Property("Active");
+
+ b.Property("DisplayName");
+
+ b.Property("LogoutRedirectUri")
+ .HasAnnotation("MaxLength", 100);
+
+ b.Property("RedirectUri");
+
+ b.Property("RefreshTokenLifeTime");
+
+ b.Property("Secret");
+
+ b.Property("Type");
+
+ b.HasKey("Id");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Auth.RefreshToken", b =>
+ {
+ b.Property("Id");
+
+ b.Property("ClientId")
+ .IsRequired()
+ .HasAnnotation("MaxLength", 50);
+
+ b.Property("ExpiresUtc");
+
+ b.Property("IssuedUtc");
+
+ b.Property("ProtectedTicket")
+ .IsRequired();
+
+ b.Property("Subject")
+ .IsRequired()
+ .HasAnnotation("MaxLength", 50);
+
+ b.HasKey("Id");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.BalanceImpact", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd();
+
+ b.Property("BalanceId")
+ .IsRequired();
+
+ b.Property("ExecDate");
+
+ b.Property("Impact");
+
+ b.Property("Reason")
+ .IsRequired();
+
+ b.HasKey("Id");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Bank.BankIdentity", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd();
+
+ b.Property("AccountNumber")
+ .HasAnnotation("MaxLength", 15);
+
+ b.Property("BIC")
+ .HasAnnotation("MaxLength", 15);
+
+ b.Property("BankCode")
+ .HasAnnotation("MaxLength", 5);
+
+ b.Property("BankedKey");
+
+ b.Property("IBAN")
+ .HasAnnotation("MaxLength", 33);
+
+ b.Property("WicketCode")
+ .HasAnnotation("MaxLength", 5);
+
+ b.HasKey("Id");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Billing.CommandLine", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd();
+
+ b.Property("ArticleId");
+
+ b.Property("Count");
+
+ b.Property("Description")
+ .IsRequired()
+ .HasAnnotation("MaxLength", 512);
+
+ b.Property("EstimateId");
+
+ b.Property("EstimateTemplateId");
+
+ b.Property("UnitaryCost");
+
+ b.HasKey("Id");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Billing.Estimate", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd();
+
+ b.Property("AttachedFilesString");
+
+ b.Property("AttachedGraphicsString");
+
+ b.Property("ClientId")
+ .IsRequired();
+
+ b.Property("ClientValidationDate");
+
+ b.Property("CommandId");
+
+ b.Property("CommandType");
+
+ b.Property("Description");
+
+ b.Property("OwnerId")
+ .IsRequired();
+
+ b.Property("ProviderValidationDate");
+
+ b.Property("Title");
+
+ b.HasKey("Id");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Billing.EstimateTemplate", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd();
+
+ b.Property("Description");
+
+ b.Property("OwnerId")
+ .IsRequired();
+
+ b.Property("Title");
+
+ b.HasKey("Id");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Billing.ExceptionSIREN", b =>
+ {
+ b.Property("SIREN");
+
+ b.HasKey("SIREN");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Blog", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd();
+
+ b.Property("AuthorId");
+
+ b.Property("Content");
+
+ b.Property("DateCreated");
+
+ b.Property("DateModified");
+
+ b.Property("Photo");
+
+ b.Property("Rate");
+
+ b.Property("Title");
+
+ b.Property("UserCreated");
+
+ b.Property("UserModified");
+
+ b.Property("Visible");
+
+ b.HasKey("Id");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Booking.BookQuery", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd();
+
+ b.Property("ActivityCode")
+ .IsRequired();
+
+ b.Property("ClientId")
+ .IsRequired();
+
+ b.Property("DateCreated");
+
+ b.Property("DateModified");
+
+ b.Property("EventDate");
+
+ b.Property("LocationId");
+
+ b.Property("LocationTypeId");
+
+ b.Property("PerformerId")
+ .IsRequired();
+
+ b.Property("Previsional");
+
+ b.Property("Reason");
+
+ b.Property("UserCreated");
+
+ b.Property("UserModified");
+
+ b.Property("ValidationDate");
+
+ b.HasKey("Id");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Booking.Instrument", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd();
+
+ b.Property("Name")
+ .IsRequired()
+ .HasAnnotation("MaxLength", 255);
+
+ b.HasKey("Id");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Booking.MusicalPreference", b =>
+ {
+ b.Property("OwnerProfileId");
+
+ b.Property("DjSettingsUserId");
+
+ b.Property("GeneralSettingsUserId");
+
+ b.Property("Rate");
+
+ b.Property("TendencyId");
+
+ b.HasKey("OwnerProfileId");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Booking.MusicalTendency", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd();
+
+ b.Property("Name")
+ .IsRequired()
+ .HasAnnotation("MaxLength", 255);
+
+ b.HasKey("Id");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Booking.Profiles.DjSettings", b =>
+ {
+ b.Property("UserId");
+
+ b.Property("SoundCloudId");
+
+ b.HasKey("UserId");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Booking.Profiles.FormationSettings", b =>
+ {
+ b.Property("UserId");
+
+ b.HasKey("UserId");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Booking.Profiles.GeneralSettings", b =>
+ {
+ b.Property("UserId");
+
+ b.HasKey("UserId");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Booking.Profiles.Instrumentation", b =>
+ {
+ b.Property("InstrumentId");
+
+ b.Property("UserId");
+
+ b.HasKey("InstrumentId", "UserId");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Chat.Connection", b =>
+ {
+ b.Property("ConnectionId");
+
+ b.Property("ApplicationUserId");
+
+ b.Property("Connected");
+
+ b.Property("UserAgent");
+
+ b.HasKey("ConnectionId");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Forms.Form", b =>
+ {
+ b.Property("Id");
+
+ b.Property("Summary");
+
+ b.HasKey("Id");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Identity.GoogleCloudMobileDeclaration", b =>
+ {
+ b.Property("DeviceId");
+
+ b.Property("DeclarationDate")
+ .ValueGeneratedOnAdd()
+ .HasAnnotation("Relational:GeneratedValueSql", "LOCALTIMESTAMP");
+
+ b.Property("DeviceOwnerId");
+
+ b.Property("GCMRegistrationId")
+ .IsRequired();
+
+ b.Property("Model");
+
+ b.Property("Platform");
+
+ b.Property("Version");
+
+ b.HasKey("DeviceId");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Market.BaseProduct", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd();
+
+ b.Property("Description");
+
+ b.Property("Discriminator")
+ .IsRequired();
+
+ b.Property("Name");
+
+ b.Property("Public");
+
+ b.HasKey("Id");
+
+ b.HasAnnotation("Relational:DiscriminatorProperty", "Discriminator");
+
+ b.HasAnnotation("Relational:DiscriminatorValue", "BaseProduct");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Market.Service", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd();
+
+ b.Property("ContextId");
+
+ b.Property("Description");
+
+ b.Property("Name");
+
+ b.Property("Public");
+
+ b.HasKey("Id");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Messaging.ClientProviderInfo", b =>
+ {
+ b.Property("UserId");
+
+ b.Property("Avatar");
+
+ b.Property("BillingAddressId");
+
+ b.Property("EMail");
+
+ b.Property("Phone");
+
+ b.Property("UserName");
+
+ b.HasKey("UserId");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.OAuth.OAuth2Tokens", b =>
+ {
+ b.Property("UserId");
+
+ b.Property("AccessToken");
+
+ b.Property("Expiration");
+
+ b.Property("ExpiresIn");
+
+ b.Property("RefreshToken");
+
+ b.Property("TokenType");
+
+ b.HasKey("UserId");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Relationship.Circle", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd();
+
+ b.Property("ApplicationUserId");
+
+ b.Property("Name");
+
+ b.Property("OwnerId");
+
+ b.HasKey("Id");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Relationship.CircleMember", b =>
+ {
+ b.Property("MemberId");
+
+ b.Property("CircleId");
+
+ b.HasKey("MemberId", "CircleId");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Relationship.Contact", b =>
+ {
+ b.Property("OwnerId");
+
+ b.Property("UserId");
+
+ b.Property("ApplicationUserId");
+
+ b.HasKey("OwnerId", "UserId");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Relationship.Location", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd();
+
+ b.Property("Address")
+ .IsRequired()
+ .HasAnnotation("MaxLength", 512);
+
+ b.Property("Latitude");
+
+ b.Property("Longitude");
+
+ b.HasKey("Id");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Relationship.LocationType", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd();
+
+ b.Property("Name");
+
+ b.HasKey("Id");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Relationship.PostTag", b =>
+ {
+ b.Property("PostId");
+
+ b.Property("TagId");
+
+ b.HasKey("PostId", "TagId");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Relationship.Tag", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd();
+
+ b.Property("Name")
+ .IsRequired();
+
+ b.HasKey("Id");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Skill", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd();
+
+ b.Property("Name");
+
+ b.Property("Rate");
+
+ b.HasKey("Id");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Workflow.Activity", b =>
+ {
+ b.Property("Code")
+ .HasAnnotation("MaxLength", 512);
+
+ b.Property("ActorDenomination");
+
+ b.Property("DateCreated");
+
+ b.Property("DateModified");
+
+ b.Property("Description");
+
+ b.Property("ModeratorGroupName");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasAnnotation("MaxLength", 512);
+
+ b.Property("ParentCode")
+ .HasAnnotation("MaxLength", 512);
+
+ b.Property("Photo");
+
+ b.Property("Rate");
+
+ b.Property("SettingsClassName");
+
+ b.Property("UserCreated");
+
+ b.Property("UserModified");
+
+ b.HasKey("Code");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Workflow.CommandForm", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd();
+
+ b.Property("Action");
+
+ b.Property("ActivityCode")
+ .IsRequired();
+
+ b.Property("Title");
+
+ b.HasKey("Id");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Workflow.CoWorking", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd();
+
+ b.Property("FormationSettingsUserId");
+
+ b.Property("PerformerId");
+
+ b.Property("WorkingForId");
+
+ b.HasKey("Id");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Workflow.PerformerProfile", b =>
+ {
+ b.Property("PerformerId");
+
+ b.Property("AcceptNotifications");
+
+ b.Property("AcceptPublicContact");
+
+ b.Property("Active");
+
+ b.Property("MaxDailyCost");
+
+ b.Property("MinDailyCost");
+
+ b.Property("OrganizationAddressId");
+
+ b.Property("Rate");
+
+ b.Property("SIREN")
+ .IsRequired()
+ .HasAnnotation("MaxLength", 14);
+
+ b.Property("UseGeoLocalizationToReduceDistanceWithClients");
+
+ b.Property("WebSite");
+
+ b.HasKey("PerformerId");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Workflow.UserActivity", b =>
+ {
+ b.Property("DoesCode");
+
+ b.Property("UserId");
+
+ b.Property("Weight");
+
+ b.HasKey("DoesCode", "UserId");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Market.Product", b =>
+ {
+ b.HasBaseType("Yavsc.Models.Market.BaseProduct");
+
+ b.Property("Depth");
+
+ b.Property("Height");
+
+ b.Property("Price");
+
+ b.Property("Weight");
+
+ b.Property("Width");
+
+ b.HasAnnotation("Relational:DiscriminatorValue", "Product");
+ });
+
+ modelBuilder.Entity("Microsoft.AspNet.Identity.EntityFramework.IdentityRoleClaim", b =>
+ {
+ b.HasOne("Microsoft.AspNet.Identity.EntityFramework.IdentityRole")
+ .WithMany()
+ .HasForeignKey("RoleId");
+ });
+
+ modelBuilder.Entity("Microsoft.AspNet.Identity.EntityFramework.IdentityUserClaim", b =>
+ {
+ b.HasOne("Yavsc.Models.ApplicationUser")
+ .WithMany()
+ .HasForeignKey("UserId");
+ });
+
+ modelBuilder.Entity("Microsoft.AspNet.Identity.EntityFramework.IdentityUserLogin", b =>
+ {
+ b.HasOne("Yavsc.Models.ApplicationUser")
+ .WithMany()
+ .HasForeignKey("UserId");
+ });
+
+ modelBuilder.Entity("Microsoft.AspNet.Identity.EntityFramework.IdentityUserRole", b =>
+ {
+ b.HasOne("Microsoft.AspNet.Identity.EntityFramework.IdentityRole")
+ .WithMany()
+ .HasForeignKey("RoleId");
+
+ b.HasOne("Yavsc.Models.ApplicationUser")
+ .WithMany()
+ .HasForeignKey("UserId");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Access.BlackListed", b =>
+ {
+ b.HasOne("Yavsc.Models.ApplicationUser")
+ .WithMany()
+ .HasForeignKey("OwnerId");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Access.CircleAuthorizationToBlogPost", b =>
+ {
+ b.HasOne("Yavsc.Models.Blog")
+ .WithMany()
+ .HasForeignKey("BlogPostId");
+
+ b.HasOne("Yavsc.Models.Relationship.Circle")
+ .WithMany()
+ .HasForeignKey("CircleId");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.AccountBalance", b =>
+ {
+ b.HasOne("Yavsc.Models.ApplicationUser")
+ .WithOne()
+ .HasForeignKey("Yavsc.Models.AccountBalance", "UserId");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.ApplicationUser", b =>
+ {
+ b.HasOne("Yavsc.Models.Bank.BankIdentity")
+ .WithMany()
+ .HasForeignKey("BankInfoId");
+
+ b.HasOne("Yavsc.Models.Relationship.Location")
+ .WithMany()
+ .HasForeignKey("PostalAddressId");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.BalanceImpact", b =>
+ {
+ b.HasOne("Yavsc.Models.AccountBalance")
+ .WithMany()
+ .HasForeignKey("BalanceId");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Billing.CommandLine", b =>
+ {
+ b.HasOne("Yavsc.Models.Market.BaseProduct")
+ .WithMany()
+ .HasForeignKey("ArticleId");
+
+ b.HasOne("Yavsc.Models.Billing.Estimate")
+ .WithMany()
+ .HasForeignKey("EstimateId");
+
+ b.HasOne("Yavsc.Models.Billing.EstimateTemplate")
+ .WithMany()
+ .HasForeignKey("EstimateTemplateId");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Billing.Estimate", b =>
+ {
+ b.HasOne("Yavsc.Models.ApplicationUser")
+ .WithMany()
+ .HasForeignKey("ClientId");
+
+ b.HasOne("Yavsc.Models.Booking.BookQuery")
+ .WithMany()
+ .HasForeignKey("CommandId");
+
+ b.HasOne("Yavsc.Models.Workflow.PerformerProfile")
+ .WithMany()
+ .HasForeignKey("OwnerId");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Blog", b =>
+ {
+ b.HasOne("Yavsc.Models.ApplicationUser")
+ .WithMany()
+ .HasForeignKey("AuthorId");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Booking.BookQuery", b =>
+ {
+ b.HasOne("Yavsc.Models.Workflow.Activity")
+ .WithMany()
+ .HasForeignKey("ActivityCode");
+
+ b.HasOne("Yavsc.Models.ApplicationUser")
+ .WithMany()
+ .HasForeignKey("ClientId");
+
+ b.HasOne("Yavsc.Models.Relationship.Location")
+ .WithMany()
+ .HasForeignKey("LocationId");
+
+ b.HasOne("Yavsc.Models.Relationship.LocationType")
+ .WithMany()
+ .HasForeignKey("LocationTypeId");
+
+ b.HasOne("Yavsc.Models.Workflow.PerformerProfile")
+ .WithMany()
+ .HasForeignKey("PerformerId");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Booking.MusicalPreference", b =>
+ {
+ b.HasOne("Yavsc.Models.Booking.Profiles.DjSettings")
+ .WithMany()
+ .HasForeignKey("DjSettingsUserId");
+
+ b.HasOne("Yavsc.Models.Booking.Profiles.GeneralSettings")
+ .WithMany()
+ .HasForeignKey("GeneralSettingsUserId");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Booking.Profiles.Instrumentation", b =>
+ {
+ b.HasOne("Yavsc.Models.Booking.Instrument")
+ .WithMany()
+ .HasForeignKey("InstrumentId");
+
+ b.HasOne("Yavsc.Models.Workflow.PerformerProfile")
+ .WithMany()
+ .HasForeignKey("UserId");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Chat.Connection", b =>
+ {
+ b.HasOne("Yavsc.Models.ApplicationUser")
+ .WithMany()
+ .HasForeignKey("ApplicationUserId");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Identity.GoogleCloudMobileDeclaration", b =>
+ {
+ b.HasOne("Yavsc.Models.ApplicationUser")
+ .WithMany()
+ .HasForeignKey("DeviceOwnerId");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Market.Service", b =>
+ {
+ b.HasOne("Yavsc.Models.Workflow.Activity")
+ .WithMany()
+ .HasForeignKey("ContextId");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Messaging.ClientProviderInfo", b =>
+ {
+ b.HasOne("Yavsc.Models.Relationship.Location")
+ .WithMany()
+ .HasForeignKey("BillingAddressId");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Relationship.Circle", b =>
+ {
+ b.HasOne("Yavsc.Models.ApplicationUser")
+ .WithMany()
+ .HasForeignKey("ApplicationUserId");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Relationship.CircleMember", b =>
+ {
+ b.HasOne("Yavsc.Models.Relationship.Circle")
+ .WithMany()
+ .HasForeignKey("CircleId");
+
+ b.HasOne("Yavsc.Models.ApplicationUser")
+ .WithMany()
+ .HasForeignKey("MemberId");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Relationship.Contact", b =>
+ {
+ b.HasOne("Yavsc.Models.ApplicationUser")
+ .WithMany()
+ .HasForeignKey("ApplicationUserId");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Relationship.PostTag", b =>
+ {
+ b.HasOne("Yavsc.Models.Blog")
+ .WithMany()
+ .HasForeignKey("PostId");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Workflow.Activity", b =>
+ {
+ b.HasOne("Yavsc.Models.Workflow.Activity")
+ .WithMany()
+ .HasForeignKey("ParentCode");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Workflow.CommandForm", b =>
+ {
+ b.HasOne("Yavsc.Models.Workflow.Activity")
+ .WithMany()
+ .HasForeignKey("ActivityCode");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Workflow.CoWorking", b =>
+ {
+ b.HasOne("Yavsc.Models.Booking.Profiles.FormationSettings")
+ .WithMany()
+ .HasForeignKey("FormationSettingsUserId");
+
+ b.HasOne("Yavsc.Models.Workflow.PerformerProfile")
+ .WithMany()
+ .HasForeignKey("PerformerId");
+
+ b.HasOne("Yavsc.Models.ApplicationUser")
+ .WithMany()
+ .HasForeignKey("WorkingForId");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Workflow.PerformerProfile", b =>
+ {
+ b.HasOne("Yavsc.Models.Relationship.Location")
+ .WithMany()
+ .HasForeignKey("OrganizationAddressId");
+
+ b.HasOne("Yavsc.Models.ApplicationUser")
+ .WithMany()
+ .HasForeignKey("PerformerId");
+ });
+
+ modelBuilder.Entity("Yavsc.Models.Workflow.UserActivity", b =>
+ {
+ b.HasOne("Yavsc.Models.Workflow.Activity")
+ .WithMany()
+ .HasForeignKey("DoesCode");
+
+ b.HasOne("Yavsc.Models.Workflow.PerformerProfile")
+ .WithMany()
+ .HasForeignKey("UserId");
+ });
+ }
+ }
+}
diff --git a/Yavsc/Migrations/20170201162847_defaultAvatar.cs b/Yavsc/Migrations/20170201162847_defaultAvatar.cs
new file mode 100644
index 00000000..2b2ed7cb
--- /dev/null
+++ b/Yavsc/Migrations/20170201162847_defaultAvatar.cs
@@ -0,0 +1,427 @@
+
+using Microsoft.Data.Entity.Migrations;
+
+namespace Yavsc.Migrations
+{
+ public partial class defaultAvatar : Migration
+ {
+ protected override void Up(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.DropForeignKey(name: "FK_IdentityRoleClaim_IdentityRole_RoleId", table: "AspNetRoleClaims");
+ migrationBuilder.DropForeignKey(name: "FK_IdentityUserClaim_ApplicationUser_UserId", table: "AspNetUserClaims");
+ migrationBuilder.DropForeignKey(name: "FK_IdentityUserLogin_ApplicationUser_UserId", table: "AspNetUserLogins");
+ migrationBuilder.DropForeignKey(name: "FK_IdentityUserRole_IdentityRole_RoleId", table: "AspNetUserRoles");
+ migrationBuilder.DropForeignKey(name: "FK_IdentityUserRole_ApplicationUser_UserId", table: "AspNetUserRoles");
+ migrationBuilder.DropForeignKey(name: "FK_BlackListed_ApplicationUser_OwnerId", table: "BlackListed");
+ migrationBuilder.DropForeignKey(name: "FK_CircleAuthorizationToBlogPost_Blog_BlogPostId", table: "CircleAuthorizationToBlogPost");
+ migrationBuilder.DropForeignKey(name: "FK_CircleAuthorizationToBlogPost_Circle_CircleId", table: "CircleAuthorizationToBlogPost");
+ migrationBuilder.DropForeignKey(name: "FK_AccountBalance_ApplicationUser_UserId", table: "AccountBalance");
+ migrationBuilder.DropForeignKey(name: "FK_BalanceImpact_AccountBalance_BalanceId", table: "BalanceImpact");
+ migrationBuilder.DropForeignKey(name: "FK_CommandLine_Estimate_EstimateId", table: "CommandLine");
+ migrationBuilder.DropForeignKey(name: "FK_Estimate_ApplicationUser_ClientId", table: "Estimate");
+ migrationBuilder.DropForeignKey(name: "FK_Estimate_PerformerProfile_OwnerId", table: "Estimate");
+ migrationBuilder.DropForeignKey(name: "FK_BookQuery_Activity_ActivityCode", table: "BookQuery");
+ migrationBuilder.DropForeignKey(name: "FK_BookQuery_ApplicationUser_ClientId", table: "BookQuery");
+ migrationBuilder.DropForeignKey(name: "FK_BookQuery_PerformerProfile_PerformerId", table: "BookQuery");
+ migrationBuilder.DropForeignKey(name: "FK_Instrumentation_Instrument_InstrumentId", table: "Instrumentation");
+ migrationBuilder.DropForeignKey(name: "FK_CircleMember_Circle_CircleId", table: "CircleMember");
+ migrationBuilder.DropForeignKey(name: "FK_CircleMember_ApplicationUser_MemberId", table: "CircleMember");
+ migrationBuilder.DropForeignKey(name: "FK_PostTag_Blog_PostId", table: "PostTag");
+ migrationBuilder.DropForeignKey(name: "FK_CommandForm_Activity_ActivityCode", table: "CommandForm");
+ migrationBuilder.DropForeignKey(name: "FK_PerformerProfile_Location_OrganizationAddressId", table: "PerformerProfile");
+ migrationBuilder.DropForeignKey(name: "FK_PerformerProfile_ApplicationUser_PerformerId", table: "PerformerProfile");
+ migrationBuilder.DropForeignKey(name: "FK_UserActivity_Activity_DoesCode", table: "UserActivity");
+ migrationBuilder.DropForeignKey(name: "FK_UserActivity_PerformerProfile_UserId", table: "UserActivity");
+
+ migrationBuilder.Sql("UPDATE \"AspNetUsers\" SET \"Avatar\"='/images/Users/icon_user.png' WHERE \"Avatar\" IS NULL");
+ migrationBuilder.AlterColumn(
+ name: "Avatar",
+ table: "AspNetUsers",
+ nullable: false,
+ defaultValue: "/images/Users/icon_user.png");
+ migrationBuilder.AddForeignKey(
+ name: "FK_IdentityRoleClaim_IdentityRole_RoleId",
+ table: "AspNetRoleClaims",
+ column: "RoleId",
+ principalTable: "AspNetRoles",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ migrationBuilder.AddForeignKey(
+ name: "FK_IdentityUserClaim