brusher profile & commands

vnext
Paul Schneider 8 years ago
parent 9973f0dcc7
commit 208e339bf8
25 changed files with 3114 additions and 38 deletions

@ -0,0 +1,123 @@
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNet.Mvc;
using System.Security.Claims;
using Microsoft.Data.Entity;
using Yavsc.Models;
using Yavsc.Models.Haircut;
using Microsoft.AspNet.Authorization;
using System;
namespace Yavsc.Controllers
{
[Authorize(Roles="Performer")]
public class BrusherProfileController : Controller
{
private ApplicationDbContext _context;
public BrusherProfileController(ApplicationDbContext context)
{
_context = context;
}
// GET: BrusherProfile
public async Task<IActionResult> Index()
{
var existing = await _context.BrusherProfile.SingleOrDefaultAsync(p=>p.UserId == User.GetUserId());
return View(existing);
}
// GET: BrusherProfile/Details/5
public async Task<IActionResult> Details(string id)
{
if (id == null)
{
id = User.GetUserId();
}
BrusherProfile brusherProfile = await _context.BrusherProfile.SingleAsync(m => m.UserId == id);
if (brusherProfile == null)
{
return HttpNotFound();
}
return View(brusherProfile);
}
// GET: BrusherProfile/Create
public IActionResult Create()
{
return View();
}
// GET: BrusherProfile/Edit/5
public async Task<IActionResult> Edit(string id)
{
if (id == null)
{
id = User.GetUserId();
}
BrusherProfile brusherProfile = await _context.BrusherProfile.SingleOrDefaultAsync(m => m.UserId == id);
if (brusherProfile == null)
{
brusherProfile = new BrusherProfile { };
}
return View(brusherProfile);
}
// POST: BrusherProfile/Edit/5
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Edit(BrusherProfile brusherProfile)
{
if (string.IsNullOrEmpty(brusherProfile.UserId))
{
// a creation
brusherProfile.UserId = User.GetUserId();
if (ModelState.IsValid)
{
_context.BrusherProfile.Add(brusherProfile);
await _context.SaveChangesAsync();
return RedirectToAction("Index");
}
}
else if (ModelState.IsValid)
{
_context.Update(brusherProfile);
await _context.SaveChangesAsync();
return RedirectToAction("Index");
}
return View(brusherProfile);
}
// GET: BrusherProfile/Delete/5
[ActionName("Delete")]
public async Task<IActionResult> Delete(string id)
{
if (id == null)
{
return HttpNotFound();
}
BrusherProfile brusherProfile = await _context.BrusherProfile.SingleAsync(m => m.UserId == id);
if (brusherProfile == null)
{
return HttpNotFound();
}
return View(brusherProfile);
}
// POST: BrusherProfile/Delete/5
[HttpPost, ActionName("Delete")]
[ValidateAntiForgeryToken]
public async Task<IActionResult> DeleteConfirmed(string id)
{
BrusherProfile brusherProfile = await _context.BrusherProfile.SingleAsync(m => m.UserId == id);
_context.BrusherProfile.Remove(brusherProfile);
await _context.SaveChangesAsync();
return RedirectToAction("Index");
}
}
}

@ -48,7 +48,7 @@ namespace Yavsc.Controllers
}
ViewBag.HasConfigurableSettings = (userActivity.Does.SettingsClassName != null);
if (ViewBag.HasConfigurableSettings)
ViewBag.SettingsClassControllerName = Startup.ProfileTypes[userActivity.Does.SettingsClassName].Name;
ViewBag.SettingsControllerName = Startup.ProfileTypes[userActivity.Does.SettingsClassName].Name;
return View(userActivity);
}

@ -11,9 +11,11 @@ namespace Yavsc.Controllers
{
using Helpers;
using Microsoft.AspNet.Http;
using Microsoft.Extensions.Localization;
using Models;
using Newtonsoft.Json;
using ViewModels.FrontOffice;
using Yavsc.Extensions;
using Yavsc.Models.Haircut;
using Yavsc.ViewModels.Haircut;
@ -23,13 +25,17 @@ namespace Yavsc.Controllers
UserManager<ApplicationUser> _userManager;
ILogger _logger;
IStringLocalizer _SR;
public FrontOfficeController(ApplicationDbContext context,
UserManager<ApplicationUser> userManager,
ILoggerFactory loggerFactory)
ILoggerFactory loggerFactory,
IStringLocalizer<Yavsc.Resources.YavscLocalisation> SR)
{
_context = context;
_userManager = userManager;
_logger = loggerFactory.CreateLogger<FrontOfficeController>();
_SR = SR;
}
public ActionResult Index()
{
@ -70,11 +76,13 @@ namespace Yavsc.Controllers
if (prestaJson!=null) {
pPrestation = JsonConvert.DeserializeObject<HairPrestation>(prestaJson);
}
else pPrestation = new HairPrestation {
};
else pPrestation = new HairPrestation {};
ViewBag.HairTaints = _context.HairTaint.Include(t=>t.Color);
ViewBag.HairTechnos = EnumExtensions.GetSelectList(typeof(HairTechnos),_SR);
ViewBag.HairLength = EnumExtensions.GetSelectList(typeof(HairLength),_SR);
ViewBag.Activity = _context.Activities.First(a => a.Code == id);
ViewBag.Gender = EnumExtensions.GetSelectList(typeof(HairCutGenders),_SR);
ViewBag.HairDressings = EnumExtensions.GetSelectList(typeof(HairDressings),_SR);
var result = new HairCutView {
HairBrushers = _context.ListPerformers(id),
Topic = pPrestation

@ -1,7 +1,5 @@
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNet.Mvc;
using Microsoft.AspNet.Mvc.Rendering;
using Microsoft.Data.Entity;
using Yavsc.Models;
using Yavsc.Models.Haircut;

@ -0,0 +1,78 @@

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Reflection;
using Microsoft.AspNet.Mvc.Rendering;
using Microsoft.Extensions.Localization;
namespace Yavsc.Extensions
{
public static class EnumExtensions
{
public static List<SelectListItem> GetSelectList (Type type, IStringLocalizer SR, Enum valueSelected)
{
var typeInfo = type.GetTypeInfo();
var values = Enum.GetValues(type).Cast<Enum>();
var items = new List<SelectListItem>();
foreach (var value in values)
{
items.Add(new SelectListItem {
Text = SR[GetDescription(value, typeInfo)],
Value = value.ToString(),
Selected = value == valueSelected
});
}
return items;
}
public static List<SelectListItem> GetSelectList (Type type, IStringLocalizer SR)
{
var typeInfo = type.GetTypeInfo();
var values = Enum.GetValues(type).Cast<Enum>();
var items = new List<SelectListItem>();
foreach (var value in values)
{
items.Add(new SelectListItem {
Text = SR[GetDescription(value, typeInfo)],
Value = value.ToString()
});
}
return items;
}
public static string GetDescription(this Enum value, TypeInfo typeInfo )
{
var declaredMember = typeInfo.DeclaredMembers.FirstOrDefault(i => i.Name == value.ToString());
var attribute = declaredMember?.GetCustomAttribute<DisplayAttribute>();
return attribute == null ? value.ToString() : attribute.Description ?? attribute.Name;
}
public static string GetDescription(this Enum value)
{
var type = value.GetType();
var typeInfo = type.GetTypeInfo();
return GetDescription(value, typeInfo);
}
public static IEnumerable<string> GetDescriptions(Type type)
{
var values = Enum.GetValues(type).Cast<Enum>();
var descriptions = new List<string>();
foreach (var value in values)
{
descriptions.Add(value.GetDescription());
}
return descriptions;
}
public static Enum GetEnumFromDescription(string description, Type enumType)
{
var enumValues = Enum.GetValues(enumType).Cast<Enum>();
var descriptionToEnum = enumValues.ToDictionary(k => k.GetDescription(), v => v);
return descriptionToEnum[description];
}
}
}

@ -1,7 +1,6 @@
using System;
using Microsoft.Data.Entity;
using Microsoft.Data.Entity.Infrastructure;
using Microsoft.Data.Entity.Metadata;
using Microsoft.Data.Entity.Migrations;
using Yavsc.Models;

@ -1,5 +1,4 @@
using System;
using System.Collections.Generic;
using Microsoft.Data.Entity.Migrations;
namespace Yavsc.Migrations

File diff suppressed because it is too large Load Diff

@ -0,0 +1,602 @@
using System;
using System.Collections.Generic;
using Microsoft.Data.Entity.Migrations;
namespace Yavsc.Migrations
{
public partial class brusherProfile : 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_Blog_BlogPostId", table: "CircleAuthorizationToBlogPost");
migrationBuilder.DropForeignKey(name: "FK_CircleAuthorizationToBlogPost_Circle_CircleId", table: "CircleAuthorizationToBlogPost");
migrationBuilder.DropForeignKey(name: "FK_AccountBalance_ApplicationUser_UserId", table: "AccountBalance");
migrationBuilder.DropForeignKey(name: "FK_BalanceImpact_AccountBalance_BalanceId", table: "BalanceImpact");
migrationBuilder.DropForeignKey(name: "FK_CommandLine_Estimate_EstimateId", table: "CommandLine");
migrationBuilder.DropForeignKey(name: "FK_Estimate_ApplicationUser_ClientId", table: "Estimate");
migrationBuilder.DropForeignKey(name: "FK_Estimate_PerformerProfile_OwnerId", table: "Estimate");
migrationBuilder.DropForeignKey(name: "FK_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_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_HairTaint_Color_ColorId", table: "HairTaint");
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_CircleMember_Circle_CircleId", table: "CircleMember");
migrationBuilder.DropForeignKey(name: "FK_CircleMember_ApplicationUser_MemberId", table: "CircleMember");
migrationBuilder.DropForeignKey(name: "FK_PostTag_Blog_PostId", table: "PostTag");
migrationBuilder.DropForeignKey(name: "FK_CommandForm_Activity_ActivityCode", table: "CommandForm");
migrationBuilder.DropForeignKey(name: "FK_PerformerProfile_Location_OrganizationAddressId", table: "PerformerProfile");
migrationBuilder.DropForeignKey(name: "FK_PerformerProfile_ApplicationUser_PerformerId", table: "PerformerProfile");
migrationBuilder.DropForeignKey(name: "FK_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.CreateTable(
name: "BrusherProfile",
columns: table => new
{
UserId = table.Column<string>(nullable: false),
CarePrice = table.Column<decimal>(nullable: false),
EndOfTheDay = table.Column<int>(nullable: false),
HalfBalayagePrice = table.Column<decimal>(nullable: false),
HalfBrushingPrice = table.Column<decimal>(nullable: false),
HalfColorPrice = table.Column<decimal>(nullable: false),
HalfDefrisPrice = table.Column<decimal>(nullable: false),
HalfMechPrice = table.Column<decimal>(nullable: false),
HalfMultiColorPrice = table.Column<decimal>(nullable: false),
HalfPermanentPrice = table.Column<decimal>(nullable: false),
KidCutPrice = table.Column<decimal>(nullable: false),
LongBalayagePrice = table.Column<decimal>(nullable: false),
LongBrushingPrice = table.Column<decimal>(nullable: false),
LongColorPrice = table.Column<decimal>(nullable: false),
LongDefrisPrice = table.Column<decimal>(nullable: false),
LongMechPrice = table.Column<decimal>(nullable: false),
LongMultiColorPrice = table.Column<decimal>(nullable: false),
LongPermanentPrice = table.Column<decimal>(nullable: false),
ManCutPrice = table.Column<decimal>(nullable: false),
ShampooPrice = table.Column<decimal>(nullable: false),
ShortBalayagePrice = table.Column<decimal>(nullable: false),
ShortBrushingPrice = table.Column<decimal>(nullable: false),
ShortColorPrice = table.Column<decimal>(nullable: false),
ShortDefrisPrice = table.Column<decimal>(nullable: false),
ShortMechPrice = table.Column<decimal>(nullable: false),
ShortMultiColorPrice = table.Column<decimal>(nullable: false),
ShortPermanentPrice = table.Column<decimal>(nullable: false),
StartOfTheDay = table.Column<int>(nullable: false),
WomenHalfCutPrice = table.Column<decimal>(nullable: false),
WomenLongCutPrice = table.Column<decimal>(nullable: false),
WomenShortCutPrice = table.Column<decimal>(nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_BrusherProfile", x => x.UserId);
});
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_Blog_BlogPostId",
table: "CircleAuthorizationToBlogPost",
column: "BlogPostId",
principalTable: "Blog",
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_Estimate_PerformerProfile_OwnerId",
table: "Estimate",
column: "OwnerId",
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_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_HairTaint_Color_ColorId",
table: "HairTaint",
column: "ColorId",
principalTable: "Color",
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_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_PostTag_Blog_PostId",
table: "PostTag",
column: "PostId",
principalTable: "Blog",
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);
}
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_Blog_BlogPostId", table: "CircleAuthorizationToBlogPost");
migrationBuilder.DropForeignKey(name: "FK_CircleAuthorizationToBlogPost_Circle_CircleId", table: "CircleAuthorizationToBlogPost");
migrationBuilder.DropForeignKey(name: "FK_AccountBalance_ApplicationUser_UserId", table: "AccountBalance");
migrationBuilder.DropForeignKey(name: "FK_BalanceImpact_AccountBalance_BalanceId", table: "BalanceImpact");
migrationBuilder.DropForeignKey(name: "FK_CommandLine_Estimate_EstimateId", table: "CommandLine");
migrationBuilder.DropForeignKey(name: "FK_Estimate_ApplicationUser_ClientId", table: "Estimate");
migrationBuilder.DropForeignKey(name: "FK_Estimate_PerformerProfile_OwnerId", table: "Estimate");
migrationBuilder.DropForeignKey(name: "FK_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_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_HairTaint_Color_ColorId", table: "HairTaint");
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_CircleMember_Circle_CircleId", table: "CircleMember");
migrationBuilder.DropForeignKey(name: "FK_CircleMember_ApplicationUser_MemberId", table: "CircleMember");
migrationBuilder.DropForeignKey(name: "FK_PostTag_Blog_PostId", table: "PostTag");
migrationBuilder.DropForeignKey(name: "FK_CommandForm_Activity_ActivityCode", table: "CommandForm");
migrationBuilder.DropForeignKey(name: "FK_PerformerProfile_Location_OrganizationAddressId", table: "PerformerProfile");
migrationBuilder.DropForeignKey(name: "FK_PerformerProfile_ApplicationUser_PerformerId", table: "PerformerProfile");
migrationBuilder.DropForeignKey(name: "FK_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.DropTable("BrusherProfile");
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_Blog_BlogPostId",
table: "CircleAuthorizationToBlogPost",
column: "BlogPostId",
principalTable: "Blog",
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_Estimate_PerformerProfile_OwnerId",
table: "Estimate",
column: "OwnerId",
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_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_HairTaint_Color_ColorId",
table: "HairTaint",
column: "ColorId",
principalTable: "Color",
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_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_PostTag_Blog_PostId",
table: "PostTag",
column: "PostId",
principalTable: "Blog",
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);
}
}
}

@ -441,6 +441,73 @@ namespace Yavsc.Migrations
b.HasKey("Id");
});
modelBuilder.Entity("Yavsc.Models.Haircut.BrusherProfile", b =>
{
b.Property<string>("UserId");
b.Property<decimal>("CarePrice");
b.Property<int>("EndOfTheDay");
b.Property<decimal>("HalfBalayagePrice");
b.Property<decimal>("HalfBrushingPrice");
b.Property<decimal>("HalfColorPrice");
b.Property<decimal>("HalfDefrisPrice");
b.Property<decimal>("HalfMechPrice");
b.Property<decimal>("HalfMultiColorPrice");
b.Property<decimal>("HalfPermanentPrice");
b.Property<decimal>("KidCutPrice");
b.Property<decimal>("LongBalayagePrice");
b.Property<decimal>("LongBrushingPrice");
b.Property<decimal>("LongColorPrice");
b.Property<decimal>("LongDefrisPrice");
b.Property<decimal>("LongMechPrice");
b.Property<decimal>("LongMultiColorPrice");
b.Property<decimal>("LongPermanentPrice");
b.Property<decimal>("ManCutPrice");
b.Property<decimal>("ShampooPrice");
b.Property<decimal>("ShortBalayagePrice");
b.Property<decimal>("ShortBrushingPrice");
b.Property<decimal>("ShortColorPrice");
b.Property<decimal>("ShortDefrisPrice");
b.Property<decimal>("ShortMechPrice");
b.Property<decimal>("ShortMultiColorPrice");
b.Property<decimal>("ShortPermanentPrice");
b.Property<int>("StartOfTheDay");
b.Property<decimal>("WomenHalfCutPrice");
b.Property<decimal>("WomenLongCutPrice");
b.Property<decimal>("WomenShortCutPrice");
b.HasKey("UserId");
});
modelBuilder.Entity("Yavsc.Models.Haircut.HairCutQuery", b =>
{
b.Property<long>("Id")

@ -273,6 +273,8 @@ namespace Yavsc.Models
public DbSet<DimissClicked> DimissClicked { get; set; }
public DbSet<HairPrestation> HairPrestation { get; set; }
public DbSet<BrusherProfile> BrusherProfile { get; set; }
}

@ -0,0 +1,118 @@
using System.ComponentModel.DataAnnotations;
using YavscLib;
namespace Yavsc.Models.Haircut
{
public class BrusherProfile : ISpecializationSettings
{
[Key]
public string UserId
{
get; set;
}
/// <summary>
/// StartOfTheDay In munutes
/// </summary>
/// <returns></returns>
[Display(Name="Début de la journée")]
public int StartOfTheDay { get; set;}
/// <summary>
/// End Of The Day, In munutes
/// </summary>
/// <returns></returns>
[Display(Name="Fin de la journée")]
public int EndOfTheDay { get; set;}
[Display(Name="Coût d'une coupe femme cheveux longs")]
public decimal WomenLongCutPrice { get; set; }
[Display(Name="Coût d'une coupe femme cheveux mi-longs")]
public decimal WomenHalfCutPrice { get; set; }
[Display(Name="Coût d'une coupe femme cheveux courts")]
public decimal WomenShortCutPrice { get; set; }
[Display(Name="Coût d'une coupe homme")]
public decimal ManCutPrice { get; set; }
[Display(Name="Coût d'une coupe enfant")]
public decimal KidCutPrice { get; set; }
[Display(Name="Coût d'un brushing cheveux longs")]
public decimal LongBrushingPrice { get; set; }
[Display(Name="Coût d'un brushing cheveux mi-longs")]
public decimal HalfBrushingPrice { get; set; }
[Display(Name="Coût d'un brushing cheveux courts")]
public decimal ShortBrushingPrice { get; set; }
[Display(Name="Coût du shamoing")]
public decimal ShampooPrice { get; set; }
[Display(Name="Coût du soin")]
public decimal CarePrice { get; set; }
[Display(Name="Coût d'une couleur cheveux longs")]
public decimal LongColorPrice { get; set; }
[Display(Name="Coût d'une couleur cheveux mi-longs")]
public decimal HalfColorPrice { get; set; }
[Display(Name="Coût d'une couleur cheveux courts")]
public decimal ShortColorPrice { get; set; }
[Display(Name="Coût d'une couleur multiple cheveux longs")]
public decimal LongMultiColorPrice { get; set; }
[Display(Name="Coût d'une couleur multiple cheveux mi-longs")]
public decimal HalfMultiColorPrice { get; set; }
[Display(Name="Coût d'une couleur multiple cheveux courts")]
public decimal ShortMultiColorPrice { get; set; }
[Display(Name="Coût d'une permanente cheveux longs")]
public decimal LongPermanentPrice { get; set; }
[Display(Name="Coût d'une permanente cheveux mi-longs")]
public decimal HalfPermanentPrice { get; set; }
[Display(Name="Coût d'une permanente cheveux courts")]
public decimal ShortPermanentPrice { get; set; }
[Display(Name="Coût d'un défrisage cheveux longs")]
public decimal LongDefrisPrice { get; set; }
[Display(Name="Coût d'un défrisage cheveux mi-longs")]
public decimal HalfDefrisPrice { get; set; }
[Display(Name="Coût d'un défrisage cheveux courts")]
public decimal ShortDefrisPrice { get; set; }
[Display(Name="Coût des mêches sur cheveux longs")]
public decimal LongMechPrice { get; set; }
[Display(Name="Coût des mêches sur cheveux mi-longs")]
public decimal HalfMechPrice { get; set; }
[Display(Name="Coût des mêches sur cheveux courts")]
public decimal ShortMechPrice { get; set; }
[Display(Name="Coût du balayage cheveux longs")]
public decimal LongBalayagePrice { get; set; }
[Display(Name="Coût du balayage cheveux mi-longs")]
public decimal HalfBalayagePrice { get; set; }
[Display(Name="Coût du balayage cheveux courts")]
public decimal ShortBalayagePrice { get; set; }
}
}

@ -1,9 +1,17 @@
using System.ComponentModel.DataAnnotations;
namespace Yavsc.Models.Haircut
{
public enum HairCutGenders : int
{
Kid = 1,
[Display(Name="Femme")]
Women,
[Display(Name="Homme")]
Man,
Women
[Display(Name="Enfant")]
Kid
}
}

@ -1,9 +1,16 @@
using System.ComponentModel.DataAnnotations;
namespace Yavsc.Models.Haircut
{
public enum HairLength : int
{
Short = 1,
[Display(Name="Mi-longs")]
HalfLong,
[Display(Name="Courts")]
Short = 1,
[Display(Name="Longs")]
Long
}
}

@ -23,7 +23,7 @@ namespace Yavsc.Models.Haircut
public HairDressings Dressing { get; set; }
[Display(Name="Technique")]
[Display(Name="Technique")]
public HairTechnos Tech { get; set; }
[Display(Name="Shampoing")]

@ -5,6 +5,10 @@ namespace Yavsc.Models.Haircut
public enum HairTechnos
{
[Display(Name="Aucune technique spécifique")]
None,
[Display(Name="Couleur")]
Color,
[Display(Name="Permantante")]

@ -0,0 +1,202 @@
@model Yavsc.Models.Haircut.BrusherProfile
@{
ViewData["Title"] = "Delete";
}
<h2>Delete</h2>
<h3>Are you sure you want to delete this?</h3>
<div>
<h4>BrusherProfile</h4>
<hr />
<dl class="dl-horizontal">
<dt>
@Html.DisplayNameFor(model => model.CarePrice)
</dt>
<dd>
@Html.DisplayFor(model => model.CarePrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.EndOfTheDay)
</dt>
<dd>
@Html.DisplayFor(model => model.EndOfTheDay)
</dd>
<dt>
@Html.DisplayNameFor(model => model.HalfBalayagePrice)
</dt>
<dd>
@Html.DisplayFor(model => model.HalfBalayagePrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.HalfBrushingPrice)
</dt>
<dd>
@Html.DisplayFor(model => model.HalfBrushingPrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.HalfColorPrice)
</dt>
<dd>
@Html.DisplayFor(model => model.HalfColorPrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.HalfDefrisPrice)
</dt>
<dd>
@Html.DisplayFor(model => model.HalfDefrisPrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.HalfMechPrice)
</dt>
<dd>
@Html.DisplayFor(model => model.HalfMechPrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.HalfMultiColorPrice)
</dt>
<dd>
@Html.DisplayFor(model => model.HalfMultiColorPrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.HalfPermanentPrice)
</dt>
<dd>
@Html.DisplayFor(model => model.HalfPermanentPrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.KidCutPrice)
</dt>
<dd>
@Html.DisplayFor(model => model.KidCutPrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.LongBalayagePrice)
</dt>
<dd>
@Html.DisplayFor(model => model.LongBalayagePrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.LongBrushingPrice)
</dt>
<dd>
@Html.DisplayFor(model => model.LongBrushingPrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.LongColorPrice)
</dt>
<dd>
@Html.DisplayFor(model => model.LongColorPrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.LongDefrisPrice)
</dt>
<dd>
@Html.DisplayFor(model => model.LongDefrisPrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.LongMechPrice)
</dt>
<dd>
@Html.DisplayFor(model => model.LongMechPrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.LongMultiColorPrice)
</dt>
<dd>
@Html.DisplayFor(model => model.LongMultiColorPrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.LongPermanentPrice)
</dt>
<dd>
@Html.DisplayFor(model => model.LongPermanentPrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.ManCutPrice)
</dt>
<dd>
@Html.DisplayFor(model => model.ManCutPrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.ShampooPrice)
</dt>
<dd>
@Html.DisplayFor(model => model.ShampooPrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.ShortBalayagePrice)
</dt>
<dd>
@Html.DisplayFor(model => model.ShortBalayagePrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.ShortBrushingPrice)
</dt>
<dd>
@Html.DisplayFor(model => model.ShortBrushingPrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.ShortColorPrice)
</dt>
<dd>
@Html.DisplayFor(model => model.ShortColorPrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.ShortDefrisPrice)
</dt>
<dd>
@Html.DisplayFor(model => model.ShortDefrisPrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.ShortMechPrice)
</dt>
<dd>
@Html.DisplayFor(model => model.ShortMechPrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.ShortMultiColorPrice)
</dt>
<dd>
@Html.DisplayFor(model => model.ShortMultiColorPrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.ShortPermanentPrice)
</dt>
<dd>
@Html.DisplayFor(model => model.ShortPermanentPrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.StartOfTheDay)
</dt>
<dd>
@Html.DisplayFor(model => model.StartOfTheDay)
</dd>
<dt>
@Html.DisplayNameFor(model => model.WomenHalfCutPrice)
</dt>
<dd>
@Html.DisplayFor(model => model.WomenHalfCutPrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.WomenLongCutPrice)
</dt>
<dd>
@Html.DisplayFor(model => model.WomenLongCutPrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.WomenShortCutPrice)
</dt>
<dd>
@Html.DisplayFor(model => model.WomenShortCutPrice)
</dd>
</dl>
<form asp-action="Delete">
<div class="form-actions no-color">
<input type="submit" value="Delete" class="btn btn-default" /> |
<a asp-action="Index">@SR["Annuler"]</a>
</div>
</form>
</div>

@ -0,0 +1,241 @@
@model Yavsc.Models.Haircut.BrusherProfile
@{
ViewData["Title"] = "Edit";
}
<h2>Edit</h2>
<form asp-action="Edit">
<div class="form-horizontal">
<h4>BrusherProfile</h4>
<hr />
<fieldset><legend>Disponibilité</legend>
<div class="form-group">
<label asp-for="StartOfTheDay" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="StartOfTheDay" class="form-control" />
<span asp-validation-for="StartOfTheDay" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="EndOfTheDay" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="EndOfTheDay" class="form-control" />
<span asp-validation-for="EndOfTheDay" class="text-danger" />
</div>
</div>
</fieldset>
<fieldset><legend>Grille tarifaire</legend>
<div asp-validation-summary="ValidationSummary.ModelOnly" class="text-danger"></div>
<input type="hidden" asp-for="UserId" />
<div class="form-group">
<label asp-for="CarePrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="CarePrice" class="form-control" />
<span asp-validation-for="CarePrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="HalfBalayagePrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="HalfBalayagePrice" class="form-control" />
<span asp-validation-for="HalfBalayagePrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="HalfBrushingPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="HalfBrushingPrice" class="form-control" />
<span asp-validation-for="HalfBrushingPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="HalfColorPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="HalfColorPrice" class="form-control" />
<span asp-validation-for="HalfColorPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="HalfDefrisPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="HalfDefrisPrice" class="form-control" />
<span asp-validation-for="HalfDefrisPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="HalfMechPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="HalfMechPrice" class="form-control" />
<span asp-validation-for="HalfMechPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="HalfMultiColorPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="HalfMultiColorPrice" class="form-control" />
<span asp-validation-for="HalfMultiColorPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="HalfPermanentPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="HalfPermanentPrice" class="form-control" />
<span asp-validation-for="HalfPermanentPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="KidCutPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="KidCutPrice" class="form-control" />
<span asp-validation-for="KidCutPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="LongBalayagePrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="LongBalayagePrice" class="form-control" />
<span asp-validation-for="LongBalayagePrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="LongBrushingPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="LongBrushingPrice" class="form-control" />
<span asp-validation-for="LongBrushingPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="LongColorPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="LongColorPrice" class="form-control" />
<span asp-validation-for="LongColorPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="LongDefrisPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="LongDefrisPrice" class="form-control" />
<span asp-validation-for="LongDefrisPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="LongMechPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="LongMechPrice" class="form-control" />
<span asp-validation-for="LongMechPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="LongMultiColorPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="LongMultiColorPrice" class="form-control" />
<span asp-validation-for="LongMultiColorPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="LongPermanentPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="LongPermanentPrice" class="form-control" />
<span asp-validation-for="LongPermanentPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="ManCutPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="ManCutPrice" class="form-control" />
<span asp-validation-for="ManCutPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="ShampooPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="ShampooPrice" class="form-control" />
<span asp-validation-for="ShampooPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="ShortBalayagePrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="ShortBalayagePrice" class="form-control" />
<span asp-validation-for="ShortBalayagePrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="ShortBrushingPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="ShortBrushingPrice" class="form-control" />
<span asp-validation-for="ShortBrushingPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="ShortColorPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="ShortColorPrice" class="form-control" />
<span asp-validation-for="ShortColorPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="ShortDefrisPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="ShortDefrisPrice" class="form-control" />
<span asp-validation-for="ShortDefrisPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="ShortMechPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="ShortMechPrice" class="form-control" />
<span asp-validation-for="ShortMechPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="ShortMultiColorPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="ShortMultiColorPrice" class="form-control" />
<span asp-validation-for="ShortMultiColorPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="ShortPermanentPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="ShortPermanentPrice" class="form-control" />
<span asp-validation-for="ShortPermanentPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="WomenHalfCutPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="WomenHalfCutPrice" class="form-control" />
<span asp-validation-for="WomenHalfCutPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="WomenLongCutPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="WomenLongCutPrice" class="form-control" />
<span asp-validation-for="WomenLongCutPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="WomenShortCutPrice" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="WomenShortCutPrice" class="form-control" />
<span asp-validation-for="WomenShortCutPrice" class="text-danger" />
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Save" class="btn btn-default" />
</div>
</div>
</fieldset>
</div>
</form>
<div>
<a asp-action="Index">Annuler</a>
</div>

@ -0,0 +1,205 @@
@model Yavsc.Models.Haircut.BrusherProfile
@{
ViewData["Title"] = "Profile coiffeur";
}
<h2>@ViewData["Title"]</h2>
<div>
<hr />
@if (Model!=null) {
<dl class="dl-horizontal">
<dt>
@Html.DisplayNameFor(model => model.EndOfTheDay)
</dt>
<dd>
@Html.Partial("HourFromMinutes", Model.EndOfTheDay)
</dd>
<dt>
@Html.DisplayNameFor(model => model.StartOfTheDay)
</dt>
<dd>
@Html.Partial("HourFromMinutes", Model.StartOfTheDay)
</dd>
<dt>
@Html.DisplayNameFor(model => model.CarePrice)
</dt>
<dd>
@Html.DisplayFor(model => model.CarePrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.HalfBalayagePrice)
</dt>
<dd>
@Html.DisplayFor(model => model.HalfBalayagePrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.HalfBrushingPrice)
</dt>
<dd>
@Html.DisplayFor(model => model.HalfBrushingPrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.HalfColorPrice)
</dt>
<dd>
@Html.DisplayFor(model => model.HalfColorPrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.HalfDefrisPrice)
</dt>
<dd>
@Html.DisplayFor(model => model.HalfDefrisPrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.HalfMechPrice)
</dt>
<dd>
@Html.DisplayFor(model => model.HalfMechPrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.HalfMultiColorPrice)
</dt>
<dd>
@Html.DisplayFor(model => model.HalfMultiColorPrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.HalfPermanentPrice)
</dt>
<dd>
@Html.DisplayFor(model => model.HalfPermanentPrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.KidCutPrice)
</dt>
<dd>
@Html.DisplayFor(model => model.KidCutPrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.LongBalayagePrice)
</dt>
<dd>
@Html.DisplayFor(model => model.LongBalayagePrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.LongBrushingPrice)
</dt>
<dd>
@Html.DisplayFor(model => model.LongBrushingPrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.LongColorPrice)
</dt>
<dd>
@Html.DisplayFor(model => model.LongColorPrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.LongDefrisPrice)
</dt>
<dd>
@Html.DisplayFor(model => model.LongDefrisPrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.LongMechPrice)
</dt>
<dd>
@Html.DisplayFor(model => model.LongMechPrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.LongMultiColorPrice)
</dt>
<dd>
@Html.DisplayFor(model => model.LongMultiColorPrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.LongPermanentPrice)
</dt>
<dd>
@Html.DisplayFor(model => model.LongPermanentPrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.ManCutPrice)
</dt>
<dd>
@Html.DisplayFor(model => model.ManCutPrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.ShampooPrice)
</dt>
<dd>
@Html.DisplayFor(model => model.ShampooPrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.ShortBalayagePrice)
</dt>
<dd>
@Html.DisplayFor(model => model.ShortBalayagePrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.ShortBrushingPrice)
</dt>
<dd>
@Html.DisplayFor(model => model.ShortBrushingPrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.ShortColorPrice)
</dt>
<dd>
@Html.DisplayFor(model => model.ShortColorPrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.ShortDefrisPrice)
</dt>
<dd>
@Html.DisplayFor(model => model.ShortDefrisPrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.ShortMechPrice)
</dt>
<dd>
@Html.DisplayFor(model => model.ShortMechPrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.ShortMultiColorPrice)
</dt>
<dd>
@Html.DisplayFor(model => model.ShortMultiColorPrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.ShortPermanentPrice)
</dt>
<dd>
@Html.DisplayFor(model => model.ShortPermanentPrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.WomenHalfCutPrice)
</dt>
<dd>
@Html.DisplayFor(model => model.WomenHalfCutPrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.WomenLongCutPrice)
</dt>
<dd>
@Html.DisplayFor(model => model.WomenLongCutPrice)
</dd>
<dt>
@Html.DisplayNameFor(model => model.WomenShortCutPrice)
</dt>
<dd>
@Html.DisplayFor(model => model.WomenShortCutPrice)
</dd>
</dl>}
else {
@SR["Aucun profile renseigné"]
}
</div>
<p>
<a asp-action="Edit" >@SR["Edit"]</a>
@if (Model!=null) {
<a asp-action="Delete" asp-route-id="@Model.UserId">@SR["Delete"]</a>
}
</p>

@ -13,7 +13,7 @@
<dt>@SR["Activity"]</dt>
<dd> @Html.DisplayFor(m=>m.Does)
@if (ViewBag.HasConfigurableSettings) {
<a asp-controller="@ViewBag.SettingsClassControllerName" asp-action="Index" >
<a asp-controller="@ViewBag.SettingsControllerName" asp-action="Index" >
[@SR["Manage"] @SR[Model.Does.SettingsClassName]]
</a>
}

@ -1,25 +1,31 @@
@model HairCutView
@{
ViewData["Title"] = "Book - " + (ViewBag.Activity?.Name ?? SR["Any"]);
ViewData["Title"] = $"{ViewBag.Activity.Name}: Votre commande";
}
<em>@ViewBag.Activity.Description</em>
@Html.DisplayFor(m=>m)
<form asp-controller="HairCutCommand" asp-action="CreateHairCutQuery" >
<form asp-controller="HairCutCommand" asp-action="HairCutProfiles" >
<div class="form-horizontal">
<h4>HairPrestation</h4>
<h1>@ViewData["Title"]</h1>
<hr />
<div asp-validation-summary="ValidationSummary.ModelOnly" class="text-danger"></div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<div class="checkbox">
<input asp-for="Topic.Cares" />
<label asp-for="Topic.Cares"></label>
</div>
<label asp-for="Topic.Gender" class="col-md-2 control-label"></label>
<div class="col-md-10">
<select asp-for="Topic.Gender" asp-items="@ViewBag.Gender" class="form-control"></select>
<span asp-validation-for="Topic.Gender" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="Topic.Length" class="col-md-2 control-label"></label>
<div class="col-md-10">
<select asp-for="Topic.Length" asp-items="@ViewBag.HairLength" class="form-control"></select>
<span asp-validation-for="Topic.Length" class="text-danger" />
</div>
</div>
<div class="form-group">
@ -31,24 +37,31 @@
</div>
</div>
<div class="form-group">
<label asp-for="Topic.Dressing" class="col-md-2 control-label"></label>
<label asp-for="Topic.Dressing" asp-items="@ViewBag.Dressing" class="col-md-2 control-label"></label>
<div class="col-md-10">
<select asp-for="Topic.Dressing" class="form-control"></select>
<select asp-for="Topic.Dressing" class="form-control" asp-items="@ViewBag.HairDressings"></select>
<span asp-validation-for="Topic.Dressing" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="Topic.Gender" class="col-md-2 control-label"></label>
<label asp-for="Topic.Tech" class="col-md-2 control-label"></label>
<div class="col-md-10">
<select asp-for="Topic.Gender" class="form-control"></select>
<span asp-validation-for="Topic.Gender" class="text-danger" />
<select asp-for="Topic.Tech" asp-items="@ViewBag.HairTechnos" class="form-control"></select>
<span asp-validation-for="Topic.Tech" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="Topic.Length" class="col-md-2 control-label"></label>
<label asp-for="Topic.Taints" class="col-md-2 control-label"></label>
<div class="col-md-10">
<select asp-for="Topic.Length" class="form-control"></select>
<span asp-validation-for="Topic.Length" class="text-danger" />
@foreach (HairTaint color in ViewBag.HairTaints) {
<label>
<input type="checkbox" value="@color.Id" name="Topic.Taints[]"/>
@await Html.PartialAsync("HairTaint",color)
</label>
}
<input type="hidden" asp-for="Topic.Taints" />
<span asp-validation-for="Topic.Taints" class="text-danger" />
</div>
</div>
<div class="form-group">
@ -60,14 +73,14 @@
</div>
</div>
<div class="form-group">
<label asp-for="Topic.Tech" class="col-md-2 control-label"></label>
<div class="col-md-10">
<select asp-for="Topic.Tech" class="form-control"></select>
<span asp-validation-for="Topic.Tech" class="text-danger" />
<div class="col-md-offset-2 col-md-10">
<div class="checkbox">
<input asp-for="Topic.Cares" />
<label asp-for="Topic.Cares"></label>
</div>
</div>
</div>
<input type="hidden" name="activityCode" value="@ViewBag.Activity.Code" />
<input type="submit" value="@SR["Selectionnez maintenant votre prestataire"]"/>
</form>
</form>

@ -1,8 +1,9 @@
@model IEnumerable<PerformerProfile>
@{
ViewData["Title"] = "Book - " + (ViewBag.Activity?.Name ?? SR["Any"]);
ViewData["Title"] = "Les profiles - " + (ViewBag.Activity?.Name ?? SR["Any"]);
}
<h1>@ViewData["Title"]</h1>
<em>@ViewBag.Activity.Description</em>
@foreach (var profile in Model) {

@ -0,0 +1,2 @@
@model HairTaint
@Html.DisplayFor(m=>m.Color) (@Model.Brand)

@ -0,0 +1,2 @@
@model int
@(Model/60):@(Model%60)

@ -21,6 +21,7 @@
@using Yavsc.Models.Workflow;
@using Yavsc.Models.Relationship
@using Yavsc.Models.Drawing;
@using Yavsc.Models.Haircut;
@using Yavsc.ViewModels.Account;
@using Yavsc.ViewModels.Manage;

Loading…