Translation & Localisation initialisation
This commit is contained in:
7
Yavsc.Server/Interfaces/ITranslator.cs
Normal file
7
Yavsc.Server/Interfaces/ITranslator.cs
Normal file
@ -0,0 +1,7 @@
|
||||
namespace Yavsc.Server
|
||||
{
|
||||
public interface ITranslator
|
||||
{
|
||||
string[] Translate (string slang, string dlang, string[] text);
|
||||
}
|
||||
}
|
@ -23,6 +23,9 @@ namespace Yavsc.Models.Blog
|
||||
[Display(Name="Photo")][StringLength(1024)]
|
||||
public string Photo { get; set; }
|
||||
|
||||
[StringLength(8)]
|
||||
public string Lang { get; set; }
|
||||
|
||||
[Display(Name="Indice de qualité")]
|
||||
public int Rate { get; set; }
|
||||
|
||||
|
26
Yavsc.Server/Models/Blog/BlogTrad.cs
Normal file
26
Yavsc.Server/Models/Blog/BlogTrad.cs
Normal file
@ -0,0 +1,26 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using Newtonsoft.Json;
|
||||
using Yavsc.Models;
|
||||
|
||||
namespace Yavsc.Server.Models.Blog
|
||||
{
|
||||
public class BlogTrad
|
||||
{
|
||||
[Required]
|
||||
public long PostId { get; set; }
|
||||
|
||||
[Required]
|
||||
public string Lang { get; set; }
|
||||
|
||||
public string Title { get; set; }
|
||||
|
||||
public string Body { get; set; }
|
||||
|
||||
public string TraducerId { get; set; }
|
||||
|
||||
[ForeignKey("TraducerId"),JsonIgnore]
|
||||
public ApplicationUser Traducer { set; get; }
|
||||
|
||||
}
|
||||
}
|
7
Yavsc.Server/Services/TranslationService.cs
Normal file
7
Yavsc.Server/Services/TranslationService.cs
Normal file
@ -0,0 +1,7 @@
|
||||
namespace Yavsc.Server.Services
|
||||
{
|
||||
public class TranslationService
|
||||
{
|
||||
|
||||
}
|
||||
}
|
@ -1,31 +0,0 @@
|
||||
namespace Yavsc.ViewModels.Blogspot
|
||||
{
|
||||
public class BlogIndexKey
|
||||
{
|
||||
public string AuthorId { get; set; }
|
||||
public string Title { get; set; }
|
||||
// override object.Equals
|
||||
public override bool Equals (object obj)
|
||||
{
|
||||
//
|
||||
// See the full list of guidelines at
|
||||
// http://go.microsoft.com/fwlink/?LinkID=85237
|
||||
// and also the guidance for operator== at
|
||||
// http://go.microsoft.com/fwlink/?LinkId=85238
|
||||
//
|
||||
|
||||
if (obj == null || GetType() != obj.GetType())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
var blogindexkey = (BlogIndexKey)obj;
|
||||
return Title == blogindexkey.Title && AuthorId == blogindexkey.AuthorId;
|
||||
}
|
||||
|
||||
// override object.GetHashCode
|
||||
public override int GetHashCode()
|
||||
{
|
||||
return Title.GetHashCode() * AuthorId.GetHashCode();
|
||||
}
|
||||
}
|
||||
}
|
@ -39,31 +39,10 @@ namespace Yavsc.Controllers
|
||||
[AllowAnonymous]
|
||||
public async Task<IActionResult> Index(string id, int skip=0, int maxLen=25)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(id))
|
||||
if (!string.IsNullOrEmpty(id)) {
|
||||
return await UserPosts(id);
|
||||
string uid = User.GetUserId();
|
||||
long[] usercircles = _context.Circle.Include(c=>c.Members).Where(c=>c.Members.Any(m=>m.MemberId == uid))
|
||||
.Select(c=>c.Id).ToArray();
|
||||
IQueryable<BlogPost> posts ;
|
||||
var allposts = _context.Blogspot
|
||||
.Include(b => b.Author)
|
||||
.Include(p=>p.ACL)
|
||||
.Include(p=>p.Tags)
|
||||
.Include(p=>p.Comments)
|
||||
.Where(p=>p.AuthorId == uid || p.Visible);
|
||||
|
||||
if (usercircles != null) {
|
||||
posts = allposts.Where(p=> p.ACL.Count==0 || p.ACL.Any(a=> usercircles.Contains(a.CircleId)))
|
||||
;
|
||||
}
|
||||
else {
|
||||
posts = allposts.Where(p => p.ACL.Count == 0);
|
||||
}
|
||||
|
||||
var data = posts.OrderByDescending( p=> p.DateCreated).ToArray();
|
||||
var grouped = data.GroupBy(p=> p.Title).Skip(skip).Take(maxLen);
|
||||
|
||||
return View(grouped);
|
||||
return View();
|
||||
}
|
||||
|
||||
[Route("/Title/{id?}")]
|
||||
|
@ -138,8 +138,9 @@ public static FileRecievedInfo ReceiveProSignature(this ClaimsPrincipal user, st
|
||||
}
|
||||
public static HtmlString FileLink(this RemoteFileInfo info, string username, string subpath)
|
||||
{
|
||||
return new HtmlString( Startup.UserFilesOptions.RequestPath+"/"+ username + "/" + subpath + "/" +
|
||||
HttpUtility.UrlEncode(info.Name) );
|
||||
return new HtmlString( Startup.UserFilesOptions.RequestPath+"/"+ username +
|
||||
"/" + (( subpath == null ) ? "" : "/" + subpath ) +
|
||||
info.Name );
|
||||
}
|
||||
public static FileRecievedInfo ReceiveAvatar(this ApplicationUser user, IFormFile formFile)
|
||||
{
|
||||
|
1927
Yavsc/Migrations/20181212103501_blogLang.Designer.cs
generated
Normal file
1927
Yavsc/Migrations/20181212103501_blogLang.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
823
Yavsc/Migrations/20181212103501_blogLang.cs
Normal file
823
Yavsc/Migrations/20181212103501_blogLang.cs
Normal file
@ -0,0 +1,823 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Microsoft.Data.Entity.Migrations;
|
||||
|
||||
namespace Yavsc.Migrations
|
||||
{
|
||||
public partial class blogLang : Migration
|
||||
{
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropForeignKey(name: "FK_IdentityRoleClaim<string>_IdentityRole_RoleId", table: "AspNetRoleClaims");
|
||||
migrationBuilder.DropForeignKey(name: "FK_IdentityUserClaim<string>_ApplicationUser_UserId", table: "AspNetUserClaims");
|
||||
migrationBuilder.DropForeignKey(name: "FK_IdentityUserLogin<string>_ApplicationUser_UserId", table: "AspNetUserLogins");
|
||||
migrationBuilder.DropForeignKey(name: "FK_IdentityUserRole<string>_IdentityRole_RoleId", table: "AspNetUserRoles");
|
||||
migrationBuilder.DropForeignKey(name: "FK_IdentityUserRole<string>_ApplicationUser_UserId", table: "AspNetUserRoles");
|
||||
migrationBuilder.DropForeignKey(name: "FK_BlackListed_ApplicationUser_OwnerId", table: "BlackListed");
|
||||
migrationBuilder.DropForeignKey(name: "FK_CircleAuthorizationToBlogPost_BlogPost_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_BlogTag_BlogPost_PostId", table: "BlogTag");
|
||||
migrationBuilder.DropForeignKey(name: "FK_BlogTag_Tag_TagId", table: "BlogTag");
|
||||
migrationBuilder.DropForeignKey(name: "FK_Comment_ApplicationUser_AuthorId", table: "Comment");
|
||||
migrationBuilder.DropForeignKey(name: "FK_Comment_BlogPost_PostId", table: "Comment");
|
||||
migrationBuilder.DropForeignKey(name: "FK_Schedule_ApplicationUser_OwnerId", table: "Schedule");
|
||||
migrationBuilder.DropForeignKey(name: "FK_ChatConnection_ApplicationUser_ApplicationUserId", table: "ChatConnection");
|
||||
migrationBuilder.DropForeignKey(name: "FK_BrusherProfile_PerformerProfile_UserId", table: "BrusherProfile");
|
||||
migrationBuilder.DropForeignKey(name: "FK_HairCutQuery_Activity_ActivityCode", table: "HairCutQuery");
|
||||
migrationBuilder.DropForeignKey(name: "FK_HairCutQuery_ApplicationUser_ClientId", table: "HairCutQuery");
|
||||
migrationBuilder.DropForeignKey(name: "FK_HairCutQuery_PerformerProfile_PerformerId", table: "HairCutQuery");
|
||||
migrationBuilder.DropForeignKey(name: "FK_HairCutQuery_HairPrestation_PrestationId", table: "HairCutQuery");
|
||||
migrationBuilder.DropForeignKey(name: "FK_HairMultiCutQuery_Activity_ActivityCode", table: "HairMultiCutQuery");
|
||||
migrationBuilder.DropForeignKey(name: "FK_HairMultiCutQuery_ApplicationUser_ClientId", table: "HairMultiCutQuery");
|
||||
migrationBuilder.DropForeignKey(name: "FK_HairMultiCutQuery_PerformerProfile_PerformerId", table: "HairMultiCutQuery");
|
||||
migrationBuilder.DropForeignKey(name: "FK_HairPrestationCollectionItem_HairPrestation_PrestationId", table: "HairPrestationCollectionItem");
|
||||
migrationBuilder.DropForeignKey(name: "FK_HairPrestationCollectionItem_HairMultiCutQuery_QueryId", table: "HairPrestationCollectionItem");
|
||||
migrationBuilder.DropForeignKey(name: "FK_HairTaint_Color_ColorId", table: "HairTaint");
|
||||
migrationBuilder.DropForeignKey(name: "FK_HairTaintInstance_HairPrestation_PrestationId", table: "HairTaintInstance");
|
||||
migrationBuilder.DropForeignKey(name: "FK_HairTaintInstance_HairTaint_TaintId", table: "HairTaintInstance");
|
||||
migrationBuilder.DropForeignKey(name: "FK_DimissClicked_Notification_NotificationId", table: "DimissClicked");
|
||||
migrationBuilder.DropForeignKey(name: "FK_DimissClicked_ApplicationUser_UserId", table: "DimissClicked");
|
||||
migrationBuilder.DropForeignKey(name: "FK_Instrumentation_Instrument_InstrumentId", table: "Instrumentation");
|
||||
migrationBuilder.DropForeignKey(name: "FK_PayPalPayment_ApplicationUser_ExecutorId", table: "PayPalPayment");
|
||||
migrationBuilder.DropForeignKey(name: "FK_CircleMember_Circle_CircleId", table: "CircleMember");
|
||||
migrationBuilder.DropForeignKey(name: "FK_CircleMember_ApplicationUser_MemberId", table: "CircleMember");
|
||||
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_RdvQuery_Activity_ActivityCode", table: "RdvQuery");
|
||||
migrationBuilder.DropForeignKey(name: "FK_RdvQuery_ApplicationUser_ClientId", table: "RdvQuery");
|
||||
migrationBuilder.DropForeignKey(name: "FK_RdvQuery_PerformerProfile_PerformerId", table: "RdvQuery");
|
||||
migrationBuilder.DropForeignKey(name: "FK_UserActivity_Activity_DoesCode", table: "UserActivity");
|
||||
migrationBuilder.DropForeignKey(name: "FK_UserActivity_PerformerProfile_UserId", table: "UserActivity");
|
||||
migrationBuilder.DropForeignKey(name: "FK_Project_Activity_ActivityCode", table: "Project");
|
||||
migrationBuilder.DropForeignKey(name: "FK_Project_ApplicationUser_ClientId", table: "Project");
|
||||
migrationBuilder.DropForeignKey(name: "FK_Project_GitRepositoryReference_GitId", table: "Project");
|
||||
migrationBuilder.DropForeignKey(name: "FK_Project_PerformerProfile_PerformerId", table: "Project");
|
||||
migrationBuilder.DropForeignKey(name: "FK_ProjectBuildConfiguration_Project_ProjectId", table: "ProjectBuildConfiguration");
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "Lang",
|
||||
table: "BlogPost",
|
||||
nullable: true);
|
||||
migrationBuilder.Sql("update \"BlogPost\" set \"Lang\"='fr'");
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_IdentityRoleClaim<string>_IdentityRole_RoleId",
|
||||
table: "AspNetRoleClaims",
|
||||
column: "RoleId",
|
||||
principalTable: "AspNetRoles",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_IdentityUserClaim<string>_ApplicationUser_UserId",
|
||||
table: "AspNetUserClaims",
|
||||
column: "UserId",
|
||||
principalTable: "AspNetUsers",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_IdentityUserLogin<string>_ApplicationUser_UserId",
|
||||
table: "AspNetUserLogins",
|
||||
column: "UserId",
|
||||
principalTable: "AspNetUsers",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_IdentityUserRole<string>_IdentityRole_RoleId",
|
||||
table: "AspNetUserRoles",
|
||||
column: "RoleId",
|
||||
principalTable: "AspNetRoles",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_IdentityUserRole<string>_ApplicationUser_UserId",
|
||||
table: "AspNetUserRoles",
|
||||
column: "UserId",
|
||||
principalTable: "AspNetUsers",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_BlackListed_ApplicationUser_OwnerId",
|
||||
table: "BlackListed",
|
||||
column: "OwnerId",
|
||||
principalTable: "AspNetUsers",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_CircleAuthorizationToBlogPost_BlogPost_BlogPostId",
|
||||
table: "CircleAuthorizationToBlogPost",
|
||||
column: "BlogPostId",
|
||||
principalTable: "BlogPost",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_CircleAuthorizationToBlogPost_Circle_CircleId",
|
||||
table: "CircleAuthorizationToBlogPost",
|
||||
column: "CircleId",
|
||||
principalTable: "Circle",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_AccountBalance_ApplicationUser_UserId",
|
||||
table: "AccountBalance",
|
||||
column: "UserId",
|
||||
principalTable: "AspNetUsers",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_BalanceImpact_AccountBalance_BalanceId",
|
||||
table: "BalanceImpact",
|
||||
column: "BalanceId",
|
||||
principalTable: "AccountBalance",
|
||||
principalColumn: "UserId",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_CommandLine_Estimate_EstimateId",
|
||||
table: "CommandLine",
|
||||
column: "EstimateId",
|
||||
principalTable: "Estimate",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_Estimate_ApplicationUser_ClientId",
|
||||
table: "Estimate",
|
||||
column: "ClientId",
|
||||
principalTable: "AspNetUsers",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_BlogTag_BlogPost_PostId",
|
||||
table: "BlogTag",
|
||||
column: "PostId",
|
||||
principalTable: "BlogPost",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_BlogTag_Tag_TagId",
|
||||
table: "BlogTag",
|
||||
column: "TagId",
|
||||
principalTable: "Tag",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_Comment_ApplicationUser_AuthorId",
|
||||
table: "Comment",
|
||||
column: "AuthorId",
|
||||
principalTable: "AspNetUsers",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_Comment_BlogPost_PostId",
|
||||
table: "Comment",
|
||||
column: "PostId",
|
||||
principalTable: "BlogPost",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_Schedule_ApplicationUser_OwnerId",
|
||||
table: "Schedule",
|
||||
column: "OwnerId",
|
||||
principalTable: "AspNetUsers",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_ChatConnection_ApplicationUser_ApplicationUserId",
|
||||
table: "ChatConnection",
|
||||
column: "ApplicationUserId",
|
||||
principalTable: "AspNetUsers",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_BrusherProfile_PerformerProfile_UserId",
|
||||
table: "BrusherProfile",
|
||||
column: "UserId",
|
||||
principalTable: "PerformerProfile",
|
||||
principalColumn: "PerformerId",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_HairCutQuery_Activity_ActivityCode",
|
||||
table: "HairCutQuery",
|
||||
column: "ActivityCode",
|
||||
principalTable: "Activity",
|
||||
principalColumn: "Code",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_HairCutQuery_ApplicationUser_ClientId",
|
||||
table: "HairCutQuery",
|
||||
column: "ClientId",
|
||||
principalTable: "AspNetUsers",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_HairCutQuery_PerformerProfile_PerformerId",
|
||||
table: "HairCutQuery",
|
||||
column: "PerformerId",
|
||||
principalTable: "PerformerProfile",
|
||||
principalColumn: "PerformerId",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_HairCutQuery_HairPrestation_PrestationId",
|
||||
table: "HairCutQuery",
|
||||
column: "PrestationId",
|
||||
principalTable: "HairPrestation",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_HairMultiCutQuery_Activity_ActivityCode",
|
||||
table: "HairMultiCutQuery",
|
||||
column: "ActivityCode",
|
||||
principalTable: "Activity",
|
||||
principalColumn: "Code",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_HairMultiCutQuery_ApplicationUser_ClientId",
|
||||
table: "HairMultiCutQuery",
|
||||
column: "ClientId",
|
||||
principalTable: "AspNetUsers",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_HairMultiCutQuery_PerformerProfile_PerformerId",
|
||||
table: "HairMultiCutQuery",
|
||||
column: "PerformerId",
|
||||
principalTable: "PerformerProfile",
|
||||
principalColumn: "PerformerId",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_HairPrestationCollectionItem_HairPrestation_PrestationId",
|
||||
table: "HairPrestationCollectionItem",
|
||||
column: "PrestationId",
|
||||
principalTable: "HairPrestation",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_HairPrestationCollectionItem_HairMultiCutQuery_QueryId",
|
||||
table: "HairPrestationCollectionItem",
|
||||
column: "QueryId",
|
||||
principalTable: "HairMultiCutQuery",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_HairTaint_Color_ColorId",
|
||||
table: "HairTaint",
|
||||
column: "ColorId",
|
||||
principalTable: "Color",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_HairTaintInstance_HairPrestation_PrestationId",
|
||||
table: "HairTaintInstance",
|
||||
column: "PrestationId",
|
||||
principalTable: "HairPrestation",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_HairTaintInstance_HairTaint_TaintId",
|
||||
table: "HairTaintInstance",
|
||||
column: "TaintId",
|
||||
principalTable: "HairTaint",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_DimissClicked_Notification_NotificationId",
|
||||
table: "DimissClicked",
|
||||
column: "NotificationId",
|
||||
principalTable: "Notification",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_DimissClicked_ApplicationUser_UserId",
|
||||
table: "DimissClicked",
|
||||
column: "UserId",
|
||||
principalTable: "AspNetUsers",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_Instrumentation_Instrument_InstrumentId",
|
||||
table: "Instrumentation",
|
||||
column: "InstrumentId",
|
||||
principalTable: "Instrument",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_PayPalPayment_ApplicationUser_ExecutorId",
|
||||
table: "PayPalPayment",
|
||||
column: "ExecutorId",
|
||||
principalTable: "AspNetUsers",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_CircleMember_Circle_CircleId",
|
||||
table: "CircleMember",
|
||||
column: "CircleId",
|
||||
principalTable: "Circle",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_CircleMember_ApplicationUser_MemberId",
|
||||
table: "CircleMember",
|
||||
column: "MemberId",
|
||||
principalTable: "AspNetUsers",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_CommandForm_Activity_ActivityCode",
|
||||
table: "CommandForm",
|
||||
column: "ActivityCode",
|
||||
principalTable: "Activity",
|
||||
principalColumn: "Code",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_PerformerProfile_Location_OrganizationAddressId",
|
||||
table: "PerformerProfile",
|
||||
column: "OrganizationAddressId",
|
||||
principalTable: "Location",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_PerformerProfile_ApplicationUser_PerformerId",
|
||||
table: "PerformerProfile",
|
||||
column: "PerformerId",
|
||||
principalTable: "AspNetUsers",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_RdvQuery_Activity_ActivityCode",
|
||||
table: "RdvQuery",
|
||||
column: "ActivityCode",
|
||||
principalTable: "Activity",
|
||||
principalColumn: "Code",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_RdvQuery_ApplicationUser_ClientId",
|
||||
table: "RdvQuery",
|
||||
column: "ClientId",
|
||||
principalTable: "AspNetUsers",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_RdvQuery_PerformerProfile_PerformerId",
|
||||
table: "RdvQuery",
|
||||
column: "PerformerId",
|
||||
principalTable: "PerformerProfile",
|
||||
principalColumn: "PerformerId",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_UserActivity_Activity_DoesCode",
|
||||
table: "UserActivity",
|
||||
column: "DoesCode",
|
||||
principalTable: "Activity",
|
||||
principalColumn: "Code",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_UserActivity_PerformerProfile_UserId",
|
||||
table: "UserActivity",
|
||||
column: "UserId",
|
||||
principalTable: "PerformerProfile",
|
||||
principalColumn: "PerformerId",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_Project_Activity_ActivityCode",
|
||||
table: "Project",
|
||||
column: "ActivityCode",
|
||||
principalTable: "Activity",
|
||||
principalColumn: "Code",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_Project_ApplicationUser_ClientId",
|
||||
table: "Project",
|
||||
column: "ClientId",
|
||||
principalTable: "AspNetUsers",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_Project_GitRepositoryReference_GitId",
|
||||
table: "Project",
|
||||
column: "GitId",
|
||||
principalTable: "GitRepositoryReference",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_Project_PerformerProfile_PerformerId",
|
||||
table: "Project",
|
||||
column: "PerformerId",
|
||||
principalTable: "PerformerProfile",
|
||||
principalColumn: "PerformerId",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_ProjectBuildConfiguration_Project_ProjectId",
|
||||
table: "ProjectBuildConfiguration",
|
||||
column: "ProjectId",
|
||||
principalTable: "Project",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
}
|
||||
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropForeignKey(name: "FK_IdentityRoleClaim<string>_IdentityRole_RoleId", table: "AspNetRoleClaims");
|
||||
migrationBuilder.DropForeignKey(name: "FK_IdentityUserClaim<string>_ApplicationUser_UserId", table: "AspNetUserClaims");
|
||||
migrationBuilder.DropForeignKey(name: "FK_IdentityUserLogin<string>_ApplicationUser_UserId", table: "AspNetUserLogins");
|
||||
migrationBuilder.DropForeignKey(name: "FK_IdentityUserRole<string>_IdentityRole_RoleId", table: "AspNetUserRoles");
|
||||
migrationBuilder.DropForeignKey(name: "FK_IdentityUserRole<string>_ApplicationUser_UserId", table: "AspNetUserRoles");
|
||||
migrationBuilder.DropForeignKey(name: "FK_BlackListed_ApplicationUser_OwnerId", table: "BlackListed");
|
||||
migrationBuilder.DropForeignKey(name: "FK_CircleAuthorizationToBlogPost_BlogPost_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_BlogTag_BlogPost_PostId", table: "BlogTag");
|
||||
migrationBuilder.DropForeignKey(name: "FK_BlogTag_Tag_TagId", table: "BlogTag");
|
||||
migrationBuilder.DropForeignKey(name: "FK_Comment_ApplicationUser_AuthorId", table: "Comment");
|
||||
migrationBuilder.DropForeignKey(name: "FK_Comment_BlogPost_PostId", table: "Comment");
|
||||
migrationBuilder.DropForeignKey(name: "FK_Schedule_ApplicationUser_OwnerId", table: "Schedule");
|
||||
migrationBuilder.DropForeignKey(name: "FK_ChatConnection_ApplicationUser_ApplicationUserId", table: "ChatConnection");
|
||||
migrationBuilder.DropForeignKey(name: "FK_BrusherProfile_PerformerProfile_UserId", table: "BrusherProfile");
|
||||
migrationBuilder.DropForeignKey(name: "FK_HairCutQuery_Activity_ActivityCode", table: "HairCutQuery");
|
||||
migrationBuilder.DropForeignKey(name: "FK_HairCutQuery_ApplicationUser_ClientId", table: "HairCutQuery");
|
||||
migrationBuilder.DropForeignKey(name: "FK_HairCutQuery_PerformerProfile_PerformerId", table: "HairCutQuery");
|
||||
migrationBuilder.DropForeignKey(name: "FK_HairCutQuery_HairPrestation_PrestationId", table: "HairCutQuery");
|
||||
migrationBuilder.DropForeignKey(name: "FK_HairMultiCutQuery_Activity_ActivityCode", table: "HairMultiCutQuery");
|
||||
migrationBuilder.DropForeignKey(name: "FK_HairMultiCutQuery_ApplicationUser_ClientId", table: "HairMultiCutQuery");
|
||||
migrationBuilder.DropForeignKey(name: "FK_HairMultiCutQuery_PerformerProfile_PerformerId", table: "HairMultiCutQuery");
|
||||
migrationBuilder.DropForeignKey(name: "FK_HairPrestationCollectionItem_HairPrestation_PrestationId", table: "HairPrestationCollectionItem");
|
||||
migrationBuilder.DropForeignKey(name: "FK_HairPrestationCollectionItem_HairMultiCutQuery_QueryId", table: "HairPrestationCollectionItem");
|
||||
migrationBuilder.DropForeignKey(name: "FK_HairTaint_Color_ColorId", table: "HairTaint");
|
||||
migrationBuilder.DropForeignKey(name: "FK_HairTaintInstance_HairPrestation_PrestationId", table: "HairTaintInstance");
|
||||
migrationBuilder.DropForeignKey(name: "FK_HairTaintInstance_HairTaint_TaintId", table: "HairTaintInstance");
|
||||
migrationBuilder.DropForeignKey(name: "FK_DimissClicked_Notification_NotificationId", table: "DimissClicked");
|
||||
migrationBuilder.DropForeignKey(name: "FK_DimissClicked_ApplicationUser_UserId", table: "DimissClicked");
|
||||
migrationBuilder.DropForeignKey(name: "FK_Instrumentation_Instrument_InstrumentId", table: "Instrumentation");
|
||||
migrationBuilder.DropForeignKey(name: "FK_PayPalPayment_ApplicationUser_ExecutorId", table: "PayPalPayment");
|
||||
migrationBuilder.DropForeignKey(name: "FK_CircleMember_Circle_CircleId", table: "CircleMember");
|
||||
migrationBuilder.DropForeignKey(name: "FK_CircleMember_ApplicationUser_MemberId", table: "CircleMember");
|
||||
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_RdvQuery_Activity_ActivityCode", table: "RdvQuery");
|
||||
migrationBuilder.DropForeignKey(name: "FK_RdvQuery_ApplicationUser_ClientId", table: "RdvQuery");
|
||||
migrationBuilder.DropForeignKey(name: "FK_RdvQuery_PerformerProfile_PerformerId", table: "RdvQuery");
|
||||
migrationBuilder.DropForeignKey(name: "FK_UserActivity_Activity_DoesCode", table: "UserActivity");
|
||||
migrationBuilder.DropForeignKey(name: "FK_UserActivity_PerformerProfile_UserId", table: "UserActivity");
|
||||
migrationBuilder.DropForeignKey(name: "FK_Project_Activity_ActivityCode", table: "Project");
|
||||
migrationBuilder.DropForeignKey(name: "FK_Project_ApplicationUser_ClientId", table: "Project");
|
||||
migrationBuilder.DropForeignKey(name: "FK_Project_GitRepositoryReference_GitId", table: "Project");
|
||||
migrationBuilder.DropForeignKey(name: "FK_Project_PerformerProfile_PerformerId", table: "Project");
|
||||
migrationBuilder.DropForeignKey(name: "FK_ProjectBuildConfiguration_Project_ProjectId", table: "ProjectBuildConfiguration");
|
||||
migrationBuilder.DropColumn(name: "Lang", table: "BlogPost");
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_IdentityRoleClaim<string>_IdentityRole_RoleId",
|
||||
table: "AspNetRoleClaims",
|
||||
column: "RoleId",
|
||||
principalTable: "AspNetRoles",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_IdentityUserClaim<string>_ApplicationUser_UserId",
|
||||
table: "AspNetUserClaims",
|
||||
column: "UserId",
|
||||
principalTable: "AspNetUsers",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_IdentityUserLogin<string>_ApplicationUser_UserId",
|
||||
table: "AspNetUserLogins",
|
||||
column: "UserId",
|
||||
principalTable: "AspNetUsers",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_IdentityUserRole<string>_IdentityRole_RoleId",
|
||||
table: "AspNetUserRoles",
|
||||
column: "RoleId",
|
||||
principalTable: "AspNetRoles",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_IdentityUserRole<string>_ApplicationUser_UserId",
|
||||
table: "AspNetUserRoles",
|
||||
column: "UserId",
|
||||
principalTable: "AspNetUsers",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_BlackListed_ApplicationUser_OwnerId",
|
||||
table: "BlackListed",
|
||||
column: "OwnerId",
|
||||
principalTable: "AspNetUsers",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_CircleAuthorizationToBlogPost_BlogPost_BlogPostId",
|
||||
table: "CircleAuthorizationToBlogPost",
|
||||
column: "BlogPostId",
|
||||
principalTable: "BlogPost",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_CircleAuthorizationToBlogPost_Circle_CircleId",
|
||||
table: "CircleAuthorizationToBlogPost",
|
||||
column: "CircleId",
|
||||
principalTable: "Circle",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_AccountBalance_ApplicationUser_UserId",
|
||||
table: "AccountBalance",
|
||||
column: "UserId",
|
||||
principalTable: "AspNetUsers",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_BalanceImpact_AccountBalance_BalanceId",
|
||||
table: "BalanceImpact",
|
||||
column: "BalanceId",
|
||||
principalTable: "AccountBalance",
|
||||
principalColumn: "UserId",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_CommandLine_Estimate_EstimateId",
|
||||
table: "CommandLine",
|
||||
column: "EstimateId",
|
||||
principalTable: "Estimate",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_Estimate_ApplicationUser_ClientId",
|
||||
table: "Estimate",
|
||||
column: "ClientId",
|
||||
principalTable: "AspNetUsers",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_BlogTag_BlogPost_PostId",
|
||||
table: "BlogTag",
|
||||
column: "PostId",
|
||||
principalTable: "BlogPost",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_BlogTag_Tag_TagId",
|
||||
table: "BlogTag",
|
||||
column: "TagId",
|
||||
principalTable: "Tag",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_Comment_ApplicationUser_AuthorId",
|
||||
table: "Comment",
|
||||
column: "AuthorId",
|
||||
principalTable: "AspNetUsers",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_Comment_BlogPost_PostId",
|
||||
table: "Comment",
|
||||
column: "PostId",
|
||||
principalTable: "BlogPost",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_Schedule_ApplicationUser_OwnerId",
|
||||
table: "Schedule",
|
||||
column: "OwnerId",
|
||||
principalTable: "AspNetUsers",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_ChatConnection_ApplicationUser_ApplicationUserId",
|
||||
table: "ChatConnection",
|
||||
column: "ApplicationUserId",
|
||||
principalTable: "AspNetUsers",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_BrusherProfile_PerformerProfile_UserId",
|
||||
table: "BrusherProfile",
|
||||
column: "UserId",
|
||||
principalTable: "PerformerProfile",
|
||||
principalColumn: "PerformerId",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_HairCutQuery_Activity_ActivityCode",
|
||||
table: "HairCutQuery",
|
||||
column: "ActivityCode",
|
||||
principalTable: "Activity",
|
||||
principalColumn: "Code",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_HairCutQuery_ApplicationUser_ClientId",
|
||||
table: "HairCutQuery",
|
||||
column: "ClientId",
|
||||
principalTable: "AspNetUsers",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_HairCutQuery_PerformerProfile_PerformerId",
|
||||
table: "HairCutQuery",
|
||||
column: "PerformerId",
|
||||
principalTable: "PerformerProfile",
|
||||
principalColumn: "PerformerId",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_HairCutQuery_HairPrestation_PrestationId",
|
||||
table: "HairCutQuery",
|
||||
column: "PrestationId",
|
||||
principalTable: "HairPrestation",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_HairMultiCutQuery_Activity_ActivityCode",
|
||||
table: "HairMultiCutQuery",
|
||||
column: "ActivityCode",
|
||||
principalTable: "Activity",
|
||||
principalColumn: "Code",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_HairMultiCutQuery_ApplicationUser_ClientId",
|
||||
table: "HairMultiCutQuery",
|
||||
column: "ClientId",
|
||||
principalTable: "AspNetUsers",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_HairMultiCutQuery_PerformerProfile_PerformerId",
|
||||
table: "HairMultiCutQuery",
|
||||
column: "PerformerId",
|
||||
principalTable: "PerformerProfile",
|
||||
principalColumn: "PerformerId",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_HairPrestationCollectionItem_HairPrestation_PrestationId",
|
||||
table: "HairPrestationCollectionItem",
|
||||
column: "PrestationId",
|
||||
principalTable: "HairPrestation",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_HairPrestationCollectionItem_HairMultiCutQuery_QueryId",
|
||||
table: "HairPrestationCollectionItem",
|
||||
column: "QueryId",
|
||||
principalTable: "HairMultiCutQuery",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_HairTaint_Color_ColorId",
|
||||
table: "HairTaint",
|
||||
column: "ColorId",
|
||||
principalTable: "Color",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_HairTaintInstance_HairPrestation_PrestationId",
|
||||
table: "HairTaintInstance",
|
||||
column: "PrestationId",
|
||||
principalTable: "HairPrestation",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_HairTaintInstance_HairTaint_TaintId",
|
||||
table: "HairTaintInstance",
|
||||
column: "TaintId",
|
||||
principalTable: "HairTaint",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_DimissClicked_Notification_NotificationId",
|
||||
table: "DimissClicked",
|
||||
column: "NotificationId",
|
||||
principalTable: "Notification",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_DimissClicked_ApplicationUser_UserId",
|
||||
table: "DimissClicked",
|
||||
column: "UserId",
|
||||
principalTable: "AspNetUsers",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_Instrumentation_Instrument_InstrumentId",
|
||||
table: "Instrumentation",
|
||||
column: "InstrumentId",
|
||||
principalTable: "Instrument",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_PayPalPayment_ApplicationUser_ExecutorId",
|
||||
table: "PayPalPayment",
|
||||
column: "ExecutorId",
|
||||
principalTable: "AspNetUsers",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_CircleMember_Circle_CircleId",
|
||||
table: "CircleMember",
|
||||
column: "CircleId",
|
||||
principalTable: "Circle",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_CircleMember_ApplicationUser_MemberId",
|
||||
table: "CircleMember",
|
||||
column: "MemberId",
|
||||
principalTable: "AspNetUsers",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_CommandForm_Activity_ActivityCode",
|
||||
table: "CommandForm",
|
||||
column: "ActivityCode",
|
||||
principalTable: "Activity",
|
||||
principalColumn: "Code",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_PerformerProfile_Location_OrganizationAddressId",
|
||||
table: "PerformerProfile",
|
||||
column: "OrganizationAddressId",
|
||||
principalTable: "Location",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_PerformerProfile_ApplicationUser_PerformerId",
|
||||
table: "PerformerProfile",
|
||||
column: "PerformerId",
|
||||
principalTable: "AspNetUsers",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_RdvQuery_Activity_ActivityCode",
|
||||
table: "RdvQuery",
|
||||
column: "ActivityCode",
|
||||
principalTable: "Activity",
|
||||
principalColumn: "Code",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_RdvQuery_ApplicationUser_ClientId",
|
||||
table: "RdvQuery",
|
||||
column: "ClientId",
|
||||
principalTable: "AspNetUsers",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_RdvQuery_PerformerProfile_PerformerId",
|
||||
table: "RdvQuery",
|
||||
column: "PerformerId",
|
||||
principalTable: "PerformerProfile",
|
||||
principalColumn: "PerformerId",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_UserActivity_Activity_DoesCode",
|
||||
table: "UserActivity",
|
||||
column: "DoesCode",
|
||||
principalTable: "Activity",
|
||||
principalColumn: "Code",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_UserActivity_PerformerProfile_UserId",
|
||||
table: "UserActivity",
|
||||
column: "UserId",
|
||||
principalTable: "PerformerProfile",
|
||||
principalColumn: "PerformerId",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_Project_Activity_ActivityCode",
|
||||
table: "Project",
|
||||
column: "ActivityCode",
|
||||
principalTable: "Activity",
|
||||
principalColumn: "Code",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_Project_ApplicationUser_ClientId",
|
||||
table: "Project",
|
||||
column: "ClientId",
|
||||
principalTable: "AspNetUsers",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_Project_GitRepositoryReference_GitId",
|
||||
table: "Project",
|
||||
column: "GitId",
|
||||
principalTable: "GitRepositoryReference",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_Project_PerformerProfile_PerformerId",
|
||||
table: "Project",
|
||||
column: "PerformerId",
|
||||
principalTable: "PerformerProfile",
|
||||
principalColumn: "PerformerId",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_ProjectBuildConfiguration_Project_ProjectId",
|
||||
table: "ProjectBuildConfiguration",
|
||||
column: "ProjectId",
|
||||
principalTable: "Project",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,6 +1,8 @@
|
||||
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
|
||||
@ -414,6 +416,9 @@ namespace Yavsc.Migrations
|
||||
|
||||
b.Property<DateTime>("DateModified");
|
||||
|
||||
b.Property<string>("Lang")
|
||||
.HasAnnotation("MaxLength", 8);
|
||||
|
||||
b.Property<string>("Photo")
|
||||
.HasAnnotation("MaxLength", 1024);
|
||||
|
||||
|
@ -37,6 +37,7 @@ namespace Yavsc.Models
|
||||
using Blog;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using Yavsc.Abstract.Identity;
|
||||
using Yavsc.Server.Models.Blog;
|
||||
|
||||
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
|
||||
{
|
||||
@ -63,11 +64,13 @@ namespace Yavsc.Models
|
||||
builder.Entity<Models.Cratie.Option>().HasKey(o => new { o.Code, o.CodeScrutin });
|
||||
builder.Entity<Notification>().Property(n => n.icon).HasDefaultValue("exclam");
|
||||
builder.Entity<ChatRoomPresence>().HasKey(p => new { room = p.ChannelName, user = p.ChatUserConnectionId });
|
||||
|
||||
foreach (var et in builder.Model.GetEntityTypes())
|
||||
{
|
||||
if (et.ClrType.GetInterface("IBaseTrackedEntity") != null)
|
||||
et.FindProperty("DateCreated").IsReadOnlyAfterSave = true;
|
||||
}
|
||||
builder.Entity<BlogTrad>().HasKey(tr => new { post = tr.PostId, lang = tr.Lang });
|
||||
}
|
||||
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
|
||||
{
|
||||
@ -311,5 +314,7 @@ namespace Yavsc.Models
|
||||
|
||||
public DbSet<Project> Projects { get; set; }
|
||||
|
||||
public DbSet<BlogTrad> BlogTrad { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -746,6 +746,7 @@
|
||||
<data name="Anglais">
|
||||
<value>English</value>
|
||||
</data>
|
||||
<data name="Portugais"><value>Portugese</value></data>
|
||||
<data name="RequiredField">
|
||||
<value>This field is required.</value>
|
||||
</data>
|
||||
|
@ -285,7 +285,6 @@
|
||||
<data name="Message sent"><value>Votre message a été envoyé</value></data>
|
||||
<data name="MinDate"><value>Date minimale du rendez-vous</value></data>
|
||||
<data name="MinDailyCost"><value>Coût minimal journalier</value></data>
|
||||
MinDailyCost
|
||||
<data name="Modified"><value>Modifié</value></data>
|
||||
<data name="Modify"><value>Modifier</value></data>
|
||||
<data name="Modify settings"><value>Modifier les paramètres</value></data>
|
||||
@ -359,7 +358,7 @@
|
||||
<data name="Remove my professional profile"><value>Supprimer mon profil professionnel</value></data>
|
||||
<data name="Role"><value>Rôle</value></data>
|
||||
<data name="Reset Password"><value>Ré-initialiser votre mot de passe</value></data>
|
||||
<data name="Reset password confirmation"><value>Confirmation de ré-initialiser du mot de passe</value></data>
|
||||
<data name="Reset password confirmation"><value>Confirmation de ré-initialisation du mot de passe</value></data>
|
||||
<data name="role created"><value>Rôle créé</value></data>
|
||||
<data name="RoleName"><value>Nom du rôle </value></data>
|
||||
<data name="Save these settings"><value>Enregistrer ces paramètres</value></data>
|
||||
@ -443,6 +442,7 @@
|
||||
<data name="UnsetActivity"><value>Supprimer mon profil professionel</value></data>
|
||||
<data name="Français"><value>Français</value></data>
|
||||
<data name="Anglais"><value>Anglais</value></data>
|
||||
<data name="Portugais"><value>Portugais</value></data>
|
||||
<data name="InvalidUserName"><value>Nom d'utilisateur invalide.
|
||||
Les caratères valides sont: le souligné (_), le petit titret (-), l'apostrohe ('), les minuscules et majuscules de a à z, les chiffres de 0 à 9, l'espace et le point.</value></data>
|
||||
<data name="RequiredField"><value>Ce champ est obligatoire.</value></data>
|
||||
|
487
Yavsc/Resources/Yavsc.Resources.YavscLocalisation.pt.resx
Normal file
487
Yavsc/Resources/Yavsc.Resources.YavscLocalisation.pt.resx
Normal file
@ -0,0 +1,487 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="About"><value>Sobre</value></data>
|
||||
<data name="access denied"><value>Accesso rechazado</value></data>
|
||||
<data name="AcceptNotifications"><value>aceitar notificaçãoes de pedidos de compromisso</value></data>
|
||||
<data name="AcceptPublicContact"><value>Aceitar entres em contacto</value></data>
|
||||
<data name="AccountBalance"><value>saldo da conta</value></data>
|
||||
<data name="ActivateMyProSettings"><value>Ativar meu perfil profissional</value></data>
|
||||
<data name="Activity"><value>Actividade</value></data>
|
||||
<data name="Activities"><value>Actividades</value></data>
|
||||
<data name="additionally"><value>Mais</value></data>
|
||||
<data name="Address"><value>Morada</value></data>
|
||||
<data name="Allow my geolocatisation, nearby the clients"><value>Aceitar a minha geolocatisaçao, a critério de meus clientes</value></data>
|
||||
<data name="AnIMessageHasbeenSent"><value>Um messagem instantâneo fui mandado à {0},
|
||||
apresentando-lhe o seu pedido. Você deve ser contatado muito rapidamente.</value></data>
|
||||
<data name="aprestation"><value>uma prestação</value></data>
|
||||
<data name="approved"><value>Aprovado</value></data>
|
||||
<data name="AskForAnEstimate"><value>Pedir uma cotação</value></data>
|
||||
<data name="AttachedFiles"><value>Arquivos anexados</value></data>
|
||||
<data name="AuthenticatedOnly"><value>Apenas usuários autenticados podem acessar essas informações.</value></data>
|
||||
<data name="Author"><value>Autor</value></data>
|
||||
<data name="available"><value>disponível</value></data>
|
||||
<data name="Back to List"><value>De volta à lista</value></data>
|
||||
<data name="Basket"><value>cesta</value></data>
|
||||
<data name="Bill edition"><value>edição de fatura</value></data>
|
||||
<data name="Bill removal"><value>supressão factura</value></data>
|
||||
<data name="BillAccessControl"><value>Controle de acesso</value></data>
|
||||
<data name="BillCreated"><value>Fatura criada</value></data>
|
||||
<data name="BillSourceCode"><value>Codigo fonte</value></data>
|
||||
<data name="BillUpdated"><value>Atualizado</value></data>
|
||||
<data name="Blog post edition"><value>Editando o artigo</value></data>
|
||||
<data name="body"><value>corpo de texte</value></data>
|
||||
<data name="Book AStar"><value>propor um compromisso para o seu artista</value></data>
|
||||
<data name="Book IT"><value>propor um compromisso ao seu provedor de serviços digitais</value></data>
|
||||
<data name="BookingTitleArtiste"><value>Reserve os serviços de um artista</value></data>
|
||||
<data name="BookingTitle6829C"><value>Reserve os serviços de um editor de software</value></data>
|
||||
<data name="Calendar"><value>calendário</value></data>
|
||||
<data name="Catalog"><value>catálogo</value></data>
|
||||
<data name="Change"><value>Mudar</value></data>
|
||||
<data name="Change user name form"><value>Formulário de mudança de apelido (avatar, o nome público desta conta de usuário aqui)</value></data>
|
||||
<data name="Change your account settings"><value>Alterar as configurações da sua conta</value></data>
|
||||
<data name="Connect using"><value>Entre usando</value></data>
|
||||
<data name="Choose below your main activity"><value>Escolha sua atividade principal abaixo</value></data>
|
||||
<data name="ChooseADescription"><value>Por favor, uma descrição é necessária.</value></data>
|
||||
<data name="ChooseATitle"><value>Por favor, um título é necessário.</value></data>
|
||||
<data name="ChooseADateInTheFutur"><value>Por favor, uma data no futuro é necessária.</value></data>
|
||||
<data name="ChooseAnEventDate"><value>Por favor, uma data para este serviço é necessária.</value></data>
|
||||
<data name="Ciffer"><value>figura</value></data>
|
||||
<data name="Circles"><value>círculos</value></data>
|
||||
<data name="Click action"><value>Ação ao clicar</value></data>
|
||||
<data name="Click here to log in"><value>Clique aqui para entrar</value></data>
|
||||
<data name="Color"><value>Cor</value></data>
|
||||
<data name="Command"><value>ordem</value></data>
|
||||
<data name="Command confirmation"><value>Confirmação de Pedido</value></data>
|
||||
<data name="Comment"><value>comentário</value></data>
|
||||
<data name="Consultant"><value>consultor</value></data>
|
||||
<data name="ContactAPerformer"><value>Entre em contato com um inquilino</value></data>
|
||||
<data name="Content"><value>conteúdo</value></data>
|
||||
<data name="Count"><value>número</value></data>
|
||||
<data name="CouldNotConvertVToDouble"><value>A conversão de '{0}' para 'double' era impossível.</value></data>
|
||||
<data name="Create"><value>criar</value></data>
|
||||
<data name="Create a new article"><value>Crie um novo artigo</value></data>
|
||||
<data name="Create a new account"><value>Crie uma nova conta</value></data>
|
||||
<data name="Credits"><value>créditos</value></data>
|
||||
<data name="Date search"><value>Pesquisar por uma data</value></data>
|
||||
<data name="DateCreated"><value>Data de criação</value></data>
|
||||
<data name="DateModified"><value>Data da última modificação</value></data>
|
||||
<data name="DB"><value>Banco de dados</value></data>
|
||||
<data name="Details"><value>detalhes</value></data>
|
||||
<data name="Delete"><value>remover</value></data>
|
||||
<data name="Deposit"><value>depósito</value></data>
|
||||
<data name="Description"><value>descrição</value></data>
|
||||
<data name="DoAnEstimate"><value>Faça uma cotação</value></data>
|
||||
<data name="DoComment"><value>Commentar</value></data>
|
||||
<data name="DoCommentPlaceHolder"><value>Seu comentário</value></data>
|
||||
<data name="DoNotPublishMyActivity"><value>Não publique minha atividade</value></data>
|
||||
<data name="DocTemplateException"><value>Ocorreu um erro ao gerar seu documento</value></data>
|
||||
<data name="DisplayName"><value>Nome de exibição</value></data>
|
||||
<data name="Disable"><value>desativar</value></data>
|
||||
<data name="Disabled"><value>desativado</value></data>
|
||||
<data name="DoPost"><value>Poster</value></data>
|
||||
<data name="DoTag"><value>etiquetar</value></data>
|
||||
<data name="Edit"><value>Editar</value></data>
|
||||
<data name="Edited"><value>editado</value></data>
|
||||
<data name="EditRelatedSkills"><value>Editar habilidades relacionadas</value></data>
|
||||
<data name="Enabled"><value>ativado</value></data>
|
||||
<data name="Enable"><value>ativar</value></data>
|
||||
<data name="EndDate"><value>Data final</value></data>
|
||||
<data name="EndHour"><value>Hora de término</value></data>
|
||||
<data name="email"><value>e-mail</value></data>
|
||||
<data name="Enter your email."><value>Digite seu email.</value></data>
|
||||
<data name="Enter your user name or e-mail."><value>Digite seu nome de usuário ou email.</value></data>
|
||||
<data name="entries"><value>entradas</value></data>
|
||||
<data name="Estimate"><value>estimar</value></data>
|
||||
<data name="Estimate_not_found"><value>Cotação não encontrada</value></data>
|
||||
<data name="EstimateToProduce"><value>Pedidos pendente de cotação</value></data>
|
||||
<data name="EstimateToSignAsPro"><value>Cotação para validar</value></data>
|
||||
<data name="EstimateToSignAsCli"><value>Cotação para aceder ou recusar</value></data>
|
||||
<data name="EstimationMessageToClient"><value>{0} validou e avaliou sua solicitação, com uma cotação para {1: C}</value></data>
|
||||
<data name="EventDate"><value>Data do evento</value></data>
|
||||
<data name="BillToSignAsPro"><value>Faturas para produzir</value></data>
|
||||
<data name="BillToSignAsCli"><value>Faturas para honrar</value></data>
|
||||
<data name="EstimateWanted"><value>Pedido de cotação</value></data>
|
||||
<data name="Event date"><value>Data do evento</value></data>
|
||||
<data name="EventWebPage"><value>Página da web do evento</value></data>
|
||||
<data name="ExistantDB"><value>Banco de dados existente</value></data>
|
||||
<data name="External Logins"><value>Registros externos</value></data>
|
||||
<data name="FillInAFutureDate"><value>Por favor, use uma data futura.</value></data>
|
||||
<data name="Fill in your Bank Info"><value>Insira seus dados bancários</value></data>
|
||||
<data name="Fill in your book query"><value>Digite seu pedido de compromisso</value></data>
|
||||
<data name="Forbidden"><value>Conteúdo com acesso restrito</value></data>
|
||||
<data name="Forgot your password?"><value>Senha perdida?</value></data>
|
||||
<data name="Forgot Password Confirmation."><value>confirmação de Senha perdida.</value></data>
|
||||
<data name="from"><value>de</value></data>
|
||||
<data name="Full name"><value>Nome completo</value></data>
|
||||
<data name="EGCMBUTEMAIL"><value>O envio da mensagem 'Google Cloud' falhou, mas um email foi enviado</value></data>
|
||||
<data name="GCM Notifications sent"><value>mensagem push enviado</value></data>
|
||||
<data name="GCM Notification sending failed"><value>O envio da mensagem Google Cloud a échoué ...</value></data>
|
||||
<data name="GiveAnExplicitReason"><value>Também fale sobre esse evento</value></data>
|
||||
<data name="GoogleDidntGeoLocalized"><value>O Google não conseguiu identificar este lugar</value></data>
|
||||
<data name="Google calendar"><value>Google Calendar</value></data>
|
||||
<data name="Google error"><value>erro Google : {0}</value></data>
|
||||
<data name="Google registration id"><value>ID de registro Google</value></data>
|
||||
<data name="Hide source"><value>Ocultar o texto de origem do artigo</value></data>
|
||||
<data name="Home"><value>bem-vindo</value></data>
|
||||
<data name="Hide"><value>Ocultar</value></data>
|
||||
<data name="hidden"><value>Ocultado</value></data>
|
||||
<data name="I understood"><value>Eu entendi</value></data>
|
||||
<data name="Icon"><value>ícone</value></data>
|
||||
<data name="Icons made by"><value>Ícones feitos por</value></data>
|
||||
<data name="Identity"><value>identidade</value></data>
|
||||
<data name="ImgLocator"><value>Imagem URI</value></data>
|
||||
<data name="ImportException"><value>Exceção à importação</value></data>
|
||||
<data name="InternalServerError"><value>Erro interno do servidor</value></data>
|
||||
<data name="Invalid company number"><value>Número inválido</value></data>
|
||||
<data name="is asking you for a date"><value>lhe pede uma consulta</value></data>
|
||||
<data name="is licensed_by"><value>estão licenciados</value></data>
|
||||
<data name="Item added to basket"><value>Item adicionado ao carrinho.</value></data>
|
||||
<data name="Location"><value>lugar</value></data>
|
||||
<data name="Login"><value>conexão</value></data>
|
||||
<data name="LoginOrEmail"><value>Nome de usuário ou e-mail</value></data>
|
||||
<data name="Log in"><value>Login</value></data>
|
||||
<data name="Logout"><value>desconexão</value></data>
|
||||
<data name="Long"><value>longo</value></data>
|
||||
<data name="MainActivity"><value>Atividade principal</value></data>
|
||||
<data name="Man"><value>homem</value><comment></comment></data>
|
||||
<data name="Manage"><value>gerir</value></data>
|
||||
<data name="Manage your account"><value>gerir seu registro</value></data>
|
||||
<data name="ManagedSiteSkills"><value>Habilidades gerenciadas neste site</value></data>
|
||||
<data name="MaxDate"><value>Data máxima do compromisso</value></data>
|
||||
<data name="MaxDailyCost"><value>Custo diário máximo</value></data>
|
||||
<data name="MEACode"><value>Código de atividade principalmente exercitado</value></data>
|
||||
<data name="Members"><value>membros</value></data>
|
||||
<data name="Message sent"><value>Sua mensagem foi enviada</value></data>
|
||||
<data name="MinDate"><value>Data mínima do compromisso</value></data>
|
||||
<data name="MinDailyCost"><value>Custo Mínimo Diário</value></data>
|
||||
<data name="Modified"><value>Alterado</value></data>
|
||||
<data name="Modify"><value>Alterar</value></data>
|
||||
<data name="Modify settings"><value>Alterar configurações</value></data>
|
||||
<data name="My Estimates"><value>Minhas estimativas</value></data>
|
||||
<data name="Name"><value>Nome</value></data>
|
||||
<data name="Needs"><value>necessidades</value></data>
|
||||
<data name="Need"><value>necessidade</value></data>
|
||||
<data name="New user name"><value>Novo nome de usuário (avatar)</value></data>
|
||||
<data name="New Tag"><value>Nova tag</value></data>
|
||||
<data name="NewPasswordMessageSent"><value>Um e-mail acaba de ser enviado para você, ele contém o link a seguir
|
||||
para poder atualizar sua senha.</value></data>
|
||||
<data name="No"><value>não</value></data>
|
||||
<data name="NoTech"><value>Nenhuma técnica especificada</value></data>
|
||||
<data name="No calendar for this user"><value>O inquilino não possui um calendário associado.</value></data>
|
||||
<data name="no content"><value>sem conteúdo</value></data>
|
||||
<data name="No deposit"><value>Nenhum depósito foi planejado</value></data>
|
||||
<data name="none"><value>não</value></data>
|
||||
<data name="Non existent user"><value>Usuário inexistente</value></data>
|
||||
<data name="NoSkillforthisactivity"><value>Nenhuma competência foi registrada por nenhum presbítero para esta atividade.</value></data>
|
||||
<data name="Not Approuved"><value>Não aprovado</value></data>
|
||||
<data name="NonValidee"><value>Não validada</value></data>
|
||||
<data name="NonValide"><value>Não validado</value></data>
|
||||
<data name="off"><value>inativo</value></data>
|
||||
<data name="Offline"><value>Off-line</value></data>
|
||||
<data name="on"><value>ativo</value></data>
|
||||
<data name="Online"><value>On-line</value></data>
|
||||
<data name="OnlyAuthorizedMayContact"><value>Somente usuários autorizados podem entrar em contato com um provedor por email.</value></data>
|
||||
<data name="Password"><value>Senha</value></data>
|
||||
<data name="PaymentConfirmation"><value>Confirmação de pagamento</value></data>
|
||||
<data name="PayementsDone"><value>Pagamentos feitos</value></data>
|
||||
<data name="Pdf version"><value>Versão em pdf</value></data>
|
||||
<data name="PerformanceDate"><value>Data do serviço</value></data>
|
||||
<data name="PerformancePlace"><value>Lugar do serviço</value></data>
|
||||
<data name="Performers"><value>provedores</value></data>
|
||||
<data name="Performer"><value>provedor</value></data>
|
||||
<data name="PerformerProfile"><value>perfil provedor</value></data>
|
||||
<data name="Permanent"><value>Permanante</value></data>
|
||||
<data name="Person"><value>Pessoa</value></data>
|
||||
<data name="Photo"><value>foto</value></data>
|
||||
<data name="PhotoUpdated"><value>foto atualizada</value></data>
|
||||
<data name="Please"><value>Por favor</value></data>
|
||||
<data name="PleaseCheckYourEmail"><value>por favor, verifique sua caixa de correio, para poder redefinir sua senha</value></data>
|
||||
<data name="PleaseConfirmYourNewPassword"><value>por favor confirme sua nova senha.</value></data>
|
||||
<data name="PleaseFillInABody"><value>Por favor, insira um corpo da mensagem</value></data>
|
||||
<data name="PleaseFillInAReason"><value>Por favor, insira um reson, um assunto para sua mensagem</value></data>
|
||||
<data name="Please reset your password by following this link:"><value>Por favor use o seguinte link para redefinir sua senha:</value></data>
|
||||
<data name="Posted"><value>afixado</value></data>
|
||||
<data name="PreferedDate"><value>Data desejada</value></data>
|
||||
<data name="PresationLocation"><value>Lugar de Presença: {0}.\n</value></data>
|
||||
<data name="Preview"><value>Prévisualiser</value><comment>Prévisualiser le document</comment></data>
|
||||
<data name="Previsional"><value>Quantia provisória de renda</value></data>
|
||||
<data name="Profile edition"><value>edição do perfil</value></data>
|
||||
<data name="Product reference"><value>Referência do produto</value></data>
|
||||
<data name="prestation"><value>benefício</value></data>
|
||||
<data name="Professional settings"><value>Configurações profissionais</value></data>
|
||||
<data name="Provider"><value>provedor</value></data>
|
||||
<data name="ProviderId"><value>ID de provedor</value></data>
|
||||
<data name="ProviderName"><value>Nome do provedor</value></data>
|
||||
<data name="Rate"><value>Cote</value></data>
|
||||
<data name="RdvToPerf"><value>{0} está fazendo uma consulta!!! le {1} à {2} ({3}/da scandale .5-rc12.)</value></data>
|
||||
<data name="ReadMore"><value>Ler mais ...</value></data>
|
||||
<data name="reason"><value>razão</value></data>
|
||||
<data name="Register"><value>registrar</value></data>
|
||||
<data name="Register as a new user"><value>Registre-se como um novo usuário</value></data>
|
||||
<data name="RegistrationUnexpectedError"><value>Ocorreu um erro inesperado, SCANDALE.! $%:
|
||||
"{0}".
|
||||
|
||||
Por favor, perdoe o inconveniente, mil mil e mil saborts.</value></data>
|
||||
<data name="Remember me"><value>Lembre-se da senha</value></data>
|
||||
<data name="Remove"><value>remover</value></data>
|
||||
|
||||
<data name="Remove my professional profile"><value>Excluir meu perfil profissional</value></data>
|
||||
<data name="Role"><value>função</value></data>
|
||||
<data name="Reset Password"><value>Redefinir sua senha</value></data>
|
||||
<data name="Reset password confirmation"><value>Confirmação de reinicialização da senha</value></data>
|
||||
<data name="role created"><value>função creada</value></data>
|
||||
<data name="RoleName"><value>Nome da função </value></data>
|
||||
<data name="Save these settings"><value>Salve essas configurações</value></data>
|
||||
<data name="Search"><value>procurar</value></data>
|
||||
<data name="Select a Google calendar"><value>Selecione um calendário do Google</value></data>
|
||||
<data name="Send"><value>Enviar</value></data>
|
||||
<data name="Send a private message"><value>Enviar un messagem privado</value></data>
|
||||
<data name="Send a public message"><value>Enviar un messagem publico</value></data>
|
||||
<data name="Set"><value>posicionador</value></data>
|
||||
<data name="SettingsClass"><value>Classe de ajuste</value></data>
|
||||
<data name="Short"><value>curto</value></data>
|
||||
<data name="Son blog"><value>O blog dele</value></data>
|
||||
<data name="Your performer profile"><value>Seu perfil profissional</value></data>
|
||||
<data name="Setup below your activity parameters"><value>Posicione abaixo dos parâmetros de sua atividade</value></data>
|
||||
<data name="SiteSkills"><value>Talentos / Competências / Especialidades geridas neste site</value></data>
|
||||
<data name="Skill"><value>Competência</value></data>
|
||||
<data name="Skills"><value>Talentos / Competências / Especialidades</value></data>
|
||||
<data name="SomeoneAskingYouForAnEstimate"><value>{0} gostaria de receber uma cotação para {1}</value></data>
|
||||
<data name="Sound"><value>Som</value></data>
|
||||
<data name="StartDate"><value>Data de início</value></data>
|
||||
<data name="StartDateAfterEndDate"><value>A data final deve ser depois da data de início.</value></data>
|
||||
<data name="StartHour"><value>Hora de início</value></data>
|
||||
<data name="Submit"><value>submeter</value></data>
|
||||
<data name="SubmitChanges"><value>Envie as alterações</value></data>
|
||||
<data name="Tag"><value>Tag</value></data>
|
||||
<data name="Tag name"><value>Nome do tag</value></data>
|
||||
<data name="Tex version"><value>Versão LaTeX</value></data>
|
||||
<data name="ThisSiteUsesCookies"><value>Este site usa cookies</value></data>
|
||||
<data name="ThisPerformerGivesAccessToHisCalendarAndSeemsToBeAvailableThis"><value>De acordo com seu calendário do Google, este provedor está disponível neste</value></data>
|
||||
<data name="ThisPerformerGivesAccessToHisCalendarAndItAppearsHeShouldNotBeAvailableThis"><value>De acordo com seu calendário do Google, esse provedor pode não estar disponível neste</value></data>
|
||||
<data name="ThisPerformerDoesntGiveAccessToHisCalendar"><value>Este provedor não tem um calendário disponível.</value></data>
|
||||
<data name="Title"><value>título</value></data>
|
||||
<data name="to"><value>para</value></data>
|
||||
<data name="TwoFactorAuthentication"><value>identificação de fator duplo</value></data>
|
||||
<data name="Unitary_cost"><value>Custo unitário</value></data>
|
||||
<data name="Unregister"><value>Cancelar inscrição</value></data>
|
||||
<data name="Use a local account to log in"><value>Use uma conta local para efetuar login</value></data>
|
||||
<data name="Use another service to log in"><value>Use outro serviço para conectar</value></data>
|
||||
<data name="UseGeoLocalizationToReduceDistanceWithClients"><value>Use minha localização para ter clientes mais próximos</value></data>
|
||||
<data name="User List"><value>Lista de usuários</value><comment></comment></data>
|
||||
<data name="UserName"><value>Nome de usuário</value></data>
|
||||
<data name="UsersInRole"><value>Lista de usuários assumindo o papel "{0}"</value></data>
|
||||
<data name="UserSkills"><value>Talentos / habilidades / especialidades do usuário</value></data>
|
||||
<data name="UserNotInThisRole"><value>A função solicitada não é assumida por este usuário</value></data>
|
||||
<data name="ValidationDate"><value>Data de validação</value></data>
|
||||
<data name="View_source"><value>Veja o texto de origem do artigo</value></data>
|
||||
<data name="was_added_to_the_role"><value>foi adicionado ao papel</value></data>
|
||||
<data name="was_added_to_the_empty_role"><value>Não havia nenhum usuário na função "{1}". Você ({0}) foi adicionado à função "{1}".</value></data>
|
||||
<data name="WebSite"><value>Site Web</value><comment></comment></data>
|
||||
<data name="Welcome"><value>bem-vindo</value><comment></comment></data>
|
||||
<data name="Women"><value>mulher</value><comment></comment></data>
|
||||
<data name="XHasBeenNotified"><value>{0} foi notificado da sua solicitação, você deve ser contatado rapidamente</value></data>
|
||||
<data name="Xshouldbeavailable"><value>Dada a sua agenda,
|
||||
{0} deve estar disponível para este compromisso</value></data>
|
||||
<data name="Yavsc.Models.Musical.Profiles.Instrumentation"><value>Configurações do músico (o instrumento)</value></data>
|
||||
<data name="Yavsc.Models.Musical.Profiles.DjSettings"><value>Configurações de DJ</value></data>
|
||||
<data name="Yavsc.Models.Workflow.Profiles.FormationSettings"><value>Parâmetros de treinamento (parceiros)</value></data>
|
||||
<data name="Yavsc.Models.Musical.Profiles.GeneralSettings"><value>Configurações gerais (visibilidade e apresentação)</value></data>
|
||||
<data name="Yavsc.Models.Haircut.BrusherProfile"><value>Configurações do barbeiro: tarifas, disponibilidade</value></data>
|
||||
<data name="Yes"><value>Sim</value></data>
|
||||
<data name="YouNeedToBeAuthenticatedIOToContact"><value>Você deve autenticar para poder solicitar uma cotação para um provedor.</value></data>
|
||||
<data name="younotadmin"><value>Você não é um administrador</value></data>
|
||||
<data name="Your account settings"><value>As configurações da sua conta</value></data>
|
||||
<data name="Your book query"><value>Seu pedido de compromisso</value></data>
|
||||
<data name="Your password has been reset."><value>Sua senha foi atualizada.</value></data>
|
||||
<data name="YourEstimates"><value>Suas citações</value></data>
|
||||
<data name="YourMEACode"><value>Sua atividade</value></data>
|
||||
<data name="YourNeed"><value>Sua necessidade</value></data>
|
||||
<data name="yourquerytransmitted"><value>Seu pedido foi enviado</value></data>
|
||||
<data name="YourSkills"><value>Seus talentos, suas especialidades, o campo de suas atividades</value></data>
|
||||
<data name="Your posts"><value>Suas publicações</value></data>
|
||||
<data name="Your profile"><value>Seu perfil</value></data>
|
||||
<data name="YourMessageHasBeenSent"><value>Sua mensagem foi enviada</value></data>
|
||||
<data name="Tell more, below, about your query"><value>Também fale sobre esse evento</value></data>
|
||||
<data name="UnsetActivity"><value>Excluir meu perfil profissional</value></data>
|
||||
<data name="Français"><value>Francês</value></data>
|
||||
<data name="Anglais"><value>Inglês</value></data>
|
||||
<data name="Portugais"><value>Português</value></data>
|
||||
<data name="InvalidUserName"><value>Nome de usuário inválido.
|
||||
Os caracteres válidos são: o sublinhado (_), o pequeno título (-), o apóstrofo ('), as letras minúsculas e maiúsculas de a a z, os números de 0 a 9, o espaço e o ponto.</value></data>
|
||||
<data name="RequiredField"><value>Este campo é obrigatório.</value></data>
|
||||
<data name="validationError"><value>Campo inválido ...</value></data>
|
||||
<data name="PasswordTooShort"><value>A senha deve conter pelo menos 6 caracteres.</value></data>
|
||||
<data name="PasswordRequiresNonLetterAndDigit"><value>A senha deve conter pelo menos um caractere especial (nem um número nem uma letra).</value></data>
|
||||
<data name="PasswordRequiresDigit"><value>As senhas devem conter pelo menos um número ('0' à '9').</value></data>
|
||||
<data name="PasswordRequiresUpper"><value>As senhas devem conter pelo menos uma letra maiúscula ('A' à 'Z').</value></data>
|
||||
<data name="PassAndConfirmDontMach"><value>A senha e sua confirmação não são as mesmas.</value></data>
|
||||
<data name="PasswordConfirm"><value>Confirmação de senha</value></data>
|
||||
<data name="ConfirmPassword"><value>Confirme sua senha</value></data>
|
||||
<data name="ErrorSendingEmailForConfirm"><value>O envio de e-mail para confirmação do endereço de e-mail falhou.</value></data>
|
||||
<data name="EmailSentForConfirm"><value>Um e-mail foi enviado para confirmação do endereço de e-mail.</value></data>
|
||||
<data name="ConfirmYourAccountTitle"><value>Por favor, confirme seu endereço de e-mail</value></data>
|
||||
<data name="ConfirmYourAccountBody"><value>Você criou sua conta {0} com sucesso,
|
||||
mas o seu endereço de e-mail tem que ser confirmado.
|
||||
Para fazer isso, siga o seguinte link : <{1}>.
|
||||
|
||||
--
|
||||
{0} - {2} <{3}></value></data>
|
||||
<data name="BadStringLength"><value>Tamanho máximo: {0} caractere.</value></data>
|
||||
<data name="DetailledMinMaxStringLength"><value>Este campo é
|
||||
pelo menos {0} e no máximo {1} caractere (s).</value></data>
|
||||
<data name="DetailledMaxStringLength"><value>Este campo é
|
||||
no máximo {0} caracter (es) ({1} em excesso). </value></data>
|
||||
<data name="EmailSentToPerformer"><value>Um e-mail foi enviado para {0}.</value></data>
|
||||
<data name="QueryValidatedNonReg"><value>Um cliente acabou de validar uma solicitação de serviço contra você:
|
||||
|
||||
Benefício: {0}
|
||||
Cliente: {1}
|
||||
Data: {2}
|
||||
Endereço: {3}
|
||||
|
||||
-----
|
||||
{4}
|
||||
|
||||
Fatura esperada (não liquidada): {5}</value></data>
|
||||
<data name="QueryValidatedRegular"><value>Um cliente acabou de validar uma solicitação de serviço contra você:
|
||||
|
||||
Benefício: {0}
|
||||
Cliente: {1}
|
||||
Data: {2}
|
||||
Endereço: {3}
|
||||
|
||||
-----
|
||||
{4}
|
||||
|
||||
Conjunto de faturas: {5}</value></data>
|
||||
|
||||
<data name="AllowMonthlyEmail"><value>Receba a newsletter mensal</value></data>
|
||||
|
||||
<!-- Coiffure -->
|
||||
<data name="Defris"><value>alisamento</value></data>
|
||||
<data name="HalfLong"><value>meio-longo</value></data>
|
||||
<data name="MobileHairCut"><value>Cabeleireiro em casa</value></data>
|
||||
<data name="HairCutQuery"><value>benefício en Cabeleireiro em casa</value></data>
|
||||
<data name="HairCutQueryValidation"><value>Um pedido (de {0}) em cabeleireiro em casa acaba de ser validado</value></data>
|
||||
<data name="Kid"><value>criança</value></data>
|
||||
<data name="Mech"><value>Meches</value></data>
|
||||
|
||||
</root>
|
60
Yavsc/Services/GoogleApis/Translate.cs
Normal file
60
Yavsc/Services/GoogleApis/Translate.cs
Normal file
@ -0,0 +1,60 @@
|
||||
using Yavsc.Server;
|
||||
using GoogleTranslateNET;
|
||||
using System;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Microsoft.Extensions.OptionsModel;
|
||||
using Microsoft.AspNet.Localization;
|
||||
using System.Linq;
|
||||
|
||||
namespace Yavsc.Services.GoogleApis
|
||||
{
|
||||
public class Translator : ITranslator
|
||||
{
|
||||
GoogleTranslate _gg;
|
||||
ILogger _logger;
|
||||
|
||||
public Translator(ILoggerFactory loggerFactory,
|
||||
IOptions<RequestLocalizationOptions> rqLocOptions,
|
||||
IOptions<GoogleAuthSettings> gSettings)
|
||||
{
|
||||
_gg = new GoogleTranslate(gSettings.Value.ApiKey);
|
||||
_logger = loggerFactory.CreateLogger<Translator>();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="lang"></param>
|
||||
/// <returns></returns>
|
||||
static Language GetLanguageFromCountryCode(string lang)
|
||||
{
|
||||
switch (lang) {
|
||||
case "fr":
|
||||
case "fr-FR":
|
||||
case "French":
|
||||
return Language.French;
|
||||
|
||||
case "en":
|
||||
case "en-GB":
|
||||
case "en-US":
|
||||
case "English":
|
||||
return Language.English;
|
||||
|
||||
case "pt":
|
||||
case "br":
|
||||
return Language.Portuguese;
|
||||
}
|
||||
return Language.Automatic;
|
||||
}
|
||||
|
||||
public string[] Translate(string slang, string dlang, string[] text)
|
||||
{
|
||||
var destinationLanguage = GetLanguageFromCountryCode(dlang);
|
||||
if (destinationLanguage == Language.Unknown)
|
||||
throw new Exception ("destinationLanguage == Language.Unknown");
|
||||
var sourceLanguage = GetLanguageFromCountryCode(slang);
|
||||
var gResult = _gg.Translate(sourceLanguage, destinationLanguage, text);
|
||||
return gResult.Select(tr => tr.TranslatedText).ToArray();
|
||||
}
|
||||
}
|
||||
}
|
@ -5,6 +5,9 @@ using Microsoft.Extensions.Logging;
|
||||
using Microsoft.AspNet.Authorization;
|
||||
using Microsoft.Extensions.OptionsModel;
|
||||
using Yavsc.Models;
|
||||
using Microsoft.Data.Entity;
|
||||
using System.Linq;
|
||||
using Yavsc.Models.Blog;
|
||||
|
||||
namespace Yavsc.ViewComponents
|
||||
{
|
||||
@ -26,9 +29,31 @@ namespace Yavsc.ViewComponents
|
||||
}
|
||||
|
||||
// Renders blog index ofr the specified user by name
|
||||
public async Task<IViewComponentResult> InvokeAsync(string userName)
|
||||
public async Task<IViewComponentResult> InvokeAsync(string viewerId, int skip=0, int maxLen=25)
|
||||
{
|
||||
return View("Default");
|
||||
long[] usercircles = _context.Circle.Include(c=>c.Members).
|
||||
Where(c=>c.Members.Any(m=>m.MemberId == viewerId))
|
||||
.Select(c=>c.Id).ToArray();
|
||||
IQueryable<BlogPost> posts ;
|
||||
var allposts = _context.Blogspot
|
||||
.Include(b => b.Author)
|
||||
.Include(p=>p.ACL)
|
||||
.Include(p=>p.Tags)
|
||||
.Include(p=>p.Comments)
|
||||
.Where(p=>p.AuthorId == viewerId || p.Visible);
|
||||
|
||||
if (usercircles != null) {
|
||||
posts = allposts.Where(p=> p.ACL.Count==0 || p.ACL.Any(a=> usercircles.Contains(a.CircleId)))
|
||||
;
|
||||
}
|
||||
else {
|
||||
posts = allposts.Where(p => p.ACL.Count == 0);
|
||||
}
|
||||
|
||||
var data = posts.OrderByDescending( p=> p.DateCreated).ToArray();
|
||||
var grouped = data.GroupBy(p=> p.Title).Skip(skip).Take(maxLen);
|
||||
|
||||
return View("Default", grouped);
|
||||
}
|
||||
}
|
||||
}
|
@ -39,17 +39,6 @@
|
||||
<h2>@ViewData["Title"]</h2>
|
||||
<p class="text-success">@ViewData["StatusMessage"]</p>
|
||||
@if (User.IsSignedIn()) {
|
||||
<label>
|
||||
<input type="checkbox" id="cbv" checked/>Invisibles, posts privés</label>
|
||||
<script>
|
||||
$("#cbv").change(function() {
|
||||
if (this.checked) {
|
||||
$("tr.hiddenpost").removeClass("hidden");
|
||||
} else {
|
||||
$("tr.hiddenpost").addClass("hidden");
|
||||
}
|
||||
});
|
||||
</script>
|
||||
<p>
|
||||
<a asp-action="Create">@SR["Create a new article"]</a>
|
||||
</p>
|
||||
@ -57,68 +46,6 @@
|
||||
|
||||
<div class="container">
|
||||
|
||||
@await Component.InvokeAsync("BlogIndex",User.GetUserId(),0,25)
|
||||
|
||||
|
||||
@foreach (var group in Model) {
|
||||
var title = group.Key;
|
||||
string secondclass="";
|
||||
var first = group.First();
|
||||
string trclass = (first.Visible) ? "visiblepost" : "hiddenpost";
|
||||
<div class="row @trclass">
|
||||
<div class="col-xs-10">
|
||||
<a asp-action="Title" asp-route-id="@title" >
|
||||
<h3 markdown="@first.Title"></h3>
|
||||
@if (first.Photo==null) { }
|
||||
else {<img src="@first.Photo" class="blogphoto" alt="@first.Title">}
|
||||
</a>
|
||||
|
||||
<div class="smalltext" markdown="@((first.Content?.Length > 256) ? first.Content.Substring(0, 256) + "..." : first.Content)"></div>
|
||||
<div class="smalltext"> @first.Author.UserName ,
|
||||
(posté le @first.DateCreated.ToString("dddd d MMM yyyy à H:mm")
|
||||
@if ((first.DateModified - first.DateCreated).Minutes > 0){
|
||||
@:- Modifié le @first.DateModified.ToString("dddd d MMM yyyy à H:mm",System.Globalization.CultureInfo.CurrentUICulture)
|
||||
})</div>
|
||||
</div>
|
||||
<div class="col-xs-2">
|
||||
<ul class="actiongroup">
|
||||
@if (await AuthorizationService.AuthorizeAsync(User, first, new ViewRequirement())) {
|
||||
<li>
|
||||
<a asp-action="Details" asp-route-id="@first.Id" class="btn btn-lg">Details</a>
|
||||
</li>
|
||||
}
|
||||
@if (await AuthorizationService.AuthorizeAsync(User, first, new EditRequirement())) {
|
||||
<li><a asp-action="Edit" asp-route-id="@first.Id" class="btn btn-default">@SR["Edit"]</a>
|
||||
</li>
|
||||
<li><a asp-action="Delete" asp-route-id="@first.Id" class="btn btn-danger">@SR["Delete"]</a>
|
||||
</li>
|
||||
}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
long gcount = group.Count();
|
||||
@if (gcount>1) {
|
||||
<div class="sametitle">
|
||||
<div class="sametitlegrip">@(gcount-1) autre@(gcount>2?"s":"") au même titre:</div>
|
||||
|
||||
|
||||
@foreach (var item in group.Skip(1)) {
|
||||
trclass = ((item.Visible)?"visiblepost":"hiddenpost");
|
||||
<div class="row @trclass">
|
||||
<div class="col-xs-10">
|
||||
<markdown>
|
||||
@((item.Content?.Length > 120) ? item.Content.Substring(0, 120) + "..." : item.Content)
|
||||
</markdown>
|
||||
</div>
|
||||
<div class="col-xs-2">
|
||||
<a asp-action="Details" asp-route-id="@item.Id" class="btn btn-lg">
|
||||
le @item.DateModified.ToString("dddd d MMM yyyy à H:mm",System.Globalization.CultureInfo.CurrentUICulture)
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
}
|
||||
}
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
@ -163,9 +163,7 @@ La "pré-production" affiche les sites suivants:
|
||||
* [Lua](https://lua.pschneider.fr)
|
||||
|
||||
</markdown>
|
||||
</environment>
|
||||
<p>
|
||||
@Model
|
||||
</p>
|
||||
</environment>
|
||||
|
||||
|
||||
|
167
Yavsc/Views/Home/About.pt.cshtml
Executable file
167
Yavsc/Views/Home/About.pt.cshtml
Executable file
@ -0,0 +1,167 @@
|
||||
@{
|
||||
ViewData["Title"] = @SR["About"]+" "+@SiteSettings.Value.Title;
|
||||
}
|
||||
<h1>@ViewData["Title"]</h1>
|
||||
<environment names="freefield,Development">
|
||||
|
||||
<markdown>
|
||||
## O objetivo
|
||||
|
||||
Esta aplicação é construída para conectar artistas
|
||||
do campo musical com seu público.
|
||||
|
||||
## Operation
|
||||
|
||||
Os usuários do site são artista, cliente ou administrador. Todos eles têm direito ao seu blog.
|
||||
Para artistas, é uma maneira de promover seus negócios.
|
||||
Eles podem publicar artigos, cheios de vídeos e fotos.
|
||||
Para os clientes, é uma maneira de quebrar o gelo com seus ídolos,
|
||||
pela descrição detalhada de seus centros de interesse.
|
||||
|
||||
O aplicativo também alimenta um mensageiro instantâneo, disponível desde
|
||||
um navegador da web ou de um aplicativo para dispositivos móveis
|
||||
pode garantir a preservação do sigilo sobre qualquer informação pessoal,
|
||||
cliente e provedor.
|
||||
|
||||
Então venha (ou não) um pedido, um pagamento do cliente,
|
||||
a entrega, uma coleta do retorno do cliente e um pagamento do provedor de serviços.
|
||||
|
||||
Nem o cliente nem o provedor são anônimos para os aplicativos,
|
||||
eles são até formalmente autenticados pela aquisição de um primeiro
|
||||
faturamento on-line ou ao entrar em seu perfil profissional.
|
||||
|
||||
Durante a fase de construção de um contrato de serviço,
|
||||
o cliente e o artista podem se beneficiar de um canal de comunicação privado e anônimo,
|
||||
que está fechado para a validação final do referido contrato.
|
||||
|
||||
Valide um contrato é:
|
||||
|
||||
* Escolha o tipo de contrato
|
||||
* Concordo com os parâmetros do contrato
|
||||
* Faça ambas as partes assinarem
|
||||
* Implementar qualquer adiantamento
|
||||
|
||||
Uma vez validado, o contrato é publicado para ambas as partes. a fatura é publicada para o cliente,
|
||||
quem pode homenageá-lo ao sistema, caso em que esse cliente recebe uma pontuação de solvente e o contrato é marcado como provisionado.
|
||||
|
||||
Em caso de falta de fornecimento, o sistema terá o cuidado de marcar o contrato como provisório, e avisar o artista
|
||||
para executar qualquer serviço relacionado, pois o pagamento associado deixa dúvidas.
|
||||
|
||||
Depois que o serviço associado tiver sido executado, os pagamentos relativos serão feitos ao artista.
|
||||
|
||||
Para um contrato executado e não honrado pelo cliente, o processo de processo de recuperação é contratado, caso contrário, o contrato é arquivado,
|
||||
Os certificados de pagamento estão disponíveis para o artista e a fatura é marcada como paga e depois repassada ao cliente.
|
||||
|
||||
### Para o artista
|
||||
|
||||
O artista escolhe vários parâmetros que farão o seu perfil:
|
||||
|
||||
* O tipo de atividades que ele quer promover, o tipo de serviços que ele oferece (é um DJ,
|
||||
um cantor solo, um músico solo, um conjunto musical clássico, uma banda)
|
||||
* O preço de seu contato com um novo cliente
|
||||
(quanto recebo por solicitação de cliente processada sem peso de mais de um dia)
|
||||
* O lugar onde ele pratica e, se sim, até onde ele pode se mover.
|
||||
* um calendário opcional do Google, para consultar para estabelecer sua disponibilidade
|
||||
* Parâmetros adicionais dependendo do tipo de atividade, por exemplo, para
|
||||
conjuntos, seu tamanho, se houver, seu repertório ou indicações do estilo de sua música)
|
||||
|
||||
### Para o cliente
|
||||
|
||||
Ele escolhe um lugar e uma data para declarar um evento futuro
|
||||
(Ele pode programar o quanto quiser).
|
||||
|
||||
Ele pode, navegar pelas publicações dos artistas e começar,
|
||||
com base em um de seus projetos de eventos, a negociação de um contrato de serviço.
|
||||
|
||||
Ele tem acesso ao conhecimento de dias conhecidos como artistas livres pelo sistema.
|
||||
|
||||
## Confidencialidade
|
||||
|
||||
Em nenhum momento, nenhum endereço de correspondência, nenhum endereço de e-mail e nenhum número de telefone
|
||||
não são transmitidos para clientes ou artistas. Apenas o sistema tem acesso a essas informações.
|
||||
|
||||
Além disso, o direito de retirada é permanente e sua implementação imediata.
|
||||
Artistas e clientes podem solicitar sua desinscrição,
|
||||
que imediatamente desativa as publicações associadas às suas informações,
|
||||
e planeia a eliminação completa desta informação no prazo de quinze dias
|
||||
do aplicativo, a menos que seja um pedido contraditório.
|
||||
A operação é anulável até duas semanas após a sua programação.
|
||||
</markdown>
|
||||
</environment>
|
||||
|
||||
<environment names="Lua,Development">
|
||||
<markdown>Este é o meu site perso, uma configuração de _Yavsc_ (outro negócio muito pequeno).
|
||||
|
||||
* [README](https://github.com/pazof/yavsc/blob/vnext/README.md)
|
||||
* [licença: GNU GPL v3](https://github.com/pazof/yavsc/blob/vnext/LICENSE)
|
||||
|
||||
Outras instalações:
|
||||
</markdown>
|
||||
<markdown>
|
||||
* [Coiffure](http://coiffure.pschneider.fr)
|
||||
* [ZicMoove](http://linkmuse.pschneider.fr)
|
||||
* [Yavsc](http://yavsc.pschneider.fr)
|
||||
</markdown>
|
||||
</environment>
|
||||
|
||||
<environment names="Yavsc">
|
||||
<markdown>
|
||||
Yet Another Very Small Company ...
|
||||
|
||||
* [README](https://github.com/pazof/yavsc/blob/vnext/README.md)
|
||||
* [license: GNU FPL v3](https://github.com/pazof/yavsc/blob/vnext/LICENSE)
|
||||
|
||||
</markdown>
|
||||
</environment>
|
||||
|
||||
<environment names="YavscPre">
|
||||
<markdown>
|
||||
## Yet Another Very Small Company :
|
||||
* [README](https://github.com/pazof/yavsc/blob/vnext/README.md)
|
||||
* [license: GNU FPL v3](https://github.com/pazof/yavsc/blob/vnext/LICENSE)
|
||||
|
||||
En production:
|
||||
|
||||
* [Coiffure](https://coiffure.pschneider.fr)
|
||||
* [ZicMoove](https://zicmoove.pschneider.fr)
|
||||
* [Lua](https://lua.pschneider.fr)
|
||||
* [Yavsc](https://yavsc.pschneider.fr)
|
||||
|
||||
</markdown>
|
||||
</environment>
|
||||
|
||||
|
||||
<environment names="coiffure">
|
||||
<markdown>
|
||||
Você está no site da ordem em cabeleireiro em casa de Soraya Boudjouraf,
|
||||
um ás de cabeleireiro, que trabalha na região de Paris.
|
||||
|
||||
Ao validar um formulário de pedido aqui, é para ela que você notifica sua solicitação.
|
||||
|
||||
Você pode [Deixe-lhe o seu número de telefone] (/ HairCutCommand / HairCut? ActivityCode = Brush & performerId = 1bd841ab-c305-4971-940d-7ddca818310c)
|
||||
e / ou detalhes sobre o seu pedido,
|
||||
ela vai ligar de volta.</markdown>
|
||||
</environment>
|
||||
|
||||
<environment names="Development">
|
||||
<markdown>
|
||||
## Este é um site de desenvolvimento.
|
||||
|
||||
Este recurso só diz respeito ao desenvolvimento do software que o implementa.
|
||||
É efêmero e praticamente constantemente força 500 códigos.
|
||||
|
||||
Por favor, desculpe a equipe de desenvolvimento para informá-lo sobre este endereço e pelo inconveniente.
|
||||
|
||||
A "pré-produção" exibe os seguintes sites:
|
||||
|
||||
* [Coiffure](https://coiffure.pschneider.fr)
|
||||
* [ZicMoove](https://zicmoove.pschneider.fr)
|
||||
* [Yavsc](https://yavsc.pschneider.fr)
|
||||
* [Lua](https://lua.pschneider.fr)
|
||||
|
||||
</markdown>
|
||||
</environment>
|
||||
|
||||
<p>
|
||||
@Model
|
||||
</p>
|
64
Yavsc/Views/Shared/Components/BlogIndex/Default.cshtml
Normal file
64
Yavsc/Views/Shared/Components/BlogIndex/Default.cshtml
Normal file
@ -0,0 +1,64 @@
|
||||
@model IEnumerable<IGrouping<string,BlogPost>>
|
||||
|
||||
@if (User.IsSignedIn()) {
|
||||
|
||||
<label>
|
||||
<input type="checkbox" id="_cbv" checked/>Invisibles, posts privés</label>
|
||||
<script>
|
||||
$("#_cbv").change(function() {
|
||||
if (this.checked) {
|
||||
$("tr.hiddenpost").removeClass("hidden");
|
||||
} else {
|
||||
$("tr.hiddenpost").addClass("hidden");
|
||||
}
|
||||
});
|
||||
</script>
|
||||
}
|
||||
|
||||
<table class="table">
|
||||
@foreach (var group in Model) {
|
||||
var title = group.Key ?? "@";
|
||||
string secondclass="";
|
||||
var first = group.First();
|
||||
string ftrclass = (first.Visible) ? "visiblepost" : "hiddenpost";
|
||||
|
||||
<tr><td colspan="3">
|
||||
<a asp-action="Title" asp-route-id="@group.Key" >@title</a></td></tr>
|
||||
@foreach (var item in group) {
|
||||
var trclass = (item.Visible)?"visiblepost":"hiddenpost";
|
||||
|
||||
<tr class="@trclass">
|
||||
<td><a asp-action="Details" asp-route-id="@item.Id" class="bloglink">
|
||||
<img src="@item.Photo" class="blogphoto"></a>
|
||||
</td>
|
||||
<td>
|
||||
<markdown>@((item.Content?.Length > 256) ? item.Content.Substring(0, 256) + " ..." : item.Content)</markdown>
|
||||
<span style="font-size:x-small;">(@item.Author.UserName </span>,
|
||||
<span style="font-size:xx-small;">
|
||||
posté le @item.DateCreated.ToString("dddd d MMM yyyy à H:mm")
|
||||
@if ((item.DateModified - item.DateCreated).Minutes > 0){
|
||||
@:- Modifié le @item.DateModified.ToString("dddd d MMM yyyy à H:mm")
|
||||
})
|
||||
</span>
|
||||
</td>
|
||||
<td>
|
||||
<ul class="actiongroup">
|
||||
@if (await AuthorizationService.AuthorizeAsync(User, item, new ViewRequirement())) {
|
||||
<li>
|
||||
<a asp-action="Details" asp-route-id="@item.Id" class="btn btn-lg">@SR["Details"]</a>
|
||||
</li>
|
||||
}
|
||||
@if (await AuthorizationService.AuthorizeAsync(User, item, new EditRequirement())) {
|
||||
<li><a asp-action="Edit" asp-route-id="@item.Id" class="btn btn-default">@SR["Edit"]</a>
|
||||
</li>
|
||||
<li><a asp-action="Delete" asp-route-id="@item.Id" class="btn btn-danger">@SR["Delete"]</a>
|
||||
</li>
|
||||
}
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
}
|
||||
</table>
|
||||
|
||||
|
@ -37,7 +37,6 @@
|
||||
|
||||
@using Yavsc.ViewModels;
|
||||
@using Yavsc.ViewModels.Account;
|
||||
@using Yavsc.ViewModels.Blogspot;
|
||||
@using Yavsc.ViewModels.Administration;
|
||||
@using Yavsc.ViewModels.Auth;
|
||||
@using Yavsc.ViewModels.Manage;
|
||||
|
@ -136,8 +136,13 @@
|
||||
"version": "2.7.109"
|
||||
},
|
||||
"Gapi.net45": "1.0.1",
|
||||
"Yavsc.Abstract": { "type": "build" },
|
||||
"Yavsc.Server": { "type": "build" }
|
||||
"Yavsc.Abstract": {
|
||||
"type": "build"
|
||||
},
|
||||
"Yavsc.Server": {
|
||||
"type": "build"
|
||||
},
|
||||
"GoogleTranslate": "1.0.5"
|
||||
},
|
||||
"commands": {
|
||||
"web": "Microsoft.AspNet.Server.Kestrel --server.urls http://*:5000",
|
||||
|
@ -372,10 +372,12 @@ footer {
|
||||
}
|
||||
|
||||
.blogphoto {
|
||||
float: left;
|
||||
margin: 1em;
|
||||
max-width: 100em;
|
||||
max-height: 100em;
|
||||
max-width: 100%;
|
||||
max-height: 100%;
|
||||
image-orientation: from-image; /* Utilise les données EXIF
|
||||
de l'image */
|
||||
|
||||
}
|
||||
|
||||
body {
|
||||
|
Reference in New Issue
Block a user