86 lines
3.2 KiB
C#
86 lines
3.2 KiB
C#
namespace LaaProduction.Personalization
|
|
{
|
|
using LaaProduction.Personalization.Interfaces;
|
|
using LaaProduction.Personalization.Models;
|
|
using LaaProduction.Personalization.Repositories.Interfaces;
|
|
|
|
using System;
|
|
using System.Collections.Generic;
|
|
|
|
public class SoftwareManager : ISoftwareManager
|
|
{
|
|
private readonly IFunctionsRepository functionsRepository;
|
|
private readonly ISoftwareRepository softwareRepository;
|
|
|
|
public SoftwareManager(IFunctionsRepository functionsRepository, ISoftwareRepository softwareRepository)
|
|
{
|
|
this.functionsRepository = functionsRepository;
|
|
this.softwareRepository = softwareRepository;
|
|
}
|
|
|
|
public void AddVersion(Int16 softwareId, String assemblyName, Int32 majorV, Int32 minorV, Int32 buildV, DateTime validUntil, String description)
|
|
=> this.softwareRepository.AddVersion(softwareId, assemblyName, majorV, minorV, buildV, validUntil, description);
|
|
|
|
public void DeleteVersion(Int32 versionId)
|
|
=> this.softwareRepository.Delete(versionId);
|
|
|
|
public void EditVersion(Int32 versionId, DateTime? validUntil, String description)
|
|
=> this.softwareRepository.EditVersion(versionId, validUntil, description);
|
|
|
|
public IEnumerable<String> GetFunctions()
|
|
=> this.functionsRepository.All()
|
|
?? Array.Empty<String>();
|
|
|
|
public IEnumerable<String> GetFunctions(String token)
|
|
=> this.functionsRepository.Find(token)
|
|
?? Array.Empty<String>();
|
|
|
|
public IEnumerable<Object> ListSoftwares()
|
|
=> this.softwareRepository.List()
|
|
?? Array.Empty<SoftwareItem>();
|
|
|
|
public Object SoftwareDeteils(Int32 versionId)
|
|
{
|
|
var softwareDetails = this.softwareRepository.Details(versionId);
|
|
|
|
if (softwareDetails != null)
|
|
{
|
|
softwareDetails.Versions = this.softwareRepository.Versions(softwareDetails.SoftwareId);
|
|
softwareDetails.Functions = this.softwareRepository.Functions(softwareDetails.SoftwareId);
|
|
}
|
|
|
|
return softwareDetails;
|
|
}
|
|
|
|
public void UpdateFunction(Int16 softwareId, Int32 functionId, String function, IEnumerable<Int16> employees)
|
|
{
|
|
if (this.functionsRepository.Exists(softwareId, functionId))
|
|
{
|
|
this.functionsRepository.DeleteEmployeesFunctions(functionId);
|
|
|
|
if (String.IsNullOrWhiteSpace(function))
|
|
{
|
|
this.functionsRepository.DeleteFunction(functionId);
|
|
}
|
|
else
|
|
{
|
|
this.functionsRepository.UpdateFunction(functionId, function);
|
|
this.functionsRepository.AddEmployeesFunctions(functionId, employees);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (!String.IsNullOrWhiteSpace(function))
|
|
{
|
|
functionId = this.functionsRepository.AddFunction(softwareId, function);
|
|
|
|
if (functionId > 0)
|
|
{
|
|
this.functionsRepository.AddEmployeesFunctions(functionId, employees);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|