| @@ -40,7 +40,9 @@ | |||
| @if (FromRoute.Equals("history_found")) { | |||
| <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> | |||
| <MatIconButton Icon="delete_forever" OnClick="@(_ => DeleteReport(context))"></MatIconButton> | |||
| </td> | |||
| @@ -101,9 +103,19 @@ | |||
| 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; | |||
| 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) { | |||
| @@ -294,7 +294,7 @@ | |||
| report.Bemerkung = remark; | |||
| report.Alter = age; | |||
| report.Preis = price; | |||
| report.SuchDienstId = selectedSearchService.Id; | |||
| report.SuchDienstId = selectedSearchService != null ? selectedSearchService.Id : null; | |||
| report.SuchDienstNr = searchServiceNbr; | |||
| } | |||
| @@ -37,7 +37,9 @@ | |||
| <td style="@getTypeBackgroundStyle(context.ReportType)">@translateType(context.ReportType)</td> | |||
| <td style="white-space: nowrap">@ReportRepositoryService.GetCurrentDateTimeFromMillis(context.ID)</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> | |||
| <MatIconButton Icon="delete_forever" OnClick="@(_ => DeleteReport(context))"></MatIconButton> | |||
| </td> | |||
| @@ -83,16 +85,27 @@ | |||
| private string getAddress(ReportRepositoryItem item) { | |||
| if (ReportRepositoryItem.Type.FOUND.Equals(item.ReportType)) { | |||
| 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 ""; | |||
| } | |||
| 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; | |||
| 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) { | |||
| string yes = i18n.GetString("Yes"); | |||
| string no = i18n.GetString("No"); | |||
| @@ -0,0 +1,33 @@ | |||
| @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(""); | |||
| } | |||
| } | |||
| @@ -192,6 +192,9 @@ | |||
| <data name="City" xml:space="preserve"> | |||
| <value>Ort</value> | |||
| </data> | |||
| <data name="Close" xml:space="preserve"> | |||
| <value>Schliessen</value> | |||
| </data> | |||
| <data name="Color" xml:space="preserve"> | |||
| <value>Farbe</value> | |||
| </data> | |||
| @@ -192,6 +192,9 @@ | |||
| <data name="City" xml:space="preserve"> | |||
| <value>Ville</value> | |||
| </data> | |||
| <data name="Close" xml:space="preserve"> | |||
| <value>Fermer</value> | |||
| </data> | |||
| <data name="Color" xml:space="preserve"> | |||
| <value>Couleur</value> | |||
| </data> | |||
| @@ -192,6 +192,9 @@ | |||
| <data name="City" xml:space="preserve"> | |||
| <value>Città</value> | |||
| </data> | |||
| <data name="Close" xml:space="preserve"> | |||
| <value>Chiudi</value> | |||
| </data> | |||
| <data name="Color" xml:space="preserve"> | |||
| <value>Colore</value> | |||
| </data> | |||
| @@ -192,6 +192,9 @@ | |||
| <data name="City" xml:space="preserve"> | |||
| <value>City</value> | |||
| </data> | |||
| <data name="Close" xml:space="preserve"> | |||
| <value>Close</value> | |||
| </data> | |||
| <data name="Color" xml:space="preserve"> | |||
| <value>Color</value> | |||
| </data> | |||