diff --git a/Yavsc/ApiControllers/FrontOfficeApiController.cs b/Yavsc/ApiControllers/FrontOfficeApiController.cs index c4538e1f..5e0ad710 100644 --- a/Yavsc/ApiControllers/FrontOfficeApiController.cs +++ b/Yavsc/ApiControllers/FrontOfficeApiController.cs @@ -5,6 +5,7 @@ using Yavsc.Helpers; using Yavsc.Models; using Yavsc.Models.Workflow; using Yavsc.Services; +using Yavsc.ViewModels.FrontOffice; namespace Yavsc.ApiControllers { @@ -12,18 +13,21 @@ namespace Yavsc.ApiControllers public class FrontOfficeApiController: Controller { ApplicationDbContext dbContext; - public FrontOfficeApiController(ApplicationDbContext context) + private IBillingService billing; + + public FrontOfficeApiController(ApplicationDbContext context, IBillingService billing) { dbContext = context; + this.billing = billing; } - [HttpGet,Route("profiles/{actCode}")] - IEnumerable Profiles (string actCode) + [HttpGet("profiles/{actCode}")] + IEnumerable Profiles (string actCode) { - return dbContext.ListPerformers(actCode); + return dbContext.ListPerformers(billing, actCode); } - [HttpPost,Route("query/reject")] + [HttpPost("query/reject")] public IActionResult RejectQuery (string billingCode, long queryId) { if (billingCode==null) return HttpBadRequest("billingCode"); diff --git a/Yavsc/ApiControllers/PerformersApiController.cs b/Yavsc/ApiControllers/PerformersApiController.cs index 6e819b88..7001e116 100644 --- a/Yavsc/ApiControllers/PerformersApiController.cs +++ b/Yavsc/ApiControllers/PerformersApiController.cs @@ -9,15 +9,19 @@ namespace Yavsc.Controllers { using Models; using Yavsc.Helpers; + using Yavsc.Services; [Produces("application/json")] [Route("api/performers")] public class PerformersApiController : Controller { ApplicationDbContext dbContext; - public PerformersApiController(ApplicationDbContext context) + private IBillingService billing; + + public PerformersApiController(ApplicationDbContext context, IBillingService billing) { dbContext = context; + this.billing = billing; } /// @@ -56,7 +60,7 @@ namespace Yavsc.Controllers [HttpGet("doing/{id}"),AllowAnonymous] public IActionResult ListPerformers(string id) { - return Ok(dbContext.ListPerformers(id)); + return Ok(dbContext.ListPerformers(billing, id)); } } } diff --git a/Yavsc/AppDatacoiffure/googledatastore/Google.Apis.Auth.OAuth2.Responses.TokenResponse-102000595368078995008 b/Yavsc/AppDatacoiffure/googledatastore/Google.Apis.Auth.OAuth2.Responses.TokenResponse-102000595368078995008 new file mode 100644 index 00000000..6f2c23c7 --- /dev/null +++ b/Yavsc/AppDatacoiffure/googledatastore/Google.Apis.Auth.OAuth2.Responses.TokenResponse-102000595368078995008 @@ -0,0 +1 @@ +{"access_token":"ya29.GmnbBd3zsDsLPjI-ZkGhHLRiXI14NeNx7CJ5_XMlzu_1qOaLsrL-m3VWbKopO19yrnwK9z8CA6tv2QNxR3dkAU3Fsb29j6vcPsX3R7VNElHLCiwBF4w9jeNsA7fgw-0ydDjc3X78Oh_xlfM","token_type":"Bearer","expires_in":3600,"Issued":"2018-06-15T11:18:16.208+02:00","IssuedUtc":"2018-06-15T11:18:16.208+02:00"} \ No newline at end of file diff --git a/Yavsc/AppDatacoiffure/googledatastore/Google.Apis.Auth.OAuth2.Responses.TokenResponse-111395572362177872801 b/Yavsc/AppDatacoiffure/googledatastore/Google.Apis.Auth.OAuth2.Responses.TokenResponse-111395572362177872801 new file mode 100644 index 00000000..0e9d008d --- /dev/null +++ b/Yavsc/AppDatacoiffure/googledatastore/Google.Apis.Auth.OAuth2.Responses.TokenResponse-111395572362177872801 @@ -0,0 +1 @@ +{"access_token":"ya29.GmnbBfcZapScUHU2T2Bb2c8t5D4uUbsfrFRXxe05zYQTG22BmnHjeU33QeqJFSPxo8H5fk0EuN2YrhwZxa0FRjkdhOHOTtCwqUubfdN5tfIpXci3PKBBe9kAEI5LlLDxRMprak03VCyDwfg","token_type":"Bearer","expires_in":3599,"Issued":"2018-06-15T15:05:41.809+02:00","IssuedUtc":"2018-06-15T15:05:41.809+02:00"} \ No newline at end of file diff --git a/Yavsc/Controllers/Accounting/ManageController.cs b/Yavsc/Controllers/Accounting/ManageController.cs index d5a27401..66e5d6cf 100644 --- a/Yavsc/Controllers/Accounting/ManageController.cs +++ b/Yavsc/Controllers/Accounting/ManageController.cs @@ -125,7 +125,7 @@ namespace Yavsc.Controllers }; model.HaveProfessionalSettings = _dbContext.Performers.Any(x => x.PerformerId == user.Id); var usrActs = _dbContext.UserActivities.Include(a=>a.Does).Where(a=> a.UserId == user.Id).ToArray(); - +// TODO remember me who this magical a.Settings is built var usrActToSet = usrActs.Where( a => ( a.Settings == null && a.Does.SettingsClassName != null )).ToArray(); model.HaveActivityToConfigure = usrActToSet .Count()>0; model.Activity = _dbContext.UserActivities.Include(a=>a.Does).Where(u=>u.UserId == user.Id).ToList(); diff --git a/Yavsc/Controllers/Contracting/DoController.cs b/Yavsc/Controllers/Contracting/DoController.cs index 61ef2480..aedf7ef9 100644 --- a/Yavsc/Controllers/Contracting/DoController.cs +++ b/Yavsc/Controllers/Contracting/DoController.cs @@ -68,7 +68,6 @@ namespace Yavsc.Controllers Settings = settings, NeedsSettings = hasConfigurableSettings }; - logger.LogInformation(JsonConvert.SerializeObject(gift.Settings)); return View (gift); } diff --git a/Yavsc/Controllers/Contracting/FrontOfficeController.cs b/Yavsc/Controllers/Contracting/FrontOfficeController.cs index fc92405e..a8ce89fd 100644 --- a/Yavsc/Controllers/Contracting/FrontOfficeController.cs +++ b/Yavsc/Controllers/Contracting/FrontOfficeController.cs @@ -24,8 +24,11 @@ namespace Yavsc.Controllers ILogger _logger; IStringLocalizer _SR; + private IBillingService _billing; + public FrontOfficeController(ApplicationDbContext context, UserManager userManager, + IBillingService billing, ILoggerFactory loggerFactory, IStringLocalizer SR) { @@ -33,6 +36,7 @@ namespace Yavsc.Controllers _userManager = userManager; _logger = loggerFactory.CreateLogger(); _SR = SR; + _billing = billing; } public ActionResult Index() { @@ -61,7 +65,7 @@ namespace Yavsc.Controllers throw new NotImplementedException("No Activity code"); } ViewBag.Activity = _context.Activities.FirstOrDefault(a => a.Code == id); - var result = _context.ListPerformers(id); + var result = _context.ListPerformers(_billing, id); return View(result); } [AllowAnonymous] @@ -72,7 +76,7 @@ namespace Yavsc.Controllers throw new NotImplementedException("No Activity code"); } ViewBag.Activity = _context.Activities.FirstOrDefault(a => a.Code == id); - var result = _context.ListPerformers(id); + var result = _context.ListPerformers(_billing, id); return View(result); } diff --git a/Yavsc/Controllers/Contracting/Haircut/BrusherProfileController.cs b/Yavsc/Controllers/Haircut/BrusherProfileController.cs similarity index 100% rename from Yavsc/Controllers/Contracting/Haircut/BrusherProfileController.cs rename to Yavsc/Controllers/Haircut/BrusherProfileController.cs diff --git a/Yavsc/Controllers/Contracting/Haircut/ColorsController.cs b/Yavsc/Controllers/Haircut/ColorsController.cs similarity index 100% rename from Yavsc/Controllers/Contracting/Haircut/ColorsController.cs rename to Yavsc/Controllers/Haircut/ColorsController.cs diff --git a/Yavsc/Controllers/Contracting/Haircut/HairCutCommandController.cs b/Yavsc/Controllers/Haircut/HairCutCommandController.cs similarity index 100% rename from Yavsc/Controllers/Contracting/Haircut/HairCutCommandController.cs rename to Yavsc/Controllers/Haircut/HairCutCommandController.cs diff --git a/Yavsc/Controllers/Contracting/Haircut/HairPrestationsController.cs b/Yavsc/Controllers/Haircut/HairPrestationsController.cs similarity index 100% rename from Yavsc/Controllers/Contracting/Haircut/HairPrestationsController.cs rename to Yavsc/Controllers/Haircut/HairPrestationsController.cs diff --git a/Yavsc/Controllers/Contracting/Haircut/HairTaintsController.cs b/Yavsc/Controllers/Haircut/HairTaintsController.cs similarity index 100% rename from Yavsc/Controllers/Contracting/Haircut/HairTaintsController.cs rename to Yavsc/Controllers/Haircut/HairTaintsController.cs diff --git a/Yavsc/Helpers/WorkflowHelpers.cs b/Yavsc/Helpers/WorkflowHelpers.cs index ff0443ba..40887703 100644 --- a/Yavsc/Helpers/WorkflowHelpers.cs +++ b/Yavsc/Helpers/WorkflowHelpers.cs @@ -7,16 +7,32 @@ namespace Yavsc.Helpers using Microsoft.Data.Entity; using Models.Workflow; using Yavsc.Models; + using Yavsc.Services; + using Yavsc.ViewModels.FrontOffice; + public static class WorkflowHelpers { - public static List ListPerformers(this ApplicationDbContext context, string actCode) + public static List ListPerformers(this ApplicationDbContext context, + IBillingService billing, + string actCode) { - return context.Performers + var settings = billing.GetPerformersSettingsAsync(actCode).Result?.ToArray(); + + var actors = context.Performers .Include(p=>p.Activity) .Include(p=>p.Performer) .Include(p=>p.Performer.Posts) .Include(p=>p.Performer.Devices) - .Where(p => p.Active && p.Activity.Any(u=>u.DoesCode==actCode)).OrderBy( x => x.Rate ).ToList(); + .Where(p => p.Active && p.Activity.Any(u=>u.DoesCode==actCode)).OrderBy( x => x.Rate ) + .ToArray(); + List result = new List (); + + foreach (var perfer in actors) + { + var view = new PerformerProfileViewModel(perfer, actCode, settings?.FirstOrDefault(s => s.UserId == perfer.PerformerId)); + result.Add(view); + } + return result; } } diff --git a/Yavsc/Resources/Yavsc.ViewModels.FrontOffice.PerformerProfileViewModel.fr.resx b/Yavsc/Resources/Yavsc.ViewModels.FrontOffice.PerformerProfileViewModel.fr.resx new file mode 100644 index 00000000..10dff903 --- /dev/null +++ b/Yavsc/Resources/Yavsc.ViewModels.FrontOffice.PerformerProfileViewModel.fr.resx @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Identifiant prestataire + \ No newline at end of file diff --git a/Yavsc/Services/BillingService.cs b/Yavsc/Services/BillingService.cs index 1165020e..cf00bd6e 100644 --- a/Yavsc/Services/BillingService.cs +++ b/Yavsc/Services/BillingService.cs @@ -45,17 +45,12 @@ namespace Yavsc.Services public async Task> GetPerformersSettingsAsync(string activityCode) { - logger.LogDebug("searching for "+activityCode); var activity = await DbContext.Activities.SingleAsync(a=>a.Code == activityCode); - logger.LogDebug(JsonConvert.SerializeObject(activity)); - + if (activity.SettingsClassName==null) return null; var dbSetPropInfo = UserSettings.SingleOrDefault(s => s.PropertyType.GenericTypeArguments[0].FullName == activity.SettingsClassName); if (dbSetPropInfo == null) return null; - // var settingType = dbSetPropInfo.PropertyType; - // var dbSetType = typeof(DbSet<>).MakeGenericType(new Type[] { settingType } ); - // avec une info method Remove et Update, ça le ferait ... return (IQueryable) dbSetPropInfo.GetValue(DbContext); } diff --git a/Yavsc/ViewModels/FrontOffice/PerformerProfileViewModel.cs b/Yavsc/ViewModels/FrontOffice/PerformerProfileViewModel.cs new file mode 100644 index 00000000..2705eec7 --- /dev/null +++ b/Yavsc/ViewModels/FrontOffice/PerformerProfileViewModel.cs @@ -0,0 +1,40 @@ +using System; +using System.Linq; +using Yavsc.Models; +using Yavsc.Models.Workflow; + +namespace Yavsc.ViewModels.FrontOffice +{ + public class PerformerProfileViewModel + { + public string UserName { get; set; } + public string PerformerId { get; set; } + public bool Active { get; set; } + public bool AcceptNotifications { get; set; } + public bool AcceptPublicContact { get; set; } + public UserActivity Context { get; set; } + + public object Settings { get; set; } + public UserActivity[] Extra { get; set; } + + public string WebSite { get; set; } + public string SettingsClassName { get; set; } + + public PerformerProfileViewModel(PerformerProfile profile, string activityCode, object settings) + { + UserName = profile.Performer.UserName; + PerformerId = profile.PerformerId; + Active = profile.Active; + AcceptNotifications = profile.AcceptNotifications; + AcceptPublicContact = profile.AcceptPublicContact; + Context = profile.Activity.FirstOrDefault(a => a.DoesCode == activityCode); + SettingsClassName = Context.Does.SettingsClassName; + + Settings = settings; + WebSite = profile.WebSite; + Extra = profile.Activity.Where(a => a.DoesCode != activityCode).ToArray(); + + + } + } +} \ No newline at end of file diff --git a/Yavsc/Views/BrusherProfile/Index.cshtml b/Yavsc/Views/BrusherProfile/Index.cshtml index 0035ef8c..1164dd5c 100644 --- a/Yavsc/Views/BrusherProfile/Index.cshtml +++ b/Yavsc/Views/BrusherProfile/Index.cshtml @@ -9,332 +9,8 @@
@if (Model!=null) { -
-Disponibilités + @Html.DisplayFor(model => model) - -
-
- @Html.DisplayNameFor(model => model.Schedule) -
-
- @Html.DisplayFor(model => model.Schedule) -
-
- @Html.DisplayNameFor(model => model.ActionDistance) -
-
- @Html.DisplayFor(model => model.ActionDistance) -
-
-
-
-Tarifs divers -
-
- @Html.DisplayNameFor(model => model.ShampooPrice) -
-
- @Html.DisplayFor(model => model.ShampooPrice) -
- -
- @Html.DisplayNameFor(model => model.CarePrice) -
-
- @Html.DisplayFor(model => model.CarePrice) -
-
- @Html.DisplayNameFor(model => model.FlatFeeDiscount) -
-
- @Html.DisplayFor(model => model.FlatFeeDiscount) -
-
-
- -
-Tarifs balayages - - -
-
- @Html.DisplayNameFor(model => model.LongBalayagePrice) -
-
- @Html.DisplayFor(model => model.LongBalayagePrice) -
- -
- @Html.DisplayNameFor(model => model.HalfBalayagePrice) -
-
- @Html.DisplayFor(model => model.HalfBalayagePrice) -
- -
- @Html.DisplayNameFor(model => model.ShortBalayagePrice) -
-
- @Html.DisplayFor(model => model.ShortBalayagePrice) -
-
-
- -
-Tarifs défrisage - - -
- -
- @Html.DisplayNameFor(model => model.HalfDefrisPrice) -
-
- @Html.DisplayFor(model => model.HalfDefrisPrice) -
-
- @Html.DisplayNameFor(model => model.LongDefrisPrice) -
-
- @Html.DisplayFor(model => model.LongDefrisPrice) -
-
- @Html.DisplayNameFor(model => model.ShortDefrisPrice) -
-
- @Html.DisplayFor(model => model.ShortDefrisPrice) -
-
-
- -
-Tarifs mèches - - -
-
- @Html.DisplayNameFor(model => model.HalfMechPrice) -
-
- @Html.DisplayFor(model => model.HalfMechPrice) -
-
- @Html.DisplayNameFor(model => model.LongMechPrice) -
-
- @Html.DisplayFor(model => model.LongMechPrice) -
-
- @Html.DisplayNameFor(model => model.ShortMechPrice) -
-
- @Html.DisplayFor(model => model.ShortMechPrice) -
- - - - -
-
-
-Tarifs coupes - - -
- - -
- @Html.DisplayNameFor(model => model.WomenHalfCutPrice) -
-
- @Html.DisplayFor(model => model.WomenHalfCutPrice) -
- -
- @Html.DisplayNameFor(model => model.WomenLongCutPrice) -
-
- @Html.DisplayFor(model => model.WomenLongCutPrice) -
- -
- @Html.DisplayNameFor(model => model.WomenShortCutPrice) -
-
- @Html.DisplayFor(model => model.WomenShortCutPrice) -
- - -
- @Html.DisplayNameFor(model => model.ManCutPrice) -
-
- @Html.DisplayFor(model => model.ManCutPrice) -
- -
- @Html.DisplayNameFor(model => model.KidCutPrice) -
-
- @Html.DisplayFor(model => model.KidCutPrice) -
- -
-
-
-Tarifs couleurs - - -
-
- @Html.DisplayNameFor(model => model.LongColorPrice) -
-
- @Html.DisplayFor(model => model.LongColorPrice) -
-
- @Html.DisplayNameFor(model => model.HalfColorPrice) -
-
- @Html.DisplayFor(model => model.HalfColorPrice) -
- -
- @Html.DisplayNameFor(model => model.ShortColorPrice) -
-
- @Html.DisplayFor(model => model.ShortColorPrice) -
-
-
-
- @Html.DisplayNameFor(model => model.ShortMultiColorPrice) -
-
- @Html.DisplayFor(model => model.ShortMultiColorPrice) -
-
- @Html.DisplayNameFor(model => model.HalfMultiColorPrice) -
-
- @Html.DisplayFor(model => model.HalfMultiColorPrice) -
-
- @Html.DisplayNameFor(model => model.LongMultiColorPrice) -
-
- @Html.DisplayFor(model => model.LongMultiColorPrice) -
- -
-
-
-Tarifs burshing - - -
- -
- @Html.DisplayNameFor(model => model.LongBrushingPrice) -
-
- @Html.DisplayFor(model => model.LongBrushingPrice) -
-
- @Html.DisplayNameFor(model => model.HalfBrushingPrice) -
-
- @Html.DisplayFor(model => model.HalfBrushingPrice) -
- -
- @Html.DisplayNameFor(model => model.ShortBrushingPrice) -
-
- @Html.DisplayFor(model => model.ShortBrushingPrice) -
- - - -
-
-
-Tarifs permanentes - - -
- -
- @Html.DisplayNameFor(model => model.LongPermanentPrice) -
-
- @Html.DisplayFor(model => model.LongPermanentPrice) -
-
- @Html.DisplayNameFor(model => model.HalfPermanentPrice) -
-
- @Html.DisplayFor(model => model.HalfPermanentPrice) -
- - -
- @Html.DisplayNameFor(model => model.ShortPermanentPrice) -
-
- @Html.DisplayFor(model => model.ShortPermanentPrice) -
- - - -
-
-
-Tarifs mise en plis - - -
- -
- @Html.DisplayNameFor(model => model.LongFoldingPrice) -
-
- @Html.DisplayFor(model => model.LongFoldingPrice) -
-
- @Html.DisplayNameFor(model => model.HalfFoldingPrice) -
-
- @Html.DisplayFor(model => model.HalfFoldingPrice) -
- - -
- @Html.DisplayNameFor(model => model.ShortFoldingPrice) -
-
- @Html.DisplayFor(model => model.ShortFoldingPrice) -
- - - -
-
-
-Spécialités homme - - -
-
- @Html.DisplayNameFor(model => model.ManBrushPrice) -
-
- @Html.DisplayFor(model => model.ManBrushPrice) -
- -
-

@SR["Edit"] @SR["Delete"] diff --git a/Yavsc/Views/FrontOffice/HairCut.cshtml b/Yavsc/Views/FrontOffice/HairCut.cshtml index 5a2d2970..385a6054 100644 --- a/Yavsc/Views/FrontOffice/HairCut.cshtml +++ b/Yavsc/Views/FrontOffice/HairCut.cshtml @@ -1,4 +1,4 @@ -@model IEnumerable +@model IEnumerable @{ ViewData["Title"] = (ViewBag.Activity?.Name ?? SR["Any"]) ; @@ -11,9 +11,9 @@ @Html.DisplayFor(m=>profile) - @SR["Proposer un rendez-vous à"] @profile.Performer.UserName + @SR["Proposer un rendez-vous à"] @profile.UserName } diff --git a/Yavsc/Views/FrontOffice/Profiles.cshtml b/Yavsc/Views/FrontOffice/Profiles.cshtml index e97054ce..552d6212 100644 --- a/Yavsc/Views/FrontOffice/Profiles.cshtml +++ b/Yavsc/Views/FrontOffice/Profiles.cshtml @@ -1,4 +1,4 @@ -@model IEnumerable +@model IEnumerable @{ ViewData["Title"] = (ViewBag.Activity?.Name ?? SR["Any"]) ; @@ -11,7 +11,7 @@ @Html.DisplayFor(m=>profile) - @SR["Proposer un rendez-vous à"] @profile.Performer.UserName + @SR["Proposer un rendez-vous à"] @profile.UserName } diff --git a/Yavsc/Views/Home/About.cshtml b/Yavsc/Views/Home/About.cshtml index 2440cd2e..3baccb85 100755 --- a/Yavsc/Views/Home/About.cshtml +++ b/Yavsc/Views/Home/About.cshtml @@ -140,10 +140,10 @@ Vous êtes sur le site de commande en coiffure à domicile de Soraya Boudjouraf, un as de la coiffure, qui oeuvre en région parisienne. En validant un formulaire de commande ici, c'est à elle que vous notifiez votre demande. -Laissez lui votre numéro de téléphone, et des détails sur votre demande lors de votre premier contact, -elle vous rappelera si besoin. - - + +Vous pouvez ![lui laisser votre numéro de téléphone](/HairCutCommand/HairCut?activityCode=Brush&performerId=1bd841ab-c305-4971-940d-7ddca818310c) + et/ou des détails sur votre demande, +elle vous rappelera. diff --git a/Yavsc/Views/Shared/Components/Avatar/Default.cshtml b/Yavsc/Views/Shared/Components/Avatar/Default.cshtml index c168e1b9..76296207 100644 --- a/Yavsc/Views/Shared/Components/Avatar/Default.cshtml +++ b/Yavsc/Views/Shared/Components/Avatar/Default.cshtml @@ -1,5 +1,5 @@ @model ShortUserInfo

-@Model.UserName + @Model.UserName
\ No newline at end of file diff --git a/Yavsc/Views/Shared/DisplayTemplates/PerformerProfileViewModel.cshtml b/Yavsc/Views/Shared/DisplayTemplates/PerformerProfileViewModel.cshtml new file mode 100644 index 00000000..65af8fec --- /dev/null +++ b/Yavsc/Views/Shared/DisplayTemplates/PerformerProfileViewModel.cshtml @@ -0,0 +1,15 @@ +@model Yavsc.ViewModels.FrontOffice.PerformerProfileViewModel + +
+ @Html.DisplayFor(m=>m.UserName) + + @{ await Html.RenderPartialAsync(Model.SettingsClassName,Model.Settings); } + + @if (Model.WebSite!=null) { + @SR["WebSite"]: @Model.WebSite + } + + +@Html.Raw(JsonConvert.SerializeObject(Model.Context.Settings)) + +
diff --git a/Yavsc/Views/Shared/Yavsc.Models.Haircut.BrusherProfile.cshtml b/Yavsc/Views/Shared/Yavsc.Models.Haircut.BrusherProfile.cshtml new file mode 100644 index 00000000..5fe3cc17 --- /dev/null +++ b/Yavsc/Views/Shared/Yavsc.Models.Haircut.BrusherProfile.cshtml @@ -0,0 +1,327 @@ +@model Yavsc.Models.Haircut.BrusherProfile + +
+Disponibilités + +
+
+ @Html.DisplayNameFor(model => model.Schedule) +
+
+ @Html.DisplayFor(model => model.Schedule) +
+
+ @Html.DisplayNameFor(model => model.ActionDistance) +
+
+ @Html.DisplayFor(model => model.ActionDistance) +
+
+
+
+Tarifs divers +
+
+ @Html.DisplayNameFor(model => model.ShampooPrice) +
+
+ @Html.DisplayFor(model => model.ShampooPrice) +
+ +
+ @Html.DisplayNameFor(model => model.CarePrice) +
+
+ @Html.DisplayFor(model => model.CarePrice) +
+
+ @Html.DisplayNameFor(model => model.FlatFeeDiscount) +
+
+ @Html.DisplayFor(model => model.FlatFeeDiscount) +
+
+
+ +
+Tarifs balayages + + +
+
+ @Html.DisplayNameFor(model => model.LongBalayagePrice) +
+
+ @Html.DisplayFor(model => model.LongBalayagePrice) +
+ +
+ @Html.DisplayNameFor(model => model.HalfBalayagePrice) +
+
+ @Html.DisplayFor(model => model.HalfBalayagePrice) +
+ +
+ @Html.DisplayNameFor(model => model.ShortBalayagePrice) +
+
+ @Html.DisplayFor(model => model.ShortBalayagePrice) +
+
+
+ +
+Tarifs défrisage + + +
+ +
+ @Html.DisplayNameFor(model => model.HalfDefrisPrice) +
+
+ @Html.DisplayFor(model => model.HalfDefrisPrice) +
+
+ @Html.DisplayNameFor(model => model.LongDefrisPrice) +
+
+ @Html.DisplayFor(model => model.LongDefrisPrice) +
+
+ @Html.DisplayNameFor(model => model.ShortDefrisPrice) +
+
+ @Html.DisplayFor(model => model.ShortDefrisPrice) +
+
+
+ +
+Tarifs mèches + + +
+
+ @Html.DisplayNameFor(model => model.HalfMechPrice) +
+
+ @Html.DisplayFor(model => model.HalfMechPrice) +
+
+ @Html.DisplayNameFor(model => model.LongMechPrice) +
+
+ @Html.DisplayFor(model => model.LongMechPrice) +
+
+ @Html.DisplayNameFor(model => model.ShortMechPrice) +
+
+ @Html.DisplayFor(model => model.ShortMechPrice) +
+ + + + +
+
+
+Tarifs coupes + + +
+ + +
+ @Html.DisplayNameFor(model => model.WomenHalfCutPrice) +
+
+ @Html.DisplayFor(model => model.WomenHalfCutPrice) +
+ +
+ @Html.DisplayNameFor(model => model.WomenLongCutPrice) +
+
+ @Html.DisplayFor(model => model.WomenLongCutPrice) +
+ +
+ @Html.DisplayNameFor(model => model.WomenShortCutPrice) +
+
+ @Html.DisplayFor(model => model.WomenShortCutPrice) +
+ + +
+ @Html.DisplayNameFor(model => model.ManCutPrice) +
+
+ @Html.DisplayFor(model => model.ManCutPrice) +
+ +
+ @Html.DisplayNameFor(model => model.KidCutPrice) +
+
+ @Html.DisplayFor(model => model.KidCutPrice) +
+ +
+
+
+Tarifs couleurs + + +
+
+ @Html.DisplayNameFor(model => model.LongColorPrice) +
+
+ @Html.DisplayFor(model => model.LongColorPrice) +
+
+ @Html.DisplayNameFor(model => model.HalfColorPrice) +
+
+ @Html.DisplayFor(model => model.HalfColorPrice) +
+ +
+ @Html.DisplayNameFor(model => model.ShortColorPrice) +
+
+ @Html.DisplayFor(model => model.ShortColorPrice) +
+
+
+
+ @Html.DisplayNameFor(model => model.ShortMultiColorPrice) +
+
+ @Html.DisplayFor(model => model.ShortMultiColorPrice) +
+
+ @Html.DisplayNameFor(model => model.HalfMultiColorPrice) +
+
+ @Html.DisplayFor(model => model.HalfMultiColorPrice) +
+
+ @Html.DisplayNameFor(model => model.LongMultiColorPrice) +
+
+ @Html.DisplayFor(model => model.LongMultiColorPrice) +
+ +
+
+
+Tarifs burshing + + +
+ +
+ @Html.DisplayNameFor(model => model.LongBrushingPrice) +
+
+ @Html.DisplayFor(model => model.LongBrushingPrice) +
+
+ @Html.DisplayNameFor(model => model.HalfBrushingPrice) +
+
+ @Html.DisplayFor(model => model.HalfBrushingPrice) +
+ +
+ @Html.DisplayNameFor(model => model.ShortBrushingPrice) +
+
+ @Html.DisplayFor(model => model.ShortBrushingPrice) +
+ + + +
+
+
+Tarifs permanentes + + +
+ +
+ @Html.DisplayNameFor(model => model.LongPermanentPrice) +
+
+ @Html.DisplayFor(model => model.LongPermanentPrice) +
+
+ @Html.DisplayNameFor(model => model.HalfPermanentPrice) +
+
+ @Html.DisplayFor(model => model.HalfPermanentPrice) +
+ + +
+ @Html.DisplayNameFor(model => model.ShortPermanentPrice) +
+
+ @Html.DisplayFor(model => model.ShortPermanentPrice) +
+ + + +
+
+
+Tarifs mise en plis + + +
+ +
+ @Html.DisplayNameFor(model => model.LongFoldingPrice) +
+
+ @Html.DisplayFor(model => model.LongFoldingPrice) +
+
+ @Html.DisplayNameFor(model => model.HalfFoldingPrice) +
+
+ @Html.DisplayFor(model => model.HalfFoldingPrice) +
+ + +
+ @Html.DisplayNameFor(model => model.ShortFoldingPrice) +
+
+ @Html.DisplayFor(model => model.ShortFoldingPrice) +
+ + + +
+
+
+Spécialités homme + + +
+
+ @Html.DisplayNameFor(model => model.ManBrushPrice) +
+
+ @Html.DisplayFor(model => model.ManBrushPrice) +
+ +
+
\ No newline at end of file diff --git a/Yavsc/Views/_ViewImports.cshtml b/Yavsc/Views/_ViewImports.cshtml index f0626605..bdf5ad1f 100755 --- a/Yavsc/Views/_ViewImports.cshtml +++ b/Yavsc/Views/_ViewImports.cshtml @@ -1,10 +1,14 @@ +@using Microsoft.AspNet.Authorization; +@using Microsoft.AspNet.Hosting; @using Microsoft.AspNet.Identity; @using Microsoft.AspNet.Mvc; -@using Microsoft.Extensions.Localization; @using Microsoft.AspNet.Mvc.Localization; -@using Microsoft.AspNet.Authorization; +@using Microsoft.Extensions.Localization; @using Microsoft.Extensions.OptionsModel; +@using Microsoft.Extensions.PlatformAbstractions; +@using Newtonsoft.Json; + @using System.Security.Claims; @using System.Web.Optimization; @using Yavsc; @@ -12,6 +16,7 @@ @using Yavsc.Models; @using Yavsc.Models.Access; @using Yavsc.Models.Auth; + @using Yavsc.Models.Google; @using Yavsc.Models.Messaging; @using Yavsc.Models.Musical; @@ -19,26 +24,26 @@ @using Yavsc.Models.Market; @using Yavsc.Models.Billing; @using Yavsc.Models.Workflow; -@using Yavsc.Models.Relationship +@using Yavsc.Models.Relationship; @using Yavsc.Models.Drawing; @using Yavsc.Models.Haircut; @using Yavsc.Models.Payment; @using Yavsc.Models.Calendar; -@using Yavsc.Models.Google.Calendar +@using Yavsc.Models.Google.Calendar; @using Yavsc.Billing; @using Yavsc.Models.Blog; @using Yavsc.ViewModels; @using Yavsc.ViewModels.Account; +@using Yavsc.ViewModels.Blogspot; +@using Yavsc.ViewModels.Administration; +@using Yavsc.ViewModels.Auth; @using Yavsc.ViewModels.Manage; @using Yavsc.ViewModels.Calendar; -@using Yavsc.ViewModels.Auth; -@using Yavsc.ViewModels.Administration; +@using Yavsc.ViewModels.FrontOffice; @using Yavsc.ViewModels.Relationship; @using Yavsc.ViewModels.Workflow; -@using Yavsc.ViewModels.Blogspot; -@using Microsoft.AspNet.Hosting; -@using Microsoft.Extensions.PlatformAbstractions; + @using PayPal.PayPalAPIInterfaceService.Model; diff --git a/build/Yavsc.1.0.5-rc17.nupkg b/build/Yavsc.1.0.5-rc17.nupkg deleted file mode 100644 index d18b5b71..00000000 Binary files a/build/Yavsc.1.0.5-rc17.nupkg and /dev/null differ diff --git a/build/Yavsc.Abstract.1.0.5-rc17.nupkg b/build/Yavsc.Abstract.1.0.5-rc17.nupkg deleted file mode 100644 index 14ff0c18..00000000 Binary files a/build/Yavsc.Abstract.1.0.5-rc17.nupkg and /dev/null differ diff --git a/build/Yavsc.Server.1.0.5-rc17.nupkg b/build/Yavsc.Server.1.0.5-rc17.nupkg deleted file mode 100644 index 7a5df5d5..00000000 Binary files a/build/Yavsc.Server.1.0.5-rc17.nupkg and /dev/null differ