Merge branch 'master' of ssh://float.beyondsoft.de/git/beyondSoft/BeWo

This commit is contained in:
staccatomamba
2016-10-07 12:40:42 +02:00
32 changed files with 620 additions and 304 deletions

View File

@@ -1679,10 +1679,14 @@ namespace BeWo.Core
var zeitraum = (DateTime) variablen["zeitraum"];
var objectOid = Convert.ToInt64(variablen["objectoid"]);
var objectTid = (TableID) Enum.Parse(typeof (TableID), variablen["objecttid"].ToString());
var endzeitraum = (DateTime)variablen["endzeitraum"];
var kasse = (BargeldkassenDC) variablen["bargeldkasse"];
ServiceFacade.DoReportServiceAsync(strom => strom.CreateKassenbuchReport(zeitraum, kasse, objectOid, objectTid), ms => BeWoApp.MainControl.Dispatch(() => ShowReportWindow(ms, documentPreview, title)));
ServiceFacade.DoReportServiceAsync(strom => strom.CreateKassenbuchReportImZeitraum(zeitraum,endzeitraum, kasse, objectOid, objectTid), ms => BeWoApp.MainControl.Dispatch(() => ShowReportWindow(ms, documentPreview, title)));
break;
case ReportEnum.ZahlungsbelegEnum:

View File

@@ -489,6 +489,10 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/GetEmployeeImage", ReplyAction="http://tempuri.org/IEmployeeService/GetEmployeeImageResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IEmployeeService/GetEmployeeImageBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
byte[] GetEmployeeImage(long employeeOid);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/GetEmployeeThumbnail", ReplyAction="http://tempuri.org/IEmployeeService/GetEmployeeThumbnailResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IEmployeeService/GetEmployeeThumbnailBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
byte[] GetEmployeeThumbnail(long employeeOid);
}
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
@@ -909,6 +913,11 @@ namespace BeWo.ServiceProxy
{
return base.Channel.GetEmployeeImage(employeeOid);
}
public byte[] GetEmployeeThumbnail(long employeeOid)
{
return base.Channel.GetEmployeeThumbnail(employeeOid);
}
}
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
@@ -5575,6 +5584,10 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IReportService/CreateKassenbuchReportBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.IO.MemoryStream CreateKassenbuchReport(System.DateTime zeitraum, BS.Shared.DataContracts.BargeldkassenDC bargeldkasse, long objectOid, BS.Shared.TableID objectTid);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IReportService/CreateKassenbuchReportImZeitraum", ReplyAction="http://tempuri.org/IReportService/CreateKassenbuchReportImZeitraumResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IReportService/CreateKassenbuchReportImZeitraumBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.IO.MemoryStream CreateKassenbuchReportImZeitraum(System.DateTime zeitraumStart, System.DateTime zeitraumEnde, BS.Shared.DataContracts.BargeldkassenDC bargeldkasse, long objectOid, BS.Shared.TableID objectTid);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IReportService/CreateKassenbelegReport", ReplyAction="http://tempuri.org/IReportService/CreateKassenbelegReportResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IReportService/CreateKassenbelegReportBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.IO.MemoryStream CreateKassenbelegReport(BS.Shared.DataContracts.BargeldtransaktionDC transaktion, long objectOid, BS.Shared.TableID objectTid);
@@ -5632,6 +5645,11 @@ namespace BeWo.ServiceProxy
return base.Channel.CreateKassenbuchReport(zeitraum, bargeldkasse, objectOid, objectTid);
}
public System.IO.MemoryStream CreateKassenbuchReportImZeitraum(System.DateTime zeitraumStart, System.DateTime zeitraumEnde, BS.Shared.DataContracts.BargeldkassenDC bargeldkasse, long objectOid, BS.Shared.TableID objectTid)
{
return base.Channel.CreateKassenbuchReportImZeitraum(zeitraumStart, zeitraumEnde, bargeldkasse, objectOid, objectTid);
}
public System.IO.MemoryStream CreateKassenbelegReport(BS.Shared.DataContracts.BargeldtransaktionDC transaktion, long objectOid, BS.Shared.TableID objectTid)
{
return base.Channel.CreateKassenbelegReport(transaktion, objectOid, objectTid);

View File

@@ -221,10 +221,19 @@
</StackPanel>
<StackPanel Grid.Column="3" Grid.Row="1" HorizontalAlignment="Right" Orientation="Horizontal">
<ComboBox x:Name="KassenbuchMonatsCB" Margin="3" ItemsSource="{Binding Path=MonatsComboBoxSource, RelativeSource={RelativeSource AncestorType={x:Type view:BargeldkassenView}}}"
<Label Content="Startdatum" VerticalAlignment="Center"/>
<dxe:DateEdit x:Name="KassenBuchStartCB" Height="23" Margin="3" EditValue="{Binding Path=PreselectedStartDate, RelativeSource={RelativeSource AncestorType={x:Type view:BargeldkassenView}}, Mode=OneWay}" AllowNullInput="False" />
<Label Content="Enddatum" VerticalAlignment="Center"/>
<dxe:DateEdit x:Name="KassenBuchEndCB" Height="23" Margin="3" EditValue="{Binding Path=PreselectedEndDate, RelativeSource={RelativeSource AncestorType={x:Type view:BargeldkassenView}}, Mode=OneWay}" AllowNullInput="False"/>
<!--<ComboBox x:Name="KassenbuchMonatsCB" Margin="3" ItemsSource="{Binding Path=MonatsComboBoxSource, RelativeSource={RelativeSource AncestorType={x:Type view:BargeldkassenView}}}"
SelectedItem="{Binding Path=PreselectedMonth, RelativeSource={RelativeSource AncestorType={x:Type view:BargeldkassenView}}, Mode=OneWay}"/>
<ComboBox x:Name="KassenbuchJahresCB" Margin="3" ItemsSource="{Binding Path=JahresComboBoxSource, RelativeSource={RelativeSource AncestorType={x:Type view:BargeldkassenView}}}"
SelectedItem="{Binding Path=PreselectedYear, RelativeSource={RelativeSource AncestorType={x:Type view:BargeldkassenView}}, Mode=OneWay}"/>
SelectedItem="{Binding Path=PreselectedYear, RelativeSource={RelativeSource AncestorType={x:Type view:BargeldkassenView}}, Mode=OneWay}"/>-->
<TextBlock Margin="3" FontSize="14" VerticalAlignment="Center" PreviewMouseLeftButtonDown="KlassenbuchLinkOnPreviewMouseLeftButtonDown" Tag="{Binding}" IsEnabled="{Binding Path=Bargeldtransaktionen.VMList.Count, Converter={StaticResource CollectionCountToBoolConverter}, UpdateSourceTrigger=PropertyChanged}">
<Hyperlink x:Name="LinkKassenbuchDrucken" TargetName="_NewWindow" Style="{StaticResource HyperlinkStyle}">

View File

@@ -31,6 +31,20 @@ namespace BeWo.View
[Validation(ValidationRule = ValidationRules.NotNullOrStringEmpty)]
public BargeldkassenVM SelectedBargeldkasse { get; set; }
public static DateTime PreselectedStartDate
{
get { return new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);; }
}
public static DateTime PreselectedEndDate
{
get
{
return new DateTime(DateTime.Now.Year, DateTime.Now.Month,DateTime.DaysInMonth(DateTime.Now.Year,DateTime.Now.Month));
}
}
public static int PreselectedMonth
{
get { return DateTime.Now.Month; }
@@ -117,14 +131,17 @@ namespace BeWo.View
NewBargeldtransaktion = new BargeldtransaktionsVM(new BargeldtransaktionDC());
InitRights();
InitRights();
ReloadViewModel();
if (tabcontrol_bargeldkassen != null && tabcontrol_bargeldkassen.SelectedIndex == -1)
{
tabcontrol_bargeldkassen.SelectedIndex = 0;
}
}
private void InitRights()
@@ -155,6 +172,7 @@ namespace BeWo.View
darfBargeldTransaktionenBearbeitenAsDefaultBoolean = editRightAsDefaultBoolean;
darfBargeldTransaktionenLoeschen = deleteRight;
darfBargeldTransaktionenAnlegen = createRight;
}
private void ReloadViewModel()
@@ -238,15 +256,21 @@ namespace BeWo.View
var parentStackPanel = (StackPanel) textBlock.Parent;
var kinder = parentStackPanel.Children;
var monatsCombobox = (ComboBox) kinder[0];
var jahresCombobox = (ComboBox) kinder[1];
var startzeitraum = (DateEdit)kinder[1];
var endzeitraum = (DateEdit) kinder[3];
//var monatsCombobox = (ComboBox) kinder[0];
//var jahresCombobox = (ComboBox) kinder[1];
var monat = Convert.ToInt32(monatsCombobox.SelectedItem);
var jahr = Convert.ToInt32(jahresCombobox.SelectedItem);
//var monat = Convert.ToInt32(monatsCombobox.SelectedItem);
//var jahr = Convert.ToInt32(jahresCombobox.SelectedItem);
//var jahr = Convert.ToInt32(jahresCombobox.DateTime.Year);
//var monat = Convert.ToInt32(jahresCombobox.DateTime.Month);
var zeitraum = new DateTime(jahr, monat, 1);
//var zeitraum = new DateTime(jahr, monat, 1);
BeWoUtils.ShowReport("Kassenbuch", null, new Dictionary<String, Object> { { "bargeldkasse", kasse }, { "zeitraum", zeitraum }, { "objectoid", kasse.ObjectOid }, { "objecttid", kasse.ObjectTid } }, ReportEnum.KassenbuchReportEnum);
BeWoUtils.ShowReport("Kassenbuch", null, new Dictionary<String, Object> { { "bargeldkasse", kasse }, { "zeitraum", startzeitraum.DateTime }, { "endzeitraum", endzeitraum.DateTime }, { "objectoid", kasse.ObjectOid }, { "objecttid", kasse.ObjectTid } }, ReportEnum.KassenbuchReportEnum);
}
private void ButtonBargeldtransaktionDeleteClick(object sender, RoutedEventArgs e)

View File

@@ -148,26 +148,7 @@ namespace BeWo.View
popup_contentChat.Visibility = Visibility.Visible;
//newView.SetStartTimeEndTime(first, last);
//newView.SetLoggedOnEmployee();
})));
/*
//rootGroupBox.Header = nameinf;
this.tcpClient = tcpClient;
closeWindow();
LoadallChatKontakts();
ErstelleContextMenue();
SetChatSetting();*/
}
private CompactSupportConceptDC HoleHilfeplanAusListe(List<CompactSupportConceptDC> scList, CompactCustomerDC customerCompact, DateTime firstTime, DateTime lastTime)

View File

@@ -2,250 +2,284 @@
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:view="clr-namespace:BeWo.View"
Title="Chat View" Height="800" Width="800" WindowStartupLocation="CenterScreen" WindowStyle="None"
Title="Chat View" WindowStartupLocation="CenterScreen" WindowStyle="None"
AllowsTransparency="True"
Background="Transparent"
ResizeMode="CanResizeWithGrip"
x:Name="ChatViewName">
<Grid >
<GroupBox Header="Chat" x:Name="rootGroupBox" Style="{DynamicResource MainContentGroupBoxWithoutMaximizeBtnStyle}" MouseLeftButtonDown="RootGroupBox_OnMouseLeftButtonDown">
<Grid Background="{StaticResource ObjectEditBackgroundBrush}" >
<GroupBox Header="Chat" x:Name="rootGroupBox" Style="{DynamicResource MainContentGroupBoxWithoutMaximizeBtnStyle}" MouseLeftButtonDown="RootGroupBox_OnMouseLeftButtonDown">
<Grid Background="{StaticResource ObjectEditBackgroundBrush}" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2.12*"/>
<ColumnDefinition Width="7.88*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="10*"/>
</Grid.RowDefinitions>
<!--<TextBox x:Name="ServerStats" Height="23" Margin="539,13,7,0" TextWrapping="Wrap" VerticalAlignment="Top" ToolTip="Server Info" IsEnabled="False" VerticalContentAlignment="Center">
<TextBox.Resources>
<Style TargetType="{x:Type Border}">
<Setter Property="CornerRadius" Value="3"/>
<Setter Property="Padding" Value="10,0,0,0" />
</Style>
</TextBox.Resources>
</TextBox>-->
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<TextBox x:Name="Chatbox" HorizontalAlignment="Left" Margin="221,720,0,10" TextWrapping="Wrap" Text="Nachricht schreiben" TextChanged="Chatbox_OnTextChanged" VerticalScrollBarVisibility="Auto" MaxLines="5" MaxHeight="70"
VerticalContentAlignment="Center" Width="416" MinHeight="25" ToolTip="Schreiben Sie hier eine Nachricht hinein" KeyDown="OnKeyDownHandler" GotFocus="OnFocus" Foreground="DarkGray" >
<TextBox.Resources>
<Style TargetType="{x:Type Border}">
<Setter Property="CornerRadius" Value="3"/>
<Setter Property="Padding" Value="10,0,0,0" />
</Style>
</TextBox.Resources>
</TextBox>
<Button HorizontalAlignment="Left" x:Name="EmojiButton" Margin="642,720,-18,0" VerticalAlignment="Top" Width="25" Height="25" Click="SmileyButton_OnClick">
<Image x:Name="Smiley" ToolTip="Smiley einfügen" Source="/BeWoPlaner;component/Ressources/Icons/glucklicher.png" Stretch="UniformToFill" VerticalAlignment="Center" HorizontalAlignment="Center" RenderOptions.BitmapScalingMode="HighQuality" />
</Button>
</Grid>
<ListBox x:Name="Chat" HorizontalAlignment="Left" Height="630" Margin="221,64,0,0" VerticalAlignment="Top" Width="564" VirtualizingStackPanel.IsVirtualizing="True" VirtualizingStackPanel.VirtualizationMode="Recycling" SelectionMode="Extended" MouseRightButtonDown="OnRightClickEvent" >
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="HorizontalAlignment" Value="{Binding Posi}" />
</Style>
</ListBox.ItemContainerStyle>
<ListBox.Resources>
<Style TargetType="Border">
<Setter Property="CornerRadius" Value="3"/>
<Setter Property="Padding" Value="10,0,0,0" />
</Style>
</ListBox.Resources>
<ListBox.ItemTemplate>
<DataTemplate>
<Border BorderBrush="{Binding ChatColor}" BorderThickness="1,1,1,1" CornerRadius="8,8,8,8" Background="{Binding ChatColor}">
<DockPanel MinHeight="15" Margin="5" LastChildFill="True" Background="{Binding ChatColor}" >
<StackPanel DockPanel.Dock="Bottom" >
<TextBlock VerticalAlignment="Center" Text="{Binding UserMessage}" MinWidth="0" MaxWidth="500" TextWrapping="Wrap" />
</StackPanel>
<StackPanel DockPanel.Dock="Left" Margin="0,0,0,5">
<TextBlock Text="{Binding Username}" FontWeight="Bold" MaxWidth="150" HorizontalAlignment="Left" TextAlignment="Left" VerticalAlignment="Center"/>
</StackPanel>
<StackPanel DockPanel.Dock="Right" Margin="5,0,0,5">
<TextBlock Text="{Binding SendTime}" MaxWidth="350" HorizontalAlignment="Right" TextAlignment="Right" VerticalAlignment="Center"/>
</StackPanel>
</DockPanel>
</Border>
</DataTemplate>
</ListBox.ItemTemplate>
<!-- <ListBox.ItemsPanel> der Text kommt von unten und die neuste nachricht steht immer oben
<ItemsPanelTemplate>
<StackPanel VerticalAlignment="Bottom"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>-->
</ListBox>
<!--###################################### Liste aller User mit Chat Berechtigung ###################################################### -->
<ListView x:Name="Clientlist" HorizontalAlignment="Left" Height="680" Margin="10,64,0,0" VerticalAlignment="Top" Width="206" SelectionChanged="ListBoxSelectedIndexChanged" Style="{DynamicResource ResourceKey=styleListBox}" ItemTemplate="{DynamicResource DataTemplate1}">
<ListView.Resources>
<DataTemplate x:Key="DataTemplate1">
<Grid Margin="7,0,0,0" x:Name="GridMargin">
<!-- ########################## Linkes panel ########################### -->
<Grid Grid.Column="0" Grid.Row="0" >
<Grid.RowDefinitions>
<RowDefinition Height="0.80*"/>
<RowDefinition Height="9.20*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="35"/>
<ColumnDefinition Width="7"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="25"/>
<ColumnDefinition Width="12"/>
<ColumnDefinition Width="10*"/>
</Grid.ColumnDefinitions>
<Grid Grid.Column="0" Grid.Row="0" >
<Grid.RowDefinitions>
<RowDefinition Height="5.25*"/>
<RowDefinition Height="4.75*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="10*"/>
</Grid.ColumnDefinitions>
<Border BorderThickness="0.25" CornerRadius="3" Grid.RowSpan="2" Grid.ColumnSpan="5" Background="White" >
<Border.BorderBrush>
<SolidColorBrush Color="Black" />
</Border.BorderBrush>
</Border>
<StackPanel Grid.Row="0" Orientation="Horizontal" VerticalAlignment="Bottom" HorizontalAlignment="Left" >
<Label Content="Mein Status: " MaxWidth="80"/>
<RadioButton GroupName="status" x:Name="RadioButtonOnline" BorderBrush="Green" MaxWidth="15" ToolTip="Online" VerticalAlignment="Center" Checked="ComboBox_SelectionChanged" Foreground="Green"/>
<RadioButton GroupName="status" x:Name="RadioButtonOffline" BorderBrush="Red" MaxWidth="15" ToolTip="Offline" VerticalAlignment="Center" Checked="ComboBox_SelectionChanged" Foreground="Red"/>
<RadioButton GroupName="status" x:Name="RadioButtonBeschaeftigt" BorderBrush="DarkOrange" MaxWidth="15" ToolTip="Beschäftigt" VerticalAlignment="Center" Checked="ComboBox_SelectionChanged" Foreground="DarkOrange"/>
</StackPanel>
<StackPanel Grid.Row="0" MaxWidth="20" HorizontalAlignment="Right" Orientation="Horizontal" VerticalAlignment="Bottom" >
<Button Style="{DynamicResource IconButtonStyle}" x:Name="ButtonSortLabel" Background="Transparent" BorderBrush="Transparent" HorizontalAlignment="Right" VerticalAlignment="Center" Width="20" Height="20" Click="ButtonSortLabel_OnClick" >
<Image x:Name="SortLabel" ToolTip="Sortierung ändern" Source="pack://application:,,,/Ressources/icons/unsortiert.png" />
</Button>
</StackPanel>
<TextBox x:Name="Suche" Grid.Column="0" Margin="3,1,3,0" MinHeight="25" VerticalContentAlignment="Center" KeyDown="Suche_OnKeyDown" Grid.Row="1" TextChanged="Suche_OnTextChanged" LostFocus="Suche_OnLostFocus" VerticalAlignment="Bottom">
<TextBox.Resources>
<Style TargetType="{x:Type Border}">
<Setter Property="CornerRadius" Value="3"/>
<Setter Property="Padding" Value="5,0,0,0" />
</Style>
</TextBox.Resources>
</TextBox>
</Grid>
<Ellipse Width='30' Height='30' RenderOptions.BitmapScalingMode="HighQuality">
<Ellipse.Fill>
<ImageBrush ImageSource='{Binding Image}' Stretch='Fill' RenderOptions.BitmapScalingMode="HighQuality" />
</Ellipse.Fill>
</Ellipse>
<Grid Grid.Column="0" Grid.Row="1" >
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="10*"/>
</Grid.ColumnDefinitions>
<!--###################################### Liste aller User mit Chat Berechtigung ###################################################### -->
<ListView x:Name="Clientlist" HorizontalAlignment="Stretch" Grid.Row="0" Grid.Column="0" VerticalAlignment="Stretch" Margin="3" SelectionChanged="ListBoxSelectedIndexChanged" Style="{DynamicResource ResourceKey=styleListBox}" ItemTemplate="{DynamicResource DataTemplate1}" >
<ListView.Resources>
<DataTemplate x:Key="DataTemplate1">
<Grid Margin="7,0,0,0" x:Name="GridMargin">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="35"/>
<ColumnDefinition Width="7"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="25"/>
<ColumnDefinition Width="12"/>
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="1" Height="30" >
<Ellipse Width='7' Height='7' Fill="{Binding Path=Color}" Margin="-23,0,0,0" VerticalAlignment="Center" HorizontalAlignment="Center" Stretch="Fill" />
</StackPanel>
<Border BorderThickness="0.25" CornerRadius="3" Grid.RowSpan="2" Grid.ColumnSpan="5" Background="White" >
<Border.BorderBrush>
<SolidColorBrush Color="Black" />
</Border.BorderBrush>
</Border>
<StackPanel Grid.Column="2" Margin="5" >
<StackPanel Orientation="Horizontal" TextBlock.FontWeight="Bold" >
<TextBlock Text="{Binding Path=Name, FallbackValue=FirstName}" />
</StackPanel>
<!-- <TextBlock Text="{Binding Path=StatusTyp, FallbackValue=Message}" />-->
</StackPanel>
<!--Für die anzeige der anzahl ungelesener Nachrichten Height="30"-->
<StackPanel Grid.Column="3" Margin="5">
<TextBlock Text="{Binding Path=Receivems}" FontWeight="Bold" Foreground="Black" />
</StackPanel>
<StackPanel Grid.Column="4" Margin="7,0,0,0">
<Rectangle Fill="{Binding Path=ColorType}" Stretch="Fill" Height="30" Width="2" />
</StackPanel>
</Grid>
</DataTemplate>
</ListView.Resources>
<!--Uberschríft Mitarbeiter, ItemCount-->
<ListView.GroupStyle>
<GroupStyle>
<GroupStyle.ContainerStyle>
<Style TargetType="{x:Type GroupItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<Expander IsExpanded="True">
<Expander.Header>
<StackPanel Orientation="Horizontal" >
<TextBlock Text="{Binding Name}" FontWeight="Bold" Foreground="Black" FontSize="18" VerticalAlignment="Bottom" Width="148" />
<TextBlock Text="{Binding ItemCount}" FontSize="12" Foreground="Black" FontWeight="Bold" Margin="10,0,0,1" VerticalAlignment="Bottom" HorizontalAlignment="Right" />
<Ellipse Width='30' Height='30' RenderOptions.BitmapScalingMode="HighQuality">
<Ellipse.Fill>
<ImageBrush ImageSource='{Binding Image}' Stretch='Fill' RenderOptions.BitmapScalingMode="HighQuality" />
</Ellipse.Fill>
</Ellipse>
<StackPanel Grid.Column="1" Height="30" >
<Ellipse Width='7' Height='7' Fill="{Binding Path=Color}" Margin="-23,0,0,0" VerticalAlignment="Center" HorizontalAlignment="Center" Stretch="Fill" />
</StackPanel>
</Expander.Header>
<ItemsPresenter />
</Expander>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</GroupStyle.ContainerStyle>
</GroupStyle>
</ListView.GroupStyle>
</ListView>
<StackPanel Grid.Column="2" Margin="5" >
<StackPanel Orientation="Horizontal" TextBlock.FontWeight="Bold" >
<TextBlock Text="{Binding Path=Name, FallbackValue=FirstName}" />
</StackPanel>
<!-- <TextBlock Text="{Binding Path=StatusTyp, FallbackValue=Message}" />-->
</StackPanel>
<!--Für die anzeige der anzahl ungelesener Nachrichten Height="30"-->
<StackPanel Grid.Column="3" Margin="5">
<TextBlock Text="{Binding Path=Receivems}" FontWeight="Bold" Foreground="Black" />
</StackPanel>
<StackPanel Grid.Column="4" Margin="7,0,0,0">
<Rectangle Fill="{Binding Path=ColorType}" Stretch="Fill" Height="30" Width="2" />
</StackPanel>
</Grid>
</DataTemplate>
</ListView.Resources>
<Button x:Name="SendButton" Content="Senden" HorizontalAlignment="Left" Margin="672,720,0,0" VerticalAlignment="Top" Width="111" Click="SendButton_Click" Height="25"/>
<Grid Margin="10,13,574,691" Width="206" Height="50">
<Grid.RowDefinitions>
<RowDefinition Height="25"/>
<RowDefinition Height="20"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="206"/>
</Grid.ColumnDefinitions>
<StackPanel Grid.Row="0" Orientation="Horizontal" VerticalAlignment="Center" Width="180" HorizontalAlignment="Left" >
<Label Content="Mein Status: " Width="80"/>
<RadioButton GroupName="status" x:Name="RadioButtonOnline" BorderBrush="Green" Width="15" ToolTip="Online" VerticalAlignment="Center" Checked="ComboBox_SelectionChanged" Foreground="Green"/>
<RadioButton GroupName="status" x:Name="RadioButtonOffline" BorderBrush="Red" Width="15" ToolTip="Offline" VerticalAlignment="Center" Checked="ComboBox_SelectionChanged" Foreground="Red"/>
<RadioButton GroupName="status" x:Name="RadioButtonBeschaeftigt" BorderBrush="DarkOrange" Width="15" ToolTip="Beschäftigt" VerticalAlignment="Center" Checked="ComboBox_SelectionChanged" Foreground="DarkOrange"/>
</StackPanel>
<StackPanel Grid.Row="0" Width="20" HorizontalAlignment="Right" Orientation="Horizontal" >
<Button Style="{DynamicResource IconButtonStyle}" x:Name="ButtonSortLabel" Background="Transparent" BorderBrush="Transparent" HorizontalAlignment="Right" VerticalAlignment="Center" Width="20" Height="20" Click="ButtonSortLabel_OnClick" >
<Image x:Name="SortLabel" ToolTip="Sortierung ändern" Source="pack://application:,,,/Ressources/icons/unsortiert.png" />
</Button>
</StackPanel>
<TextBox x:Name="Suche" Grid.Column="1" VerticalContentAlignment="Center" KeyDown="Suche_OnKeyDown" Grid.Row="1" TextChanged="Suche_OnTextChanged" LostFocus="Suche_OnLostFocus">
<TextBox.Resources>
<Style TargetType="{x:Type Border}">
<Setter Property="CornerRadius" Value="3"/>
<Setter Property="Padding" Value="5,0,0,0" />
</Style>
</TextBox.Resources>
</TextBox>
</Grid>
</Grid>
</GroupBox>
<ListBox x:Name="AktChatUser" HorizontalAlignment="Left" Background="Transparent" BorderBrush="Transparent" Height="50" Margin="228,52,0,0" VerticalAlignment="Top" Width="312" ItemTemplate="{DynamicResource DataTemplate2}">
<ListBox.Resources>
<DataTemplate x:Key="DataTemplate2">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="50"/>
<ColumnDefinition Width="100"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="50" />
</Grid.RowDefinitions>
<!-- <Border Margin="5" BorderBrush="DarkGray" BorderThickness="1"> -->
<Ellipse Width='30' Height='30' VerticalAlignment="Center" RenderOptions.BitmapScalingMode="HighQuality">
<Ellipse.Fill >
<ImageBrush ImageSource='{Binding Image}' Stretch='Fill'/>
</Ellipse.Fill>
</Ellipse>
<!-- <Image Source="{Binding Path=Image}" Stretch="Fill" Width="30" Height="30" />-->
<!-- </Border> -->
<StackPanel Grid.Column="1" Margin="5" VerticalAlignment="Center">
<StackPanel Orientation="Horizontal" TextBlock.FontWeight="Bold" >
<TextBlock Text="{Binding Path=Name, FallbackValue=FirstName}" />
</StackPanel>
<!-- <TextBlock Text="{Binding Path=StatusTyp, FallbackValue=Message}" />-->
</StackPanel>
<!--Uberschríft Mitarbeiter, ItemCount-->
<ListView.GroupStyle>
<GroupStyle>
<GroupStyle.ContainerStyle>
<Style TargetType="{x:Type GroupItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<Expander IsExpanded="True">
<Expander.Header>
<StackPanel Orientation="Horizontal" >
<TextBlock Text="{Binding Name}" FontWeight="Bold" Foreground="Black" FontSize="18" VerticalAlignment="Bottom" Width="148" />
<TextBlock Text="{Binding ItemCount}" FontSize="12" Foreground="Black" FontWeight="Bold" Margin="10,0,0,1" VerticalAlignment="Bottom" HorizontalAlignment="Right" />
</StackPanel>
</Expander.Header>
<ItemsPresenter />
</Expander>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</GroupStyle.ContainerStyle>
</GroupStyle>
</ListView.GroupStyle>
<!-- <ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="White" />
<Setter Property="BorderBrush" Value="Transparent" />
<Setter Property="BorderThickness" Value="0" />
</Trigger>
</Style.Triggers>
</Style>
</ListView.ItemContainerStyle> -->
</ListView>
</Grid>
</Grid>
</DataTemplate>
</ListBox.Resources>
</ListBox>
<!-- ####################### Rechtes Panel ################################-->
<Grid Grid.Column="1" Grid.Row="0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="10*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="0.80*"/>
<RowDefinition Height="8.45*" />
<RowDefinition Height="0.75*"/>
</Grid.RowDefinitions>
<ListBox x:Name="AktChatUser" HorizontalAlignment="Left" Grid.Row="0" Background="Transparent" BorderBrush="Transparent" VerticalAlignment="Bottom" ItemTemplate="{DynamicResource DataTemplate2}" MouseDoubleClick="AktChatUser_OnMouseDoubleClick" >
<ListBox.Resources>
<DataTemplate x:Key="DataTemplate2">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="50"/>
<ColumnDefinition Width="100"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="10*" />
</Grid.RowDefinitions>
<!-- <Border Margin="5" BorderBrush="DarkGray" BorderThickness="1"> -->
<Ellipse Width='30' Height='30' VerticalAlignment="Center" RenderOptions.BitmapScalingMode="HighQuality">
<Ellipse.Fill >
<ImageBrush ImageSource='{Binding Image}' Stretch='Fill'/>
</Ellipse.Fill>
</Ellipse>
<!-- <Image Source="{Binding Path=Image}" Stretch="Fill" Width="30" Height="30" />-->
<!-- </Border> -->
<StackPanel Grid.Column="1" Margin="5" VerticalAlignment="Center">
<StackPanel Orientation="Horizontal" TextBlock.FontWeight="Bold" >
<TextBlock Text="{Binding Path=Name, FallbackValue=FirstName}" />
</StackPanel>
<!-- <TextBlock Text="{Binding Path=StatusTyp, FallbackValue=Message}" />-->
</StackPanel>
</Grid>
</DataTemplate>
</ListBox.Resources>
</ListBox>
<Button Style="{DynamicResource IconButtonStyle}" x:Name="ButtonAlarmLabel" Grid.Row="0" Background="Transparent" BorderBrush="Transparent" HorizontalAlignment="Right" Height="20" Margin="0,-31,40,0" VerticalAlignment="Top" Width="20" Visibility="Collapsed" >
<Image x:Name="AlarmLabel" ToolTip="Zurzeit nicht Verbunden" Source="" />
</Button>
<ListBox x:Name="Chat" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="3" Grid.Row="1" VirtualizingStackPanel.IsVirtualizing="True" VirtualizingStackPanel.VirtualizationMode="Recycling" SelectionMode="Extended" MouseRightButtonDown="OnRightClickEvent">
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="HorizontalAlignment" Value="{Binding Posi}" />
</Style>
</ListBox.ItemContainerStyle>
<ListBox.Resources>
<Style TargetType="Border">
<Setter Property="CornerRadius" Value="3"/>
<Setter Property="Padding" Value="10,0,0,0" />
</Style>
</ListBox.Resources>
<ListBox.ItemTemplate>
<DataTemplate>
<Border BorderBrush="{Binding ChatColor}" BorderThickness="1,1,1,1" CornerRadius="8,8,8,8" Background="{Binding ChatColor}">
<DockPanel MinHeight="15" Margin="5" LastChildFill="True" Background="{Binding ChatColor}" >
<Button Style="{DynamicResource IconButtonStyle}" x:Name="ButtonAlarmLabel" Background="Transparent" BorderBrush="Transparent" HorizontalAlignment="Left" Height="20" Margin="725,10,0,0" VerticalAlignment="Top" Width="20" Visibility="Collapsed" >
<Image x:Name="AlarmLabel" ToolTip="Zurzeit nicht Verbunden" Source="" />
</Button>
</Grid>
<StackPanel DockPanel.Dock="Bottom" >
<TextBlock VerticalAlignment="Center" Text="{Binding UserMessage}" MinWidth="0" MaxWidth="500" TextWrapping="Wrap" />
</StackPanel>
<StackPanel DockPanel.Dock="Left" Margin="0,0,0,5">
<TextBlock Text="{Binding Username}" FontWeight="Bold" MaxWidth="150" HorizontalAlignment="Left" TextAlignment="Left" VerticalAlignment="Center"/>
</StackPanel>
<StackPanel DockPanel.Dock="Right" Margin="5,0,0,5">
<TextBlock Text="{Binding SendTime}" MaxWidth="350" HorizontalAlignment="Right" TextAlignment="Right" VerticalAlignment="Center"/>
</StackPanel>
</DockPanel>
</Border>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<Grid Grid.Row="2" Margin="3,0,3,3" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="8.5*"/>
<ColumnDefinition Width=".5*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="10*"/>
</Grid.RowDefinitions>
<TextBox x:Name="Chatbox" HorizontalAlignment="Stretch" Grid.Column="0" TextWrapping="Wrap" Text="Nachricht schreiben" TextChanged="Chatbox_OnTextChanged" VerticalScrollBarVisibility="Auto" MaxLines="5" MaxHeight="70"
VerticalContentAlignment="Center" MinHeight="25" ToolTip="Schreiben Sie hier eine Nachricht hinein" KeyDown="OnKeyDownHandler" GotFocus="OnFocus" Foreground="DarkGray" VerticalAlignment="Bottom" >
<TextBox.Resources>
<Style TargetType="{x:Type Border}">
<Setter Property="CornerRadius" Value="3"/>
<Setter Property="Padding" Value="10,0,0,0" />
</Style>
</TextBox.Resources>
</TextBox>
<Button HorizontalAlignment="Stretch" x:Name="EmojiButton" Margin="2,0,0,0" Grid.Column="1" VerticalAlignment="Bottom" Click="SmileyButton_OnClick">
<Image x:Name="Smiley" ToolTip="Smiley einfügen" Source="/BeWoPlaner;component/Ressources/Icons/glucklicher.png" Stretch="Uniform" VerticalAlignment="Center" HorizontalAlignment="Center" RenderOptions.BitmapScalingMode="HighQuality" />
</Button>
<Button x:Name="SendButton" Content="Senden" HorizontalAlignment="Stretch" Margin="2,0,0,0" Grid.Column="2" VerticalAlignment="Bottom" Click="SendButton_Click" />
</Grid>
</Grid>
</Grid>
</GroupBox>
</Window>

View File

@@ -73,7 +73,7 @@ namespace BeWo.View
{
InitializeComponent();
rootGroupBox.Header = nameinf;
rootGroupBox.Header = nameinf;
this.tcpClient = tcpClient;
@@ -82,6 +82,8 @@ namespace BeWo.View
ErstelleContextMenue();
// SetChatSetting();
Width = System.Windows.SystemParameters.PrimaryScreenWidth /2;
Height = System.Windows.SystemParameters.PrimaryScreenWidth / 2;
}
/*private void SetChatSetting()
@@ -562,7 +564,7 @@ namespace BeWo.View
{
if(list.PersonOid != BeWoApp.LoggedOnUser.Employee.PersonOid){
Clientlist.Items.Add(new KontaktlistBuilder(list.FirstName + " " + list.LastName, StatusType.Offline,
BuildImg(ServiceFacade.DoEmployeeServiceSync(s => s.GetEmployeeImage(list.EmployeeOid)),ChatType.Mitarbeiter),
BuildImg(ServiceFacade.DoEmployeeServiceSync(s => s.GetEmployeeThumbnail(list.EmployeeOid)),ChatType.Mitarbeiter),
list.PersonOid, ChatType.Mitarbeiter));
}
}
@@ -648,7 +650,7 @@ namespace BeWo.View
if (!idMitarbeitspeicher.Contains(var.PersonOid) && idMitarbeitspeicher.Count <= offmitarbeiter.Count && var.PersonOid != BeWoApp.LoggedOnUser.Employee.PersonOid)
{
ita.Add(new KontaktlistBuilder(var.FirstName + " " + var.LastName,StatusType.Offline,
BuildImg(ServiceFacade.DoEmployeeServiceSync(s => s.GetEmployeeImage(var.EmployeeOid)),ChatType.Mitarbeiter),
BuildImg(ServiceFacade.DoEmployeeServiceSync(s => s.GetEmployeeThumbnail(var.EmployeeOid)),ChatType.Mitarbeiter),
var.PersonOid, ChatType.Mitarbeiter));
view.Refresh();
}
@@ -1367,7 +1369,7 @@ namespace BeWo.View
private void Chatbox_OnTextChanged(object sender, TextChangedEventArgs e)
{
if (ChatViewName.Height < 850 && Chatbox.LineCount >= 3)
/* if (ChatViewName.Height < 850 && Chatbox.LineCount >= 3)
{
ChatViewName.Height = ChatViewName.Height + 50;
@@ -1375,7 +1377,7 @@ namespace BeWo.View
if(Chatbox.LineCount <=2)
{
ChatViewName.Height = 800;
}
}*/
}
@@ -1474,8 +1476,6 @@ namespace BeWo.View
private void ButtonSortLabel_OnClick(object sender, RoutedEventArgs e)
{
//if() clicked dann immer wechseln + abfrage true und false ;
if (sortLabelSwitch == false)
{
BitmapImage biy = new BitmapImage();
@@ -1502,6 +1502,79 @@ namespace BeWo.View
}
}
private void AktChatUser_OnMouseDoubleClick(object sender, MouseButtonEventArgs e)
{
try
{
var offmitarbeiter = ServiceFacade.DoEmployeeServiceSync(s => s.GetAllChatActiveEmployeesCompact());
var offklienten = ServiceFacade.DoCustomerServiceSync(s => s.GetAllChatActiveCustomersCompact(BeWoApp.LoggedOnUser.Employee.EmployeeOid));
using (Form form = new Form())
{
KontaktlistBuilder curItem = (KontaktlistBuilder)AktChatUser.Items[0];
Image imgg = new Image();
if (curItem.TypeChat == ChatType.Mitarbeiter)
{
foreach (var list in offmitarbeiter)
{
if (list.PersonOid == curItem.EmpfaengerOid)
{
imgg.Source = BuildImg(ServiceFacade.DoEmployeeServiceSync(s => s.GetEmployeeImage(list.EmployeeOid)), curItem.TypeChat);
}
}
}
if (curItem.TypeChat == ChatType.Klienten)
{
foreach (var list in offklienten)
{
if (list.PersonOid == curItem.EmpfaengerOid)
{
imgg.Source = BuildImg(ServiceFacade.DoCustomerServiceSync(s => s.GetCustomerImage(list.CustomerOid)), curItem.TypeChat);
}
}
}
if (curItem.TypeChat == ChatType.Team)
{
imgg.Source = BuildImg(null, curItem.TypeChat);
}
BmpBitmapEncoder encoder = new BmpBitmapEncoder();
MemoryStream ms = new MemoryStream();
encoder.Frames.Add(BitmapFrame.Create((BitmapSource)imgg.Source));
encoder.Save(ms);
System.Drawing.Image img = System.Drawing.Image.FromStream(ms);
Bitmap imgbit = new Bitmap(img);
form.StartPosition = FormStartPosition.CenterScreen;
form.Size = imgbit.Size;
form.FormBorderStyle = FormBorderStyle.FixedSingle;
PictureBox pb = new PictureBox();
pb.Dock = DockStyle.Fill;
pb.Image = imgbit;
form.Controls.Add(pb);
form.ShowDialog();
}
}
catch (Exception edf)
{
MessageBox.Show("Unbekannter Fehler: " + edf.Message + "\n" + edf.StackTrace, "Fehler: 2392 ", MessageBoxButton.OK);
}
}
}
public class KontaktlistBuilder : INotifyPropertyChanged
@@ -1518,7 +1591,7 @@ namespace BeWo.View
if (statustyp == StatusType.Online)
{
this.Color = new SolidColorBrush(Colors.Green);
this.Color = new BrushConverter().ConvertFromString("#00ae00") as SolidColorBrush;//new SolidColorBrush(Colors.Green);
//Color.Opacity = 0.5;
}
else if (statustyp == StatusType.Offline)
@@ -1557,7 +1630,7 @@ namespace BeWo.View
if (statustyp == StatusType.Online)
{
this.Color = new SolidColorBrush(Colors.Green);
this.Color = new BrushConverter().ConvertFromString("#00ae00") as SolidColorBrush;//new SolidColorBrush(Colors.Green);
}
else if (statustyp == StatusType.Offline)
{
@@ -1589,7 +1662,7 @@ namespace BeWo.View
if (_statustyp == StatusType.Online)
{
_color = new SolidColorBrush(Colors.Green);
_color = new BrushConverter().ConvertFromString("#00ae00") as SolidColorBrush;//new SolidColorBrush(Colors.Green);
}
else if (_statustyp == StatusType.Offline)
{
@@ -1621,7 +1694,7 @@ namespace BeWo.View
{
if (StatusTyp == StatusType.Online)
{
_color = new SolidColorBrush(Colors.Green);
_color = new BrushConverter().ConvertFromString("#00ae00") as SolidColorBrush;//new SolidColorBrush(Colors.Green);
}
else if (StatusTyp == StatusType.Offline)
{
@@ -1684,17 +1757,19 @@ namespace BeWo.View
if (isme && messagePersonOid == 0)
{
ChatColor = new SolidColorBrush(Colors.DeepSkyBlue);
ChatColor = new SolidColorBrush(Colors.Lavender);
Posi = "Center";
}else
if (isme)
{
ChatColor = new SolidColorBrush(Colors.DarkOrange);
//ChatColor = new SolidColorBrush(Colors.DarkOrange);
ChatColor = new BrushConverter().ConvertFromString("#ff5e00") as SolidColorBrush;
Posi = "Right";
}
else
{
ChatColor = new SolidColorBrush(Colors.LightGray);
//ChatColor = new SolidColorBrush(Colors.LightGray);
ChatColor = new BrushConverter().ConvertFromString("#cccccc") as SolidColorBrush;
Posi = "Left";
}

View File

@@ -395,6 +395,7 @@
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Label Grid.Column="0" Grid.Row="0" Margin="3" VerticalAlignment="Center">Vertragsbeginn</Label>
<Label Grid.Column="0" Grid.Row="1" Margin="3" VerticalAlignment="Center">Befristet bis</Label>
@@ -402,10 +403,11 @@
<Label Grid.Column="0" Grid.Row="3" Margin="3" VerticalAlignment="Center">Stundensatz</Label>
<Label Grid.Column="0" Grid.Row="4" Margin="3" VerticalAlignment="Center">FLS/Woche</Label>
<Label Grid.Column="0" Grid.Row="5" Margin="3" VerticalAlignment="Center">Gesamtstunden/Woche</Label>
<Label Grid.Column="0" Grid.Row="6" Margin="3" VerticalAlignment="Center">Arbeitstage pro Woche</Label>
<Label Grid.Column="0" Grid.Row="7" Margin="3" VerticalAlignment="Center">Urlaubstage</Label>
<Label Grid.Column="0" Grid.Row="8" Margin="3" VerticalAlignment="Center">Probezeit (Tage)</Label>
<Label Grid.Column="0" Grid.Row="9" Margin="3" VerticalAlignment="Center">Künd.-frist (Tage)</Label>
<Label Grid.Column="0" Grid.Row="6" Margin="3" VerticalAlignment="Center">Gesamtstunden/Monat</Label>
<Label Grid.Column="0" Grid.Row="7" Margin="3" VerticalAlignment="Center">Arbeitstage pro Woche</Label>
<Label Grid.Column="0" Grid.Row="8" Margin="3" VerticalAlignment="Center">Urlaubstage</Label>
<Label Grid.Column="0" Grid.Row="9" Margin="3" VerticalAlignment="Center">Probezeit (Tage)</Label>
<Label Grid.Column="0" Grid.Row="10" Margin="3" VerticalAlignment="Center">Künd.-frist (Tage)</Label>
<Label Grid.Column="3" Grid.Row="0" Margin="3" VerticalAlignment="Center">Bemerkungen</Label>
@@ -415,10 +417,11 @@
<dxe:TextEdit MaskType="Numeric" Mask="c" MaskUseAsDisplayFormat="True" Grid.Column="1" Grid.Row="3" Height="23" Margin="3" EditValue="{Binding Path=HourlyRate, UpdateSourceTrigger=PropertyChanged}"/>
<dxe:TextEdit MaskType="Numeric" Mask="########0.000" MaskUseAsDisplayFormat="True" Grid.Column="1" Grid.Row="4" Margin="3" Height="23" EditValue="{Binding Path=WeeklyFLS, UpdateSourceTrigger=PropertyChanged}" />
<dxe:TextEdit MaskType="Numeric" Mask="########0.00" MaskUseAsDisplayFormat="True" Grid.Column="1" Grid.Row="5" Margin="3" Height="23" EditValue="{Binding Path=WeeklyTotalHours, UpdateSourceTrigger=PropertyChanged}" />
<dxe:SpinEdit MinValue="0" MaxValue="7" IsFloatValue="False" Grid.Column="1" Grid.Row="6" Margin="3" Height="23" EditValue="{Binding Path=WeeklyDays, Converter={StaticResource Int2DecimalConverter}, UpdateSourceTrigger=PropertyChanged}" />
<dxe:TextEdit MaskType="Numeric" Mask="########0.00" MaskUseAsDisplayFormat="True" Grid.Column="1" Grid.Row="7" Margin="3" Height="23" EditValue="{Binding Path=LeaveDays, UpdateSourceTrigger=PropertyChanged}" />
<dxe:SpinEdit MinValue="0" IsFloatValue="False" Grid.Column="1" Grid.Row="8" Margin="3" Height="23" EditValue="{Binding Path=ProbationPeriod, Converter={StaticResource Int2DecimalConverter}, UpdateSourceTrigger=PropertyChanged}" />
<dxe:SpinEdit MinValue="0" IsFloatValue="False" Grid.Column="1" Grid.Row="9" Margin="3" Height="23" EditValue="{Binding Path=CancellationPeriod, Converter={StaticResource Int2DecimalConverter}, UpdateSourceTrigger=PropertyChanged}" />
<dxe:TextEdit MaskType="Numeric" Mask="########0.00" MaskUseAsDisplayFormat="True" Grid.Column="1" Grid.Row="6" Margin="3" Height="23" EditValue="{Binding Path=MonthlyTotalHours, UpdateSourceTrigger=PropertyChanged}" />
<dxe:SpinEdit MinValue="0" MaxValue="7" IsFloatValue="False" Grid.Column="1" Grid.Row="7" Margin="3" Height="23" EditValue="{Binding Path=WeeklyDays, Converter={StaticResource Int2DecimalConverter}, UpdateSourceTrigger=PropertyChanged}" />
<dxe:TextEdit MaskType="Numeric" Mask="########0.00" MaskUseAsDisplayFormat="True" Grid.Column="1" Grid.Row="8" Margin="3" Height="23" EditValue="{Binding Path=LeaveDays, UpdateSourceTrigger=PropertyChanged}" />
<dxe:SpinEdit MinValue="0" IsFloatValue="False" Grid.Column="1" Grid.Row="9" Margin="3" Height="23" EditValue="{Binding Path=ProbationPeriod, Converter={StaticResource Int2DecimalConverter}, UpdateSourceTrigger=PropertyChanged}" />
<dxe:SpinEdit MinValue="0" IsFloatValue="False" Grid.Column="1" Grid.Row="10" Margin="3" Height="23" EditValue="{Binding Path=CancellationPeriod, Converter={StaticResource Int2DecimalConverter}, UpdateSourceTrigger=PropertyChanged}" />
<TextBox Grid.Column="3" Grid.Row="1" Grid.RowSpan="8" Margin="3" Text="{Binding Path=Notice, UpdateSourceTrigger=PropertyChanged}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" VerticalContentAlignment="Stretch"
HorizontalContentAlignment="Left" ScrollViewer.CanContentScroll="False" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Hidden" TextWrapping="Wrap" AcceptsReturn="True" AutoWordSelection="True" />

View File

@@ -30,6 +30,7 @@ namespace BeWo.View.Report.Auslastung
decimal flsApproved = 0;
decimal flsTotal = 0;
decimal hoursTotal = 0;
decimal monthlyHoursTotal = 0;
if (AuslastungRows != null)
{
@@ -37,6 +38,9 @@ namespace BeWo.View.Report.Auslastung
{
if (item.AuslastungAnalysisEmployee.WeeklyTotalHours.HasValue)
hoursTotal += item.AuslastungAnalysisEmployee.WeeklyTotalHours.Value;
if (item.AuslastungAnalysisEmployee.MonthlyTotalHours.HasValue)
monthlyHoursTotal += item.AuslastungAnalysisEmployee.MonthlyTotalHours.Value;
foreach (var detailRow in item.DetailRows)
{
if (detailRow.RowType == AuslastungRowTypes.Detail)

View File

@@ -20,6 +20,7 @@ namespace BeWo.ViewModel
public static string PropertyName_HourlyRate = "HourlyRate";
public static string PropertyName_WeeklyFLS = "WeeklyFLS";
public static string PropertyName_WeeklyTotalHours = "WeeklyTotalHours";
public static string PropertyName_MonthlyTotalHours = "MonthlyTotalHours";
public static string PropertyName_LeaveDays = "LeaveDays";
public static string PropertyName_Notice = "Notice";
public static string PropertyName_EmploymentType = "EmploymentType";
@@ -28,6 +29,7 @@ namespace BeWo.ViewModel
private decimal? _LeaveDays;
private decimal? _WeeklyTotalHours;
private decimal? _MonthlyTotalHours;
private decimal? _WeeklyFLS;
private decimal? _HourlyRate;
private DateTime? _EntryDate;
@@ -136,6 +138,23 @@ namespace BeWo.ViewModel
}
}
public decimal? MonthlyTotalHours
{
get { return this._MonthlyTotalHours; }
set
{
if (this.AreDifferent(this._MonthlyTotalHours, value))
{
this._MonthlyTotalHours = value;
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.MonthlyTotalHours, value), PropertyName_MonthlyTotalHours);
this.FirePropertyChanged(PropertyName_MonthlyTotalHours);
}
}
}
public decimal? WeeklyFLS
{
get { return this._WeeklyFLS; }
@@ -273,6 +292,7 @@ namespace BeWo.ViewModel
this._WeeklyDays = pDataContract.WeeklyDays;
this._WeeklyFLS = pDataContract.WeeklyFLS;
this._WeeklyTotalHours = pDataContract.WeeklyTotalHours;
_MonthlyTotalHours = pDataContract.MonthlyTotalHours;
this._Notice = pDataContract.Notice;
this._EmploymentType = pDataContract.EmploymentType;
}
@@ -289,6 +309,7 @@ namespace BeWo.ViewModel
pDataContract.WeeklyDays = this._WeeklyDays;
pDataContract.WeeklyFLS = this._WeeklyFLS;
pDataContract.WeeklyTotalHours = this._WeeklyTotalHours;
pDataContract.MonthlyTotalHours = _MonthlyTotalHours;
pDataContract.Notice = this._Notice;
pDataContract.EmploymentType = this._EmploymentType;

View File

@@ -72,6 +72,7 @@ namespace BeWo.ViewModel
public static string PropertyName_Town = "Town";
public static string PropertyName_WeeklyFLS = "WeeklyFLS";
public static string PropertyName_WeeklyTotalHours = "WeeklyTotalHours";
public static string PropertyName_MonthlyTotalHours = "MonthlyTotalHours";
public static String PropertyName_EmployeeColor = "EmployeeColor";
public static String PropertyName_EmployeeBrush = "EmployeeBrush";
public static string PropertyName_EmployeeImage = "EmployeeImage";

View File

@@ -17,12 +17,14 @@ namespace BeWo.Data.Entities
public static string PropertyName_HourlyRate = "HourlyRate";
public static string PropertyName_WeeklyFLS = "WeeklyFLS";
public static string PropertyName_WeeklyTotalHours = "WeeklyTotalHours";
public static string PropertyName_MonthlyTotalHours = "MonthlyTotalHours";
public static string PropertyName_LeaveDays = "LeaveDays";
public static string PropertyName_EmployeeOid = "EmployeeOid";
public static string PropertyName_EmploymentType = "EmploymentType";
private decimal? _LeaveDays;
private decimal? _WeeklyTotalHours;
private decimal? _MonthlyTotalHours;
private decimal? _WeeklyFLS;
private decimal? _HourlyRate;
private DateTime? _EntryDate;
@@ -71,6 +73,17 @@ namespace BeWo.Data.Entities
}
}
public virtual decimal? MonthlyTotalHours
{
get { return _MonthlyTotalHours; }
set
{
if (base.AreDifferent(_MonthlyTotalHours, value))
_MonthlyTotalHours = value;
}
}
public virtual decimal? WeeklyFLS
{
get { return _WeeklyFLS; }

View File

@@ -50,7 +50,9 @@ namespace BeWo.Data.Entities
public static String PropertyName_EmployeeColor = "EmployeeColor";
public static string PropertyName_EmployeeImage = "EmployeeImage";
public static string PropertyName_EmployeeImage = "EmployeeImage";
public static string PropertyName_EmployeeThumbnail = "EmployeeThumbnail";
private IList<AbsenceTime> _AbsenceTimes;
@@ -99,6 +101,8 @@ namespace BeWo.Data.Entities
private byte[] _EmployeeImage;
private byte[] _EmployeeThumbnail;
public Employee()
{
@@ -474,5 +478,20 @@ namespace BeWo.Data.Entities
}
}
}
public virtual Byte[] EmployeeThumbnail
{
get { return _EmployeeThumbnail; }
set
{
if (AreDifferent(_EmployeeThumbnail, value))
{
_EmployeeThumbnail = value;
}
}
}
}
}

View File

@@ -16,6 +16,7 @@
<property column="HourlyRate" type="Decimal" name="HourlyRate" />
<property column="WeeklyFLS" type="Decimal" name="WeeklyFLS" />
<property column="WeeklyTotalHours" type="Decimal" name="WeeklyTotalHours" />
<property column="MonthlyTotalHours" type="Decimal" name="MonthlyTotalHours" />
<property column="LeaveDays" type="Decimal" name="LeaveDays" />
<property column="EntryDate" type="DateTime" name="EntryDate" />
<property column="ContractEndDate" type="DateTime" name="ContractEndDate" />

View File

@@ -23,6 +23,7 @@
<property column="EmployeeColor" type="String" name="EmployeeColor" />
<property column="EmployeeImage" name="EmployeeImage" />
<property column="EmployeeThumbnail" name="EmployeeThumbnail" />
<property column="InsTs" type="DateTime" name="InsTs" />
<property column="InsUser" type="String" name="InsUser" length="256" />

View File

@@ -0,0 +1,2 @@
ALTER TABLE `1234567890`.`contract`
ADD COLUMN `MonthlyTotalHours` DECIMAL(18,10) NULL DEFAULT NULL COMMENT '' AFTER `WeeklyDays`;

View File

@@ -0,0 +1,2 @@
ALTER TABLE `1234567890`.`employee`
ADD COLUMN `EmployeeThumbnail` LONGBLOB NULL DEFAULT NULL COMMENT '' AFTER `EmployeeImage`;

View File

@@ -54,6 +54,7 @@
this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.lblZeitraum = new DevExpress.XtraReports.UI.XRLabel();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
@@ -155,6 +156,7 @@
// TopMargin
//
this.TopMargin.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.lblZeitraum,
this.xrLabel2,
this.xrLabel1,
this.xrLabel3});
@@ -182,7 +184,7 @@
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 52.66666F);
this.xrLabel1.Name = "xrLabel1";
this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel1.SizeF = new System.Drawing.SizeF(650F, 47.33333F);
this.xrLabel1.SizeF = new System.Drawing.SizeF(650F, 30F);
this.xrLabel1.StylePriority.UseFont = false;
this.xrLabel1.Text = "[ReportTitle]";
//
@@ -330,6 +332,15 @@
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.KassenbuchRO);
//
// lblZeitraum
//
this.lblZeitraum.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F);
this.lblZeitraum.LocationFloat = new DevExpress.Utils.PointFloat(0F, 82.66666F);
this.lblZeitraum.Name = "lblZeitraum";
this.lblZeitraum.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.lblZeitraum.SizeF = new System.Drawing.SizeF(650F, 33.79166F);
this.lblZeitraum.StylePriority.UseFont = false;
//
// KassenbuchReport
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
@@ -378,5 +389,6 @@
private DevExpress.XtraReports.UI.XRLabel xrLabel3;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell7;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell8;
private DevExpress.XtraReports.UI.XRLabel lblZeitraum;
}
}

View File

@@ -16,8 +16,11 @@ namespace BeWo.Report.DefaultReports
{
pRO.Transaktionen = pRO.Transaktionen.OrderBy(o => o.Belegdatum).ToList();
}
bindingSource1.DataSource = pRO;
pRO.ReportTitle = string.Format("Kassenbuch \"{0}\" {1}", pRO.Kassenname,(pRO.Beguenstigter == null ? string.Empty : string.Format(" von {0}", pRO.Beguenstigter)));
lblZeitraum.Text = string.Format("{0} - {1}", pRO.StartZeitraum.ToString("dd. MMMM yyyy"),
pRO.EndZeitraum.ToString("dd. MMMM yyyy"));
bindingSource1.DataSource = pRO;
}
}
}

View File

@@ -332,6 +332,7 @@
</EmbeddedResource>
<EmbeddedResource Include="DefaultReports\KassenbuchReport.resx">
<DependentUpon>KassenbuchReport.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="DefaultReports\KalenderMonatsformatReport.resx">
<DependentUpon>KalenderMonatsformatReport.cs</DependentUpon>

View File

@@ -17,6 +17,8 @@ namespace BeWo.Report.ReportObjects
public string Kassenname { get; set; }
public string Beguenstigter { get; set; }
public string ReportTitle { get; set; }
public DateTime StartZeitraum { get; set; }
public DateTime EndZeitraum { get; set; }
public static KassenbuchRO Create(DateTime pZeitraum, BargeldkassenDC pBargeldkasse, BeWoEntityBase pBeguenstigter)
{
@@ -50,6 +52,39 @@ namespace BeWo.Report.ReportObjects
ReportTitle = string.Format("Kassenbuch \"{0}\" {1}{2}", pBargeldkasse.Kassenname, pZeitraum.ToString("MMMM yyyy"), (pBeguenstigter == null ? string.Empty : string.Format(" von {0}", beguenstigter)))
};
}
public static KassenbuchRO Create(DateTime pStartZeitraum,DateTime pEndZeitraum, BargeldkassenDC pBargeldkasse, BeWoEntityBase pBeguenstigter)
{
var beguenstigter = string.Empty;
if (pBeguenstigter is Customer)
{
var customer = (Customer)pBeguenstigter;
beguenstigter = customer.Person.FirstNameLastName;
}
var t = pBargeldkasse.Bargeldtransaktionen.Where(w => w.Zahlungsdatum != null && w.Zahlungsdatum.Value >= pStartZeitraum && w.Zahlungsdatum <= pEndZeitraum).OrderByDescending(o => o.Zahlungsdatum).Select(tDC => new ZeilenObjekt
{
Einzahlung = tDC.Zahlungstyp == Zahlungstyp.Einzahlung && tDC.Betrag != null ? tDC.Betrag.Value : 0,
Auszahlung = tDC.Zahlungstyp == Zahlungstyp.Auszahlung && tDC.Betrag != null ? tDC.Betrag.Value : 0,
Bestand = tDC.Transaktionskassenbestand.Value,
Belegdatum = tDC.Zahlungsdatum.Value,
Notiz = tDC.Notice
}).ToList();
var ersteTransaktion = pBargeldkasse.Bargeldtransaktionen.OrderBy(o => o.Zahlungsdatum).ToList()[0];
return new KassenbuchRO
{
Kassenname = pBargeldkasse.Kassenname,
Beguenstigter = beguenstigter,
StartZeitraum = pStartZeitraum,
EndZeitraum = pEndZeitraum,
Transaktionen = t,
Anfangsbestand = ersteTransaktion.Transaktionskassenbestand.Value - ersteTransaktion.Betrag.Value * (ersteTransaktion.Zahlungstyp == Zahlungstyp.Einzahlung ? 1 : -1)
};
}
}
public struct ZeilenObjekt

View File

@@ -23,6 +23,10 @@ namespace ReportingService.ServiceContracts
[OperationContract]
MemoryStream CreateKassenbuchReport(DateTime zeitraum, BargeldkassenDC bargeldkasse, long objectOid, TableID objectTid);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
MemoryStream CreateKassenbuchReportImZeitraum(DateTime zeitraumStart, DateTime zeitraumEnde, BargeldkassenDC bargeldkasse, long objectOid, TableID objectTid);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
MemoryStream CreateKassenbelegReport(BargeldtransaktionDC transaktion, long objectOid, TableID objectTid);

View File

@@ -41,6 +41,13 @@ namespace ReportingService.ServiceImplementations
return CreateReportStream(new KassenbuchReport(), KassenbuchRO.Create(zeitraum, bargeldkasse, beguenstigter));
}
public MemoryStream CreateKassenbuchReportImZeitraum(DateTime zeitraumStart, DateTime zeitraumEnde, BargeldkassenDC bargeldkasse, long objectOid, TableID objectTid)
{
var beguenstigter = LoadToBargeldkasseRelatedObject(objectTid, objectOid);
return CreateReportStream(new KassenbuchReport(), KassenbuchRO.Create(zeitraumStart, zeitraumEnde, bargeldkasse, beguenstigter));
}
public MemoryStream CreateKassenbelegReport(BargeldtransaktionDC transaktion, long objectOid, TableID objectTid)
{
var beguenstigter = LoadToBargeldkasseRelatedObject(objectTid, objectOid);

View File

@@ -22,6 +22,7 @@ namespace BeWo.Service.DCEntityMapper
pDataContract.WeeklyDays = 5;
pDataContract.WeeklyFLS = pEntity.WeeklyFLS;
pDataContract.WeeklyTotalHours = pEntity.WeeklyTotalHours;
pDataContract.MonthlyTotalHours = pEntity.MonthlyTotalHours;
pDataContract.Notice = pEntity.Notice;
if (pEntity.EmploymentType != null)
@@ -45,6 +46,7 @@ namespace BeWo.Service.DCEntityMapper
pEntity.WeeklyDays = pDataContract.WeeklyDays;
pEntity.WeeklyFLS = pDataContract.WeeklyFLS;
pEntity.WeeklyTotalHours = pDataContract.WeeklyTotalHours;
pEntity.MonthlyTotalHours = pDataContract.MonthlyTotalHours;
pEntity.Notice = pDataContract.Notice;
pEntity.Oid = pDataContract.ContractOid;

View File

@@ -4,6 +4,7 @@ using System.Linq;
using BeWo.Data.Entities;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
namespace BeWo.Service.DCEntityMapper
@@ -157,6 +158,10 @@ namespace BeWo.Service.DCEntityMapper
pEntity.IsActive = pDataContract.ActivationType;
pEntity.EmployeeImage = pDataContract.EmployeeImage;
pEntity.EmployeeThumbnail = Utils.ErstelleThumbnail(pDataContract.EmployeeImage, 200, 200);
//pEntity.CancellationPeriod = pDataContract.CancellationPeriod;
//pEntity.EntryDate = pDataContract.EntryDate;

View File

@@ -318,5 +318,9 @@ namespace BeWo.Service.ServiceContracts
[FaultContract(typeof(BeWoFault))]
[OperationContract]
Byte[] GetEmployeeImage(long employeeOid);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
Byte[] GetEmployeeThumbnail(long employeeOid);
}
}

View File

@@ -1536,6 +1536,9 @@ namespace BeWo.Service.ServiceImplementations
if (contract != null && contract.WeeklyFLS.HasValue)
empDC.WeeklyTotalHours = contract.WeeklyTotalHours;
if (contract != null && contract.MonthlyTotalHours.HasValue)
empDC.MonthlyTotalHours = contract.MonthlyTotalHours;
IList<ServiceRecord> serviceRecords = null;
if (startDate != null && endDate != null)

View File

@@ -191,24 +191,25 @@ namespace BeWo.Service.ServiceImplementations
"Urlaubstage", // 12
"FLS/Woche", // 13
"Gesamtstunden/Woche", // 14
"Arbeitstage pro Woche", // 15
"Eintrittsdatum", // 16
"Gesamtstunden/Monat", // 15
"Arbeitstage pro Woche", // 16
"Eintrittsdatum", // 17
"Versicherungsnummer",
"Stundensatz",
"Telefon",
"Mobil", // 20
"Mobil", // 21
"Mail",
"private Mail",
"Fax",
"Strasse",
"PLZ", // 25
"PLZ", // 26
"Ort",
"Kontonummer",
"Bankleitzahl",
"Bank",
"BIC", // 30
"BIC", // 31
"IBAN",
"Bemerkung" // 32
"Bemerkung" // 33
};
string[][] lContent = new string[lEmployees.Count][];
@@ -293,23 +294,28 @@ namespace BeWo.Service.ServiceImplementations
lContent[iRowCount][14] = lastContract.WeeklyTotalHours.Value.ToStringNullCheck();
}
if (lastContract.MonthlyTotalHours.HasValue)
{
lContent[iRowCount][15] = lastContract.MonthlyTotalHours.Value.ToStringNullCheck();
}
var wd = lastContract.WeeklyDays ?? 5;
if (wd == 0)
wd = 5;
lContent[iRowCount][15] = String.Format("{0}", wd);
lContent[iRowCount][16] = String.Format("{0}", wd);
lContent[iRowCount][16] = lastContract.EntryDate.DoIfNotNull(d => d.ToShortDateString());
lContent[iRowCount][17] = lastContract.EntryDate.DoIfNotNull(d => d.ToShortDateString());
}
lContent[iRowCount][17] = lEmployees[iRowCount].InsuranceNumber;
lContent[iRowCount][18] = lEmployees[iRowCount].InsuranceNumber;
if (lastContract != null)
{
if (lastContract.HourlyRate.HasValue)
{
lContent[iRowCount][18] = lastContract.HourlyRate.Value.ToStringNullCheck();
lContent[iRowCount][19] = lastContract.HourlyRate.Value.ToStringNullCheck();
}
}
foreach (var iContact in lEmployees[iRowCount].Person.Contacts)
@@ -317,40 +323,40 @@ namespace BeWo.Service.ServiceImplementations
switch (iContact.Type)
{
case ContactType.business_Phone:
lContent[iRowCount][19] = iContact.Value;
break;
case ContactType.business_MobilePhone:
lContent[iRowCount][20] = iContact.Value;
break;
case ContactType.business_Mail:
case ContactType.business_MobilePhone:
lContent[iRowCount][21] = iContact.Value;
break;
case ContactType.private_Mail:
case ContactType.business_Mail:
lContent[iRowCount][22] = iContact.Value;
break;
case ContactType.business_Fax:
case ContactType.private_Mail:
lContent[iRowCount][23] = iContact.Value;
break;
case ContactType.business_Fax:
lContent[iRowCount][24] = iContact.Value;
break;
}
}
if (lEmployees[iRowCount].Person.Address != null)
{
lContent[iRowCount][24] = lEmployees[iRowCount].Person.Address.Street;
lContent[iRowCount][25] = lEmployees[iRowCount].Person.Address.PostalCode;
lContent[iRowCount][26] = lEmployees[iRowCount].Person.Address.Town;
lContent[iRowCount][25] = lEmployees[iRowCount].Person.Address.Street;
lContent[iRowCount][26] = lEmployees[iRowCount].Person.Address.PostalCode;
lContent[iRowCount][27] = lEmployees[iRowCount].Person.Address.Town;
}
if (lEmployees[iRowCount].Person.BankAccount != null)
{
lContent[iRowCount][27] = lEmployees[iRowCount].Person.BankAccount.AccountNumber;
lContent[iRowCount][28] = lEmployees[iRowCount].Person.BankAccount.BankCode;
lContent[iRowCount][29] = lEmployees[iRowCount].Person.BankAccount.BankName;
lContent[iRowCount][30] = lEmployees[iRowCount].Person.BankAccount.Bic;
lContent[iRowCount][31] = lEmployees[iRowCount].Person.BankAccount.IBAN;
lContent[iRowCount][28] = lEmployees[iRowCount].Person.BankAccount.AccountNumber;
lContent[iRowCount][29] = lEmployees[iRowCount].Person.BankAccount.BankCode;
lContent[iRowCount][30] = lEmployees[iRowCount].Person.BankAccount.BankName;
lContent[iRowCount][31] = lEmployees[iRowCount].Person.BankAccount.Bic;
lContent[iRowCount][32] = lEmployees[iRowCount].Person.BankAccount.IBAN;
}
lContent[iRowCount][32] = lEmployees[iRowCount].Notice;
lContent[iRowCount][33] = lEmployees[iRowCount].Notice;
}

View File

@@ -1183,6 +1183,19 @@ namespace BeWo.Service.ServiceImplementations
}
}
public Byte[] GetEmployeeThumbnail(long employeeOid)
{
try
{
var employee = DAOFactory.GenericDAO.GetByID<Employee>(employeeOid);
return employee.EmployeeThumbnail;
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
}

View File

@@ -18,6 +18,9 @@ namespace BS.Shared.DataContracts.Reports
if (WeeklyTotalHours.HasValue)
name += String.Format(" {0:0.##} Std.", WeeklyTotalHours);
if(MonthlyTotalHours.HasValue)
name += String.Format(" {0:0.##} Std.", MonthlyTotalHours);
}

View File

@@ -18,6 +18,9 @@ namespace BS.Shared.DataContracts
[DataMember]
public decimal? WeeklyTotalHours { get; set; }
[DataMember]
public decimal? MonthlyTotalHours { get; set; }
[DataMember]
public decimal? WeeklyFLS { get; set; }

View File

@@ -26,6 +26,9 @@ namespace BS.Shared.DataContracts.Reports
[DataMember]
public decimal? WeeklyTotalHours { get; set; }
[DataMember]
public decimal? MonthlyTotalHours { get; set; }
[DataMember]
public decimal TotalFLM { get; set; }