private Db.Models.User NewUser(short authType) { var newUser = new Db.Models.User(); newUser.AuthenticationId = authType; _db.Add(newUser); _db.SaveChanges(); return(newUser); }
public VMVariable New(string name, string value) { var userId = _ephItUser.Register().UserId; var variable = _dbContext.Variable .Where(v => v.Name.Equals(name)) .FirstOrDefault(); if (variable == null) { variable = new Variable(); variable.Name = name; variable.Created = DateTime.UtcNow; variable.CreatedByUserId = userId; variable.Value = value; _dbContext.Variable.Add(variable); } else { variable.ModifiedByUserId = userId; variable.Modified = DateTime.UtcNow; variable.Value = value; _dbContext.Variable.Update(variable); } _dbContext.SaveChanges(); return(new VMVariable(variable)); }
public ScriptVersion New(int scriptId, [FromBody] string body) { int?maxScriptVersion = _dbContext.ScriptVersion .Where(p => p.ScriptId.Equals(scriptId)) .OrderByDescending(p => p.Version) .Select(p => p.Version) .FirstOrDefault(); var userId = _ephItUser.Register().UserId; var scriptVersion = new ScriptVersion { CreatedByUserId = userId, Created = DateTime.UtcNow, Body = body, ScriptId = scriptId, Version = 1 }; if (maxScriptVersion.HasValue) { scriptVersion.Version = maxScriptVersion.Value + 1; } _dbContext.Add(scriptVersion); _dbContext.SaveChanges(); return(scriptVersion); }
public Guid QueueJob(ScriptVersion script, string parameters, int?UserId = null, int?ScheduleId = null, int?AutomationId = null) { var newJob = new Job(); newJob.Created = DateTime.UtcNow; newJob.CreatedByAutomationId = AutomationId; newJob.CreatedByScheduleId = ScheduleId; newJob.CreatedByUserId = UserId; newJob.JobStatusId = (short)JobStatusEnum.New; newJob.JobUid = Guid.NewGuid(); newJob.ScriptVersionId = script.ScriptVersionId; _context.Add(newJob); _context.SaveChanges(); if (!string.IsNullOrEmpty(parameters)) { JobParameters jobParameters = new JobParameters(); jobParameters.JobUid = newJob.JobUid; jobParameters.Parameters = parameters; _context.Add(jobParameters); _context.SaveChanges(); } var newJobQueue = new JobQueue(); newJobQueue.JobUid = newJob.JobUid; newJobQueue.Created = newJob.Created; newJobQueue.ScriptVersionId = script.ScriptVersionId; newJobQueue.ScriptLanguage = (short)script.ScriptLanguageId; _context.Add(newJobQueue); _context.SaveChanges(); return(newJobQueue.JobUid); }
public void ConfigureDb(IEphItUser user, EphItContext _context) { if (_context.Database.GetPendingMigrations().Any()) { _context.Database.Migrate(); var internalUser = _context.User.Where(p => p.AuthenticationId.Equals((short)AuthenticationEnum.EphItInternal)).First(); var admin = _context.Role.Where(p => p.Name.Equals("Administrators")).FirstOrDefault(); if (admin == null) { admin = new Role(); admin.CreatedByUserId = internalUser.UserId; admin.Created = DateTime.UtcNow; admin.Description = "Full administrator of all objects"; admin.Name = "Administrators"; admin.IsGlobal = true; admin.Modified = DateTime.UtcNow; admin.ModifiedByUserId = internalUser.UserId; _context.Add(admin); _context.SaveChanges(); } foreach (RBACActionEnum a in (RBACActionEnum[])Enum.GetValues(typeof(RBACActionEnum))) { foreach (RBACObjectEnum b in (RBACObjectEnum[])Enum.GetValues(typeof(RBACObjectEnum))) { if (!_context.RoleObjectAction.Where(p => p.RoleId.Equals(admin.RoleId) && p.RbacObjectId.Equals((short)b) && p.RbacActionId.Equals((short)a) ) .Any() ) { var tempObject = new RoleObjectAction(); tempObject.RoleId = admin.RoleId; tempObject.RbacObjectId = (short)b; tempObject.RbacActionId = (short)a; _context.Add(tempObject); } } } _context.SaveChanges(); } // Add current user to full admin role var vUser = user.RegisterCurrent(); if (!_context.RoleMembershipUser.Where(p => p.UserId == vUser.UserId && p.Role.Name.Equals("Administrators")).Any()) { var admin = _context.Role.Where(p => p.Name.Equals("Administrators")).FirstOrDefault(); var newRoleMembership = new RoleMembershipUser(); newRoleMembership.RoleId = admin.RoleId; newRoleMembership.UserId = vUser.UserId; _context.Add(newRoleMembership); } _context.SaveChanges(); IConfigurationSection configSection = Configuration.GetSection("AdminUsers"); if (configSection != null) { foreach (var section in configSection.GetChildren()) { var paramDictionary = new Dictionary <string, string>(); string authType = ""; switch (section["AuthenticationType"]) { case "AzureActiveDirectory": authType = "AzureActiveDirectory"; paramDictionary = new Dictionary <string, string>() { { "TenantId", section["TenantId"] }, { "ObjectId", section["ObjectId"] }, { "UserName", section["UserName"] }, { "Name", section["Name"] }, { "Email", section["Email"] } }; break; } if (!String.IsNullOrEmpty(authType)) { var aUser = user.Register(authType, paramDictionary); if (!_context.RoleMembershipUser.Where(p => p.UserId == aUser.UserId && p.Role.Name.Equals("Administrators")).Any()) { var admin = _context.Role.Where(p => p.Name.Equals("Administrators")).FirstOrDefault(); var newRoleMembership = new RoleMembershipUser(); newRoleMembership.RoleId = admin.RoleId; newRoleMembership.UserId = aUser.UserId; _context.Add(newRoleMembership); } _context.SaveChanges(); } } } }
public void ConfigureDb(IEphItUser user, EphItContext _context) { bool migrateDb = true; try { migrateDb = _context.Database.EnsureCreated(); if (!migrateDb) { migrateDb = _context.Database.GetPendingMigrations().Any(); } } catch { migrateDb = true; } if (migrateDb) { _context.Database.Migrate(); var internalUser = _context.User.Where(p => p.AuthenticationId.Equals((short)AuthenticationEnum.EphItInternal)).First(); var admin = _context.Role.Where(p => p.Name.Equals("Administrators")).FirstOrDefault(); if (admin == null) { admin = new Role(); admin.CreatedByUserId = internalUser.UserId; admin.Created = DateTime.UtcNow; admin.Description = "Full administrator of all objects"; admin.Name = "Administrators"; admin.IsGlobal = true; admin.Modified = DateTime.UtcNow; admin.ModifiedByUserId = internalUser.UserId; _context.Add(admin); _context.SaveChanges(); } foreach (RBACActionEnum a in (RBACActionEnum[])Enum.GetValues(typeof(RBACActionEnum))) { foreach (RBACObjectEnum b in (RBACObjectEnum[])Enum.GetValues(typeof(RBACObjectEnum))) { if (!_context.RoleObjectAction.Where(p => p.RoleId.Equals(admin.RoleId) && p.RbacObjectId.Equals((short)b) && p.RbacActionId.Equals((short)a) ) .Any() ) { var tempObject = new RoleObjectAction(); tempObject.RoleId = admin.RoleId; tempObject.RbacObjectId = (short)b; tempObject.RbacActionId = (short)a; _context.Add(tempObject); } } } _context.SaveChanges(); } // Add current user to full admin role var vUser = user.RegisterCurrent(); if (!_context.RoleMembershipUser.Where(p => p.UserId == vUser.UserId && p.Role.Name.Equals("Administrators")).Any()) { var admin = _context.Role.Where(p => p.Name.Equals("Administrators")).FirstOrDefault(); var newRoleMembership = new RoleMembershipUser(); newRoleMembership.RoleId = admin.RoleId; newRoleMembership.UserId = vUser.UserId; _context.Add(newRoleMembership); } _context.SaveChanges(); }