Я пишу последовательность установки, в которой я заполняю необходимые данные для нового сайта в многопользовательской CMS.Однако, хотя я довольно хорошо знаком с дизайном данных и всем веб-интерфейсом, я чрезвычайно новичок в реальном кодировании.
Как вы можете видеть из приведенного ниже кода, у меня есть выражение «для каждого» для создания моих ролей в списке в config.cs - они прекрасно создаются.
Для каждогопользователь по умолчанию, однако, мне нужно назначить одно из значений пользовательских ролей, которые я только что создал, по имени.Я думаю, что это может иметь какое-то отношение к LINQ, но я не уверен, как это исправить.Любые предложения?
Вот код:
foreach (var userRoleName in _configData.UserRoles)
{
var newUserRole = new UserRole(newSite, userRoleName);
_daoFactory.GetUserRoleDao().Save(newUserRole);
}
_daoFactory.GetUserRoleDao().FlushChanges();
//Thinking this is not needed?
Thread.Sleep(500);
//var newSiteCopy = _daoFactory.GetSiteDao().GetById(newSite.Id);
_daoFactory.GetSiteDao().Refresh(newSite);
foreach (var defaultUser in _configData.Users)
{
var newUser = new User(newSite, defaultUser.FullName, defaultUser.Login, defaultUser.Password);
_daoFactory.GetUserDao().Save(newUser);
}
_daoFactory.GetUserDao().FlushChanges();
Вот код config.cs: (Фактические значения будут перемещены из этого файла в документ, но здесь для Devтолько для целей.)
public class ConfigData
{
public ConfigData()
{
SystemDomainDefault = ".joyatechsolutions.com";
UserRoles = new List<string>{"Administrator","Editor","Public","God"};
Users = new List<DefaultUser>
{
new DefaultUser { FullName = "Default Public User", Login = "", Password = "", UserRoleName = "Public"},
new DefaultUser { FullName = "Mary Camacho", Login = "mc", Password = "test1", UserRoleName = "God"},
new DefaultUser { FullName = "Mary", Login = "mn", Password = "test2", UserRoleName = "God"},
};
}
public List<DefaultUser> Users { get; set; }
public string SystemDomainDefault { get; set; }
public List<string> UserRoles { get; set; }
}
public class DefaultUser
{
public string FullName { get; set; }
public string Login { get; set; }
public string Password { get; set; }
public string UserRoleName { get; set; }
}