Files
cms_thermo_active/Step.Database/Controllers/MachinesUsersController.cs
T
Lucio Maranta 53223b0bef * Refactor and fix machine self-registration into db
+ Added change language API
+ Added Role to user info
2018-01-17 12:35:34 +01:00

64 lines
1.7 KiB
C#

using Step.Model.DatabaseModels;
using Step.Model.DTOModels;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Step.Database.Controllers
{
public class MachinesUsersController : IDisposable
{
private DatabaseContext dbCtx;
public MachinesUsersController()
{
// Initialize database context
dbCtx = new DatabaseContext();
}
public void Dispose()
{
// Clear database context
dbCtx.Dispose();
}
public MachinesUsersModel FindByUserId(int machineId, int userId)
{
return dbCtx
.MachinesUsers
.Include("Role") // TODO Add machine and user info?
.Where(x => x.MachineId == machineId && x.UserId == userId)
.FirstOrDefault();
}
public MachinesUsersModel Create(int machineId, int userId, int roleId)
{
MachinesUsersModel machine = new MachinesUsersModel() { MachineId = machineId, UserId = userId, RoleId = roleId };
dbCtx.MachinesUsers.Add(
machine
);
dbCtx.SaveChanges();
return machine;
}
public DTORoleModel GetUserRole(int machineId, int userId)
{
RoleModel role = dbCtx
.MachinesUsers
.Include("Role")
.Where(x => x.MachineId == machineId && x.UserId == userId)
.FirstOrDefault().Role;
return new DTORoleModel()
{
Id = role.RoleId,
Name = role.Name
};
}
}
}