* Added machine model, and new database relations

* Added first centralized database config and  added machine self-registration into db
* Fix database migration with new database
* Refactor
This commit is contained in:
Lucio Maranta
2018-01-17 10:24:18 +01:00
parent b26ec6cc43
commit fa485d902b
32 changed files with 457 additions and 141 deletions
+24 -10
View File
@@ -1,4 +1,5 @@
using System;
using System.Data.Entity.Migrations;
using System.Globalization;
using System.Linq;
using System.Web.Helpers;
@@ -23,16 +24,16 @@ namespace Step.Database.Controllers
dbCtx.Dispose();
}
public void Create(string username, string password, string firstName, string lastName, int roleId, CultureInfo language)
public void Create(string username, string password, string firstName, string lastName, CultureInfo language)
{
UserModel user = CreateUserModel(username, password, firstName, lastName, roleId, language);
UserModel user = CreateUserModel(username, password, firstName, lastName, language);
// Add to database
dbCtx.Users.Add(user);
// Commit changes
dbCtx.SaveChanges();
}
public static UserModel CreateUserModel(int id, string username, string password, string firstName, string lastName, int roleId, CultureInfo language)
public static UserModel CreateUserModel(int id, string username, string password, string firstName, string lastName, CultureInfo language)
{
// Create a new user model with params
return new UserModel()
@@ -42,20 +43,19 @@ namespace Step.Database.Controllers
Password = Crypto.HashPassword(password),
FirstName = firstName,
LastName = lastName,
RoleId = roleId,
SecurityStamp = Guid.NewGuid().ToString(),
Language = language
};
}
public static UserModel CreateUserModel(string username, string password, string firstName, string lastName, int roleId, CultureInfo language)
public static UserModel CreateUserModel(string username, string password, string firstName, string lastName, CultureInfo language)
{
return CreateUserModel(0, username, password, firstName, lastName, roleId, language);
return CreateUserModel(0, username, password, firstName, lastName, language);
}
public DTOUserModel GetUserInfo(int id)
{
// Find user by Id with Role object included
UserModel userDatabaseModel = dbCtx.Users.Include("Role").Where(u => u.UserId == id).FirstOrDefault();
UserModel userDatabaseModel = dbCtx.Users.Where(u => u.UserId == id).FirstOrDefault();
return new DTOUserModel()
{
@@ -64,20 +64,19 @@ namespace Step.Database.Controllers
FirstName = userDatabaseModel.FirstName,
LastName = userDatabaseModel.LastName,
Language = userDatabaseModel.Language,
RoleId = userDatabaseModel.RoleId
};
}
public UserModel FindById(int id)
{
// Find user by Id with Role object included
return dbCtx.Users.Include("Role").Where(u => u.UserId == id).FirstOrDefault();
return dbCtx.Users.Where(u => u.UserId == id).FirstOrDefault();
}
private UserModel FindByUsername(string username)
{
// Find user by Id with Role object included
return dbCtx.Users.Include("Role").Where(u => u.Username == username).FirstOrDefault();
return dbCtx.Users.Where(u => u.Username == username).FirstOrDefault();
}
public UserModel FindByUsernameAndPassword(string username, string password)
@@ -96,5 +95,20 @@ namespace Step.Database.Controllers
return user;
}
public void CreateCmsDefaultUserIfNotExists()
{
dbCtx.Users.AddOrUpdate
(
CreateUserModel(1, "cms", "cms", "cms", "cms", new CultureInfo("en"))
);
dbCtx.MachinesUsers.AddOrUpdate(
new MachinesUsersModel() { MachineId = 1, UserId = 1, RoleId = 1 }
);
// Commit changes
dbCtx.SaveChanges();
}
}
}