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

This commit is contained in:
Christian
2017-08-23 17:13:58 +02:00
50 changed files with 703 additions and 155 deletions

1
.gitignore vendored
View File

@@ -248,3 +248,4 @@
/ReportImp/VkmAachenSbd/obj/Debug
/ReportImp/VkmAachenSbd/obj/Release
/ReportImp/HilfeDaheim2/obj/Release
/Model/Changes_2017_06_01.txt

View File

@@ -9,7 +9,6 @@
<facet type="android" name="Android">
<configuration>
<option name="SELECTED_BUILD_VARIANT" value="debug" />
<option name="SELECTED_TEST_ARTIFACT" value="_android_test_" />
<option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
<option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
<afterSyncTasks>
@@ -47,7 +46,6 @@
<sourceFolder url="file://$MODULE_DIR$/src/debug/assets" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/aidl" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/jni" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/shaders" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/res" type="java-test-resource" />
@@ -55,7 +53,6 @@
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/assets" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/aidl" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/jni" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/shaders" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/main/res" type="java-resource" />
@@ -63,7 +60,6 @@
<sourceFolder url="file://$MODULE_DIR$/src/main/assets" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/main/aidl" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
@@ -71,7 +67,6 @@
<sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/jni" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
@@ -79,16 +74,12 @@
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/appcompat-v7/21.0.3/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/multidex-instrumentation/1.0.1/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/multidex/1.0.1/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-v4/21.0.3/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/multi-dex" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
@@ -108,6 +99,7 @@
<orderEntry type="library" exported="" name="robospice-1.4.14" level="project" />
<orderEntry type="library" exported="" name="robospice-cache-1.4.14" level="project" />
<orderEntry type="library" exported="" name="commons-io-1.3.2" level="project" />
<orderEntry type="library" exported="" name="1_commons-io-1.3.2" level="project" />
<orderEntry type="library" exported="" name="android-android-21" level="project" />
</component>
</module>

View File

@@ -2,7 +2,7 @@ apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion '23.0.3'
buildToolsVersion '25.0.0'
dexOptions {
maxProcessCount 2

View File

@@ -5,7 +5,7 @@ buildscript {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.3'
classpath 'com.android.tools.build:gradle:2.3.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}

View File

@@ -1,6 +1,6 @@
#Tue Aug 23 08:50:04 CEST 2016
#Tue Jun 06 12:54:10 CEST 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip

View File

@@ -463,9 +463,9 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="View\SchulbegleitenderDienst.xaml">
<Generator>MSBuild:Compile</Generator>
<Page Include="View\Navigation\CustomerTeamNavigationView.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="View\Master\SchulbegleitenderDienstMasterView.xaml">
<Generator>MSBuild:Compile</Generator>
@@ -657,6 +657,7 @@
<Compile Include="ViewModel\CustomerTeamRelationVM.cs" />
<Compile Include="ViewModel\ContractVM.cs" />
<Compile Include="ViewModel\CustomerAPPCodeVM.cs" />
<Compile Include="ViewModel\CustomerTeamVM.cs" />
<Compile Include="ViewModel\EmployeeAPPCodeVM.cs" />
<Compile Include="ViewModel\ChatMessageVM.cs" />
<Compile Include="ViewModel\ChatMediaMessageVM.cs" />
@@ -876,8 +877,8 @@
<Compile Include="View\EmployeeArbeitszeitView.xaml.cs">
<DependentUpon>EmployeeArbeitszeitView.xaml</DependentUpon>
</Compile>
<Compile Include="View\SchulbegleitenderDienst.xaml.cs">
<DependentUpon>SchulbegleitenderDienst.xaml</DependentUpon>
<Compile Include="View\Navigation\CustomerTeamNavigationView.xaml.cs">
<DependentUpon>CustomerTeamNavigationView.xaml</DependentUpon>
</Compile>
<Compile Include="View\Master\SchulbegleitenderDienstMasterView.xaml.cs">
<DependentUpon>SchulbegleitenderDienstMasterView.xaml</DependentUpon>
@@ -1346,6 +1347,12 @@
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="View\SchulbegleitenderDienst.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="View\Report\AnnualReport\AnnualReportChartControl.xaml">
<SubType>Designer</SubType>
@@ -1755,6 +1762,9 @@
</Compile>
<Compile Include="View\PercentageDisplay.xaml.cs">
<DependentUpon>PercentageDisplay.xaml</DependentUpon>
</Compile>
<Compile Include="View\SchulbegleitenderDienst.xaml.cs">
<DependentUpon>SchulbegleitenderDienst.xaml</DependentUpon>
</Compile>
<Compile Include="View\Report\AnnualReport\AnnualReportChartControl.xaml.cs">
<DependentUpon>AnnualReportChartControl.xaml</DependentUpon>

View File

@@ -353,6 +353,24 @@
</TransformGroup>
</Button.RenderTransform>
</localView:ImageButton>
<!-- r:DemandUserRight.VisibleDemands="ViewAll, CustomerTeam_View" -->
<localView:ImageButton Visibility="Collapsed"
Click="button_CustomerTeam_Click"
x:Name="button_CustomerTeam"
Style="{StaticResource NavBarButton}"
Content="Kliententeams"
Background="{StaticResource CustomerTeamContentBrush}" RenderTransformOrigin="0.5, 0.5"
ImageSource="Ressources/Icons/UserGroupBusinessDisabled.png" Width="90">
<Button.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="1" ScaleY="1" />
<SkewTransform AngleX="0" AngleY="0" />
<RotateTransform Angle="0" />
<TranslateTransform X="0" Y="0" />
</TransformGroup>
</Button.RenderTransform>
</localView:ImageButton>
<!--<localView:ImageButton r:DemandUserRight.VisibleDemands="WohnheimView_View"
x:Name="button_Wohnheim" Click="button_Wohnheim_Click"

View File

@@ -48,8 +48,9 @@ namespace BeWo
Report,
Scheduler,
Wohnheim,
SchulbegleitenderDienst
}
SchulbegleitenderDienst,
CustomerTeam
}
/// <summary>
/// Interaktionslogik für MainControl.xaml
@@ -210,7 +211,10 @@ namespace BeWo
case UIContext.SchulbegleitenderDienst:
view = new SchulbegleitenderDienstMasterView();
break;
}
case UIContext.CustomerTeam:
view = new CustomerTeamNavigationView();
break;
}
_Views[uiContext] = view;
}
return _Views[uiContext];
@@ -944,7 +948,15 @@ namespace BeWo
}
}
private void button_UserGroup_Click(object sender, RoutedEventArgs e)
private void button_CustomerTeam_Click(object sender, RoutedEventArgs e)
{
if (DoSaveCheck())
{
NavigateTo(GetViewForUIContext(UIContext.CustomerTeam));
}
}
private void button_UserGroup_Click(object sender, RoutedEventArgs e)
{
if (DoSaveCheck())
{

View File

@@ -128,7 +128,7 @@
<Grid x:Name="PART_ToolTipContainer" dxsch:SchedulerControl.HitTestType="AppointmentContent" dxsch:SchedulerControl.SelectableIntervalViewInfo="{TemplateBinding ViewInfo}" Tag="{TemplateBinding ViewInfo}">
<!-- Region AppointmentToolTip -->
<ToolTipService.ToolTip>
<ToolTip Content="{TemplateBinding ViewInfo}" ContentTemplate="{Binding ViewInfo.View.AppointmentToolTipContentTemplate, RelativeSource={RelativeSource TemplatedParent}}"
<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}}">
</ToolTip>
</ToolTipService.ToolTip>
@@ -248,7 +248,7 @@
</dxschint:AppointmentColorConvertControl.BaseBrushColors>
<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}}"
<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}}">
</ToolTip>
</ToolTipService.ToolTip>
@@ -597,22 +597,19 @@
<Binding ElementName="LeftExpanderButton" Path="ActualWidth" />
</MultiBinding>
</StackPanel.Width>
<Button Style="{x:Null}" Margin="0,1,1,1" Height="24" Width="24" ToolTip="Tagesansicht" Click="ButtonDayView_Click">
<Button Margin="0,1,1,1" Height="24" Width="24" ToolTip="Tagesansicht" Click="ButtonDayView_Click">
<Image Source="/BeWoPlaner;component/Ressources/Icons/Calendar1Day24.png" />
</Button>
<Button Style="{x:Null}" Margin="1" Height="24" Width="24" ToolTip="Arbeitswoche anzeigen"
Click="ButtonWorkWeekView_Click">
<Button Margin="1" Height="24" Width="24" ToolTip="Arbeitswoche anzeigen" Click="ButtonWorkWeekView_Click">
<Image Source="/BeWoPlaner;component/Ressources/Icons/Calendar5Day24.png" />
</Button>
<Button Style="{x:Null}" Margin="1" Height="24" Width="24" ToolTip="Volle Woche anzeigen"
Click="ButtonWeekView_Click">
<Button Margin="1" Height="24" Width="24" ToolTip="Volle Woche anzeigen" Click="ButtonWeekView_Click">
<Image Source="/BeWoPlaner;component/Ressources/Icons/Calendar7Day24.png" />
</Button>
<Button Style="{x:Null}" Margin="1" Height="24" Width="24" ToolTip="Monat anzeigen" Click="ButtonMonthView_Click">
<Button Margin="1" Height="24" Width="24" ToolTip="Monat anzeigen" Click="ButtonMonthView_Click">
<Image Source="/BeWoPlaner;component/Ressources/Icons/Calendar31Day24.png" />
</Button>
<Button Style="{x:Null}" Margin="1" Height="24" Width="24" ToolTip="Zeitleiste anzeigen"
Click="ButtonTimelineView_Click">
<Button Margin="1" Height="24" Width="24" ToolTip="Zeitleiste anzeigen" Click="ButtonTimelineView_Click">
<Image Source="/BeWoPlaner;component/Ressources/Icons/History24.png" />
</Button>
<StackPanel x:Name="DayViewOptions" Orientation="Horizontal" Visibility="Visible">
@@ -968,7 +965,7 @@
</CheckBox>
</StackPanel>
<ToggleButton Grid.Column="1" Style="{StaticResource VerticalExpanderLookAlikeToggleBotton}" Width="23" Height="23" Margin="3" Click="LeftExpanderClick" x:Name="LeftExpanderButton" />
<dxsch:SchedulerControl Grid.Column="2" x:Name="Scheduler" dx:ThemeManager.ThemeName="Office2010Black"
<dxsch:SchedulerControl Grid.Column="2" x:Name="Scheduler" dx:ThemeManager.ThemeName="Office2010Black" FormCustomizationUsingMVVMLocal="False"
GroupType="None" VerticalAlignment="Stretch"
EditAppointmentFormShowing="Scheduler_EditAppointmentFormShowing"
EditRecurrentAppointmentFormShowing="SchedulerControl_EditRecurrentAppointmentFormShowing"

View File

@@ -1010,16 +1010,16 @@ namespace BeWo.Scheduler.View
}
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.KalenderInZeiterfassungUebernehmen))
{
var menuitem = e.Menu.ItemLinks.FirstOrDefault(f => f.GetType() == typeof(BarButtonItemLink) && ((BarButtonItemLink)f).Item.Name.Contains("ZeiterfassungButtonItem"));
//if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.KalenderInZeiterfassungUebernehmen))
//{
// var menuitem = e.Menu.ItemLinks.FirstOrDefault(f => f.GetType() == typeof(BarButtonItemLink) && ((BarButtonItemLink)f).Item.Name.Contains("ZeiterfassungButtonItem"));
if (menuitem != null)
{
e.Menu.ItemLinks.Remove(menuitem);
}
// if (menuitem != null)
// {
// e.Menu.ItemLinks.Remove(menuitem);
// }
}
//}
var ZusageUntermenue = e.Menu.ItemLinks.FirstOrDefault(f=>f.GetType() == typeof(BarSubItemLink) && ((BarSubItemLink) f).Item.Name.Equals("TeilnahmeMenue"));

View File

@@ -206,9 +206,16 @@ namespace BeWo.Scheduler.View
SelektierterTermin = OTListView.SelectedItem as IBeWoAppointment;
if (selektierterTermin != null && selektierterTermin.Start < DateTime.Now && selektierterTermin.End < DateTime.Now)
{
((List<Employee2SchedulerAppointmentDC>) SelektierterTermin.CustomFields["EmployeeList"]).Find(f => f.Employee.EmployeeOid == BeWoApp.LoggedOnEmployee.EmployeeOid.Value).IsPC_CheckedTs = DateTime.Now;
((List<Employee2SchedulerAppointmentDC>) SelektierterTermin.CustomFields["EmployeeList"]).Find(f => f.Employee.EmployeeOid == BeWoApp.LoggedOnEmployee.EmployeeOid.Value).ParticipationAnswer = ParticipationAnswer.Verstrichen;
((List<Employee2SchedulerAppointmentDC>) SelektierterTermin.CustomFields["EmployeeList"]).Find(f => f.Employee.EmployeeOid == BeWoApp.LoggedOnEmployee.EmployeeOid.Value).IsPChanged = false;
var emp2app = ((List<Employee2SchedulerAppointmentDC>) SelektierterTermin.CustomFields["EmployeeList"]).Find(f => f.Employee2SchedulerAppointmentOid == SelektierterTermin.LabelId) ??
((List<Employee2SchedulerAppointmentDC>) SelektierterTermin.CustomFields["EmployeeList"]).Find(f => f.Employee.EmployeeOid == BeWoApp.LoggedOnEmployee.EmployeeOid.Value);
if (emp2app.Employee.EmployeeOid == BeWoApp.LoggedOnEmployee.EmployeeOid.Value)
{
emp2app.ParticipationAnswer = ParticipationAnswer.Verstrichen;
}
emp2app.IsPC_CheckedTs = DateTime.Now;
emp2app.IsPChanged = false;
ServiceFacade.DoResourceServiceAsync(s => s.UpdateSchedulerAppointments(new List<SchedulerAppointmentDC> { ((SchedulerAppointmentVM)SelektierterTermin).DataContract }), UpdateView);

View File

@@ -3,7 +3,6 @@ using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Collections.Specialized;
using System.ComponentModel;
using System.Globalization;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
@@ -22,7 +21,6 @@ using BS.Shared.DataContracts.Compact;
using BS.Shared.Extensions;
using DevExpress.Xpf.Editors;
using DevExpress.Xpf.Scheduler.Drawing;
using DevExpress.Xpf.Scheduler.UI;
using DevExpress.XtraScheduler;
using SchedulerControl = DevExpress.Xpf.Scheduler.SchedulerControl;
@@ -341,7 +339,6 @@ namespace BeWo.Scheduler.View
DeleteAppointment();
}
private void Button_CreatZeiterfassung_Click(object sender, RoutedEventArgs e)
{
var employ = SelectedMitarbeiter.Items;

View File

@@ -51,8 +51,10 @@ namespace BeWo.Scheduler.ViewModel
mAppointmentList.AddingNew += mAppointmentList_AddingNew;
foreach (var item in VMList)
{
mAppointmentList.Add(item);
}
return mAppointmentList;
}
}
@@ -61,23 +63,23 @@ namespace BeWo.Scheduler.ViewModel
private readonly List<CompactEmployeeDC> mAllEmployees;
private readonly Dictionary<ValueListEntryDC, List<ResourceDC>> mCategories2Resources;
static void mAppointmentList_AddingNew(object sender, AddingNewEventArgs e)
private static void mAppointmentList_AddingNew(object sender, AddingNewEventArgs e)
{
var dc = new SchedulerAppointmentDC
{
EmployeeList = new List<Employee2SchedulerAppointmentDC>(),
CustomerList = new List<CompactCustomerDC>(),
ResourceList = new List<ResourceDC>(),
//Originator = ServiceFacade.DoEmployeeServiceSync(),
Status = 0
};
var neu = new SchedulerAppointmentVM(dc);
e.NewObject = neu;
}
private Dictionary<Guid, Dictionary<String, Dictionary<String, Object>>> changedOccurencyCustomFields;
public Dictionary<Guid, Dictionary<String, Dictionary<String, Object>>> ChangedOccurencyCustomFields { get; private set; }
private Dictionary<Guid, Dictionary<string, Dictionary<string, object>>> changedOccurencyCustomFields;
public Dictionary<Guid, Dictionary<string, Dictionary<string, object>>> ChangedOccurencyCustomFields { get; private set; }
public List<CompactCustomerDC> AllCustomers
{
@@ -95,7 +97,7 @@ namespace BeWo.Scheduler.ViewModel
}
private Appointment geoeffneterTermin;
public SchedulerAppointmentListVM(List<SchedulerAppointmentDC> appList, List<CompactCustomerDC> allCustomers, List<CompactEmployeeDC> allEmployees, Dictionary<ValueListEntryDC, List<ResourceDC>> lCategoriesToResources) : base(appList)
{
mCategories2Resources = lCategoriesToResources;

View File

@@ -7,7 +7,6 @@ using BeWo.ViewModel;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using DevExpress.Data.Linq;
using BS.Shared.Extensions;
namespace BeWo.Scheduler.ViewModel

View File

@@ -56,15 +56,15 @@
<StackPanel Grid.Row="0" Grid.Column="1" Orientation="Horizontal" >
<Button Style="{x:Null}" Margin="3,3,3,3" Height="24" Width="24" ToolTip="Tagesansicht" Click="ButtonDayView_Click" VerticalAlignment="Top">
<Button Margin="3,3,3,3" Height="24" Width="24" ToolTip="Tagesansicht" Click="ButtonDayView_Click" VerticalAlignment="Top">
<Image Source="/Ressources\Icons\Calendar1Day24.png" />
</Button>
<Button Style="{x:Null}" Margin="3,3,3,3" Height="24" Width="24" ToolTip="Wochenansicht" Click="ButtonWorkWeekView_Click" VerticalAlignment="Top">
<Button Margin="3,3,3,3" Height="24" Width="24" ToolTip="Wochenansicht" Click="ButtonWorkWeekView_Click" VerticalAlignment="Top">
<Image Source="/Ressources/Icons/Calendar5Day24.png" />
</Button>
<Button Style="{x:Null}" Margin="3,3,3,3" Height="24" Width="24" ToolTip="Aktualisieren" Click="Aktualisieren_OnClick" VerticalAlignment="Top" >
<Button Margin="3,3,3,3" Height="24" Width="24" ToolTip="Aktualisieren" Click="Aktualisieren_OnClick" VerticalAlignment="Top" >
<Image Source="../Ressources/Icons/SymbolRefresh32.png" />
</Button>
@@ -259,14 +259,14 @@
<StackPanel Grid.ColumnSpan="3" Grid.Row="1" Grid.Column="0" Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Bottom" >
<Button Click="PfeilLinksDatumRunter_OnClick" Margin="3,3,3,3" Height="24" Width="24" ToolTip="Vorheriges Datum" Style="{x:Null}">
<Button Click="PfeilLinksDatumRunter_OnClick" Margin="3,3,3,3" Height="24" Width="24" ToolTip="Vorheriges Datum">
<Image Source="/BeWoPlaner;component/Ressources/Icons/ArrowLeft.png" />
</Button>
<Label x:Name="Datelbl" HorizontalAlignment="Center" VerticalAlignment="Bottom" Content="PlaceHolder" FontSize="16" Margin="3,3,3,3" />
<Button Click="PfeilRechtsDatumHoch_OnClick" Margin="3,3,3,3" Height="24" Width="24" ToolTip="Nächstes Datum" Style="{x:Null}" >
<Image Source="/BeWoPlaner;component/Ressources/Icons/ArrowRight.png" Visibility="Visible" />
<Button Click="PfeilRechtsDatumHoch_OnClick" Margin="3,3,3,3" Height="24" Width="24" ToolTip="Nächstes Datum">
<Image Source="/BeWoPlaner;component/Ressources/Icons/ArrowRight.png" Visibility="Visible" />
</Button>
</StackPanel>

View File

@@ -1,54 +1,21 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Drawing;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Data;
using System.Windows.Forms;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using BeWo.Annotations;
using BeWo.Core;
using BeWo.Core.Service;
using BeWo.Scheduler.Converter;
using BeWo.Scheduler.ViewModel;
using BeWo.ServiceProxy;
using BeWo.View;
using BeWo.View.Detail;
using BeWo.ViewModel;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using BS.Shared.Extensions;
using DevExpress.Utils;
using DevExpress.Xpf.Bars;
using DevExpress.Xpf.Core;
using DevExpress.Xpf.Editors;
using DevExpress.Xpf.Grid;
using DevExpress.Xpf.Scheduler;
using DevExpress.Xpf.Scheduler.Drawing;
using DevExpress.Xpf.Scheduler.Reporting;
using DevExpress.XtraScheduler;
using Appointment = DevExpress.XtraScheduler.Appointment;
using Button = System.Windows.Controls.Button;
using CheckBox = System.Windows.Controls.CheckBox;
using ColorConverter = System.Windows.Media.ColorConverter;
using DragDropEffects = System.Windows.DragDropEffects;
using DragEventArgs = System.Windows.DragEventArgs;
using Image = System.Windows.Controls.Image;
using MessageBox = System.Windows.MessageBox;
using Point = System.Windows.Point;
using SchedulerControl = DevExpress.Xpf.Scheduler.SchedulerControl;
namespace BeWo.SchulbegleitenderDienst
@@ -117,11 +84,11 @@ namespace BeWo.SchulbegleitenderDienst
KrankMeldungKlientDatepicker.DateTime = dt;
}
private void GetAllVertretungenOnLoad(DateTime AusgewähltesDatum)
private void GetAllVertretungenOnLoad(DateTime AusgewaehltesDatum)
{
_items.Clear();
ServiceFacade.DoOperationsServiceAsync(s => s.VertretungsListe(AusgewähltesDatum),r =>{
ServiceFacade.DoOperationsServiceAsync(s => s.VertretungsListe(AusgewaehltesDatum),r =>{
foreach (var item in r)
{
@@ -133,7 +100,7 @@ namespace BeWo.SchulbegleitenderDienst
{
GridDataControlTagesansicht.RefreshData();
GridDataControlTagesansicht.RefreshUI();
GetWochenDienstFromItems(AusgewähltesDatum);
GetWochenDienstFromItems(AusgewaehltesDatum);
});
#endregion
});

View File

@@ -2130,6 +2130,21 @@
</ControlTemplate>
<!-- EndRegion -->
<!-- Region Customer Team Styles -->
<SolidColorBrush x:Key="CustomerTeamContentBrush" Color="#FF565999" />
<Style x:Key="CustomerTeamNavigationStyle" TargetType="{x:Type GroupBox}">
<Style.Resources>
<SolidColorBrush x:Key="NavigationHeaderBrush" Color="#FF2A4958" />
<LinearGradientBrush x:Key="NavigationContentBrush" EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FF3B7799" Offset="0" />
<GradientStop Color="#FF19485C" Offset="1" />
</LinearGradientBrush>
</Style.Resources>
<Setter Property="Template" Value="{StaticResource NavigationGroupTemplate}" />
</Style>
<!-- EndRegion -->
<!-- Region Customer Styles-->
<SolidColorBrush x:Key="CustomerContentBrush" Color="#FF3B7799" />
<LinearGradientBrush x:Key="CustomerListBrush" EndPoint="0.5,1" StartPoint="0.5,0">

View File

@@ -1018,7 +1018,7 @@ namespace BeWo.View.Detail
{
if (tabitem_schuldienst.Content == null)
{
tabitem_schuldienst.Content = new SchulbegleitenderDienst(TableID.Customer, ViewModel.DataContract.CustomerOid.Value,SchulbegleitenderZugehörigkeitsTyp.Klient);
//tabitem_schuldienst.Content = new SchulbegleitenderDienst.SchulbegleitenderDienst(TableID.Customer, ViewModel.DataContract.CustomerOid.Value,SchulbegleitenderZugehörigkeitsTyp.Klient);
}
}

View File

@@ -468,7 +468,7 @@ namespace BeWo.View.Detail
{
if (tabitem_schuldienst.Content == null)
{
tabitem_schuldienst.Content = new SchulbegleitenderDienst(TableID.Customer, ViewModel.DataContract.EmployeeOid.Value,SchulbegleitenderZugehörigkeitsTyp.Mitarbeiter);
tabitem_schuldienst.Content = new SchulbegleitenderDienst(TableID.Customer, ViewModel.DataContract.EmployeeOid.Value, SchulbegleitenderZugehörigkeitsTyp.Mitarbeiter);
}
}

View File

@@ -0,0 +1,26 @@
<localView:BeWoView x:Class="BeWo.View.Navigation.CustomerTeamNavigationView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:localView="clr-namespace:BeWo.View"
xmlns:localNavView="clr-namespace:BeWo.View.Navigation"
Loaded="OnLoaded"
>
<Grid>
<localNavView:MainNavigationView x:Name="mainNavigationView"
MainGroupHeader="Kliententeams"
CreateNewObject="mainNavigationView_CreateNewObject"
OpenObject="mainNavigationView_OpenObject"
DeleteObject="mainNavigationView_DeleteObject"
DeleteDemands="DeleteAll, CustomerTeam_Delete"
CreateDemands="CreateAll, CustomerTeam_Create"
ExcelExport="mainNavigationView_ExcelExport"
ContentGroupStyle="{StaticResource CustomerTeamNavigationStyle}"
MainListItemStyle="{StaticResource SearchDetailStyle}"
HistoryListItemStyle="{StaticResource SearchSimpleStyle}"
OnReloadData="MainNavigationView_OnReloadData"/>
</Grid>
</localView:BeWoView>

View File

@@ -0,0 +1,58 @@
using System.Collections.Generic;
using System.Windows;
using BS.Shared.Core;
using BS.Shared.DataContracts;
namespace BeWo.View.Navigation
{
public partial class CustomerTeamNavigationView
{
private IEnumerable<IFilterableDC> objectList = null;
private IEnumerable<IFilterableDC> recentList = null;
public CustomerTeamNavigationView()
{
InitializeComponent();
}
private void OnLoaded(object sender, RoutedEventArgs e)
{
ReloadData(false);
}
private void ReloadData(bool refresh)
{
if (refresh || recentList == null)
{
}
}
private void mainNavigationView_CreateNewObject()
{
}
private bool mainNavigationView_DeleteObject(IFilterableDC obj)
{
return false;
}
private void mainNavigationView_ExcelExport(object sender, EventArgs<IEnumerable<IFilterableDC>> e)
{
}
private void mainNavigationView_OpenObject(IFilterableDC obj)
{
}
public override void ChildViewClosed()
{
recentList = null;
objectList = null;
}
private void MainNavigationView_OnReloadData()
{
ReloadData(true);
}
}
}

View File

@@ -1,6 +1,22 @@
<localView:BeWoView x:Class="BeWo.View.Navigation.TeamNavigationView" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:localView="clr-namespace:BeWo.View" xmlns:localNavView="clr-namespace:BeWo.View.Navigation" Loaded="OnLoaded">
<localView:BeWoView x:Class="BeWo.View.Navigation.TeamNavigationView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:localView="clr-namespace:BeWo.View"
xmlns:localNavView="clr-namespace:BeWo.View.Navigation"
Loaded="OnLoaded">
<Grid>
<localNavView:MainNavigationView x:Name="mainNavigationView" MainGroupHeader="Teams" CreateNewObject="mainNavigationView_CreateNewObject" OpenObject="mainNavigationView_OpenObject" DeleteObject="mainNavigationView_DeleteObject" DeleteDemands="DeleteAll, TeamView_Delete" CreateDemands="CreateAll, TeamView_Create" ExcelExport="mainNavigationView_ExcelExport" ContentGroupStyle="{StaticResource TeamNavigationStyle}" MainListItemStyle="{StaticResource SearchDetailStyle}" HistoryListItemStyle="{StaticResource SearchSimpleStyle}" OnReloadData="MainNavigationView_OnReloadData"/>
<localNavView:MainNavigationView x:Name="mainNavigationView"
MainGroupHeader="Teams"
CreateNewObject="mainNavigationView_CreateNewObject"
OpenObject="mainNavigationView_OpenObject"
DeleteObject="mainNavigationView_DeleteObject"
DeleteDemands="DeleteAll, TeamView_Delete"
CreateDemands="CreateAll, TeamView_Create"
ExcelExport="mainNavigationView_ExcelExport"
ContentGroupStyle="{StaticResource TeamNavigationStyle}"
MainListItemStyle="{StaticResource SearchDetailStyle}"
HistoryListItemStyle="{StaticResource SearchSimpleStyle}"
OnReloadData="MainNavigationView_OnReloadData"/>
</Grid>

View File

@@ -0,0 +1,100 @@
using System.Collections.ObjectModel;
using System.Linq;
using BeWo.Validation;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using BS.Shared.Extensions;
namespace BeWo.ViewModel
{
public class CustomerTeamVM : AbstractDCMapperVM<CustomerTeamDC>
{
public static string PropertyName_Members = "Members";
public static string PropertyName_Name = "Name";
public static string PropertyName_Notice = "Notice";
private ObservableCollection<CompactCustomerDC> _Members;
private string _Name;
private string _Notice;
public CustomerTeamVM(CustomerTeamDC pDataContract) : base(pDataContract, pDataContract.CustomerTeamOid == null)
{
}
public ObservableCollection<CompactCustomerDC> Members
{
get { return _Members; }
set
{
if(AreDifferent(_Members, value))
{
_Members = value;
FirePropertyChanged(PropertyName_Members);
}
}
}
public string Notice
{
get { return _Notice; }
set
{
if(AreDifferent(_Notice, value))
{
_Notice = value;
StoreDirtyInformation(DataContract.Notice != value, PropertyName_Notice);
FirePropertyChanged(PropertyName_Notice);
}
}
}
[Validation(ValidationRule = ValidationRules.NotNullOrStringEmpty)]
public string Name
{
get { return _Name; }
set
{
if(AreDifferent(_Name, value))
{
_Name = value;
StoreDirtyInformation(DataContract.Name != value, PropertyName_Name);
FirePropertyChanged(PropertyName_Name);
}
}
}
protected override void InitByDataContract(CustomerTeamDC pDataContract)
{
_Members = new ObservableCollection<CompactCustomerDC>();
if (!IsNew)
{
if(pDataContract.Members != null)
{
_Name = pDataContract.Name;
_Notice = pDataContract.Notice;
_Members.AddRange(pDataContract.Members.OrderBy(m => string.Format("{0},{1}", m.LastName, m.FirstName)));
}
}
_Members.CollectionChanged += (s, e) => StoreDirtyInformation(!pDataContract.Members.ContainsSameItemsAs(_Members), PropertyName_Members);
}
protected override CustomerTeamDC MapToDataContract(CustomerTeamDC pDataContract, bool doCommit)
{
pDataContract.Name = _Name;
pDataContract.Notice = _Notice;
pDataContract.Members = _Members.ToList();
return pDataContract;
}
}
}

View File

@@ -15,13 +15,13 @@
NHibernate.Driver.MySqlDataDriver
</property>
<!--<property name="connection.connection_string">
<property name="connection.connection_string">
Server=localhost;Password=root;User ID=root;Initial Catalog=bewodemo
</property>-->
</property>
<property name="connection.connection_string">
<!--<property name="connection.connection_string">
Server=localhost;Password=root;User ID=root;Initial Catalog=1234567890
</property>
</property>-->
<property name="dialect">
NHibernate.Dialect.MySQLDialect

View File

@@ -590,6 +590,11 @@ textarea {
width: initial;
}
/* Sonst nicht korrekt dargestellt bei Firefox für Android */
input[type="checkbox"] {
padding: initial;
}
#LabelForShowOnlyOwnSupporConceptsCB {
color: #000;
text-transform: none;

View File

@@ -1,8 +1,5 @@
using System;
using System.Web;
using System.Web.Mvc;
using System.Web.Mvc;
using System.Web.Security;
using System.Web.UI;
using BeWo.Service.ServiceContracts;
using BeWoPlanerMobil.Service;

View File

@@ -4,7 +4,6 @@ using System.Web;
using System.Web.Mvc;
using System.Web.Security;
using BeWo.Data;
using BeWoPlanerMobil.Service;
using BS.Shared;
using BS.Shared.DataContracts;

View File

@@ -3,7 +3,6 @@ using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
using System.Web.Mvc;
using BeWo.Data.Entities;
using BeWoPlanerMobil.Models;
using BeWoPlanerMobil.Service;
using BS.Shared;
@@ -54,14 +53,16 @@ namespace BeWoPlanerMobil.Controllers
{
try
{
ViewData["ValidationError"] = String.Empty;
ViewData["ValidationError"] = string.Empty;
if (!MobileSessionFacade.IsUserLoggedIn())
return RedirectToActionPermanent("Index", "Login");
{
return RedirectToActionPermanent("Index", "Login");
}
var unter = GetSettingValue("ShowSignature");
Model.ShowSignature = unter == "1";
bool test = Model.SaveSignature;
var test = Model.SaveSignature;
Model.SelectedGoals = null;
@@ -537,7 +538,7 @@ namespace BeWoPlanerMobil.Controllers
return abc.Text;
}
// ajax call zur anzeige ob beim nach saven ein fehler aufgetreten ist.
// Ajax-Aufruf zum anzeigen, ob beim Speichern ein Fehler aufgetreten ist.
public void ErrorZeiterfassungAnzeigen(int errorwert)
{
try
@@ -774,9 +775,7 @@ namespace BeWoPlanerMobil.Controllers
return RedirectToActionPermanent("Main");
}
public ActionResult saveZeiterfassungAfterCrash(String Datum, String StartD, String EndeD, String Dauer, String Doku, String Leistungen, String Doku2, String Doku3, String Doku4, String Doku5, String EndDatum)
public ActionResult saveZeiterfassungAfterCrash(string Datum, string StartD, string EndeD, string Dauer, string Doku, string Leistungen, string Doku2, string Doku3, string Doku4, string Doku5, string EndDatum)
{
try
@@ -949,7 +948,6 @@ namespace BeWoPlanerMobil.Controllers
return RedirectToActionPermanent("Main");
}
[HttpPost]
[Authorize]
public ActionResult SelectSupportConcept(FormCollection formCollection)
@@ -1031,7 +1029,6 @@ namespace BeWoPlanerMobil.Controllers
return list;
}
[HttpPost]
[Authorize]
@@ -1206,7 +1203,7 @@ namespace BeWoPlanerMobil.Controllers
return JsonConvert.SerializeObject(obj, Formatting.Indented, new JsonSerializerSettings { ContractResolver = new ShouldSerializeContractResolver(), ReferenceLoopHandling = ReferenceLoopHandling.Ignore });
}
private static DateTime[] ConvertRecordTimes(String start, String ende, DateTime datum, int dauer)
private static DateTime[] ConvertRecordTimes(string start, string ende, DateTime datum, int dauer)
{
var result = new DateTime[2];
var startDate = datum.Date;
@@ -1280,7 +1277,7 @@ namespace BeWoPlanerMobil.Controllers
}
private static DateTime[] ConvertRecordTimesWithEndDate(String start, String ende, DateTime datum,DateTime enddatum ,int dauer)
private static DateTime[] ConvertRecordTimesWithEndDate(string start, string ende, DateTime datum, DateTime enddatum, int dauer)
{
var result = new DateTime[2];
var startDate = datum;
@@ -1361,7 +1358,7 @@ namespace BeWoPlanerMobil.Controllers
return result;
}
public string CheckRights(String von, String bis, bool inEditMode, String dateString, String startString, String endString)
public string CheckRights(string von, string bis, bool inEditMode, string dateString, string startString, string endString)
{
if (Model == null)
{
@@ -1473,8 +1470,7 @@ namespace BeWoPlanerMobil.Controllers
return SerializeObject(valStruct);
}
public bool CheckRightsAfterCrash(String von, String bis, bool inEditMode, String dateString, String startString, String endString, long costbearerOId, String leistung)
public bool CheckRightsAfterCrash(string von, string bis, bool inEditMode, string dateString, string startString, string endString, long costbearerOId, string leistung)
{
if (Model == null)
{
@@ -1600,10 +1596,7 @@ namespace BeWoPlanerMobil.Controllers
}
}
private static DateTime ConvertTimeStringToDateTime(String timeString)
private static DateTime ConvertTimeStringToDateTime(string timeString)
{
var dt = DateTime.Now.Date;

View File

@@ -118,7 +118,7 @@
<add key="PreserveLoginUrl" value="true"/>
<add key="ClientValidationEnabled" value="true"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>
<add key="MultitenancyPath" value="C:\Projekte\BeWo\Host\Multitenancy\"/>
<add key="MultitenancyPath" value="F:\Projects\BeWo\Host\Multitenancy\"/>
<!--<add key="MultitenancyPath" value="..\Host\Multitenancy"/>-->
</appSettings>
<!--

View File

@@ -10,14 +10,12 @@ using NHibernate;
using NHibernate.Criterion;
using NHibernate.Engine;
using NHibernate.Impl;
using NHibernate.Loader;
using NHibernate.Loader.Criteria;
using NHibernate.Persister.Entity;
using NHibernate.SqlCommand;
using BS.Shared.Core;
using BS.Shared;
using BS.Shared.DataContracts.Compact;
using Login = BeWo.Data.Entities.Login;
namespace BeWo.Data.Access

View File

@@ -153,6 +153,7 @@
<Compile Include="Entities\Customer2OrganisationHistory.cs" />
<Compile Include="Entities\Customer2PersonHistory.cs" />
<Compile Include="Entities\CustomerHistory.cs" />
<Compile Include="Entities\CustomerTeam.cs" />
<Compile Include="Entities\Darreichungsform.cs" />
<Compile Include="Entities\DepotRhythmus.cs" />
<Compile Include="Entities\Employee2CustomerHistory.cs" />
@@ -566,7 +567,8 @@
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="ICD10\icd10gm2012syst_claml_20110923.xml" />
<EmbeddedResource Include="Mappings\QuittierungsCheck.hbm.xml">
<Content Include="Mappings\CustomerTeam.hbm.xml" />
<EmbeddedResource Include="Mappings\QuittierungsCheck.hbm.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Mappings\Employee2Token.hbm.xml" />

View File

@@ -0,0 +1,53 @@
using System.Collections.Generic;
using BS.Shared;
namespace BeWo.Data.Entities
{
public class CustomerTeam : BeWoEntityBase
{
public static string PropertyName_MemberList = "MemberList";
public static string PropertyName_Name = "Name";
private IList<Customer> _MemberList;
private string _Name;
public CustomerTeam()
{
_Tid = TableID.CustomerTeam;
}
public virtual IList<Customer> MemberList
{
get
{
return _MemberList ?? (_MemberList = new List<Customer>());
}
set
{
if(AreDifferent(_MemberList, value))
{
_MemberList = value;
}
}
}
public virtual string Name
{
get
{
return _Name;
}
set
{
if(AreDifferent(_Name, value))
{
_Name = value;
}
}
}
}
}

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="BeWo.Data.Entities.Team,BeWo.Data" table="CustomerTeam">
<id name="Oid" column="Oid" type="Int64" unsaved-value="null">
<generator class="identity" />
</id>
<version type="Int64" column="Version" name="Version" />
<property column="Tid" type="BS.Shared.TableID, BS.Shared" name="_Tid" access="field" />
<property column="InsTs" type="DateTime" name="InsTs" />
<property column="InsUser" type="String" name="InsUser" length="256" />
<property column="Name" type="String" name="Name" />
<property column="IsActive" type="BS.Shared.ActivationTypeId, BS.Shared" name="IsActive" />
<property column="SystemEntryID" type="BS.Shared.SystemEntryID, BS.Shared" name="SystemEntryID" />
<property column="UdpUser" type="String" name="UdpUser" length="256" />
<property column="Notice" type="String" name="Notice" length="1024" />
<bag name="MemberList" table="Customer2CustomerTeam" generic="true" cascade="none" batch-size="250">
<key column="CustomerTeamOid" />
<many-to-many column="CustomerOid" class="BeWo.Data.Entities.Customer,BeWo.Data" />
</bag>
</class>
</hibernate-mapping>

View File

@@ -15,17 +15,13 @@
NHibernate.Driver.MySqlDataDriver
</property>
<!-- <property name="connection.connection_string">
<property name="connection.connection_string">
Server=localhost;Password=root;User ID=root;Initial Catalog=bewodemo
</property>-->
</property>
<!--<property name="connection.connection_string">
Server=localhost;Password=root;User ID=root;Initial Catalog=9876543210
</property>-->
<property name="connection.connection_string">
Server=localhost;Password=root;User ID=root;Initial Catalog=1234567890
</property>
Server=localhost;Password=root;User ID=root;Initial Catalog=1234567890
</property>-->
<property name="dialect">
NHibernate.Dialect.MySQLDialect

View File

@@ -0,0 +1,13 @@
CREATE TABLE customerteam (
`Oid` bigint(19) NOT NULL AUTO_INCREMENT,
`Tid` int(10) DEFAULT NULL,
`Name` varchar(256) DEFAULT NULL,
`IsActive` tinyint(4) DEFAULT NULL,
`Notice` varchar(1024) DEFAULT NULL,
`InsTs` datetime DEFAULT NULL,
`InsUser` varchar(256) DEFAULT NULL,
`UdpUser` varchar(256) DEFAULT NULL,
`Version` bigint(19) DEFAULT NULL,
`SystemEntryID` int(10) DEFAULT NULL,
PRIMARY KEY (`Oid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

View File

@@ -1,4 +1,4 @@
CREATE TABLE `1234567890`.`token` (
CREATE TABLE `token` (
`Oid` BIGINT(19) NOT NULL AUTO_INCREMENT COMMENT '',
`Tid` INT(10) NULL COMMENT '',
@@ -18,7 +18,7 @@ CREATE TABLE `1234567890`.`token` (
CREATE TABLE `1234567890`.`customer2token` (
CREATE TABLE `customer2token` (
`Oid` BIGINT(19) NOT NULL AUTO_INCREMENT COMMENT '',
`CustomerOid` BIGINT(19) NULL COMMENT '',
@@ -39,7 +39,7 @@ CREATE TABLE `1234567890`.`customer2token` (
CREATE TABLE `1234567890`.`employee2token` (
CREATE TABLE `employee2token` (
`Oid` BIGINT(19) NOT NULL AUTO_INCREMENT COMMENT '',
`EmployeeOid` BIGINT(19) NULL COMMENT '',

View File

@@ -1,4 +1,4 @@
ALTER TABLE `1234567890`.`servicerecord`
ALTER TABLE `servicerecord`
ADD COLUMN `RTFNotice1` MEDIUMTEXT NULL DEFAULT NULL COMMENT '' AFTER `ServiceRecordFormat`,

View File

@@ -1,4 +1,4 @@
CREATE TABLE `1234567890`.`quittierungscheck` (
CREATE TABLE `quittierungscheck` (
`Oid` BIGINT(19) NOT NULL AUTO_INCREMENT COMMENT '',
`EmployeeOid` BIGINT(19) NULL COMMENT '',

View File

@@ -1,9 +1,9 @@
ALTER TABLE `1234567890`.`quittierungscheck`
ALTER TABLE `quittierungscheck`
ADD COLUMN `QuittierungsbelegGedrucktAm` DATETIME NULL DEFAULT NULL COMMENT '' AFTER `QuittierungsbelegUnterschrieben`;
ALTER TABLE `1234567890`.`quittierungscheck`
ALTER TABLE `quittierungscheck`
DROP COLUMN `EmployeeOid`,
ADD COLUMN `QuittierungsbelegUnterschriebenVon`
BIGINT(19) NULL DEFAULT NULL COMMENT '' AFTER `QuittierungsbelegGedrucktAm`,

View File

@@ -0,0 +1,13 @@
CREATE TABLE customerteam (
`Oid` bigint(19) NOT NULL AUTO_INCREMENT,
`Tid` int(10) DEFAULT NULL,
`Name` varchar(256) DEFAULT NULL,
`IsActive` tinyint(4) DEFAULT NULL,
`Notice` varchar(1024) DEFAULT NULL,
`InsTs` datetime DEFAULT NULL,
`InsUser` varchar(256) DEFAULT NULL,
`UdpUser` varchar(256) DEFAULT NULL,
`Version` bigint(19) DEFAULT NULL,
`SystemEntryID` int(10) DEFAULT NULL,
PRIMARY KEY (`Oid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

View File

@@ -0,0 +1,30 @@
using System;
using BeWo.Data.Entities;
using BS.Shared.DataContracts.Compact;
namespace BeWo.Service.DCEntityMapper
{
public class CompactCustomerTeamDC_CustomerTeam : AbstractIDCEntityMapper<CustomerTeam, CompactCustomerTeamDC>
{
public override CompactCustomerTeamDC MergeWithDC(CustomerTeam pEntity, CompactCustomerTeamDC pDataContract)
{
pDataContract.Name = pEntity.Name;
pDataContract.CustomerTeamOid = pEntity.Oid.Value;
pDataContract.CustomerTeamOid = pEntity.Version.Value;
return pDataContract;
}
public override CustomerTeam MergeWithEntity(CompactCustomerTeamDC pDataContract, CustomerTeam pEntity)
{
throw new NotImplementedException();
}
protected override bool AreDCAndEntityEqual(CompactCustomerTeamDC pDC, CustomerTeam pEntity)
{
return pDC.CustomerTeamOid == pEntity.Oid;
}
}
}

View File

@@ -0,0 +1,43 @@
using BeWo.Data.Entities;
using BS.Shared.DataContracts;
namespace BeWo.Service.DCEntityMapper
{
public class CustomerTeamDC_CustomerTeam : AbstractIDCEntityMapper<CustomerTeam, CustomerTeamDC>
{
public override CustomerTeamDC MergeWithDC(CustomerTeam pEntity, CustomerTeamDC pDataContract)
{
pDataContract.Name = pEntity.Name;
pDataContract.CustomerTeamOid = pEntity.Oid;
pDataContract.CustomerTeamVersion = pEntity.Version;
pDataContract.Notice = pEntity.Notice;
pDataContract.Members = MapperFactory.CompactCustomerDC_Customer.MapToNewDCs(pEntity.MemberList);
return pDataContract;
}
public override CustomerTeam MergeWithEntity(CustomerTeamDC pDataContract, CustomerTeam pEntity)
{
ConcurrencyCheck(pDataContract.CustomerTeamVersion, pEntity);
pEntity.Oid = pDataContract.CustomerTeamOid;
pEntity.Notice = pDataContract.Notice;
pEntity.Name = pDataContract.Name;
MapperFactory.CompactCustomerDC_Customer.MergeWithEntitys(pDataContract.Members, pEntity.MemberList);
return pEntity;
}
protected override bool AreDCAndEntityEqual(CustomerTeamDC pDC, CustomerTeam pEntity)
{
if (pDC.CustomerTeamOid == null)
{
return false;
}
return pDC.CustomerTeamOid == pEntity.Oid;
}
}
}

View File

@@ -175,6 +175,8 @@
<Compile Include="DCEntityMapper\BargeldtransaktionDC_Bargeldtransaktion.cs" />
<Compile Include="DCEntityMapper\BeWoFolderDC_BeWoFolder.cs" />
<Compile Include="DCEntityMapper\BeWoMobilBrowserInfoDC_BeWoMobilBrowserInfo.cs" />
<Compile Include="DCEntityMapper\CompactCustomerTeamDC_CustomerTeam.cs" />
<Compile Include="DCEntityMapper\CustomerTeamDC_CustomerTeam.cs" />
<Compile Include="DCEntityMapper\CustomerTeamRelDC_Team2CustomerMapper.cs" />
<Compile Include="DCEntityMapper\DarreichungsformDC_Darreichungsform.cs" />
<Compile Include="DCEntityMapper\DepotRhythmusDC_DepotRhythmus.cs" />

View File

@@ -127,8 +127,9 @@ namespace BS.Shared
Token = 120,
Vertretung = 121,
Employee2Token = 122,
QuittierungsCheck = 123
}
QuittierungsCheck = 123,
CustomerTeam = 124
}
public enum SystemEntryID
{
@@ -473,7 +474,12 @@ namespace BS.Shared
//ChatSettings = 28000
VertretungenView_View = 30000
VertretungenView_View = 30000,
CustomerTeam_View = 40000,
CustomerTeam_Edit = 40001,
CustomerTeam_Delete = 40002,
CustomerTeam_Create = 40003
}
public enum PersonType

View File

@@ -561,7 +561,7 @@ namespace BS.Shared.Core
},
{
UserRightType.VertretungenView_View, "Vertretungen verwalten"
}
}
//,
// {
@@ -579,7 +579,22 @@ namespace BS.Shared.Core
// {
// UserRightType.ChatSettings, "Chat Einstellungen"
// }
,
{
UserRightType.CustomerTeam_View, "Kliententeams ansehen"
}
,
{
UserRightType.CustomerTeam_Create, "Kliententeams anlegen"
}
,
{
UserRightType.CustomerTeam_Edit, "Kliententeams bearbeiten"
}
,
{
UserRightType.CustomerTeam_Delete, "Kliententeams löschen"
}
};
#endregion

View File

@@ -0,0 +1,92 @@
using System.Windows.Media;
namespace BS.Shared.DataContracts.Compact
{
public partial class CompactCustomerTeamDC : IFilterableDC
{
public ActivationTypeId ActivationType
{
get
{
return ActivationTypeId.Active;
}
set { }
}
public string DetailDescription
{
get
{
return ToString();
}
}
public string FilterRelevants
{
get
{
return this.Name;
}
}
public string IconPath
{
get
{
return @"..\..\Ressources\Icons\UserGroupBusinessDisabled.png";
}
}
public string SimpleDescription
{
get
{
return this.Name;
}
}
public bool SupportsActivationType
{
get
{
return false;
}
}
public long Version
{
get
{
return CustomerTeamVersion;
}
set
{
CustomerTeamVersion = value;
}
}
public override bool Equals(object obj)
{
if (obj is CompactCustomerTeamDC)
{
return CustomerTeamOid == ((CompactCustomerTeamDC) obj).CustomerTeamOid;
}
return false;
}
public override int GetHashCode()
{
return GetType().Name.GetHashCode() ^ CustomerTeamOid.GetHashCode();
}
public override string ToString()
{
return Name;
}
public SolidColorBrush FilterableBrush { get { return new SolidColorBrush(Colors.Transparent); } }
}
}

View File

@@ -0,0 +1,17 @@
using System.Runtime.Serialization;
namespace BS.Shared.DataContracts.Compact
{
[DataContract]
public partial class CompactCustomerTeamDC : IDataContract
{
[DataMember]
public string Name { get; set; }
[DataMember]
public long CustomerTeamOid { get; set; }
[DataMember]
public long CustomerTeamVersion { get; set; }
}
}

View File

@@ -0,0 +1,26 @@
using System.Collections.Generic;
using System.Runtime.Serialization;
using BS.Shared.DataContracts.Compact;
namespace BS.Shared.DataContracts
{
[DataContract]
public class CustomerTeamDC : IDataContract
{
[DataMember]
public List<CompactCustomerDC> Members { get; set; }
[DataMember]
public string Name { get; set; }
[DataMember]
public string Notice { get; set; }
[DataMember]
public long? CustomerTeamOid { get; set; }
[DataMember]
public long? CustomerTeamVersion { get; set; }
}
}

View File

@@ -1,5 +1,4 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
@@ -44,8 +43,15 @@ namespace BS.Shared.Extensions
public static bool AreEqual<T>(this ICollection<T> pCollection, ICollection<T> pCollection2)
{
throw new Exception("Hier muss noch AddEqual implementiert werden");
}
if(pCollection.Count != pCollection2.Count)
{
return false;
}
var tmp1 = pCollection.OrderBy(x => x.GetHashCode()).ToList();
var tmp2 = pCollection2.OrderBy(x => x.GetHashCode()).ToList();
return !pCollection.Where((t, i) => !tmp1.ElementAt(i).Equals(tmp2.ElementAt(i))).Any();
}
}
}

View File

@@ -163,10 +163,13 @@
<Compile Include="DataContracts\ClientPartials\OrganisationPersonRelationDC.cs" />
<Compile Include="DataContracts\ClientPartials\ServiceRecordHistoryDC.cs" />
<Compile Include="DataContracts\ClientPartials\TextbausteinDC.cs" />
<Compile Include="DataContracts\Compact\ClientPartials\CompactCustomerTeamDC.cs" />
<Compile Include="DataContracts\Compact\ClientPartials\CompactGroupOfPeopleDC.cs" />
<Compile Include="DataContracts\Compact\ClientPartials\CompactWohnheimDC.cs" />
<Compile Include="DataContracts\Compact\CompactCustomerTeamDC.cs" />
<Compile Include="DataContracts\Compact\CompactGroupOfPeopleDC.cs" />
<Compile Include="DataContracts\Compact\CompactWohnheimDC.cs" />
<Compile Include="DataContracts\CustomerTeamDC.cs" />
<Compile Include="DataContracts\Compact\CompactVertreterEmployeeDC.cs" />
<Compile Include="DataContracts\Compact\CompactTokenDC.cs" />
<Compile Include="DataContracts\CustomerTeamRelationDC.cs" />