aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio_v2
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2019-08-08 15:50:21 +0300
committerRoy Ben-Shabat <Roy@Twine-s.com>2019-08-08 15:50:21 +0300
commit9240614f1bc024801789054092a961c6193695fb (patch)
treeb4373828029ff9ea12251bc572d36ab519bf40ed /Software/Visual_Studio_v2
parent97411eb2550c6b483181b823da12f127cf903170 (diff)
downloadTango-9240614f1bc024801789054092a961c6193695fb.tar.gz
Tango-9240614f1bc024801789054092a961c6193695fb.zip
v2 Working on unit of work.
Diffstat (limited to 'Software/Visual_Studio_v2')
-rw-r--r--Software/Visual_Studio_v2/Tango.BLL/MapperBase.cs26
-rw-r--r--Software/Visual_Studio_v2/Tango.BLL/Mappers/AddressToAddressModelMapper.cs20
-rw-r--r--Software/Visual_Studio_v2/Tango.BLL/Mappers/ContactToContactModelMapper.cs20
-rw-r--r--Software/Visual_Studio_v2/Tango.BLL/Mappers/MachineConfigurationToMachineConfigurationModelMapper.cs21
-rw-r--r--Software/Visual_Studio_v2/Tango.BLL/Mappers/MachineSettingsToMachineSettingsModelMapper.cs39
-rw-r--r--Software/Visual_Studio_v2/Tango.BLL/Mappers/MachineToMachineEntityMapper.cs35
-rw-r--r--Software/Visual_Studio_v2/Tango.BLL/Mappers/OrganizationToOrganizationEntityMapper.cs20
-rw-r--r--Software/Visual_Studio_v2/Tango.BLL/Objects/Machine.cs31
-rw-r--r--Software/Visual_Studio_v2/Tango.BLL/Objects/MachineConfiguration.cs10
-rw-r--r--Software/Visual_Studio_v2/Tango.BLL/Objects/MachineSettings.cs29
-rw-r--r--Software/Visual_Studio_v2/Tango.BLL/Services/MachinesService.cs39
-rw-r--r--Software/Visual_Studio_v2/Tango.BLL/Services/OrganizationsService.cs33
-rw-r--r--Software/Visual_Studio_v2/Tango.DAL.Mongo/MongoRepository.cs5
-rw-r--r--Software/Visual_Studio_v2/Tango.DAL.Mongo/MongoUnitOfWork.cs56
-rw-r--r--Software/Visual_Studio_v2/Tango.DAL/Entities/MachineEntity.cs33
-rw-r--r--Software/Visual_Studio_v2/Tango.DAL/IUnitOfWork.cs14
-rw-r--r--Software/Visual_Studio_v2/Tango.DAL/Models/MachineConfigurationModel.cs11
-rw-r--r--Software/Visual_Studio_v2/Tango.DAL/Models/MachineSettingsModel.cs29
18 files changed, 410 insertions, 61 deletions
diff --git a/Software/Visual_Studio_v2/Tango.BLL/MapperBase.cs b/Software/Visual_Studio_v2/Tango.BLL/MapperBase.cs
new file mode 100644
index 000000000..3bbefc24c
--- /dev/null
+++ b/Software/Visual_Studio_v2/Tango.BLL/MapperBase.cs
@@ -0,0 +1,26 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tango.BLL
+{
+ public abstract class MapperBase<T1, T2> : IMapper<T1,T2> where T1 : class where T2 : class
+ {
+ public abstract void Map(T1 source, T2 target);
+ public abstract void Map(T2 source, T1 target);
+
+ public virtual T2 Create(T1 source)
+ {
+ T2 target = Activator.CreateInstance<T2>();
+ Map(source, target);
+ return target;
+ }
+
+ public virtual T1 Create(T2 source)
+ {
+ T1 target = Activator.CreateInstance<T1>();
+ Map(source, target);
+ return target;
+ }
+ }
+}
diff --git a/Software/Visual_Studio_v2/Tango.BLL/Mappers/AddressToAddressModelMapper.cs b/Software/Visual_Studio_v2/Tango.BLL/Mappers/AddressToAddressModelMapper.cs
index 0811a3c73..6625cef8b 100644
--- a/Software/Visual_Studio_v2/Tango.BLL/Mappers/AddressToAddressModelMapper.cs
+++ b/Software/Visual_Studio_v2/Tango.BLL/Mappers/AddressToAddressModelMapper.cs
@@ -6,9 +6,9 @@ using Tango.DAL.Models;
namespace Tango.BLL.Mappers
{
- public class AddressToAddressModelMapper : IMapper<Address, AddressModel>
+ public class AddressToAddressModelMapper : MapperBase<Address, AddressModel>
{
- public void Map(Address source, AddressModel target)
+ public override void Map(Address source, AddressModel target)
{
target.AddressString = source.AddressString;
target.City = source.City;
@@ -18,7 +18,7 @@ namespace Tango.BLL.Mappers
target.State = source.State;
}
- public void Map(AddressModel source, Address target)
+ public override void Map(AddressModel source, Address target)
{
target.AddressString = source.AddressString;
target.City = source.City;
@@ -27,19 +27,5 @@ namespace Tango.BLL.Mappers
target.PostalCode = source.PostalCode;
target.State = source.State;
}
-
- public AddressModel Create(Address source)
- {
- var model = new AddressModel();
- Map(source, model);
- return model;
- }
-
- public Address Create(AddressModel source)
- {
- Address address = new Address();
- Map(source, address);
- return address;
- }
}
}
diff --git a/Software/Visual_Studio_v2/Tango.BLL/Mappers/ContactToContactModelMapper.cs b/Software/Visual_Studio_v2/Tango.BLL/Mappers/ContactToContactModelMapper.cs
index caf1b70de..a7691b3b3 100644
--- a/Software/Visual_Studio_v2/Tango.BLL/Mappers/ContactToContactModelMapper.cs
+++ b/Software/Visual_Studio_v2/Tango.BLL/Mappers/ContactToContactModelMapper.cs
@@ -6,9 +6,9 @@ using Tango.DAL.Models;
namespace Tango.BLL.Mappers
{
- public class ContactToContactModelMapper : IMapper<Contact,ContactModel>
+ public class ContactToContactModelMapper : MapperBase<Contact,ContactModel>
{
- public void Map(Contact source, ContactModel target)
+ public override void Map(Contact source, ContactModel target)
{
target.Email = source.Email;
target.Fax = source.Fax;
@@ -18,7 +18,7 @@ namespace Tango.BLL.Mappers
target.PhoneNumber = source.PhoneNumber;
}
- public void Map(ContactModel source, Contact target)
+ public override void Map(ContactModel source, Contact target)
{
target.Email = source.Email;
target.Fax = source.Fax;
@@ -26,19 +26,5 @@ namespace Tango.BLL.Mappers
target.LastName = source.LastName;
target.PhoneNumber = source.PhoneNumber;
}
-
- public ContactModel Create(Contact source)
- {
- ContactModel model = new ContactModel();
- Map(source, model);
- return model;
- }
-
- public Contact Create(ContactModel source)
- {
- Contact contact = new Contact();
- Map(source, contact);
- return contact;
- }
}
}
diff --git a/Software/Visual_Studio_v2/Tango.BLL/Mappers/MachineConfigurationToMachineConfigurationModelMapper.cs b/Software/Visual_Studio_v2/Tango.BLL/Mappers/MachineConfigurationToMachineConfigurationModelMapper.cs
new file mode 100644
index 000000000..b2d3aaddb
--- /dev/null
+++ b/Software/Visual_Studio_v2/Tango.BLL/Mappers/MachineConfigurationToMachineConfigurationModelMapper.cs
@@ -0,0 +1,21 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using Tango.BLL.Objects;
+using Tango.DAL.Models;
+
+namespace Tango.BLL.Mappers
+{
+ public class MachineConfigurationToMachineConfigurationModelMapper : MapperBase<MachineConfiguration,MachineConfigurationModel>
+ {
+ public override void Map(MachineConfiguration source, MachineConfigurationModel target)
+ {
+
+ }
+
+ public override void Map(MachineConfigurationModel source, MachineConfiguration target)
+ {
+
+ }
+ }
+}
diff --git a/Software/Visual_Studio_v2/Tango.BLL/Mappers/MachineSettingsToMachineSettingsModelMapper.cs b/Software/Visual_Studio_v2/Tango.BLL/Mappers/MachineSettingsToMachineSettingsModelMapper.cs
new file mode 100644
index 000000000..29a05da88
--- /dev/null
+++ b/Software/Visual_Studio_v2/Tango.BLL/Mappers/MachineSettingsToMachineSettingsModelMapper.cs
@@ -0,0 +1,39 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using Tango.BLL.Objects;
+using Tango.DAL.Models;
+
+namespace Tango.BLL.Mappers
+{
+ public class MachineSettingsToMachineSettingsModelMapper : MapperBase<MachineSettings, MachineSettingsModel>
+ {
+ public override void Map(MachineSettings source, MachineSettingsModel target)
+ {
+ target.AutoCheckForUpdates = source.AutoCheckForUpdates;
+ target.AutoLogin = source.AutoLogin;
+ target.IsDemo = source.IsDemo;
+ target.OSKey = source.OSKey;
+ target.PerformSchemaUpdateOnVersionUpdate = source.PerformSchemaUpdateOnVersionUpdate;
+ target.SetupActivation = source.SetupActivation;
+ target.SetupFirmware = source.SetupFirmware;
+ target.SetupRemoteAssistance = source.SetupRemoteAssistance;
+ target.SetupUWF = source.SetupUWF;
+ target.SuspendVersionUpdate = source.SuspendVersionUpdate;
+ }
+
+ public override void Map(MachineSettingsModel source, MachineSettings target)
+ {
+ target.AutoCheckForUpdates = source.AutoCheckForUpdates;
+ target.AutoLogin = source.AutoLogin;
+ target.IsDemo = source.IsDemo;
+ target.OSKey = source.OSKey;
+ target.PerformSchemaUpdateOnVersionUpdate = source.PerformSchemaUpdateOnVersionUpdate;
+ target.SetupActivation = source.SetupActivation;
+ target.SetupFirmware = source.SetupFirmware;
+ target.SetupRemoteAssistance = source.SetupRemoteAssistance;
+ target.SetupUWF = source.SetupUWF;
+ target.SuspendVersionUpdate = source.SuspendVersionUpdate;
+ }
+ }
+}
diff --git a/Software/Visual_Studio_v2/Tango.BLL/Mappers/MachineToMachineEntityMapper.cs b/Software/Visual_Studio_v2/Tango.BLL/Mappers/MachineToMachineEntityMapper.cs
new file mode 100644
index 000000000..c527b5943
--- /dev/null
+++ b/Software/Visual_Studio_v2/Tango.BLL/Mappers/MachineToMachineEntityMapper.cs
@@ -0,0 +1,35 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using Tango.BLL.Objects;
+using Tango.DAL.Entities;
+
+namespace Tango.BLL.Mappers
+{
+ public class MachineToMachineEntityMapper : MapperBase<Machine, MachineEntity>
+ {
+ public override void Map(Machine source, MachineEntity target)
+ {
+ target.ID = source.ID;
+ target.LastUpdated = source.LastUpdated;
+ target.MachineVersionID = source.MachineVersionID;
+ target.OrganizationID = source.OrganizationID;
+ target.ProductionDate = source.ProductionDate;
+ target.SerialNumber = source.SerialNumber;
+ new MachineConfigurationToMachineConfigurationModelMapper().Map(target.Configuration, source.Configuration);
+ new MachineSettingsToMachineSettingsModelMapper().Map(target.Settings, source.Settings);
+ }
+
+ public override void Map(MachineEntity source, Machine target)
+ {
+ target.ID = source.ID;
+ target.LastUpdated = source.LastUpdated;
+ target.MachineVersionID = source.MachineVersionID;
+ target.OrganizationID = source.OrganizationID;
+ target.ProductionDate = source.ProductionDate;
+ target.SerialNumber = source.SerialNumber;
+ new MachineConfigurationToMachineConfigurationModelMapper().Map(target.Configuration, source.Configuration);
+ new MachineSettingsToMachineSettingsModelMapper().Map(target.Settings, source.Settings);
+ }
+ }
+}
diff --git a/Software/Visual_Studio_v2/Tango.BLL/Mappers/OrganizationToOrganizationEntityMapper.cs b/Software/Visual_Studio_v2/Tango.BLL/Mappers/OrganizationToOrganizationEntityMapper.cs
index 0d6079f1f..98d20580e 100644
--- a/Software/Visual_Studio_v2/Tango.BLL/Mappers/OrganizationToOrganizationEntityMapper.cs
+++ b/Software/Visual_Studio_v2/Tango.BLL/Mappers/OrganizationToOrganizationEntityMapper.cs
@@ -6,9 +6,9 @@ using Tango.DAL.Entities;
namespace Tango.BLL.Mappers
{
- public class OrganizationToOrganizationEntityMapper : IMapper<Organization, OrganizationEntity>
+ public class OrganizationToOrganizationEntityMapper : MapperBase<Organization, OrganizationEntity>
{
- public void Map(Organization source, OrganizationEntity target)
+ public override void Map(Organization source, OrganizationEntity target)
{
target.ID = source.ID;
target.Name = source.Name;
@@ -16,26 +16,12 @@ namespace Tango.BLL.Mappers
new ContactToContactModelMapper().Map(source.Contact, target.Contact);
}
- public void Map(OrganizationEntity source, Organization target)
+ public override void Map(OrganizationEntity source, Organization target)
{
target.ID = source.ID;
target.Name = source.Name;
new AddressToAddressModelMapper().Map(source.Address, target.Address);
new ContactToContactModelMapper().Map(source.Contact, target.Contact);
}
-
- public OrganizationEntity Create(Organization source)
- {
- OrganizationEntity entity = new OrganizationEntity();
- Map(source, entity);
- return entity;
- }
-
- public Organization Create(OrganizationEntity source)
- {
- Organization organization = new Organization();
- Map(source, organization);
- return organization;
- }
}
}
diff --git a/Software/Visual_Studio_v2/Tango.BLL/Objects/Machine.cs b/Software/Visual_Studio_v2/Tango.BLL/Objects/Machine.cs
new file mode 100644
index 000000000..067d6aeb4
--- /dev/null
+++ b/Software/Visual_Studio_v2/Tango.BLL/Objects/Machine.cs
@@ -0,0 +1,31 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tango.BLL.Objects
+{
+ public class Machine : ObjectBase
+ {
+ public string ID { get; set; }
+
+ public DateTime LastUpdated { get; set; }
+
+ public string SerialNumber { get; set; }
+
+ public DateTime ProductionDate { get; set; }
+
+ public string OrganizationID { get; set; }
+
+ public string MachineVersionID { get; set; }
+
+ public MachineConfiguration Configuration { get; set; }
+
+ public MachineSettings Settings { get; set; }
+
+ public Machine()
+ {
+ Configuration = new MachineConfiguration();
+ Settings = new MachineSettings();
+ }
+ }
+}
diff --git a/Software/Visual_Studio_v2/Tango.BLL/Objects/MachineConfiguration.cs b/Software/Visual_Studio_v2/Tango.BLL/Objects/MachineConfiguration.cs
new file mode 100644
index 000000000..f0b01a913
--- /dev/null
+++ b/Software/Visual_Studio_v2/Tango.BLL/Objects/MachineConfiguration.cs
@@ -0,0 +1,10 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tango.BLL.Objects
+{
+ public class MachineConfiguration
+ {
+ }
+}
diff --git a/Software/Visual_Studio_v2/Tango.BLL/Objects/MachineSettings.cs b/Software/Visual_Studio_v2/Tango.BLL/Objects/MachineSettings.cs
new file mode 100644
index 000000000..c230b7199
--- /dev/null
+++ b/Software/Visual_Studio_v2/Tango.BLL/Objects/MachineSettings.cs
@@ -0,0 +1,29 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tango.BLL.Objects
+{
+ public class MachineSettings
+ {
+ public string OSKey { get; set; }
+
+ public bool AutoLogin { get; set; }
+
+ public bool AutoCheckForUpdates { get; set; }
+
+ public bool SetupActivation { get; set; }
+
+ public bool SetupRemoteAssistance { get; set; }
+
+ public bool SetupUWF { get; set; }
+
+ public bool SetupFirmware { get; set; }
+
+ public bool IsDemo { get; set; }
+
+ public bool SuspendVersionUpdate { get; set; }
+
+ public bool PerformSchemaUpdateOnVersionUpdate { get; set; }
+ }
+}
diff --git a/Software/Visual_Studio_v2/Tango.BLL/Services/MachinesService.cs b/Software/Visual_Studio_v2/Tango.BLL/Services/MachinesService.cs
new file mode 100644
index 000000000..41e81ab2d
--- /dev/null
+++ b/Software/Visual_Studio_v2/Tango.BLL/Services/MachinesService.cs
@@ -0,0 +1,39 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Threading.Tasks;
+using Tango.BLL.Mappers;
+using Tango.BLL.Objects;
+using Tango.DAL;
+using Tango.DAL.Entities;
+using System.Linq;
+
+namespace Tango.BLL.Services
+{
+ public class MachinesService : ServiceBase<Machine>
+ {
+ private IRepository<MachineEntity> _repository;
+ private MachineToMachineEntityMapper _mapper;
+
+ public MachinesService(IRepository<MachineEntity> repository)
+ {
+ _repository = repository;
+ _mapper = new MachineToMachineEntityMapper();
+ }
+
+ public async Task<Machine> AddMachine(Machine machine)
+ {
+ MachineEntity entity = _mapper.Create(machine);
+ entity = await _repository.Insert(entity);
+ _mapper.Map(entity, machine);
+ return machine;
+ }
+
+ public async Task<List<Machine>> GetOrganizationMachines(string organizationID)
+ {
+ return (await _repository.GetAsync(x => x.OrganizationID == organizationID)).
+ ToList()
+ .Select(x => _mapper.Create(x)).ToList();
+ }
+ }
+}
diff --git a/Software/Visual_Studio_v2/Tango.BLL/Services/OrganizationsService.cs b/Software/Visual_Studio_v2/Tango.BLL/Services/OrganizationsService.cs
index a502849e3..676496832 100644
--- a/Software/Visual_Studio_v2/Tango.BLL/Services/OrganizationsService.cs
+++ b/Software/Visual_Studio_v2/Tango.BLL/Services/OrganizationsService.cs
@@ -12,34 +12,45 @@ namespace Tango.BLL.Services
{
public class OrganizationsService : ServiceBase<Organization>
{
- private IRepository<OrganizationEntity> _repository;
+ private IRepository<OrganizationEntity> _organizationsRepository;
+ private IRepository<MachineEntity> _machinesRepository;
private OrganizationToOrganizationEntityMapper _mapper;
- public OrganizationsService(IRepository<OrganizationEntity> repository)
+ public OrganizationsService(IRepository<OrganizationEntity> organizationsRepository, IRepository<MachineEntity> machinesRepository)
{
- _repository = repository;
+ _organizationsRepository = organizationsRepository;
+ _machinesRepository = machinesRepository;
_mapper = new OrganizationToOrganizationEntityMapper();
}
public async Task<List<Organization>> GetAllOrganizations()
{
- var entities = await _repository.GetAllAsync();
+ var entities = await _organizationsRepository.GetAllAsync();
var organizations = entities.Select(x => _mapper.Create(x)).ToList();
return organizations;
}
- public Task<long> DeleteAllOrganizations()
+ public async Task<long> DeleteAllOrganizations()
{
- return _repository.DeleteAsync(x => true);
+ var orgs = await GetAllOrganizations();
+
+ long count = 0;
+
+ foreach (var org in orgs)
+ {
+ count += await DeleteOrganizationByID(org.ID);
+ }
+
+ return count;
}
public async Task<Organization> AddOrganization(Organization organization)
{
OrganizationEntity entity = _mapper.Create(organization);
- entity = await _repository.Insert(entity);
+ entity = await _organizationsRepository.Insert(entity);
_mapper.Map(entity, organization);
@@ -48,7 +59,7 @@ namespace Tango.BLL.Services
public async Task<Organization> GetOrganizationByID(String id)
{
- var entity = (await _repository.GetAsync(x => x.ID == id)).ToList().SingleOrDefault();
+ var entity = (await _organizationsRepository.GetAsync(x => x.ID == id)).ToList().SingleOrDefault();
if (entity == null)
{
@@ -60,12 +71,14 @@ namespace Tango.BLL.Services
public async Task<long> DeleteOrganizationByID(String id)
{
- return await _repository.DeleteAsync(x => x.ID == id);
+ await _machinesRepository.DeleteAsync(x => x.OrganizationID == id);
+ long count = await _organizationsRepository.DeleteAsync(x => x.ID == id);
+ return count;
}
public async Task<long> Count()
{
- return await _repository.Count();
+ return await _organizationsRepository.Count();
}
}
}
diff --git a/Software/Visual_Studio_v2/Tango.DAL.Mongo/MongoRepository.cs b/Software/Visual_Studio_v2/Tango.DAL.Mongo/MongoRepository.cs
index 864bb17cc..7ffdc505a 100644
--- a/Software/Visual_Studio_v2/Tango.DAL.Mongo/MongoRepository.cs
+++ b/Software/Visual_Studio_v2/Tango.DAL.Mongo/MongoRepository.cs
@@ -23,6 +23,11 @@ namespace Tango.DAL.Mongo
_database = _client.GetDatabase(settings.DatabaseName);
}
+ public MongoRepository(IMongoDatabase database)
+ {
+ _database = database;
+ }
+
private IMongoCollection<T> GetCollection()
{
if (_collection == null)
diff --git a/Software/Visual_Studio_v2/Tango.DAL.Mongo/MongoUnitOfWork.cs b/Software/Visual_Studio_v2/Tango.DAL.Mongo/MongoUnitOfWork.cs
new file mode 100644
index 000000000..b85dab1da
--- /dev/null
+++ b/Software/Visual_Studio_v2/Tango.DAL.Mongo/MongoUnitOfWork.cs
@@ -0,0 +1,56 @@
+using MongoDB.Driver;
+using System;
+using System.Collections.Generic;
+using System.Text;
+using Tango.DAL.Entities;
+
+namespace Tango.DAL.Mongo
+{
+ public class MongoUnitOfWork : IUnitOfWork
+ {
+ private IMongoDatabase _database;
+ private MongoClient _client;
+ private IClientSessionHandle _sessionHandler;
+ private bool _commited;
+
+ private IRepository<OrganizationEntity> _organizations;
+ private IRepository<MachineEntity> _machines;
+
+ public MongoUnitOfWork(MongoDataBaseSettings settings)
+ {
+ _client = new MongoClient(settings.Address);
+ _database = _client.GetDatabase(settings.DatabaseName);
+
+ _sessionHandler = _client.StartSession();
+ }
+
+ public IRepository<OrganizationEntity> Organizations
+ {
+ get
+ {
+ return _organizations ?? new MongoRepository<OrganizationEntity>(_database);
+ }
+ }
+
+ public IRepository<MachineEntity> Machines
+ {
+ get
+ {
+ return _machines ?? new MongoRepository<MachineEntity>(_database);
+ }
+ }
+
+ public void Commit()
+ {
+ _sessionHandler.CommitTransaction();
+ }
+
+ public void Dispose()
+ {
+ if (!_commited)
+ {
+ _sessionHandler.AbortTransaction();
+ }
+ }
+ }
+}
diff --git a/Software/Visual_Studio_v2/Tango.DAL/Entities/MachineEntity.cs b/Software/Visual_Studio_v2/Tango.DAL/Entities/MachineEntity.cs
new file mode 100644
index 000000000..50fddee36
--- /dev/null
+++ b/Software/Visual_Studio_v2/Tango.DAL/Entities/MachineEntity.cs
@@ -0,0 +1,33 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using Tango.DAL.Attributes;
+using Tango.DAL.Models;
+
+namespace Tango.DAL.Entities
+{
+ [Collection("Machines")]
+ public class MachineEntity : Entity
+ {
+ public DateTime LastUpdated { get; set; }
+
+ [Unique]
+ public string SerialNumber { get; set; }
+
+ public DateTime ProductionDate { get; set; }
+
+ public string OrganizationID { get; set; }
+
+ public string MachineVersionID { get; set; }
+
+ public MachineConfigurationModel Configuration { get; set; }
+
+ public MachineSettingsModel Settings { get; set; }
+
+ public MachineEntity()
+ {
+ Configuration = new MachineConfigurationModel();
+ Settings = new MachineSettingsModel();
+ }
+ }
+}
diff --git a/Software/Visual_Studio_v2/Tango.DAL/IUnitOfWork.cs b/Software/Visual_Studio_v2/Tango.DAL/IUnitOfWork.cs
new file mode 100644
index 000000000..1c36c22a8
--- /dev/null
+++ b/Software/Visual_Studio_v2/Tango.DAL/IUnitOfWork.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using Tango.DAL.Entities;
+
+namespace Tango.DAL
+{
+ public interface IUnitOfWork : IDisposable
+ {
+ IRepository<OrganizationEntity> Organizations { get; }
+ IRepository<MachineEntity> Machines { get; }
+ void Commit();
+ }
+}
diff --git a/Software/Visual_Studio_v2/Tango.DAL/Models/MachineConfigurationModel.cs b/Software/Visual_Studio_v2/Tango.DAL/Models/MachineConfigurationModel.cs
new file mode 100644
index 000000000..e8f6c345d
--- /dev/null
+++ b/Software/Visual_Studio_v2/Tango.DAL/Models/MachineConfigurationModel.cs
@@ -0,0 +1,11 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tango.DAL.Models
+{
+ public class MachineConfigurationModel
+ {
+
+ }
+}
diff --git a/Software/Visual_Studio_v2/Tango.DAL/Models/MachineSettingsModel.cs b/Software/Visual_Studio_v2/Tango.DAL/Models/MachineSettingsModel.cs
new file mode 100644
index 000000000..ad5bab342
--- /dev/null
+++ b/Software/Visual_Studio_v2/Tango.DAL/Models/MachineSettingsModel.cs
@@ -0,0 +1,29 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tango.DAL.Models
+{
+ public class MachineSettingsModel
+ {
+ public string OSKey { get; set; }
+
+ public bool AutoLogin { get; set; }
+
+ public bool AutoCheckForUpdates { get; set; }
+
+ public bool SetupActivation { get; set; }
+
+ public bool SetupRemoteAssistance { get; set; }
+
+ public bool SetupUWF { get; set; }
+
+ public bool SetupFirmware { get; set; }
+
+ public bool IsDemo { get; set; }
+
+ public bool SuspendVersionUpdate { get; set; }
+
+ public bool PerformSchemaUpdateOnVersionUpdate { get; set; }
+ }
+}