Files
BeWoPlaner/ReportImp/ChristinaFrommen/Service/CustomEmployeeService.cs
2022-07-08 14:03:39 +02:00

96 lines
2.6 KiB
C#

using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Service.Plugins;
using BS.Shared;
using BS.Shared.DataContracts;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
namespace ChristinaFrommen
{
public class CustomEmployeeService : EmployeeService
{
public override long InsertNewEmployee(EmployeeDC pEmployeeDc)
{
var eOid = base.InsertNewEmployee(pEmployeeDc);
ErstelleOrdnerStruktur(eOid);
return eOid;
}
public override EmployeeDC LoadEmployee(long pEmployeeOid)
{
var dc = base.LoadEmployee(pEmployeeOid);
var folder = DAOFactory.SearchDAO.FindBeWoFolders(TableID.Employee, pEmployeeOid);
if (folder.Count == 0)
{
ErstelleOrdnerStruktur(pEmployeeOid);
}
return dc;
}
private void ErstelleOrdnerStruktur(long eOid)
{
// HIERACHIE LEVEL - 1 -
var folder01 = CreateBeWoFolder("Arbeitsvertrag", eOid, null);
var folder02 = CreateBeWoFolder("Anlagen zum Arbeitsvertrag", eOid, null);
var folder03 = CreateBeWoFolder("Einarbeitung", eOid, null);
var folder04 = CreateBeWoFolder("Bewerbung", eOid, null);
var folder05 = CreateBeWoFolder("Unterlagen", eOid, null);
}
private BeWoFolder CreateBeWoFolder(string name, long? cOid, long? parentOid)
{
BeWoFolder f = new BeWoFolder();
f.Name = name;
f.ObjectOid = cOid;
f.ObjectTid = TableID.Customer;
f.ParentBeWoFolderOid = parentOid;
DAOFactory.GenericDAO.Insert(f);
return f;
}
private void CreateSubFolder(string[] vs, BeWoFolder folder)
{
foreach (var foldername in vs)
{
CreateBeWoFolder(foldername, folder.ObjectOid, folder.ParentBeWoFolderOid);
}
}
private void SaveHierarchie(List<Folder> folderList, long cOid, long? parentOid)
{
foreach (var item in folderList)
{
var f = CreateBeWoFolder(item.Name, cOid, parentOid);
SaveHierarchie(item.Subfolder, cOid, f.Oid);
}
}
}
public class EmpFolder
{
public EmpFolder(String name)
{
Name = name;
Subfolder = new List<Folder>();
}
public String Name { get; set; }
public List<Folder> Subfolder { get; set; }
}
}