diff --git a/Yavsc/Controllers/Haircut/HairCutCommandController.cs b/Yavsc/Controllers/Haircut/HairCutCommandController.cs index 0c12da0b..f7c6a365 100644 --- a/Yavsc/Controllers/Haircut/HairCutCommandController.cs +++ b/Yavsc/Controllers/Haircut/HairCutCommandController.cs @@ -55,7 +55,7 @@ namespace Yavsc.Controllers .Include(x => x.PerformerProfile.Performer.Devices) .Include(x => x.Regularisation) .SingleAsync(m => m.Id == id); - query.SelectedProfile = await _context.BrusherProfile.SingleAsync(b=>b.UserId == query.PerformerId); + query.SelectedProfile = await _context.BrusherProfile.SingleAsync(b => b.UserId == query.PerformerId); return query; } public async Task ClientCancel(long id) @@ -66,7 +66,7 @@ namespace Yavsc.Controllers return HttpNotFound(); } SetViewBagPaymentUrls(id); - return View (command); + return View(command); } public async Task PaymentConfirmation([FromRoute] long id, string token, string PayerID) { @@ -75,35 +75,35 @@ namespace Yavsc.Controllers { return HttpNotFound(); } - var paymentInfo = await _context.ConfirmPayment( User.GetUserId(), PayerID, token ); + var paymentInfo = await _context.ConfirmPayment(User.GetUserId(), PayerID, token); ViewData["paymentinfo"] = paymentInfo; command.Regularisation = paymentInfo.DbContent; command.PaymentId = token; - if (paymentInfo!=null) - if (paymentInfo.DetailsFromPayPal!=null) - if (paymentInfo.DetailsFromPayPal.Ack == AckCodeType.SUCCESS) - if (command.ValidationDate ==null) - command.ValidationDate = DateTime.Now; - await _context.SaveChangesAsync (User.GetUserId()); + if (paymentInfo != null) + if (paymentInfo.DetailsFromPayPal != null) + if (paymentInfo.DetailsFromPayPal.Ack == AckCodeType.SUCCESS) + if (command.ValidationDate == null) + command.ValidationDate = DateTime.Now; + await _context.SaveChangesAsync(User.GetUserId()); SetViewBagPaymentUrls(id); - if (command.PerformerProfile.AcceptPublicContact) - { - var invoiceId = paymentInfo.DetailsFromPayPal.GetExpressCheckoutDetailsResponseDetails.InvoiceID; - var payerName = paymentInfo.DetailsFromPayPal.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Address.Name; - var phone = paymentInfo.DetailsFromPayPal.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Address.Phone; - var payerEmail = paymentInfo.DetailsFromPayPal.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Payer; - var amount = string.Join(", ", - paymentInfo.DetailsFromPayPal.GetExpressCheckoutDetailsResponseDetails.PaymentDetails.Select( - p=> $"{p.OrderTotal.value} {p.OrderTotal.currencyID}")); - var gender = command.Prestation.Gender; - var date = command.EventDate?.ToString("dd MM yyyy hh:mm"); - var lieu = command.Location.Address; - string clientFinal = (gender == HairCutGenders.Women) ? _localizer["Women"] + - " "+_localizer[command.Prestation.Length.ToString()] : _localizer[gender.ToString()] ; - MessageWithPayloadResponse grep = null; - var yaev = command.CreateEvent("PaymentConfirmation", - this._localizer["PaymentConfirmation"], - command.Client.GetSender(), + if (command.PerformerProfile.AcceptPublicContact) + { + var invoiceId = paymentInfo.DetailsFromPayPal.GetExpressCheckoutDetailsResponseDetails.InvoiceID; + var payerName = paymentInfo.DetailsFromPayPal.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Address.Name; + var phone = paymentInfo.DetailsFromPayPal.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Address.Phone; + var payerEmail = paymentInfo.DetailsFromPayPal.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Payer; + var amount = string.Join(", ", + paymentInfo.DetailsFromPayPal.GetExpressCheckoutDetailsResponseDetails.PaymentDetails.Select( + p => $"{p.OrderTotal.value} {p.OrderTotal.currencyID}")); + var gender = command.Prestation.Gender; + var date = command.EventDate?.ToString("dd MM yyyy hh:mm"); + var lieu = command.Location.Address; + string clientFinal = (gender == HairCutGenders.Women) ? _localizer["Women"] + + " " + _localizer[command.Prestation.Length.ToString()] : _localizer[gender.ToString()]; + MessageWithPayloadResponse grep = null; + var yaev = command.CreateEvent("PaymentConfirmation", + this._localizer["PaymentConfirmation"], + command.Client.GetSender(), $@"# Paiment confirmé: {amount} Effectué par : {payerName} [{payerEmail}] @@ -126,52 +126,55 @@ Le client final: {clientFinal} "); - if (command.PerformerProfile.AcceptNotifications) { - if (command.PerformerProfile.Performer.Devices.Count > 0) { - var regids = command.PerformerProfile.Performer - .Devices.Select(d => d.GCMRegistrationId); - grep = await _GCMSender.NotifyHairCutQueryAsync(_googleSettings,regids,yaev); - } - // TODO setup a profile choice to allow notifications - // both on mailbox and mobile - // if (grep==null || grep.success<=0 || grep.failure>0) - ViewBag.GooglePayload=grep; - } - - ViewBag.EmailSent = await _emailSender.SendEmailAsync( - _siteSettings, _smtpSettings, - command.PerformerProfile.Performer.Email, - yaev.Reason, - $"{yaev.Message}\r\n-- \r\n{yaev.Previsional}\r\n{yaev.EventDate}\r\n" - ); - } - else { - // TODO if (AcceptProContact) try & find a bookmaker to send him this query + if (command.PerformerProfile.AcceptNotifications) + { + if (command.PerformerProfile.Performer.Devices.Count > 0) + { + var regids = command.PerformerProfile.Performer + .Devices.Select(d => d.GCMRegistrationId); + grep = await _GCMSender.NotifyHairCutQueryAsync(_googleSettings, regids, yaev); + } + // TODO setup a profile choice to allow notifications + // both on mailbox and mobile + // if (grep==null || grep.success<=0 || grep.failure>0) + ViewBag.GooglePayload = grep; } - ViewData ["Notify"] = new List { + ViewBag.EmailSent = await _emailSender.SendEmailAsync( + _siteSettings, _smtpSettings, + command.PerformerProfile.Performer.Email, + yaev.Reason, + $"{yaev.Message}\r\n-- \r\n{yaev.Previsional}\r\n{yaev.EventDate}\r\n" + ); + } + else + { + // TODO if (AcceptProContact) try & find a bookmaker to send him this query + } + + ViewData["Notify"] = new List { new Notification { title= "Paiment PayPal", body = "Votre paiment a été accépté." } - } ; - return View ("Details",command); + }; + return View("Details", command); } private void SetViewBagPaymentUrls(long id) { - ViewBag.CreatePaymentUrl = Request.ToAbsolute("api/haircut/createpayment/"+id); + ViewBag.CreatePaymentUrl = Request.ToAbsolute("api/haircut/createpayment/" + id); ViewBag.ExecutePaymentUrl = Request.ToAbsolute("api/payment/execute"); - ViewBag.Urls=Request.GetPaymentUrls("HairCutCommand",id.ToString()); + ViewBag.Urls = Request.GetPaymentUrls("HairCutCommand", id.ToString()); } public async Task ClientCancelConfirm(long id) { - var query = await GetQuery(id);if (query == null) + var query = await GetQuery(id); if (query == null) { return HttpNotFound(); } var uid = User.GetUserId(); - if (query.ClientId!=uid) + if (query.ClientId != uid) return new ChallengeResult(); _context.HairCutQueries.Remove(query); await _context.SaveChangesAsync(); @@ -189,7 +192,7 @@ Le client final: {clientFinal} .Include(x => x.PerformerProfile) .Include(x => x.PerformerProfile.Performer) .Include(x => x.Location) - .Where(x=> x.ClientId == uid || x.PerformerId == uid) + .Where(x => x.ClientId == uid || x.PerformerId == uid) .ToListAsync()); } @@ -229,57 +232,65 @@ Le client final: {clientFinal} long[] longtaintIds = null; List colors = null; - if (taintIds!=null) { - longtaintIds = taintIds.Split(',').Select(s=>long.Parse(s)).ToArray(); - colors = _context.HairTaint.Where(t=> longtaintIds.Contains(t.Id)).ToList(); - // a Prestation is required - model.Prestation.Taints = colors.Select(c => - new HairTaintInstance { Taint = c }).ToList(); - } if (string.IsNullOrWhiteSpace(uid) || string.IsNullOrWhiteSpace(prid)) throw new InvalidOperationException( "This method needs a PerformerId" ); - var pro = _context.Performers.Include( - u => u.Performer - ).Include(u => u.Performer.Devices) - .FirstOrDefault( - x => x.PerformerId == model.PerformerId - ); - model.PerformerProfile = pro; + if (!model.Consent) ModelState.AddModelError("Consent", "Vous devez accepter les conditions générales de vente de ce service"); if (ModelState.IsValid) + { + var pro = _context.Performers.Include( + u => u.Performer + ).Include(u => u.Performer.Devices) + .FirstOrDefault( + x => x.PerformerId == model.PerformerId + ); + using (var trans = _context.Database.BeginTransaction()) { - using (var trans = _context.Database.BeginTransaction()) { - // Une prestation pour enfant ou homme inclut toujours la coupe. + if (taintIds != null) + { + longtaintIds = taintIds.Split(',').Select(s => long.Parse(s)).ToArray(); + colors = _context.HairTaint.Where(t => longtaintIds.Contains(t.Id)).ToList(); + // a Prestation is required + model.Prestation.Taints = colors.Select(c => + new HairTaintInstance { Taint = c }).ToList(); + } + + + + // Une prestation pour enfant ou homme inclut toujours la coupe. if (model.Prestation.Gender != HairCutGenders.Women) model.Prestation.Cut = true; - if (model.Location!=null) { - var existingLocation = await _context.Locations.FirstOrDefaultAsync( x=>x.Address == model.Location.Address - && x.Longitude == model.Location.Longitude && x.Latitude == model.Location.Latitude ); - - if (existingLocation!=null) { - model.Location=existingLocation; + if (model.Location != null) + { + var existingLocation = await _context.Locations.FirstOrDefaultAsync(x => x.Address == model.Location.Address + && x.Longitude == model.Location.Longitude && x.Latitude == model.Location.Latitude); + + if (existingLocation != null) + { + model.Location = existingLocation; } else _context.Attach(model.Location); } - var existingPrestation = await _context.HairPrestation.FirstOrDefaultAsync( x=> model.PrestationId == x.Id ); + var existingPrestation = await _context.HairPrestation.FirstOrDefaultAsync(x => model.PrestationId == x.Id); - if (existingPrestation!=null) { + if (existingPrestation != null) + { model.Prestation = existingPrestation; } else _context.Attach(model.Prestation); _context.HairCutQueries.Add(model); - var brusherProfile = await _context.BrusherProfile.SingleAsync(p=>p.UserId == pro.PerformerId); - model.Client = await _context.Users.SingleAsync(u=>u.Id == model.ClientId); + var brusherProfile = await _context.BrusherProfile.SingleAsync(p => p.UserId == pro.PerformerId); + model.Client = await _context.Users.SingleAsync(u => u.Id == model.ClientId); model.SelectedProfile = brusherProfile; - + await _context.SaveChangesAsync(uid); trans.Commit(); } @@ -290,23 +301,25 @@ Le client final: {clientFinal} if (pro.AcceptPublicContact) { - if (pro.AcceptNotifications) { - if (pro.Performer.Devices.Count > 0) { - var regids = model.PerformerProfile.Performer - .Devices.Select(d => d.GCMRegistrationId); - grep = await _GCMSender.NotifyHairCutQueryAsync(_googleSettings,regids,yaev); + if (pro.AcceptNotifications) + { + if (pro.Performer.Devices.Count > 0) + { + var regids = pro.Performer.Devices.Select(d => d.GCMRegistrationId); + grep = await _GCMSender.NotifyHairCutQueryAsync(_googleSettings, regids, yaev); } // TODO setup a profile choice to allow notifications // both on mailbox and mobile // if (grep==null || grep.success<=0 || grep.failure>0) - ViewBag.GooglePayload=grep; - if (grep!=null) - _logger.LogWarning($"Performer: {model.PerformerProfile.Performer.UserName} success: {grep.success} failure: {grep.failure}"); + ViewBag.GooglePayload = grep; + if (grep != null) + _logger.LogWarning($"Performer: {pro.Performer.UserName} success: {grep.success} failure: {grep.failure}"); } // TODO if pro.AllowCalendarEventInsert - if (pro.Performer.DedicatedGoogleCalendar != null && yaev.EventDate != null) { + if (pro.Performer.DedicatedGoogleCalendar != null && yaev.EventDate != null) + { _logger.LogInformation("Inserting an event in the calendar"); - DateTime evdate = yaev.EventDate ?? new DateTime(); + DateTime evdate = yaev.EventDate ?? new DateTime(); var result = await _calendarManager.CreateEventAsync(pro.Performer.Id, pro.Performer.DedicatedGoogleCalendar, evdate, 3600, yaev.Topic, yaev.Message, @@ -314,53 +327,57 @@ Le client final: {clientFinal} ); if (result.Id == null) _logger.LogWarning("Something went wrong, calendar event not created"); - } + } else _logger.LogWarning($"Calendar: {pro.Performer.DedicatedGoogleCalendar != null}\nEventDate: {yaev.EventDate != null}"); await _emailSender.SendEmailAsync( _siteSettings, _smtpSettings, - model.PerformerProfile.Performer.Email, + pro.Performer.Email, yaev.Reason, $"{yaev.Message}\r\n-- \r\n{yaev.Previsional}\r\n{yaev.EventDate}\r\n" ); } - else { + else + { // TODO if (AcceptProContact) try & find a bookmaker to send him this query } - ViewBag.Activity = _context.Activities.FirstOrDefault(a=>a.Code == model.ActivityCode); + ViewBag.Activity = _context.Activities.FirstOrDefault(a => a.Code == model.ActivityCode); ViewBag.GoogleSettings = _googleSettings; var items = model.GetBillItems(); var addition = items.Addition(); - ViewBag.Addition = addition.ToString("C",CultureInfo.CurrentUICulture); - return View("CommandConfirmation",model); + ViewBag.Addition = addition.ToString("C", CultureInfo.CurrentUICulture); + return View("CommandConfirmation", model); } - ViewBag.Activity = _context.Activities.FirstOrDefault(a=>a.Code == model.ActivityCode); + ViewBag.Activity = _context.Activities.FirstOrDefault(a => a.Code == model.ActivityCode); ViewBag.GoogleSettings = _googleSettings; - SetViewData(model.ActivityCode,model.PerformerId,model.Prestation); - return View("HairCut",model); + SetViewData(model.ActivityCode, model.PerformerId, model.Prestation); + return View("HairCut", model); } public async Task HairCut(string performerId, string activityCode) { - HairPrestation pPrestation=null; - var prestaJson = HttpContext.Session.GetString("HairCutPresta") ; - if (prestaJson!=null) { + HairPrestation pPrestation = null; + var prestaJson = HttpContext.Session.GetString("HairCutPresta"); + if (prestaJson != null) + { pPrestation = JsonConvert.DeserializeObject(prestaJson); } - else { - pPrestation = new HairPrestation {}; + else + { + pPrestation = new HairPrestation { }; } var uid = User.GetUserId(); var user = await _userManager.FindByIdAsync(uid); - SetViewData(activityCode,performerId,pPrestation); + SetViewData(activityCode, performerId, pPrestation); var perfer = _context.Performers.Include( - p=>p.Performer - ).Single(p=>p.PerformerId == performerId); - var result = new HairCutQuery { + p => p.Performer + ).Single(p => p.PerformerId == performerId); + var result = new HairCutQuery + { PerformerProfile = perfer, PerformerId = perfer.PerformerId, ClientId = uid, @@ -371,25 +388,26 @@ Le client final: {clientFinal} }; return View(result); } - private void SetViewData (string activityCode, string performerId, HairPrestation pPrestation ) + private void SetViewData(string activityCode, string performerId, HairPrestation pPrestation) { - ViewBag.HairTaints = _context.HairTaint.Include(t=>t.Color); - ViewBag.HairTaintsItems = _context.HairTaint.Include(t=>t.Color).Select( - c=> - new SelectListItem { - Text = c.Color.Name+" "+c.Brand, + ViewBag.HairTaints = _context.HairTaint.Include(t => t.Color); + ViewBag.HairTaintsItems = _context.HairTaint.Include(t => t.Color).Select( + c => + new SelectListItem + { + Text = c.Color.Name + " " + c.Brand, Value = c.Id.ToString() - } + } ); - ViewBag.HairTechnos = EnumExtensions.GetSelectList(typeof(HairTechnos),_localizer); - ViewBag.HairLength = EnumExtensions.GetSelectList(typeof(HairLength),_localizer); + ViewBag.HairTechnos = EnumExtensions.GetSelectList(typeof(HairTechnos), _localizer); + ViewBag.HairLength = EnumExtensions.GetSelectList(typeof(HairLength), _localizer); ViewBag.Activity = _context.Activities.First(a => a.Code == activityCode); - ViewBag.Gender = EnumExtensions.GetSelectList(typeof(HairCutGenders),_localizer,HairCutGenders.Women); - ViewBag.HairDressings = EnumExtensions.GetSelectList(typeof(HairDressings),_localizer); - ViewBag.ColorsClass = ( pPrestation.Tech == HairTechnos.Color - || pPrestation.Tech == HairTechnos.Mech ) ? "":"hidden"; - ViewBag.TechClass = ( pPrestation.Gender == HairCutGenders.Women ) ? "":"hidden"; - ViewData["PerfPrefs"] = _context.BrusherProfile.Single(p=>p.UserId == performerId); + ViewBag.Gender = EnumExtensions.GetSelectList(typeof(HairCutGenders), _localizer, HairCutGenders.Women); + ViewBag.HairDressings = EnumExtensions.GetSelectList(typeof(HairDressings), _localizer); + ViewBag.ColorsClass = (pPrestation.Tech == HairTechnos.Color + || pPrestation.Tech == HairTechnos.Mech) ? "" : "hidden"; + ViewBag.TechClass = (pPrestation.Gender == HairCutGenders.Women) ? "" : "hidden"; + ViewData["PerfPrefs"] = _context.BrusherProfile.Single(p => p.UserId == performerId); } [HttpPost, Authorize] @@ -420,41 +438,44 @@ Le client final: {clientFinal} ModelState.MarkFieldSkipped("ClientId"); if (ModelState.IsValid) - { - var existingLocation = _context.Locations.FirstOrDefault( x=>x.Address == command.Location.Address - && x.Longitude == command.Location.Longitude && x.Latitude == command.Location.Latitude ); + { + var existingLocation = _context.Locations.FirstOrDefault(x => x.Address == command.Location.Address + && x.Longitude == command.Location.Longitude && x.Latitude == command.Location.Latitude); - if (existingLocation!=null) { - command.Location=existingLocation; + if (existingLocation != null) + { + command.Location = existingLocation; } else _context.Attach(command.Location); _context.HairMultiCutQueries.Add(command, GraphBehavior.IncludeDependents); _context.SaveChanges(User.GetUserId()); var brSettings = await _context.BrusherProfile.SingleAsync( - bp=>bp.UserId == command.PerformerId + bp => bp.UserId == command.PerformerId ); - var yaev = command.CreateEvent(_localizer,brSettings); + var yaev = command.CreateEvent(_localizer, brSettings); MessageWithPayloadResponse grep = null; if (pro.AcceptNotifications && pro.AcceptPublicContact) { - if (pro.Performer.Devices?.Count > 0) { + if (pro.Performer.Devices?.Count > 0) + { var regids = command.PerformerProfile.Performer .Devices.Select(d => d.GCMRegistrationId); - grep = await _GCMSender.NotifyHairCutQueryAsync(_googleSettings,regids,yaev); + grep = await _GCMSender.NotifyHairCutQueryAsync(_googleSettings, regids, yaev); } // TODO setup a profile choice to allow notifications // both on mailbox and mobile, and to allow calendar event insertion. // if (grep==null || grep.success<=0 || grep.failure>0) - ViewBag.GooglePayload=grep; - if (grep!=null) - _logger.LogWarning($"Performer: {command.PerformerProfile.Performer.UserName} success: {grep.success} failure: {grep.failure}"); - - - if (pro.Performer.DedicatedGoogleCalendar != null && yaev.EventDate != null) { - DateTime evdate = yaev.EventDate ?? new DateTime(); + ViewBag.GooglePayload = grep; + if (grep != null) + _logger.LogWarning($"Performer: {command.PerformerProfile.Performer.UserName} success: {grep.success} failure: {grep.failure}"); + + + if (pro.Performer.DedicatedGoogleCalendar != null && yaev.EventDate != null) + { + DateTime evdate = yaev.EventDate ?? new DateTime(); await _calendarManager.CreateEventAsync( pro.Performer.Id, pro.Performer.DedicatedGoogleCalendar, @@ -466,17 +487,17 @@ Le client final: {clientFinal} await _emailSender.SendEmailAsync( _siteSettings, _smtpSettings, command.PerformerProfile.Performer.Email, - yaev.Topic+" "+yaev.Sender, + yaev.Topic + " " + yaev.Sender, $"{yaev.Message}\r\n-- \r\n{yaev.Previsional}\r\n{yaev.EventDate}\r\n" ); } - ViewBag.Activity = _context.Activities.FirstOrDefault(a=>a.Code == command.ActivityCode); + ViewBag.Activity = _context.Activities.FirstOrDefault(a => a.Code == command.ActivityCode); ViewBag.GoogleSettings = _googleSettings; - return View("CommandConfirmation",command); + return View("CommandConfirmation", command); } - ViewBag.Activity = _context.Activities.FirstOrDefault(a=>a.Code == command.ActivityCode); + ViewBag.Activity = _context.Activities.FirstOrDefault(a => a.Code == command.ActivityCode); ViewBag.GoogleSettings = _googleSettings; - return View("HairCut",command); + return View("HairCut", command); } } } diff --git a/Yavsc/CustumModelBinder.cs b/Yavsc/CustomModelBinder.cs similarity index 96% rename from Yavsc/CustumModelBinder.cs rename to Yavsc/CustomModelBinder.cs index 83db457e..b6eee45f 100644 --- a/Yavsc/CustumModelBinder.cs +++ b/Yavsc/CustomModelBinder.cs @@ -14,6 +14,7 @@ namespace Yavsc ValueProviderResult valueResult = bindingContext.ValueProvider .GetValue(bindingContext.ModelName); decimal actualValue ; + try { actualValue = Decimal.Parse(valueResult.FirstValue, System.Globalization.NumberStyles.AllowDecimalPoint); return await ModelBindingResult.SuccessAsync(bindingContext.ModelName,actualValue); @@ -32,7 +33,7 @@ namespace Yavsc .GetValue(bindingContext.ModelName); DateTime actualValue ; ModelStateEntry modelState = new ModelStateEntry(); - + // DateTime are sent in the french format if (DateTime.TryParse(valueResult.FirstValue,new CultureInfo("fr-FR"), DateTimeStyles.AllowInnerWhite, out actualValue)) { return await ModelBindingResult.SuccessAsync(bindingContext.ModelName,actualValue); diff --git a/Yavsc/Startup/Startup.cs b/Yavsc/Startup/Startup.cs index a58e44e3..59fca1bb 100755 --- a/Yavsc/Startup/Startup.cs +++ b/Yavsc/Startup/Startup.cs @@ -131,6 +131,7 @@ namespace Yavsc options.RequestCultureProviders.Insert(0, new AcceptLanguageHeaderRequestCultureProvider()); options.RequestCultureProviders.Insert(0, new CookieRequestCultureProvider()); + }); @@ -205,8 +206,8 @@ namespace Yavsc .Build(); config.Filters.Add(new AuthorizeFilter(policy)); config.Filters.Add(new ProducesAttribute("application/json")); - config.ModelBinders.Add(new MyDateTimeModelBinder()); - config.ModelBinders.Add(new MyDecimalModelBinder()); + // config.ModelBinders.Insert(0,new MyDateTimeModelBinder()); + // config.ModelBinders.Insert(0,new MyDecimalModelBinder()); config.OutputFormatters.Add(new PdfFormatter()); }).AddFormatterMappings( @@ -357,7 +358,7 @@ namespace Yavsc ConfigureFileServerApp(app, SiteSetup, env, authorizationService); ConfigureWebSocketsApp(app, SiteSetup, env); ConfigureWorkflow(app, SiteSetup, logger); - app.UseRequestLocalization(localizationOptions.Value, (RequestCulture) new RequestCulture((string)"fr")); + app.UseRequestLocalization(localizationOptions.Value, (RequestCulture) new RequestCulture((string)"en-US")); app.UseSession(); app.UseMvc(routes => diff --git a/Yavsc/Views/HairCutCommand/BrusherProfileScript.cshtml b/Yavsc/Views/HairCutCommand/BrusherProfileScript.cshtml index ca09d94a..7458e15c 100644 --- a/Yavsc/Views/HairCutCommand/BrusherProfileScript.cshtml +++ b/Yavsc/Views/HairCutCommand/BrusherProfileScript.cshtml @@ -1,4 +1,5 @@ @model BrusherProfile +