221 lines
11 KiB
Plaintext

@using Microsoft.AspNetCore.Builder
@using Microsoft.AspNetCore.Mvc.Localization
@using Microsoft.AspNetCore.Mvc.TagHelpers
@using Microsoft.Extensions.Localization
@using Microsoft.Extensions.Options
@using gehGassi.Web.Helper
@using gehGassi.Web.Models
@using gehGassi.Domain.Walks
@using gehGassi.Domain.Dogs
@using gehGassi.Domain.Common
@model gehGassi.Web.Models.WalkComplaintVm
@inject IViewLocalizer Localizer
@{
IStringLocalizer annotationsLocalizer = ViewBag.AnnotationsLocalizer;
ViewData["Title"] = Localizer["Button_Details"];
WalkWithNames walk = ViewBag.Walk;
AppUser dogOwner = ViewBag.DogOwner;
AppUser dogWalker = ViewBag.DogWalker;
string dogs = string.Join(", ", walk.Dogs.Select(c => c.Name + " (" + c.DogRaceName + ")").ToList());
}
<section id="walkComplaintDetailsContainer">
<div>
<div id="pageTitleAdd" style="display: none;">@ViewData["Title"]</div>
<form cb-preventsubmit id="frmDetailsWalkComplaint" class="form" asp-controller="WalkComplaint" asp-action="Details" data-ajax="true" data-ajax-method="POST" data-ajax-mode="replace" data-ajax-update="#walkComplaintDetailsContainer">
<div asp-validation-summary="ModelOnly"></div>
<input type="hidden" asp-for="Id" />
<input type="hidden" asp-for="WalkId" />
<input type="hidden" asp-for="Source" />
<input type="hidden" asp-for="Type" />
<input type="hidden" asp-for="Message" />
<input type="hidden" asp-for="Resolved" />
<input type="hidden" asp-for="Created" />
<div class="row mb-4">
<div class="col-6">
<div class="h5">@Localizer["Common_DogOwner"]</div>
<div>@dogOwner.FirstName @dogOwner.LastName</div>
<div><a href="mailto:@dogOwner.Contact.Email">@dogOwner.Contact.Email</a></div>
<div>@dogOwner.Contact.Mobile</div>
<div>@dogOwner.Address.CountryCode</div>
</div>
<div class="col-6">
<div class="h5">@Localizer["Common_DogWalker"]</div>
<div>@dogWalker.FirstName @dogWalker.LastName</div>
<div><a href="mailto:@dogWalker.Contact.Email">@dogWalker.Contact.Email</a></div>
<div>@dogWalker.Contact.Mobile</div>
<div>@dogWalker.Address.CountryCode</div>
</div>
</div>
<div class="row mb-2">
<div class="col-sm-4">
<label class="form-label">@Localizer["Common_Reported"]</label>
<div class="input-group">
<span class="input-group-text"><i class="fa fa-fw fa-calendar"></i></span>
<input type="text" value="@Model.Created.LocalDateTime" class="form-control" readonly="readonly" />
</div>
</div>
<div class="col-sm-4">
<label class="form-label" asp-for="Type"></label>
<div class="input-group">
<span class="input-group-text"><i class="fa fa-fw fa-comment-dots"></i></span>
<select asp-for="Type" class="form-control" asp-items="Html.GetEnumSelectList<WalkComplaintTypeVm>()" disabled="disabled"></select>
<span asp-validation-for="Type" class="invalid-feedback"></span>
</div>
</div>
<div class="col-sm-4">
<label class="form-label" asp-for="Source"></label>
<div class="input-group">
<span class="input-group-text"><i class="fa fa-fw fa-bone"></i></span>
<select asp-for="Source" class="form-control" asp-items="Html.GetEnumSelectList<WalkComplaintSourceVm>()" disabled="disabled"></select>
<span asp-validation-for="Source" class="invalid-feedback"></span>
</div>
</div>
</div>
<div class="row mb-2">
<div class="col-sm-4">
<label class="form-label">@Localizer["Common_Walk_Booked_Start"]</label>
<div class="input-group">
<span class="input-group-text"><i class="fa fa-fw fa-calendar"></i></span>
<input type="text" value="@walk.Start.LocalDateTime" class="form-control" readonly="readonly" />
</div>
</div>
<div class="col-sm-4">
<label class="form-label">@Localizer["Common_Walk_Booked_End"]</label>
<div class="input-group">
<span class="input-group-text"><i class="fa fa-fw fa-calendar"></i></span>
<input type="text" value="@walk.End.LocalDateTime" class="form-control" readonly="readonly" />
</div>
</div>
<div class="col-sm-2">
<label class="form-label">@Localizer["Common_Walk_Type"]</label>
<div class="input-group">
<span class="input-group-text"><i class="fa fa-fw fa-bone"></i></span>
<select id="walkType" name="walkType" class="form-control" disabled="disabled">
@foreach (var option in Html.GetEnumSelectList<WalkTypeVm>())
{
<!option value="@option.Value" @(option.Value == ((int)walk.Type).ToString() ? "selected: selected" : "")>@option.Text</!option>
}
</select>
</div>
</div>
<div class="col-sm-2">
<label class="form-label">@Localizer["Common_Walk_Service"]</label>
<div class="input-group">
<span class="input-group-text"><i class="fa fa-fw fa-bone"></i></span>
<select id="walkService" name="walkType" class="form-control" disabled="disabled">
@foreach (var option in Html.GetEnumSelectList<WalkServiceTypeVm>())
{
<!option value="@option.Value" @(option.Value == ((int)walk.ServiceType).ToString() ? "selected: selected" : "")>@option.Text</!option>
}
</select>
</div>
</div>
</div>
<div class="row mb-2">
<div class="col-sm-4">
<label class="form-label">@Localizer["Common_Walk_Started"]</label>
<div class="input-group">
<span class="input-group-text"><i class="fa fa-fw fa-calendar"></i></span>
<input type="text" value="@walk.Started?.LocalDateTime" class="form-control" readonly="readonly" />
</div>
</div>
<div class="col-sm-4">
<label class="form-label">@Localizer["Common_Walk_Completed"]</label>
<div class="input-group">
<span class="input-group-text"><i class="fa fa-fw fa-calendar"></i></span>
<input type="text" value="@walk.Completed?.LocalDateTime" class="form-control" readonly="readonly" />
</div>
</div>
<div class="col-sm-4">
<label class="form-label">@Localizer["Common_Price"]</label>
<div class="input-group">
<span class="input-group-text"><i class="fa fa-fw fa-euro-sign"></i></span>
<input type="text" value="@walk.Price.ToString("N2")" class="form-control" readonly="readonly" />
</div>
</div>
</div>
<div class="row mb-2">
<div class="col-sm-12">
<label class="form-label">@Localizer["Common_Dogs"]</label>
<div class="input-group">
<span class="input-group-text"><i class="fa fa-fw fa-paw"></i></span>
<input type="text" value="@dogs" class="form-control" readonly="readonly" />
</div>
</div>
</div>
<div class="row mb-2 mt-2">
<div class="col-12">
<label class="form-label" asp-for="Message"></label>
<div class="input-group">
<span class="input-group-text"><i class="fa fa-fw fa-comment"></i></span>
<textarea asp-for="Message" class="form-control" rows="5" readonly="readonly"></textarea>
<span asp-validation-for="Message" class="invalid-feedback"></span>
</div>
</div>
</div>
@if (Model.Status > WalkComplaintStatus.InProgress)
{
<div class="row mb-2">
<div class="col-sm-4">
<label class="form-label" asp-for="Status"></label>
<div class="input-group">
<span class="input-group-text"><i class="fa fa-fw fa-circle-question"></i></span>
<select asp-for="Status" class="form-control validateAlways" asp-items="@(Html.GetEnumSelectList<WalkComplaintStatusVm>().Where(c => c.Value != "0"))" disabled="disabled"></select>
<span asp-validation-for="Status" class="invalid-feedback"></span>
</div>
</div>
</div>
}
else
{
<div class="row mb-2">
<div class="col-sm-4">
<label class="form-label" asp-for="Status"></label>
<div class="input-group">
<span class="input-group-text"><i class="fa fa-fw fa-circle-question"></i></span>
<select asp-for="Status" class="form-control validateAlways" asp-items="@(Html.GetEnumSelectList<WalkComplaintStatusVm>().Where(c => c.Value != "0"))"></select>
<span asp-validation-for="Status" class="invalid-feedback"></span>
</div>
</div>
</div>
}
<div class="row mb-2 mt-2">
<div class="col-12">
<label class="form-label" asp-for="Comment"></label>
<div class="input-group">
<span class="input-group-text"><i class="fa fa-fw fa-comment"></i></span>
<textarea asp-for="Comment" class="form-control validateAlways" rows="10"></textarea>
<span asp-validation-for="Comment" class="invalid-feedback"></span>
</div>
</div>
</div>
<div class="row button-row">
<div class="col-12">
<div class="">
<button type="button" id="btnSave" class="btn btn-primary">@Localizer["Button_Save"]</button>
<button type="button" id="btnCancel" class="btn btn-primary">@Localizer["Button_Cancel"]</button>
</div>
</div>
</div>
</form>
</div>
<system-js url="~/scripts/Views/WalkComplaint/details.js" fresh-import="true"></system-js>
</section>