refactoring

main
Paul Schneider 9 years ago
parent d7872d4986
commit 3fc1e9f4e5
13 changed files with 206 additions and 185 deletions

@ -111,7 +111,7 @@ namespace Yavsc.Controllers
ViewBag.GoogleSettings = _googleSettings; ViewBag.GoogleSettings = _googleSettings;
var userid = User.GetUserId(); var userid = User.GetUserId();
var user = _userManager.FindByIdAsync(userid).Result; var user = _userManager.FindByIdAsync(userid).Result;
return View(new BookQuery(new Location(),DateTime.Now.AddHours(4)) return View(new BookQuery(activityCode,new Location(),DateTime.Now.AddHours(4))
{ {
PerformerProfile = pro, PerformerProfile = pro,
PerformerId = pro.PerformerId, PerformerId = pro.PerformerId,
@ -125,6 +125,7 @@ namespace Yavsc.Controllers
[ValidateAntiForgeryToken] [ValidateAntiForgeryToken]
public async Task<IActionResult> Create(BookQuery command) public async Task<IActionResult> Create(BookQuery command)
{ {
var uid = User.GetUserId(); var uid = User.GetUserId();
var prid = command.PerformerId; var prid = command.PerformerId;
if (string.IsNullOrWhiteSpace(uid) if (string.IsNullOrWhiteSpace(uid)
@ -181,6 +182,7 @@ namespace Yavsc.Controllers
$"{yaev.Message}\r\n-- \r\n{yaev.Previsional}\r\n{yaev.EventDate}\r\n" $"{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.GoogleSettings = _googleSettings; ViewBag.GoogleSettings = _googleSettings;
return View("CommandConfirmation",command); return View("CommandConfirmation",command);
} }

@ -2,7 +2,7 @@ using System.ComponentModel;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
namespace Yavsc.Model.Bank namespace Yavsc.Models.Bank
{ {
public class BankIdentity public class BankIdentity
{ {

@ -1,6 +1,7 @@
using System; using System;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using Newtonsoft.Json;
using Yavsc.Models.Billing; using Yavsc.Models.Billing;
using Yavsc.Models.Relationship; using Yavsc.Models.Relationship;
@ -10,7 +11,8 @@ namespace Yavsc.Models.Booking
/// Query, for a date, with a given perfomer, at this given place. /// Query, for a date, with a given perfomer, at this given place.
/// </summary> /// </summary>
public class BookQuery : NominativeServiceCommand<RendezVous> { public class BookQuery : NominativeServiceCommand<RendezVous>
{
/// <summary> /// <summary>
/// The command identifier /// The command identifier
/// </summary> /// </summary>
@ -18,29 +20,40 @@ namespace Yavsc.Models.Booking
public long Id { get; set; } public long Id { get; set; }
[Display(Name = "Event date")] [Display(Name = "Event date")]
public DateTime EventDate{ public DateTime EventDate
{
get; get;
set; set;
} }
public Location Location { public Location Location
{
get; get;
set; set;
} }
public LocationType LocationType { public LocationType LocationType
{
set; set;
get; get;
} }
public string Reason { get; set; } public string Reason { get; set; }
public BookQuery() public BookQuery()
{ {
} }
public BookQuery(Location eventLocation, DateTime eventDate) public BookQuery(string activityCode, Location eventLocation, DateTime eventDate)
{ {
Location = eventLocation; Location = eventLocation;
EventDate = eventDate; EventDate = eventDate;
ActivityCode = activityCode;
} }
[Required]
public string ActivityCode { get; set; }
[ForeignKey("ActivityCode"),JsonIgnore]
public virtual Activity Context  { get; set ; }
} }
} }

@ -1,9 +1,9 @@
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using Yavsc.Model.Forms.Validation;
namespace Yavsc.Model.Forms namespace Yavsc.Models.Forms
{ {
using Validation;
public abstract class Field public abstract class Field
{ {
[Key,DatabaseGenerated(DatabaseGeneratedOption.Identity)] [Key,DatabaseGenerated(DatabaseGeneratedOption.Identity)]

@ -1,6 +1,6 @@
using System.Collections.Generic; using System.Collections.Generic;
namespace Yavsc.Model.Forms namespace Yavsc.Models.Forms
{ {
public class FieldSet public class FieldSet
{ {

@ -1,6 +1,6 @@
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
namespace Yavsc.Model.Forms.Validation namespace Yavsc.Models.Forms.Validation
{ {
public class Method public class Method
{ {

@ -1,4 +1,4 @@
namespace Yavsc.Model.Forms.Validation namespace Yavsc.Models.Forms.Validation
{ {
public class Required : Method public class Required : Method
{ {

@ -5,7 +5,7 @@ using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using Yavsc.Models.Identity; using Yavsc.Models.Identity;
using Yavsc.Models.Chat; using Yavsc.Models.Chat;
using Yavsc.Model.Bank; using Yavsc.Models.Bank;
using Yavsc.Models.Access; using Yavsc.Models.Access;
namespace Yavsc.Models namespace Yavsc.Models

@ -1,6 +1,6 @@
namespace Yavsc.ViewModels.Manage namespace Yavsc.ViewModels.Manage
{ {
using Model.Bank; using Models.Bank;
public class AddBankInfoViewModel public class AddBankInfoViewModel
{ {
public BankIdentity Data{get; private set; } public BankIdentity Data{get; private set; }

@ -3,7 +3,7 @@ using Microsoft.AspNet.Identity;
namespace Yavsc.ViewModels.Manage namespace Yavsc.ViewModels.Manage
{ {
using Model.Bank; using Models.Bank;
using Models; using Models;
using Models.Workflow; using Models.Workflow;
public class IndexViewModel public class IndexViewModel

@ -1,7 +1,7 @@
@model BookQuery @model BookQuery
@using Yavsc.Models.Google.Messaging @using Yavsc.Models.Google.Messaging
@{ @{
ViewData["Title"] = SR["Command confirmation"]+" "+SR[Model.PerformerProfile.ActivityCode]; ViewData["Title"] = SR["Command confirmation"]+" "+ViewBag.Activity.Name;
} }
<h2>@ViewData["Title"]</h2> <h2>@ViewData["Title"]</h2>
<div class="form-horizontal"> <div class="form-horizontal">

@ -1,15 +1,11 @@
@model BookQuery @model BookQuery
@{ @{ ViewData["Title"] = SR["Book "+ViewBag.Activity.Code]; }
ViewData["Title"] = SR["Book "+ViewBag.Activity.Code];
}
@section header{
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
<script src="https://maps.googleapis.com/maps/api/js?key=@ViewBag.GoogleSettings.BrowserApiKey"></script> <script src="https://maps.googleapis.com/maps/api/js?key=@ViewBag.GoogleSettings.BrowserApiKey"></script>
<script type="text/javascript" src="~/lib/moment/moment-with-locales.min.js"></script> <script type="text/javascript" src="~/lib/moment/moment-with-locales.min.js"></script>
<script type="text/javascript" src="~/lib/eonasdan-bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js"></script> <script type="text/javascript" src="~/lib/eonasdan-bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js"></script>
<link rel="stylesheet" href="~/lib/eonasdan-bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css" /> <link rel="stylesheet" href="~/lib/eonasdan-bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css" />
@section header {
<style> <style>
#map { #map {
width: 100%; width: 100%;
@ -56,7 +52,7 @@ $(document).ready(function(){
$('#' + config.latId).val(lat.toLocaleString('en')); $('#' + config.latId).val(lat.toLocaleString('en'));
$('#' + config.longId).val(lng.toLocaleString('en')); $('#' + config.longId).val(lng.toLocaleString('en'));
gmap.setCenter(pos); gmap.setCenter(pos);
if (marker) {  if (marker) {
marker.setMap(null); marker.setMap(null);
} }
marker = new google.maps.Marker({ marker = new google.maps.Marker({
@ -97,18 +93,17 @@ $(document).ready(function(){
$('<li>' + element.formatted_address + '</li>') $('<li>' + element.formatted_address + '</li>')
.data("geoloc", element) .data("geoloc", element)
.click(function () { chooseLoc('user', $(this).data("geoloc")) }) .click(function () { chooseLoc('user', $(this).data("geoloc")) })
.appendTo($('#'+config.locComboId));} .appendTo($('#' + config.locComboId));
}
else { } else { }
}); });
if ((data.status === 'OK') && (data.results.length == 1)) if ((data.status === 'OK') && (data.results.length == 1)) {
{
chooseLoc('google', data.results[0]); chooseLoc('google', data.results[0]);
return true; return true;
} }
return false; return false;
}, },
error: function(xhr, textStatus, errorThrown) error: function (xhr, textStatus, errorThrown) {
{
console.log('ajax loading error ... ' + textStatus + ' ... ' + errorThrown); console.log('ajax loading error ... ' + textStatus + ' ... ' + errorThrown);
return false; return false;
} }
@ -152,30 +147,43 @@ $(document).ready(function(){
</span> </span>
</div> </div>
</div> </div>
</div> </div>
<label for="Location_Address" class="col-md-2 control-label"> <label for="Location_Address" class="col-md-2 control-label">
@SR["Location"] @SR["Location"]
</label> </label>
<div class="col-md-10"> <div class="col-md-10">
<input asp-for="Location.Address" type="text" name="Location.Address" id="Location_Address" <div class="container">
class="form-control" data-val-required=@SR["SpecifyPlace"] <div class="row">
data-val-remote=@SR["GoogleDidntGeoLocalized"]> <div class='col-sm-6'>
<div >
<input asp-for="Location.Address" type="text" name="Location.Address" id="Location_Address" class="form-control" data-val-required=@SR[
"SpecifyPlace"] data-val-remote=@SR[ "GoogleDidntGeoLocalized"]>
<span asp-validation-for="Location.Address" class="text-danger" id="valloc"></span> <span asp-validation-for="Location.Address" class="text-danger" id="valloc"></span>
<ul id="loccomb"> <ul id="loccomb">
</ul> </ul>
<div id="map"></div> <div id="map"></div>
</div> </div>
</div>
</div>
</div>
</div>
<label for="Reason" class="col-md-2 control-label"> <label for="Reason" class="col-md-2 control-label">
@SR["GiveAnExplicitReason"] @SR["GiveAnExplicitReason"]
</label> </label>
<div class="col-md-10">
<div class="container">
<div class="row">
<div class='col-sm-6'>
<div id='reason1'>
<textarea rows="15" asp-for="Reason" type="text" name="Reason" id="Reason" maxlength="4096" class="form-control"></textarea> <textarea rows="15" asp-for="Reason" type="text" name="Reason" id="Reason" maxlength="4096" class="form-control"></textarea>
<span asp-validation-for="Reason" class="text-danger"></span> <span asp-validation-for="Reason" class="text-danger"></span> @Html.HiddenFor(model=>model.Location.Latitude) @Html.HiddenFor(model=>model.Location.Longitude)
</div>
</div>
@Html.HiddenFor(model=>model.Location.Latitude) </div>
@Html.HiddenFor(model=>model.Location.Longitude) </div>
</div>
</fieldset> </fieldset>
</div> </div>
<div class="form-group"> <div class="form-group">
@ -183,12 +191,11 @@ $(document).ready(function(){
<input type="submit" value="@SR[" Create "]" class="btn btn-default" /> <input type="submit" value="@SR[" Create "]" class="btn btn-default" />
</div> </div>
</div> </div>
@Html.HiddenFor(model=>model.Client.Id) @Html.HiddenFor(model=>model.Client.Id) @Html.HiddenFor(model=>model.PerformerId)
@Html.HiddenFor(model=>model.PerformerId)
</div> </div>
</form> </form>
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial"); }

@ -6458,7 +6458,6 @@ button.close {
margin: 1px; margin: 1px;
text-indent: -999px; text-indent: -999px;
cursor: pointer; cursor: pointer;
background-color: #000 \9;
background-color: rgba(0, 0, 0, 0); background-color: rgba(0, 0, 0, 0);
border: 1px solid #fff; border: 1px solid #fff;
border-radius: 10px; border-radius: 10px;

Loading…