| @if (FromRoute.Equals("history_found")) { | @if (FromRoute.Equals("history_found")) { | ||||
| <td style="white-space: nowrap">@getAddress(context)</td> | <td style="white-space: nowrap">@getAddress(context)</td> | ||||
| } | } | ||||
| <td>@getPicture(context)</td> | |||||
| <td> | |||||
| <MatIconButton Disabled="@HasNoPicture(context)" Icon="photo" OnClick="@(_ => ShowPicture(context))"></MatIconButton> | |||||
| </td> | |||||
| <td> | <td> | ||||
| <MatIconButton Icon="delete_forever" OnClick="@(_ => DeleteReport(context))"></MatIconButton> | <MatIconButton Icon="delete_forever" OnClick="@(_ => DeleteReport(context))"></MatIconButton> | ||||
| </td> | </td> | ||||
| return ""; | return ""; | ||||
| } | } | ||||
| private string getPicture(ReportRepositoryItem item) { | |||||
| private async Task ShowPicture(ReportRepositoryItem item) { | |||||
| string picData = ReportRepositoryItem.Type.FOUND.Equals(item.ReportType) ? ((FoundReportRepositoryItem)item).Report.FotoString : ((MissingReportRepositoryItem)item).Report.FotoString; | string picData = ReportRepositoryItem.Type.FOUND.Equals(item.ReportType) ? ((FoundReportRepositoryItem)item).Report.FotoString : ((MissingReportRepositoryItem)item).Report.FotoString; | ||||
| return ""; | |||||
| await MatDialogService.OpenAsync(typeof(PictureDialog), new MatDialogOptions() { | |||||
| Attributes = new Dictionary<string, object>(){ | |||||
| {"ImgUrl", picData}, | |||||
| } | |||||
| }); | |||||
| await ScrollLockRemover.removeScrollLockAsync(); | |||||
| } | |||||
| private bool HasNoPicture(ReportRepositoryItem item) { | |||||
| string picData = ReportRepositoryItem.Type.FOUND.Equals(item.ReportType) ? ((FoundReportRepositoryItem)item).Report.FotoString : ((MissingReportRepositoryItem)item).Report.FotoString; | |||||
| return String.IsNullOrEmpty(picData); | |||||
| } | } | ||||
| private async void DeleteReport(ReportRepositoryItem item, bool ask = true) { | private async void DeleteReport(ReportRepositoryItem item, bool ask = true) { |
| report.Bemerkung = remark; | report.Bemerkung = remark; | ||||
| report.Alter = age; | report.Alter = age; | ||||
| report.Preis = price; | report.Preis = price; | ||||
| report.SuchDienstId = selectedSearchService.Id; | |||||
| report.SuchDienstId = selectedSearchService != null ? selectedSearchService.Id : null; | |||||
| report.SuchDienstNr = searchServiceNbr; | report.SuchDienstNr = searchServiceNbr; | ||||
| } | } | ||||
| <td style="@getTypeBackgroundStyle(context.ReportType)">@translateType(context.ReportType)</td> | <td style="@getTypeBackgroundStyle(context.ReportType)">@translateType(context.ReportType)</td> | ||||
| <td style="white-space: nowrap">@ReportRepositoryService.GetCurrentDateTimeFromMillis(context.ID)</td> | <td style="white-space: nowrap">@ReportRepositoryService.GetCurrentDateTimeFromMillis(context.ID)</td> | ||||
| <td style="white-space: nowrap">@getAddress(context)</td> | <td style="white-space: nowrap">@getAddress(context)</td> | ||||
| <td>@getPicture(context)</td> | |||||
| <td> | |||||
| <MatIconButton Disabled="@HasNoPicture(context)" Icon="photo" OnClick="@(_ => ShowPicture(context))"></MatIconButton> | |||||
| </td> | |||||
| <td> | <td> | ||||
| <MatIconButton Icon="delete_forever" OnClick="@(_ => DeleteReport(context))"></MatIconButton> | <MatIconButton Icon="delete_forever" OnClick="@(_ => DeleteReport(context))"></MatIconButton> | ||||
| </td> | </td> | ||||
| private string getAddress(ReportRepositoryItem item) { | private string getAddress(ReportRepositoryItem item) { | ||||
| if (ReportRepositoryItem.Type.FOUND.Equals(item.ReportType)) { | if (ReportRepositoryItem.Type.FOUND.Equals(item.ReportType)) { | ||||
| GeographicInfo geoInfo = ((FoundReportRepositoryItem)item).Report.GeographicInfo; | GeographicInfo geoInfo = ((FoundReportRepositoryItem)item).Report.GeographicInfo; | ||||
| return geoInfo.Address + ", " + geoInfo.Postcode + " " + geoInfo.Town; | |||||
| return geoInfo.Address + ((!String.IsNullOrEmpty(geoInfo.Postcode) || !String.IsNullOrEmpty(geoInfo.Town)) ? ", " + geoInfo.Postcode + " " + geoInfo.Town: ""); | |||||
| } | } | ||||
| return ""; | return ""; | ||||
| } | } | ||||
| private string getPicture(ReportRepositoryItem item) { | |||||
| private async Task ShowPicture(ReportRepositoryItem item) { | |||||
| string picData = ReportRepositoryItem.Type.FOUND.Equals(item.ReportType) ? ((FoundReportRepositoryItem)item).Report.FotoString : ((MissingReportRepositoryItem)item).Report.FotoString; | string picData = ReportRepositoryItem.Type.FOUND.Equals(item.ReportType) ? ((FoundReportRepositoryItem)item).Report.FotoString : ((MissingReportRepositoryItem)item).Report.FotoString; | ||||
| return ""; | |||||
| await MatDialogService.OpenAsync(typeof(PictureDialog), new MatDialogOptions() { | |||||
| Attributes = new Dictionary<string, object>(){ | |||||
| {"ImgUrl", picData}, | |||||
| } | |||||
| }); | |||||
| await ScrollLockRemover.removeScrollLockAsync(); | |||||
| } | } | ||||
| private bool HasNoPicture(ReportRepositoryItem item) { | |||||
| string picData = ReportRepositoryItem.Type.FOUND.Equals(item.ReportType) ? ((FoundReportRepositoryItem)item).Report.FotoString : ((MissingReportRepositoryItem)item).Report.FotoString; | |||||
| return String.IsNullOrEmpty(picData); | |||||
| } | |||||
| private async void DeleteReport(ReportRepositoryItem item) { | private async void DeleteReport(ReportRepositoryItem item) { | ||||
| string yes = i18n.GetString("Yes"); | string yes = i18n.GetString("Yes"); | ||||
| string no = i18n.GetString("No"); | string no = i18n.GetString("No"); |
| @inject IStringLocalizer<Resources> I18n; | |||||
| <MatDialogTitle style="display: flex; align-items: center;"> | |||||
| <div style="flex: 1;">@I18n["Picture"]</div> | |||||
| <div @onclick="@(_=>CloseDialog())" style="cursor: pointer;"> | |||||
| <MatIcon Icon="@MatIconNames.Close" Style="display:flex"></MatIcon> | |||||
| </div> | |||||
| </MatDialogTitle> | |||||
| <MatDialogContent> | |||||
| <MatCard Id="bicyclePic" Class="fv-mat-card"> | |||||
| <MatCardContent> | |||||
| <MatCardMedia Square="true" ImageUrl="@ImgUrl"></MatCardMedia> | |||||
| </MatCardContent> | |||||
| </MatCard> | |||||
| </MatDialogContent> | |||||
| <MatDialogActions Style="padding-left:24px;padding-right:24px;padding-bottom:12px"> | |||||
| <MatButton Class="w-100" Raised="true" OnClick="@(_ => CloseDialog())">@I18n["Close"]</MatButton> | |||||
| </MatDialogActions> | |||||
| @code { | |||||
| [Parameter] | |||||
| public string ImgUrl { get; set; } | |||||
| [CascadingParameter] | |||||
| public MatDialogReference DialogReference { get; set; } | |||||
| void CloseDialog() { | |||||
| DialogReference.Close(""); | |||||
| } | |||||
| } |
| <data name="City" xml:space="preserve"> | <data name="City" xml:space="preserve"> | ||||
| <value>Ort</value> | <value>Ort</value> | ||||
| </data> | </data> | ||||
| <data name="Close" xml:space="preserve"> | |||||
| <value>Schliessen</value> | |||||
| </data> | |||||
| <data name="Color" xml:space="preserve"> | <data name="Color" xml:space="preserve"> | ||||
| <value>Farbe</value> | <value>Farbe</value> | ||||
| </data> | </data> |
| <data name="City" xml:space="preserve"> | <data name="City" xml:space="preserve"> | ||||
| <value>Ville</value> | <value>Ville</value> | ||||
| </data> | </data> | ||||
| <data name="Close" xml:space="preserve"> | |||||
| <value>Fermer</value> | |||||
| </data> | |||||
| <data name="Color" xml:space="preserve"> | <data name="Color" xml:space="preserve"> | ||||
| <value>Couleur</value> | <value>Couleur</value> | ||||
| </data> | </data> |
| <data name="City" xml:space="preserve"> | <data name="City" xml:space="preserve"> | ||||
| <value>Città</value> | <value>Città</value> | ||||
| </data> | </data> | ||||
| <data name="Close" xml:space="preserve"> | |||||
| <value>Chiudi</value> | |||||
| </data> | |||||
| <data name="Color" xml:space="preserve"> | <data name="Color" xml:space="preserve"> | ||||
| <value>Colore</value> | <value>Colore</value> | ||||
| </data> | </data> |
| <data name="City" xml:space="preserve"> | <data name="City" xml:space="preserve"> | ||||
| <value>City</value> | <value>City</value> | ||||
| </data> | </data> | ||||
| <data name="Close" xml:space="preserve"> | |||||
| <value>Close</value> | |||||
| </data> | |||||
| <data name="Color" xml:space="preserve"> | <data name="Color" xml:space="preserve"> | ||||
| <value>Color</value> | <value>Color</value> | ||||
| </data> | </data> |