This commit is contained in:
2023-02-15 18:31:54 +01:00
parent 051585ba6f
commit 2dd50af7f8
7 changed files with 750 additions and 487 deletions

View File

@@ -145,9 +145,11 @@
<TextBlock Grid.Row="0" Text="{Binding Subject}" TextWrapping="NoWrap" Margin="6,0,0,3" Foreground="{Binding Path=CustomViewInfo[CustomFieldStorage].ForegroundColor}" />
<TextBlock Grid.Row="1" Text="{Binding Location}" TextWrapping="Wrap" Margin="6,0,0,3" Foreground="{Binding Path=CustomViewInfo[CustomFieldStorage].ForegroundColor}" />
</Grid>
<dxschint:AppointmentImagesControl Grid.Column="1" ViewInfo="{Binding}" Orientation="Vertical" SnapsToDevicePixels="True" />
<dxschint:AppointmentImagesControl Grid.Column="1" Margin="0,0,4,0" ViewInfo="{Binding}" Orientation="Vertical" SnapsToDevicePixels="True" />
<!-- ToDo: Neuen Converter schreiben, der prüft, ob in der Liste ServiceRecords sind -->
<Image Grid.Row="0" Grid.Column="2" Visibility="{Binding Path=CustomViewInfo[CustomFieldStorage].ServiceRecordList, Converter={StaticResource AptToServRecsIconVisibilityConverter}}" Source="/BeWoPlaner;component/Ressources/Icons/HistoryDisabled.png" SnapsToDevicePixels="True" Height="20" Width="20" VerticalAlignment="Top" />
<Image Grid.Row="0" Grid.Column="2" Margin="-4,-2,6,0"
Visibility="{Binding Path=CustomViewInfo[CustomFieldStorage].ServiceRecordList, Converter={StaticResource AptToServRecsIconVisibilityConverter}}" Source="/BeWoPlaner;component/Ressources/Icons/HistoryDisabled.png"
SnapsToDevicePixels="True" Height="20" Width="20" VerticalAlignment="Top" />
</Grid>
</DataTemplate>
<!--Endregion-->
@@ -188,7 +190,7 @@
<Grid x:Name="PART_ToolTipContainer" dxsch:SchedulerControl.HitTestType="AppointmentContent" dxsch:SchedulerControl.SelectableIntervalViewInfo="{TemplateBinding ViewInfo}">
<ToolTipService.ToolTip>
<ToolTip Content="{TemplateBinding ViewInfo}" ContentTemplate="{Binding ViewInfo.View.AppointmentToolTipContentTemplate, RelativeSource={RelativeSource TemplatedParent}, UpdateSourceTrigger=PropertyChanged}"
Visibility="{Binding ViewInfo.View.AppointmentToolTipVisibility, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource ToolTipVisibilityConverter}}">
Visibility="{Binding ViewInfo.View.AppointmentToolTipVisibility, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource ToolTipVisibilityConverter}}">
</ToolTip>
</ToolTipService.ToolTip>
<dxschint:AppointmentBorder x:Name="back" DefaultCornerRadius="4" Opacity="1" ViewInfo="{TemplateBinding ViewInfo}"
@@ -259,6 +261,7 @@
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
@@ -272,7 +275,11 @@
dxschint:VerticalAppointmentContentPanel.AlwaysOnNewRow="True" TextWrapping="Wrap" Margin="11,6,0,0"
Foreground="{Binding Path=CustomViewInfo[CustomFieldStorage].ForegroundColor}" />
<dxschint:AppointmentImagesControl Grid.Row="0" Grid.Column="4" Margin="0,4,10,0" ViewInfo="{Binding}" Orientation="Horizontal" VerticalAlignment="Top" HorizontalAlignment="Right" />
<dxschint:AppointmentImagesControl Grid.Row="0" Grid.Column="4" Margin="0,4,10,0" ViewInfo="{Binding}"
Orientation="Horizontal" VerticalAlignment="Top" HorizontalAlignment="Right" />
<Image Grid.Row="0" Grid.Column="5" Margin="0,4,10,0"
Visibility="{Binding Path=CustomViewInfo[CustomFieldStorage].ServiceRecordList, Converter={StaticResource AptToServRecsIconVisibilityConverter}}"
Source="/BeWoPlaner;component/Ressources/Icons/HistoryDisabled.png" SnapsToDevicePixels="True" Height="20" Width="20" VerticalAlignment="Top" />
</Grid>
</dxschint:HorizontalAppointmentContentPanel>
</DataTemplate>
@@ -284,6 +291,7 @@
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="0" Orientation="Horizontal" VerticalAlignment="Center">
<dxschint:AppointmentContinueStartDateControl ViewInfo="{Binding}" Margin="12, 4, 0, 2" Foreground="{Binding Path=CustomViewInfo[CustomFieldStorage].ForegroundColor}" VerticalAlignment="Center" />
@@ -292,12 +300,15 @@
<dxschint:HorizontalAppointmentContentPanel Grid.Column="1" ClipToBounds="True" VerticalAlignment="Center" Margin="2,0,2,0">
<dxschint:AppointmentImagesControl HorizontalAlignment="Center" ViewInfo="{Binding}" Orientation="Horizontal" />
<TextBlock Text="{Binding Subject}" VerticalAlignment="Center" TextWrapping="Wrap" Foreground="{Binding Path=CustomViewInfo[CustomFieldStorage].ForegroundColor}" Margin="8, 2, 0, 0" />
</dxschint:HorizontalAppointmentContentPanel>
</dxschint:HorizontalAppointmentContentPanel>
<StackPanel Grid.Column="2" Orientation="Horizontal" VerticalAlignment="Center">
<dxschint:HorizontalAppointmentEndClockControl ViewInfo="{Binding}" Margin="0, 4, 12, 2" VerticalAlignment="Center" />
<dxschint:AppointmentContinueEndDateControl ViewInfo="{Binding}" Margin="0, 4, 12, 2" Foreground="{Binding Path=CustomViewInfo[CustomFieldStorage].ForegroundColor}" VerticalAlignment="Center" />
</StackPanel>
</Grid>
<Image Grid.Column="3" Grid.Row="0" Margin="0,0,4,0"
Visibility="{Binding Path=CustomViewInfo[CustomFieldStorage].ServiceRecordList, Converter={StaticResource AptToServRecsIconVisibilityConverter}}"
Source="/BeWoPlaner;component/Ressources/Icons/HistoryDisabled.png" SnapsToDevicePixels="True" Height="17" Width="17" VerticalAlignment="Center" />
</Grid>
</DataTemplate>
<!-- Endregion-->

View File

@@ -343,6 +343,7 @@ namespace BeWo.Scheduler.ViewModel
vm.TaskDescription = app.CF_TaskDescription();
vm.SupportConceptList = app.CF_SupportConceptList();
vm.HasServiceRecordEntry = app.CF_HasServiceRecordEntry();
vm.ServiceRecordList = app.CF_ServiceRecordList();
if(vm.IsTask)
{

View File

@@ -477,6 +477,8 @@ namespace BeWo.View
Login _login = new Login(kundennummer, "kihqx-PiGka", "cb", "bewo", "0b50c09aff87f20d9ced75340e04e5ccaa11dd3e7bcf25e9c4f94dc20d3cbb97");
_login = new Login("4368658436", "B7x0b-FhhJA", "jettenl", "n8-yR+3Q=6nX#", "0000");
var x1 = _login.AnmeldevorgangDurchFuehren();
ServiceChatView = new ChatView(x1);

View File

@@ -8,6 +8,7 @@ using BeWoPlanerMobil.Service;
using BeWoPlanerMobil.Util;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using DevExpress.XtraReports.UI;
@@ -86,6 +87,8 @@ namespace BeWoPlanerMobil.Controllers
Model.Customers = new List<CompactCustomerDC>();
}
// ReportTypes laden! Erstmal nur Medikamentenansicht
if(AbstractModel.IsAllowedToSeeMedikamentenliste)
{
@@ -246,6 +249,108 @@ namespace BeWoPlanerMobil.Controllers
}
}
}
public ActionResult UpdateCustomer(FormCollection formCollection)
{
if(Model is null)
{
return Logout();
}
// ToDo: Stammdaten aus formCollection holen, validieren und Customer-Objekt aktualisieren.
var firstname = formCollection["vorname"];
var lastname = formCollection["nachname"];
var geburtdatum = formCollection["geburtstag"];
var geschlecht = formCollection["geschlecht"];
var adresszusatz = formCollection["adresszusatz"];
var street = formCollection["strasse"];
var postalCode = formCollection["plz"];
var city = formCollection["ort"];
var nameInvoiceAddress = formCollection["name-rechnungsadresse"];
var streetInvoiceAddress = formCollection["strasse-rechnungsadresse"];
var postalCodeInvoiceAddress = formCollection["plz-rechnungsadresse"];
var cityInvoiceAddress = formCollection["ort-rechnungsadresse"];
var mobile = formCollection["handy"];
var phone = formCollection["telefon"];
var fax = formCollection["fax"];
var eMailAddress = formCollection["mail"];
var notice = formCollection["notiz"];
var customer = Model.SelectedCustomer;
if(customer is null)
{
return RedirectToActionPermanent("Customer");
}
customer.FirstName = firstname;
customer.LastName = lastname;
if(DateTime.TryParse(geburtdatum, out var dateOfBirth))
{
customer.DateOfBirth = dateOfBirth;
}
if(int.TryParse(geschlecht, out var sexIndex))
{
var castSex = sexIndex >= 0 ? (Sex?)sexIndex : null;
customer.Sex = castSex;
}
customer.AddressLine1 = adresszusatz;
customer.Street = street;
customer.PostalCode = postalCode;
customer.Town = city;
customer.InvoiceAddressLine1 = nameInvoiceAddress;
customer.InvoiceAddressStreet = streetInvoiceAddress;
customer.InvoiceAddressPostalCode = postalCodeInvoiceAddress;
customer.InvoiceAddressTown = cityInvoiceAddress;
var mobileContactInfo = customer.ContactInformations.FirstOrDefault(contactInformation => contactInformation.ContactType == ContactType.business_MobilePhone) ?? new ContactDC { ContactType = ContactType.business_MobilePhone };
mobileContactInfo.ContactValue = mobile;
if(customer.ContactInformations.All(a => a.ContactType != ContactType.business_MobilePhone))
{
customer.ContactInformations.Add(mobileContactInfo);
}
var phoneContactInfo = customer.ContactInformations.FirstOrDefault(contactInformation => contactInformation.ContactType == ContactType.business_Phone) ?? new ContactDC { ContactType = ContactType.business_Phone };
phoneContactInfo.ContactValue = phone;
if(customer.ContactInformations.All(a => a.ContactType != ContactType.business_Phone))
{
customer.ContactInformations.Add(phoneContactInfo);
}
var faxContactInfo = customer.ContactInformations.FirstOrDefault(contactInformation => contactInformation.ContactType == ContactType.business_Fax) ?? new ContactDC { ContactType = ContactType.business_Fax };
faxContactInfo.ContactValue = fax;
if(customer.ContactInformations.All(a => a.ContactType != ContactType.business_Fax))
{
customer.ContactInformations.Add(faxContactInfo);
}
var eMailContactInfo = customer.ContactInformations.FirstOrDefault(contactInformation => contactInformation.ContactType == ContactType.business_Mail) ?? new ContactDC { ContactType = ContactType.business_Mail };
eMailContactInfo.ContactValue = eMailAddress;
if(customer.ContactInformations.All(a => a.ContactType != ContactType.business_Mail))
{
customer.ContactInformations.Add(eMailContactInfo);
}
customer.Notice = notice;
CustomerService.UpdateCustomer(customer);
return RedirectToActionPermanent("PreselectCustomer", new { customerOid = customer.CustomerOid });
}
}
public enum CustomerReportType

View File

@@ -1,6 +1,8 @@
using System.Collections.Generic;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using BS.Shared;
using BS.Shared.DataContracts;
using BS.Shared.Extensions;
@@ -48,6 +50,8 @@ namespace BeWoPlanerMobil.Util
public List<JsonAbsenceTime> AbsenceTimes { get; set; } = new List<JsonAbsenceTime>();
public List<JsonOrganisation> Organisations { get; set; } = new List<JsonOrganisation>();
public Sex? CustomerSex { get; set; }
public JsonCustomer(CustomerDC customer, List<BeWoFolderDC> folderTree)
{
@@ -71,6 +75,8 @@ namespace BeWoPlanerMobil.Util
break;
}
CustomerSex = customer.Sex;
Adresszusatz = customer.AddressLine1;
Strasse = customer.Street;
Postleitzahl = customer.PostalCode;

File diff suppressed because it is too large Load Diff

View File

@@ -10,6 +10,14 @@
logError(error);
}
}
function copyToServiceRecord(appointmentOid) {
try {
} catch(error) {
logError(error);
}
}
</script>
@* Ganztagestermine in eine Liste mit weniger Margin und Padding *@
@@ -41,7 +49,7 @@
@if(appointment.IsException)
{
<span class="fa-stack ml-2" style="display: inline;">
<span class="fa-stack ml-2 mr-4" style="display: inline;">
<i class="fas fa-sync-alt fa-stack-1x text-secondary"></i>
<i class="fas fa-slash fa-stack-1x text-secondary"></i>
</span>
@@ -134,7 +142,7 @@
@if(appointment.IsException)
{
<span class="fa-stack ml-2" style="display: inline;">
<span class="fa-stack ml-2 mr-4" style="display: inline;">
<i class="fas fa-sync-alt fa-stack-1x text-secondary"></i>
<i class="fas fa-slash fa-stack-1x text-secondary"></i>
</span>
@@ -194,6 +202,18 @@
<span class="fas fa-trash-alt"></span>
</button>
</div>
<div class="col-auto">
<button type="button" class="btn btn-primary" onclick="copyToServiceRecord(@appointment.Oid)">
<span class="fa-stack ml-2 mr-4" style="display: inline;">
<i class="fas fa-sync-alt fa-stack-1x text-secondary"></i>
<i class="fas fa-slash fa-stack-1x text-secondary"></i>
</span>
<span class="fa-stack" style="display: inline;">
<i class="fas fa-external-link-alt"></i>
<i class="fas fa-clock"></i>
</span>
</button>
</div>
</div>
}
}