Files
BeWoPlaner/BeWo/View/BeWoView.cs
Christian b76d6ea7d1 Merge branch 'master' of ssh://float.beyondsoft.de/git/beyondSoft/BeWo
# Conflicts:
#	Data/Access/SearchDAO.cs
2018-03-02 16:24:55 +01:00

203 lines
5.3 KiB
C#

using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media.Animation;
using BeWo.Validation;
using BS.Shared;
namespace BeWo.View
{
public class BeWoView : UserControl
{
public Action ModalEditViewUpdateCallback;
public virtual bool IsDoneWithInsertOrUpdate { get; set; }
public event EventHandler BlendOutComplete;
public virtual bool CanDelete
{
get
{
return false;
}
}
public virtual bool CanExcelExport
{
get
{
return false;
}
}
public virtual bool CanWordExport
{
get
{
return false;
}
}
public virtual bool IsDirty
{
get
{
return false;
}
}
public virtual BeWoView ParentView { get; set; }
public virtual string SaveObjectName
{
get
{
return this.Title;
}
}
public virtual string Title
{
get
{
return string.Empty;
}
}
public virtual bool IsInWindow { get; set; }
internal virtual DependencyObject ValidationOnSaveRootElement
{
get
{
return this;
}
}
protected MainControl MainControl
{
get
{
return BeWoApp.MainControl;
}
}
public void BlendIn()
{
DoubleAnimation lAnim = new DoubleAnimation(1, new Duration(TimeSpan.FromSeconds(0.3)));
this.BeginAnimation(OpacityProperty, lAnim);
}
public void BlendOut()
{
DoubleAnimation lAnim = new DoubleAnimation(0, new Duration(TimeSpan.FromSeconds(0.3)));
lAnim.Completed += (s, e) =>
{
if (this.BlendOutComplete != null)
{
this.BlendOutComplete(this, e);
}
};
this.BeginAnimation(OpacityProperty, lAnim);
}
public virtual void Delete()
{
}
public virtual void ExportToExcel(string pFileID)
{
}
public virtual void ExportToWord(string pFileID)
{
}
public virtual void ModalPopUpCloseInvoked()
{
}
public virtual void ModalPopUpSaveInvoked()
{
}
public virtual void ChildViewClosed()
{
}
public bool SaveData()
{
if (!BeWoApp.HasLoggedOnUserRight(this.GetSaveDemands()))
{
MessageBox.Show("Sie besitzen nicht die nötigen Rechte um zu speichern. Bitte wenden Sie sich an den Administrator!", "Autorisierung fehlgeschlagen", MessageBoxButton.OK, MessageBoxImage.Warning);
return false;
}
var lValid = ValidationTrigger.Validate(this.ValidationOnSaveRootElement);
if (lValid)
{
Save();
}
else
{
MessageBox.Show("Bitte füllen Sie alle Pflichtfelder aus!", "Speichern nicht möglich", MessageBoxButton.OK, MessageBoxImage.Warning);
}
return lValid;
}
public virtual MessageBoxResult ShowSaveQuestion()
{
return string.IsNullOrEmpty(this.SaveObjectName) ? MessageBox.Show("Wollen Sie die Änderungen speichern?", "Änderungen speichern", MessageBoxButton.YesNoCancel, MessageBoxImage.Question) : MessageBox.Show("Wollen Sie die Änderungen an " + this.SaveObjectName + " speichern?", "Änderungen speichern", MessageBoxButton.YesNoCancel, MessageBoxImage.Question);
}
internal virtual bool DoSaveCheck()
{
if (this.IsDirty)
{
MessageBoxResult lResult = this.ShowSaveQuestion();
if (lResult == MessageBoxResult.Cancel)
{
this.Focus();
return false;
}
if (lResult == MessageBoxResult.Yes)
{
this.SaveData();
}
}
return true;
}
protected virtual UserRightType[] GetSaveDemands()
{
return null;
}
protected virtual void Save()
{
}
protected bool Validate(DependencyObject lElement)
{
return ValidationTrigger.Validate(lElement);
}
protected virtual void popup_Closed(object sender, EventArgs e)
{
this.MainControl.AnimateOpacity(1, 100);
}
protected virtual void popup_Opened(object sender, EventArgs e)
{
this.MainControl.AnimateOpacity(0.5, 200);
}
}
}