241 lines
8.5 KiB
C#
241 lines
8.5 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Windows;
|
|
using System.Windows.Controls;
|
|
using System.Windows.Navigation;
|
|
using BeWo.Core;
|
|
using BeWo.Core.Service;
|
|
using BeWo.ServiceProxy;
|
|
|
|
using BS.Shared;
|
|
using BS.Shared.Core;
|
|
using BS.Shared.DataContracts;
|
|
using BS.Shared.DataContracts.Compact;
|
|
using BS.Shared.Extensions;
|
|
|
|
namespace BeWo.View.Report.AnnualReport
|
|
{
|
|
public partial class AnnualReportView : BeWoView
|
|
{
|
|
|
|
private CompactOrganisationDC _SelectedOrganisation;
|
|
|
|
private CompactTeamDC _SelectedTeam;
|
|
|
|
|
|
public AnnualReportView()
|
|
{
|
|
this.InitializeComponent();
|
|
|
|
//InitDateCombos();
|
|
datePickerStartDate.DateTime = new DateTime(DateTime.Now.Year - 1, 1, 1);
|
|
datePickerEndDate.DateTime = new DateTime(DateTime.Now.Year - 1, 12, 31);
|
|
|
|
InitCustomerCareTypeCombo();
|
|
|
|
//linkPdfExport.NavigateUri = new Uri("http://www.bewoplaner.de");
|
|
linkPdfExport.NavigateUri = new Uri(String.Format("{0}/ReportView.aspx", BeWoApp.SiteOfOrigin));
|
|
|
|
}
|
|
|
|
private void InitCustomerCareTypeCombo()
|
|
{
|
|
Cache.GetInstance().GetAllValueListEntrysByTypeAsync(ValueListEntryType.CustomerCareType, cb =>
|
|
this.Dispatch(
|
|
delegate
|
|
{
|
|
//var vle = new ValueListEntryDC();
|
|
//cb.Add(vle);
|
|
//vle.TypeDescription = "";
|
|
|
|
this.combobox_customercaretype.ItemsSource = cb.OrderBy(a => a.TypeDescription).ToList();
|
|
}));
|
|
|
|
}
|
|
|
|
//private void InitDateCombos()
|
|
//{
|
|
// var years = new List<int>();
|
|
// for (int i = 0; i <= 10; i++)
|
|
// {
|
|
// years.Add(DateTime.Now.Year - i);
|
|
// }
|
|
|
|
// this.combobox_year.ItemsSource = years;
|
|
// this.combobox_year.SelectedItem = DateTime.Now.Year - 1;
|
|
|
|
//}
|
|
|
|
private void CreateReportView(List<AnnualReportDC> reportList )
|
|
{
|
|
this.reportContent.Children.Clear();
|
|
|
|
int col = 0;
|
|
int row = 0;
|
|
foreach (var annualReportDc in reportList)
|
|
{
|
|
|
|
AnnualReportChartControl ctrl = new AnnualReportChartControl();
|
|
ctrl.AnnualReport = annualReportDc;
|
|
ctrl.SetValue(Grid.ColumnProperty, col++);
|
|
ctrl.SetValue(Grid.RowProperty, row);
|
|
ctrl.Height = 300;
|
|
ctrl.Margin = new Thickness(5);
|
|
this.reportContent.Children.Add(ctrl);
|
|
|
|
if (col > 1)
|
|
{
|
|
col = 0;
|
|
row++;
|
|
}
|
|
|
|
}
|
|
//this._FLSOverview = new FLSOverview(list, config);
|
|
//this.reportContent.Children.Clear();
|
|
//this.reportContent.Children.Add(this._FLSOverview);
|
|
}
|
|
|
|
private void OrganisationSearchView_ItemSelected(object sender, EventArgs<CompactOrganisationDC> e)
|
|
{
|
|
this._SelectedOrganisation = e.Data;
|
|
this.popupedit_costcenter.Text = this._SelectedOrganisation.ToString();
|
|
this.popup_costcenter.IsOpen = false;
|
|
}
|
|
|
|
private void TeamSearchView_ItemSelected(object sender, EventArgs<CompactTeamDC> e)
|
|
{
|
|
this._SelectedTeam = e.Data;
|
|
this.popupedit_team.Text = this._SelectedTeam.ToString();
|
|
this.popup_team.IsOpen = false;
|
|
}
|
|
|
|
private void UpdatePDFExportUri(string id)
|
|
{
|
|
//string url = BeWoApp.SiteOfOrigin + "/ReportView.aspx?dcid=" + BeWoApp.Tenant + "eoid" + BeWoApp.LoggedOnUser.Employee.EmployeeOid + "&tenant=" + BeWoApp.Tenant + "&username=" + BeWoApp.UserName + "&token=" + BeWoApp.LoggedOnUser.RC2Password + "&type=" + Utils.EnumName(ReportTypes.FLSReport);
|
|
|
|
//url = BeWoWpfUtils.GetHTMLEncodedURL(url);
|
|
//this.linkPdfExport.NavigateUri = new Uri(url);
|
|
|
|
//this.linkPdfExport.TargetName = Guid.NewGuid().ToString();
|
|
|
|
}
|
|
|
|
private void button_generate_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
//int year = DateTime.Now.Year - 1;
|
|
|
|
//if (combobox_year.SelectedItem != null)
|
|
//{
|
|
|
|
// year = (int)combobox_year.SelectedItem;
|
|
|
|
//}
|
|
|
|
DateTime startDate = datePickerStartDate.DateTime;
|
|
DateTime endDate = datePickerEndDate.DateTime;
|
|
|
|
long? costbearerOid = null;
|
|
long? teamOid = null;
|
|
long? customerCareTypeOid = null;
|
|
|
|
if (_SelectedOrganisation != null)
|
|
costbearerOid = _SelectedOrganisation.CostBearerOid;
|
|
|
|
if (_SelectedTeam != null)
|
|
teamOid = _SelectedTeam.TeamOid;
|
|
|
|
ValueListEntryDC en = combobox_customercaretype.SelectedItem as ValueListEntryDC;
|
|
|
|
if (combobox_customercaretype.SelectedItem == null || en.TypeDescription.Equals("")) { }
|
|
else
|
|
if (combobox_customercaretype.SelectedItem != null)
|
|
{
|
|
ValueListEntryDC entry = combobox_customercaretype.SelectedItem as ValueListEntryDC;
|
|
if (entry != null)
|
|
customerCareTypeOid = entry.ValueListEntryOid;
|
|
|
|
}
|
|
var config = new AnnualReportConfigDC
|
|
{
|
|
CostbearerOid = costbearerOid,
|
|
TeamOid = teamOid,
|
|
CustomerCareTypeValueListEntryOid = customerCareTypeOid,
|
|
StartDate = startDate,
|
|
EndDate = endDate,
|
|
ShowOnlyApprovedSupportConcepts = CheckBoxNurBewilligt.IsChecked ?? true,
|
|
StichtagsbezogenAuswerten = CheckBoxStichtag.IsChecked ?? true
|
|
|
|
};
|
|
|
|
ServiceFacade.DoAnalysisServiceAsync(s => s.CreateAnnualReport2(config), r => { this.Dispatch(delegate { this.CreateReportView(r); }); });
|
|
|
|
this.UpdatePDFExportUri(string.Empty);
|
|
|
|
}
|
|
|
|
|
|
private void linkPdfExport_RequestNavigate(object sender, RequestNavigateEventArgs e)
|
|
{
|
|
string url = String.Format("{0}/ReportView.aspx?start={1:dd.MM.yyyy}&end={2:dd.MM.yyyy}", BeWoApp.SiteOfOrigin, datePickerStartDate.DateTime, datePickerEndDate.DateTime);
|
|
|
|
|
|
if (_SelectedOrganisation != null)
|
|
{
|
|
url += "&cb=" + _SelectedOrganisation.CostBearerOid;
|
|
}
|
|
|
|
if (_SelectedTeam != null)
|
|
{
|
|
url += "&t=" + _SelectedTeam.TeamOid;
|
|
}
|
|
url += String.Format("&appr={0}", CheckBoxNurBewilligt.IsChecked == true ? "1" : "0");
|
|
url += String.Format("&stichtag={0}", CheckBoxStichtag.IsChecked == true ? "1" : "0");
|
|
|
|
ValueListEntryDC en = combobox_customercaretype.SelectedItem as ValueListEntryDC;
|
|
|
|
if (combobox_customercaretype.SelectedItem == null || en.TypeDescription.Equals("")) { }
|
|
else
|
|
if (combobox_customercaretype.SelectedItem != null)
|
|
{
|
|
ValueListEntryDC entry = combobox_customercaretype.SelectedItem as ValueListEntryDC;
|
|
if (entry != null)
|
|
url += "&art=" + entry.ValueListEntryOid;
|
|
}
|
|
|
|
url += "&type=" + Utils.EnumName(ReportTypes.Jahresbericht);
|
|
|
|
var tempToken = string.Empty;
|
|
ServiceFacade.DoDownloadServiceSync(s => tempToken = s.CreateTemporaryToken(url, true));
|
|
url = url + "&token=" + tempToken;
|
|
|
|
|
|
url = BeWoWpfUtils.GetHTMLEncodedURL(url);
|
|
|
|
BeWoUtils.NavigateToReportUri(url, "Druckvorschau");
|
|
|
|
}
|
|
|
|
private void popupedit_costcenter_PopUpClick(object sender, RoutedEventArgs e)
|
|
{
|
|
this.popup_costcenter.IsOpen = true;
|
|
}
|
|
|
|
private void popupedit_team_PopUpClick(object sender, RoutedEventArgs e)
|
|
{
|
|
this.popup_team.IsOpen = true;
|
|
}
|
|
|
|
private void popupedit_team_DeleteClick(object sender, RoutedEventArgs e)
|
|
{
|
|
_SelectedTeam = null;
|
|
this.popupedit_team.Text = "";
|
|
}
|
|
|
|
private void popupedit_organisation_DeleteClick(object sender, RoutedEventArgs e)
|
|
{
|
|
_SelectedOrganisation = null;
|
|
this.popupedit_costcenter.Text = "";
|
|
}
|
|
}
|
|
} |