/// <summary> /// creates the database model in the database (code-first) /// </summary> /// <param name="modelBuilder">modelbuilder</param> protected new virtual void OnModelCreating(ModelBuilder modelBuilder) { Token.OnModelCreating(modelBuilder); User.OnModelCreating(modelBuilder); UserGroup.OnModelCreating(modelBuilder); UserGroup_Claims.OnModelCreating(modelBuilder); UserInOrganisation.OnModelCreating(modelBuilder); UserInUserGroup.OnModelCreating(modelBuilder); UserMetadata.OnModelCreating(modelBuilder); UserInOrg_UserClaimsMetadata.OnModelCreating(modelBuilder); UserInOrg_OrgClaimsMetadata.OnModelCreating(modelBuilder); UserLoginLog.OnModelCreating(modelBuilder); }
private static void UpdateOrgdata(CallContext cc, User dbuser) { if (cc.IsAdministrator) { if (DataContext.Instance.UserInOrganisations .Where(p => p.FK_Organisation == cc.OrganisationId && p.User.Id == dbuser.Id) .Any() == false) { var org = cc.User.Organisations.Where(p => p.Id == cc.OrganisationId).FirstOrDefault(); if (org != null) { var userInOrg = new UserInOrganisation() { FK_Organisation = cc.OrganisationId.Value, User = dbuser, }; DataContext.Instance.UserInOrganisations.Add(userInOrg); if (org.OrgClaims != null) { foreach (var orgclaims in org.OrgClaims) { userInOrg.OrgClaims.Add(new UserInOrg_OrgClaimsMetadata() { Key = orgclaims.Key, Scope = orgclaims.Scope, Value = orgclaims.Value }); } } } } } }
/// <summary> /// Create an administrator account on the given organisation context /// </summary> /// <param name="usr">The user details for the account</param> /// <param name="organisationContext">The organisation context</param> /// <returns>The created/updated user</returns> public static User CreateAdmin(Monosoft.Auth.DTO.User usr, Guid organisationContext) { Console.Write(organisationContext); string pwd = "defaultPWD";// Guid.NewGuid().ToString("N").ToUpper().Substring(0, 8); var dbuser = DataContext.Instance.Users.Where(p => p.Name == usr.Username).FirstOrDefault(); if (dbuser == null) { dbuser = new User() { Id = usr.Userid, Name = usr.Username, Email = usr.Email, Mobile = usr.Mobile, MD5Password = Common.Utils.HashHelper.CalculateMD5Hash(pwd) }; DataContext.Instance.Users.Add(dbuser); } var userInOrg = DataContext.Instance.UserInOrganisations .Where(p => p.User.Id == dbuser.Id && p.FK_Organisation == organisationContext).FirstOrDefault(); if (userInOrg == null) { userInOrg = new UserInOrganisation() { FK_Organisation = organisationContext, User = dbuser, }; DataContext.Instance.UserInOrganisations.Add(userInOrg); } var claim = DataContext.Instance.UserInOrg_OrgClaimsMetadatas .Where(p => p.UserInOrganisation == userInOrg && p.Key == ClaimDefinitions.IsAdmin.Key).FirstOrDefault(); if (claim == null) { DataContext.Instance.UserInOrg_OrgClaimsMetadatas .Add(new UserInOrg_OrgClaimsMetadata() { Key = ClaimDefinitions.IsAdmin.Key, Scope = ClaimDefinitions.IsAdmin.Scope, Value = "true", UserInOrganisation = userInOrg }); DataContext.Instance.UserInOrg_OrgClaimsMetadatas .Add(new UserInOrg_OrgClaimsMetadata() { Key = "isServiceStoreAdmin", Scope = "Monosoft.Service.AUTH", Value = "true", UserInOrganisation = userInOrg }); DataContext.Instance.UserInOrg_OrgClaimsMetadatas .Add(new UserInOrg_OrgClaimsMetadata() { Key = "isSysAdm", Scope = "Monosoft.Service.AUTH", Value = "true", UserInOrganisation = userInOrg }); } DataContext.Instance.SaveChanges(); return(dbuser); }