public static Response Create(RegisterModel registerModel) { var response = new Response(); var context = new AdminDbContext(); if (context.Users.Any(u => u.Email.Equals(registerModel.Email))) { response.AddMessage(false, "This email is already registered", ResponseMessageType.Warning); } else { var user = new User(); user.Email = registerModel.Email; user.Password = GenerateHashWithSalt(registerModel.Password, registerModel.Email); user.PasswordSalt = Path.GetRandomFileName(); context.Users.Add(user); context.SaveChanges(); } return(response); }
private void CreateEditions() { var defaultEdition = _context.Editions.IgnoreQueryFilters().FirstOrDefault(e => e.Name == EditionManager.DefaultEditionName); if (defaultEdition == null) { defaultEdition = new SubscribableEdition { Name = EditionManager.DefaultEditionName, DisplayName = EditionManager.DefaultEditionName }; _context.Editions.Add(defaultEdition); _context.SaveChanges(); /* Add desired features to the standard edition, if wanted... */ } if (defaultEdition.Id > 0) { CreateFeatureIfNotExists(defaultEdition.Id, AppFeatures.ChatFeature, true); CreateFeatureIfNotExists(defaultEdition.Id, AppFeatures.TenantToTenantChatFeature, true); CreateFeatureIfNotExists(defaultEdition.Id, AppFeatures.TenantToHostChatFeature, true); } }
public ActionResult AdminRegister(AdminDetails admin) { if (ModelState.IsValid) { var context = new AdminDbContext(); var isUnique = context.Admin.Where(n => n.AdminID == admin.AdminID); foreach (var i in isUnique) { if (i.AdminID == admin.AdminID) { ViewData["Error"] = "AdminID Already Exists"; return(View(admin)); } } admin.RoleID = 1; context.Admin.Add(admin); context.SaveChanges(); TempData["saved"] = "Admin Details Added to Database Sucessfull!"; return(RedirectToAction("AdminLogin")); } return(View()); }
private void CreateRolesAndUsers() { // Admin role var adminRole = _context.Roles.IgnoreQueryFilters().FirstOrDefault(r => r.TenantId == _tenantId && r.Name == StaticRoleNames.Tenants.Admin); if (adminRole == null) { adminRole = _context.Roles.Add(new Role(_tenantId, StaticRoleNames.Tenants.Admin, StaticRoleNames.Tenants.Admin) { IsStatic = true }).Entity; _context.SaveChanges(); } // Grant all permissions to admin role var grantedPermissions = _context.Permissions.IgnoreQueryFilters() .OfType <RolePermissionSetting>() .Where(p => p.TenantId == _tenantId && p.RoleId == adminRole.Id) .Select(p => p.Name) .ToList(); var permissions = PermissionFinder .GetAllPermissions(new AdminAuthorizationProvider()) .Where(p => p.MultiTenancySides.HasFlag(MultiTenancySides.Tenant) && !grantedPermissions.Contains(p.Name)) .ToList(); if (permissions.Any()) { _context.Permissions.AddRange( permissions.Select(permission => new RolePermissionSetting { TenantId = _tenantId, Name = permission.Name, IsGranted = true, RoleId = adminRole.Id }) ); _context.SaveChanges(); } // Admin user var adminUser = _context.Users.IgnoreQueryFilters().FirstOrDefault(u => u.TenantId == _tenantId && u.UserName == AbpUserBase.AdminUserName); if (adminUser == null) { adminUser = User.CreateTenantAdminUser(_tenantId, "*****@*****.**"); adminUser.Password = new PasswordHasher <User>(new OptionsWrapper <PasswordHasherOptions>(new PasswordHasherOptions())).HashPassword(adminUser, "123qwe"); adminUser.IsEmailConfirmed = true; adminUser.IsActive = true; adminUser.UserType = UserType.Admin; _context.Users.Add(adminUser); _context.SaveChanges(); // Assign Admin role to admin user _context.UserRoles.Add(new UserRole(_tenantId, adminUser.Id, adminRole.Id)); _context.SaveChanges(); } }
private void CreateHostRoleAndUsers() { var roleForHost = _context.Roles.IgnoreQueryFilters().FirstOrDefault(r => r.TenantId == null && r.Name == StaticRoleNames.Host.Admin); if (roleForHost == null) { roleForHost = _context.Roles.Add(new Role(null, StaticRoleNames.Host.Admin, StaticRoleNames.Host.Admin) { IsStatic = true, IsDefault = true }).Entity; _context.SaveChanges(); } var grantedPermissions = _context.Permissions.IgnoreQueryFilters() .OfType <RolePermissionSetting>() .Where(p => p.TenantId == null && p.RoleId == roleForHost.Id) .Select(p => p.Name) .ToList(); var permissions = PermissionFinder .GetAllPermissions(new AdminAuthorizationProvider()) .Where(p => p.MultiTenancySides.HasFlag(MultiTenancySides.Host) && !grantedPermissions.Contains(p.Name) && GrantPermissionRoles.PermissionRoles[StaticRoleNames.Host.Admin].Contains(p.Name)) .ToList(); if (permissions.Any()) { _context.Permissions.AddRange( permissions.Select(permission => new RolePermissionSetting { TenantId = null, Name = permission.Name, IsGranted = true, RoleId = roleForHost.Id }) ); _context.SaveChanges(); } int roleAdminId = roleForHost.Id; roleForHost = _context.Roles.IgnoreQueryFilters().FirstOrDefault(r => r.TenantId == null && r.Name == StaticRoleNames.Host.Hr); if (roleForHost == null) { roleForHost = _context.Roles.Add(new Role(null, StaticRoleNames.Host.Hr, StaticRoleNames.Host.Hr) { IsStatic = true, IsDefault = true }).Entity; _context.SaveChanges(); } grantedPermissions = _context.Permissions.IgnoreQueryFilters() .OfType <RolePermissionSetting>() .Where(p => p.TenantId == null && p.RoleId == roleForHost.Id) .Select(p => p.Name) .ToList(); permissions = PermissionFinder .GetAllPermissions(new AdminAuthorizationProvider()) .Where(p => p.MultiTenancySides.HasFlag(MultiTenancySides.Host) && !grantedPermissions.Contains(p.Name) && GrantPermissionRoles.PermissionRoles[StaticRoleNames.Host.Hr].Contains(p.Name)) .ToList(); if (permissions.Any()) { _context.Permissions.AddRange( permissions.Select(permission => new RolePermissionSetting { TenantId = null, Name = permission.Name, IsGranted = true, RoleId = roleForHost.Id }) ); _context.SaveChanges(); } roleForHost = _context.Roles.IgnoreQueryFilters().FirstOrDefault(r => r.TenantId == null && r.Name == StaticRoleNames.Host.User); if (roleForHost == null) { roleForHost = _context.Roles.Add(new Role(null, StaticRoleNames.Host.User, StaticRoleNames.Host.User) { IsStatic = true, IsDefault = true }).Entity; _context.SaveChanges(); } grantedPermissions = _context.Permissions.IgnoreQueryFilters() .OfType <RolePermissionSetting>() .Where(p => p.TenantId == null && p.RoleId == roleForHost.Id) .Select(p => p.Name) .ToList(); permissions = PermissionFinder .GetAllPermissions(new AdminAuthorizationProvider()) .Where(p => p.MultiTenancySides.HasFlag(MultiTenancySides.Host) && !grantedPermissions.Contains(p.Name) && GrantPermissionRoles.PermissionRoles[StaticRoleNames.Host.User].Contains(p.Name)) .ToList(); if (permissions.Any()) { _context.Permissions.AddRange( permissions.Select(permission => new RolePermissionSetting { TenantId = null, Name = permission.Name, IsGranted = true, RoleId = roleForHost.Id }) ); _context.SaveChanges(); } var adminUserForHost = _context.Users.IgnoreQueryFilters().FirstOrDefault(u => u.TenantId == null && u.UserName == AbpUserBase.AdminUserName); if (adminUserForHost == null) { var user = new User { TenantId = null, UserName = AbpUserBase.AdminUserName, Name = "admin", Surname = "admin", EmailAddress = "*****@*****.**", IsEmailConfirmed = true, IsActive = true }; user.Password = new PasswordHasher <User>(new OptionsWrapper <PasswordHasherOptions>(new PasswordHasherOptions())).HashPassword(user, "123qwe"); user.SetNormalizedNames(); adminUserForHost = _context.Users.Add(user).Entity; _context.SaveChanges(); _context.UserRoles.Add(new UserRole(null, adminUserForHost.Id, roleAdminId)); _context.SaveChanges(); _context.SaveChanges(); } }
public static IEnumerable <ApiProgressModel> UpdateETenderContracts(int onPage, int requests) { var tenderUrl = "http://etender.gov.md/json/contractList?rows=" + onPage; var index = 0; for (var request = 1; request <= requests; request++) { var context = new AdminDbContext(); var tenderType = context.EntityTypes.FirstOrDefault(et => et.Code == 3); var contractRelationType = context.RelationTypes.FirstOrDefault(et => et.Code == 1); var bankType = context.EntityTypes.FirstOrDefault(et => et.Code.Equals(9)); var accountOwnerRelationType = context.RelationTypes.First(rt => rt.Code.Equals(11)); var tenderCreatorType = context.RelationTypes.First(rt => rt.Code.Equals(5)); var personType = context.EntityTypes.First(rt => rt.Code.Equals(1)); var companyType = context.EntityTypes.First(rt => rt.Code.Equals(2)); var url = tenderUrl + "&page=" + request; yield return(new ApiProgressModel { Message = "Start to collect data" }); var tenderResultObject = APIClient.GetApiObject <Models.ETender.Contracts.RootObject>(url); var totalRecords = tenderResultObject.rows.Count(); yield return(new ApiProgressModel { Message = "Got " + totalRecords + " records" }); foreach (var row in tenderResultObject.rows) { var progress = new ApiProgressModel(); if (!context.Relations.Any(e => e.TypeId.Equals(contractRelationType.Id) && e.Attributes.Any(attr => attr.Name.Equals("ETender Id") && attr.Value.Equals(row.id.ToString())))) { var contractRelation = new Relation(); contractRelation.TypeId = contractRelationType.Id; context.Relations.Add(contractRelation); contractRelation.Attributes.Add(new RelationAttribute() { Name = "Amount", Value = row.amount.ToString() }); contractRelation.Attributes.Add(new RelationAttribute() { Name = "Contract type", Value = row.contractType.mdValue ?? string.Empty }); contractRelation.Attributes.Add(new RelationAttribute() { Name = "Contract date", Value = row.contractDate ?? string.Empty }); contractRelation.Attributes.Add(new RelationAttribute() { Name = "State", Value = row.status.mdValue ?? string.Empty }); contractRelation.Attributes.Add(new RelationAttribute() { Name = "State date", Value = row.currentStatusDate ?? string.Empty }); contractRelation.Attributes.Add(new RelationAttribute() { Name = "Contract number", Value = row.contractNumber ?? string.Empty }); contractRelation.Attributes.Add(new RelationAttribute() { Name = "ETender offer id", Value = row.fkOfferId.ToString() }); contractRelation.Attributes.Add(new RelationAttribute() { Name = "ETender decision id", Value = row.currentStatusDate ?? string.Empty }); contractRelation.Attributes.Add(new RelationAttribute() { Name = "Register date", Value = row.registerDate ?? string.Empty }); contractRelation.Attributes.Add(new RelationAttribute() { Name = "Final date", Value = row.finalDate ?? string.Empty }); contractRelation.Attributes.Add(new RelationAttribute() { Name = "Contract real number", Value = row.contractRealNumber ?? string.Empty }); contractRelation.Attributes.Add(new RelationAttribute() { Name = "Note", Value = row.note ?? string.Empty }); contractRelation.Attributes.Add(new RelationAttribute() { Name = "ETender Id", Value = row.id.ToString() }); contractRelation.References.Add(new RelationReference() { Title = "Registrul de stat al achizițiilor publice", Link = "http://etender.gov.md/contracte" }); var stateOrgTypeCode = row.tender.stateOrg != null ? row.tender.stateOrg.orgLegalForm != null?row.tender.stateOrg.orgLegalForm.id:590 : 590; var stateOrgType = context.EntityTypes.FirstOrDefault(et => et.Code.Equals(stateOrgTypeCode)); if (stateOrgType == null) { stateOrgType = new EntityType() { Code = row.tender.stateOrg.orgLegalForm.id, Name = row.tender.stateOrg.orgLegalForm.mdValue }; context.EntityTypes.Add(stateOrgType); yield return(new ApiProgressModel { Message = "New entity type added " + stateOrgType.Name }); } var stateOrgEntity = context.Entities.FirstOrDefault(e => e.Type.Code.Equals(stateOrgType.Code) && e.Attributes.Any(attr => attr.Name.Equals("Code") && attr.Value.Equals(row.tender.stateOrg.code))); if (stateOrgEntity == null) { stateOrgEntity = new Entity(); stateOrgEntity.Name = row.tender.stateOrg.orgName; stateOrgEntity.Type = stateOrgType; stateOrgEntity.Attributes.Add(new EntityAttribute() { Name = "Code", Value = row.tender.stateOrg.code ?? string.Empty }); stateOrgEntity.Attributes.Add(new EntityAttribute() { Name = "ETender Id", Value = row.tender.stateOrg.id.ToString() }); stateOrgEntity.Attributes.Add(new EntityAttribute() { Name = "Address", Value = row.tender.stateOrg.address ?? string.Empty }); stateOrgEntity.Attributes.Add(new EntityAttribute() { Name = "Account", Value = row.tender.stateOrg.account ?? string.Empty }); stateOrgEntity.Attributes.Add(new EntityAttribute() { Name = "Treasuty account", Value = row.tender.stateOrg.treasutyAcc ?? string.Empty }); stateOrgEntity.Attributes.Add(new EntityAttribute() { Name = "Fiscal code", Value = row.tender.stateOrg.fiscalCode != null ? row.tender.stateOrg.fiscalCode.ToString() : string.Empty }); stateOrgEntity.Attributes.Add(new EntityAttribute() { Name = "Account", Value = row.tender.stateOrg.account ?? string.Empty }); stateOrgEntity.Attributes.Add(new EntityAttribute() { Name = "Bank account", Value = row.tender.stateOrg.bankAccount != null?row.tender.stateOrg.bankAccount.ToString() : string.Empty }); stateOrgEntity.Attributes.Add(new EntityAttribute() { Name = "Phone", Value = row.tender.stateOrg.phone ?? string.Empty }); stateOrgEntity.Attributes.Add(new EntityAttribute() { Name = "Fax", Value = row.tender.stateOrg.fax ?? string.Empty }); if (row.addAccordReason != null) { stateOrgEntity.Attributes.Add(new EntityAttribute() { Name = "Accord reason", Value = row.addAccordReason.ToString() }); } if (row.addAccordReasonDocuments != null) { stateOrgEntity.Attributes.Add(new EntityAttribute() { Name = "Accord reason", Value = row.addAccordReasonDocuments.ToString() }); } if (row.addAccordShortDescr != null) { stateOrgEntity.Attributes.Add(new EntityAttribute() { Name = "Accord reason short description", Value = row.addAccordShortDescr.ToString() }); } stateOrgEntity.References.Add(new EntityReference() { Title = "Registrul de stat al achizițiilor publice", Link = "http://etender.gov.md/contracte" }); context.Entities.Add(stateOrgEntity); yield return(new ApiProgressModel { Message = "Creating " + stateOrgType.Name + " " + stateOrgEntity.Name }); } if (row.tender.stateOrg.bank != null) { var bank = context.Entities.FirstOrDefault(e => e.TypeId.Equals(bankType.Id) && e.Attributes.Any(attr => attr.Name.Equals("BIC") && attr.Value.Equals(row.tender.stateOrg.bank.sapiCode))); if (bank == null) { bank = new Entity(); bank.Name = row.tender.stateOrg.bank.mdShort; bank.Type = bankType; bank.Attributes.Add(new EntityAttribute() { Name = "Short Name", Value = row.tender.stateOrg.bank.mdShort ?? string.Empty }); bank.Attributes.Add(new EntityAttribute() { Name = "mfo Code", Value = row.tender.stateOrg.bank.mfoCode ?? string.Empty }); bank.Attributes.Add(new EntityAttribute() { Name = "Fiscal Code", Value = row.tender.stateOrg.bank.fiscalCode ?? string.Empty }); bank.Attributes.Add(new EntityAttribute() { Name = "BIC", Value = row.tender.stateOrg.bank.sapiCode ?? string.Empty }); bank.References.Add(new EntityReference() { Title = "Registrul de stat al achizițiilor publice", Link = "http://etender.gov.md/contracte" }); context.Entities.Add(bank); yield return(new ApiProgressModel { Message = "Creating entity Bank " + bank.Name }); } if (!context.Relations.Any(r => r.TypeId.Equals(accountOwnerRelationType.Id) && r.RelationEntities.Any(re => re.EntityId.Equals(stateOrgEntity.Id) && r.RelationEntities.Any(re1 => re1.EntityId.Equals(bank.Id))))) { var bankRelation = new Relation(); bankRelation.TypeId = accountOwnerRelationType.Id; bankRelation.Type = accountOwnerRelationType; bankRelation.RelationEntities.Add(new RelationEntity { Entity = bank, MemberType = 4 }); bankRelation.RelationEntities.Add(new RelationEntity { Entity = stateOrgEntity, MemberType = 3 }); bankRelation.Attributes.Add(new RelationAttribute { Name = "Account", Value = row.tender.stateOrg.account ?? string.Empty }); bankRelation.References.Add(new RelationReference() { Title = "Registrul de stat al achizițiilor publice", Link = "http://etender.gov.md/contracte" }); context.Relations.Add(bankRelation); } } var tenderEntity = context.Entities.FirstOrDefault(e => e.TypeId.Equals(tenderType.Id) && e.Attributes.Any(attr => attr.Name.Equals("ETender Id") && attr.Value.Equals(row.tender.id.ToString()))); if (tenderEntity == null) { tenderEntity = new Entity(); tenderEntity.TypeId = tenderType.Id; tenderEntity.Name = row.tender.tenderData.goodsDescr; context.Entities.Add(tenderEntity); yield return(new ApiProgressModel { Message = "Creating new Tender entity " + tenderEntity.Name }); tenderEntity.Attributes.Add(new EntityAttribute() { Name = "ETender Id", Value = row.id.ToString() }); tenderEntity.Attributes.Add(new EntityAttribute() { Name = "Registration number ", Value = row.tender.regNumber ?? string.Empty }); tenderEntity.Attributes.Add(new EntityAttribute() { Name = "Goods", Value = row.tender.tenderData.goodsDescr ?? string.Empty }); tenderEntity.References.Add(new EntityReference() { Title = "Registrul de stat al achizițiilor publice", Link = "http://etender.gov.md/contracte" }); context.Entities.Add(tenderEntity); var relation = new Relation(); relation.Type = tenderCreatorType; relation.RelationEntities.Add(new RelationEntity { Entity = stateOrgEntity }); relation.RelationEntities.Add(new RelationEntity { Entity = tenderEntity }); context.Relations.Add(relation); } var seller = context.Entities.FirstOrDefault(e => e.TypeId.Equals(companyType.Id) && e.Name.Equals(row.participant.fullName)); if (seller == null) { seller = context.Entities.FirstOrDefault(e => e.TypeId.Equals(personType.Id) && e.Name.Equals(row.participant.fullName)); } if (seller == null) { seller = new Entity(); seller.Name = row.participant.fullName; seller.Attributes.Add(new EntityAttribute() { Name = "ETender Id", Value = row.participant.id.ToString() }); if (row.participant.juristicPerson == 1) { seller.Attributes.Add(new EntityAttribute() { Name = "Juridical name", Value = row.participant.jurName ?? string.Empty }); seller.Type = companyType; } else { seller.Type = personType; seller.Attributes.Add(new EntityAttribute() { Name = "First name", Value = row.participant.name ?? string.Empty }); seller.Attributes.Add(new EntityAttribute() { Name = "Last name", Value = row.participant.lastName ?? string.Empty }); seller.Attributes.Add(new EntityAttribute() { Name = "Patronymic", Value = row.participant.patronymic ?? string.Empty }); } seller.References.Add(new EntityReference() { Title = "Registrul de stat al achizițiilor publice", Link = "http://etender.gov.md/contracte" }); context.Entities.Add(seller); } contractRelation.RelationEntities.Add(new RelationEntity { Entity = tenderEntity }); contractRelation.RelationEntities.Add(new RelationEntity { Entity = stateOrgEntity, MemberType = 1 }); contractRelation.RelationEntities.Add(new RelationEntity { Entity = seller, MemberType = 2 }); context.Relations.Add(contractRelation); context.SaveChanges(); index++; yield return(new ApiProgressModel { Message = index + " Saved!!!" }); } else { yield return(new ApiProgressModel { Message = "Contract with ETender Id = " + row.id + " exists" }); } } } yield return(new ApiProgressModel { Message = "Processing data finished !!!!" }); }
public static IEnumerable <ApiProgressModel> UpdateETenders(int onPage, int requests) { var tenderUrl = "http://etender.gov.md/json/tenderList?rows=" + onPage; var index = 0; for (var request = 1; request <= requests; request++) { var context = new AdminDbContext(); var tenderType = context.EntityTypes.FirstOrDefault(et => et.Code.Equals(3)); var bankType = context.EntityTypes.FirstOrDefault(et => et.Code.Equals(9)); var accountOwnerRelationType = context.RelationTypes.First(rt => rt.Code.Equals(11)); var tenderCreatorType = context.RelationTypes.First(rt => rt.Code.Equals(5)); var url = tenderUrl + "&page=" + request; yield return(new ApiProgressModel { Message = "Start to collect data" }); var tenderResultObject = APIClient.GetApiObject <Models.ETender.RootObject>(url); var totalRecords = tenderResultObject.rows.Count(); yield return(new ApiProgressModel { Message = "Got " + totalRecords + " records" }); foreach (var row in tenderResultObject.rows) { index++; var progress = new ApiProgressModel(); if (!context.Entities.Any(e => e.TypeId.Equals(tenderType.Id) && e.Attributes.Any(attr => attr.Name.Equals("ETender Id") && attr.Value.Equals(row.id.ToString())))) { var entity = new Entity(); entity.TypeId = tenderType.Id; entity.Name = row.tenderData.goodsDescr; context.Entities.Add(entity); yield return(new ApiProgressModel { Message = "Creating new Tender entity " + entity.Name }); entity.Attributes.Add(new EntityAttribute() { Name = "ETender Id", Value = row.id.ToString() }); entity.Attributes.Add(new EntityAttribute() { Name = "Tender type", Value = row.tenderType.mdValue ?? string.Empty }); entity.Attributes.Add(new EntityAttribute() { Name = "Tender status at " + row.refCurrentStatusDate, Value = row.tenderStatus.mdValue }); entity.Attributes.Add(new EntityAttribute() { Name = "Tender open date", Value = row.refTendeOpenDate ?? string.Empty }); entity.Attributes.Add(new EntityAttribute() { Name = "Registration number ", Value = row.regNumber ?? string.Empty }); entity.Attributes.Add(new EntityAttribute() { Name = "Goods", Value = row.tenderData.goods.mdValue ?? string.Empty }); entity.Attributes.Add(new EntityAttribute() { Name = "Tender status", Value = row.tenderData.status.mdValue ?? string.Empty }); entity.Attributes.Add(new EntityAttribute() { Name = "Language", Value = row.tenderData.language.mdValue ?? string.Empty }); entity.Attributes.Add(new EntityAttribute() { Name = "Place offers at", Value = row.tenderData.pressOffersPlace ?? string.Empty }); entity.Attributes.Add(new EntityAttribute() { Name = "Place offers until", Value = row.tenderData.pressOffersDate ?? string.Empty }); entity.Attributes.Add(new EntityAttribute() { Name = "Open date time", Value = row.tenderData.deliveryTerms.mdValue ?? string.Empty }); entity.Attributes.Add(new EntityAttribute() { Name = "Notes", Value = row.notes ?? string.Empty }); entity.References.Add(new EntityReference() { Title = "Registrul de stat al achizițiilor publice", Link = "http://etender.gov.md/proceduricard?pid=" + row.id }); var entityCode = row.stateOrg.orgLegalForm != null ? row.stateOrg.orgLegalForm.id : 590; var entityType = context.EntityTypes.FirstOrDefault(et => et.Code.Equals(entityCode)); if (entityType == null) { entityType = new EntityType() { Code = row.stateOrg.orgLegalForm.id, Name = row.stateOrg.orgLegalForm.mdValue }; context.EntityTypes.Add(entityType); yield return(new ApiProgressModel { Message = "New entity type added " + entityType.Name }); } var stateEntity = context.Entities.FirstOrDefault(e => e.Type.Code.Equals(entityType.Code) && e.Attributes.Any(attr => attr.Name.Equals("Code") && attr.Value.Equals(row.stateOrg.code))); if (stateEntity == null) { stateEntity = new Entity(); stateEntity.Name = row.stateOrg.orgName; stateEntity.Type = entityType; stateEntity.Attributes.Add(new EntityAttribute() { Name = "Code", Value = row.stateOrg.code ?? string.Empty }); stateEntity.Attributes.Add(new EntityAttribute() { Name = "ETender Id", Value = row.stateOrg.id.ToString() }); stateEntity.Attributes.Add(new EntityAttribute() { Name = "Address", Value = row.stateOrg.address ?? string.Empty }); stateEntity.Attributes.Add(new EntityAttribute() { Name = "Account", Value = row.stateOrg.account ?? string.Empty }); stateEntity.Attributes.Add(new EntityAttribute() { Name = "Treasuty account", Value = row.stateOrg.treasutyAcc ?? string.Empty }); stateEntity.Attributes.Add(new EntityAttribute() { Name = "Fiscal code", Value = row.stateOrg.fiscalCode != null ? row.stateOrg.fiscalCode.ToString() : string.Empty }); stateEntity.Attributes.Add(new EntityAttribute() { Name = "Account", Value = row.stateOrg.account ?? string.Empty }); stateEntity.Attributes.Add(new EntityAttribute() { Name = "Bank account", Value = row.stateOrg.bankAccount != null?row.stateOrg.bankAccount.ToString():string.Empty }); stateEntity.Attributes.Add(new EntityAttribute() { Name = "Phone", Value = row.stateOrg.phone ?? string.Empty }); stateEntity.Attributes.Add(new EntityAttribute() { Name = "Fax", Value = row.stateOrg.fax ?? string.Empty }); stateEntity.Attributes.Add(new EntityAttribute() { Name = "Email", Value = row.stateOrg.email ?? string.Empty }); stateEntity.References.Add(new EntityReference() { Title = "Registrul de stat al achizițiilor publice", Link = "http://etender.gov.md/proceduricard?pid=" + row.id }); context.Entities.Add(stateEntity); yield return(new ApiProgressModel { Message = "Creating " + entityType.Name + " " + stateEntity.Name }); } if (row.stateOrg.bank != null) { var bank = context.Entities.FirstOrDefault(e => e.TypeId.Equals(bankType.Id) && e.Attributes.Any(attr => attr.Name.Equals("BIC") && attr.Value.Equals(row.stateOrg.bank.sapiCode))); if (bank == null) { bank = new Entity(); bank.Name = row.stateOrg.bank.mdShort; bank.Type = bankType; bank.Attributes.Add(new EntityAttribute() { Name = "Short Name", Value = row.stateOrg.bank.mdShort ?? string.Empty }); bank.Attributes.Add(new EntityAttribute() { Name = "mfo Code", Value = row.stateOrg.bank.mfoCode ?? string.Empty }); bank.Attributes.Add(new EntityAttribute() { Name = "Fiscal Code", Value = row.stateOrg.bank.fiscalCode ?? string.Empty }); bank.Attributes.Add(new EntityAttribute() { Name = "BIC", Value = row.stateOrg.bank.sapiCode ?? string.Empty }); bank.References.Add(new EntityReference() { Title = "Registrul de stat al achizițiilor publice", Link = "http://etender.gov.md/proceduricard?pid=" + row.id }); context.Entities.Add(bank); yield return(new ApiProgressModel { Message = "Creating entity Bank" + bank.Name }); } if (!context.Relations.Any(r => r.TypeId.Equals(accountOwnerRelationType.Id) && r.RelationEntities.Any(re => re.EntityId.Equals(stateEntity.Id) && r.RelationEntities.Any(re1 => re1.EntityId.Equals(bank.Id))))) { var bankRelation = new Relation(); bankRelation.TypeId = accountOwnerRelationType.Id; bankRelation.Type = accountOwnerRelationType; bankRelation.RelationEntities.Add(new RelationEntity { Entity = bank }); bankRelation.RelationEntities.Add(new RelationEntity { Entity = stateEntity }); bankRelation.Attributes.Add(new RelationAttribute { Name = "Account", Value = row.stateOrg.account ?? string.Empty }); bankRelation.References.Add(new RelationReference() { Title = "Registrul de stat al achizițiilor publice", Link = "http://etender.gov.md/proceduricard?pid=" + row.id }); context.Relations.Add(bankRelation); } } var relation = new Relation(); relation.Type = tenderCreatorType; relation.RelationEntities.Add(new RelationEntity { Entity = stateEntity }); relation.RelationEntities.Add(new RelationEntity { Entity = entity }); relation.References.Add(new RelationReference() { Title = "Registrul de stat al achizițiilor publice", Link = "http://etender.gov.md/proceduricard?pid=" + row.id }); context.Relations.Add(relation); context.SaveChanges(); yield return(new ApiProgressModel { Message = index + " Saved!" }); } else { yield return(new ApiProgressModel { Message = "Tender with ETender Id = " + row.id }); } } } yield return(new ApiProgressModel { Message = "Processing data finished !!!!" }); }
public bool Add(Contender entity) { _context.Contenders.Add(entity); _context.SaveChanges(); return(true); }
// help function for adding users // //add Admin public void AddAdmin(Admin admin) { adminDb.dbSet.Add(admin); adminDb.SaveChanges(); }
private void CreateRolesAndUsers() { //Admin role var adminRole = _context.Roles.IgnoreQueryFilters().FirstOrDefault(r => r.TenantId == _tenantId && r.Name == StaticRoleNames.Tenants.Admin); if (adminRole == null) { adminRole = _context.Roles.Add(new Role(_tenantId, StaticRoleNames.Tenants.Admin, StaticRoleNames.Tenants.Admin) { IsStatic = true }).Entity; _context.SaveChanges(); } //User role var userRole = _context.Roles.IgnoreQueryFilters().FirstOrDefault(r => r.TenantId == _tenantId && r.Name == StaticRoleNames.Tenants.User); if (userRole == null) { _context.Roles.Add(new Role(_tenantId, StaticRoleNames.Tenants.User, StaticRoleNames.Tenants.User) { IsStatic = true, IsDefault = true }); _context.SaveChanges(); } //admin user var adminUser = _context.Users.IgnoreQueryFilters().FirstOrDefault(u => u.TenantId == _tenantId && u.UserName == AbpUserBase.AdminUserName); if (adminUser == null) { adminUser = User.CreateTenantAdminUser(_tenantId, "*****@*****.**"); adminUser.Password = new PasswordHasher <User>(new OptionsWrapper <PasswordHasherOptions>(new PasswordHasherOptions())).HashPassword(adminUser, "123456abcD"); adminUser.IsEmailConfirmed = true; adminUser.ShouldChangePasswordOnNextLogin = true; adminUser.IsActive = true; _context.Users.Add(adminUser); _context.SaveChanges(); //Assign Admin role to admin user _context.UserRoles.Add(new UserRole(_tenantId, adminUser.Id, adminRole.Id)); _context.SaveChanges(); //User account of admin user if (_tenantId == 1) { _context.UserAccounts.Add(new UserAccount { TenantId = _tenantId, UserId = adminUser.Id, UserName = AbpUserBase.AdminUserName, EmailAddress = adminUser.EmailAddress }); _context.SaveChanges(); } //Notification subscription _context.NotificationSubscriptions.Add(new NotificationSubscriptionInfo(SequentialGuidGenerator.Instance.Create(), _tenantId, adminUser.Id, AppNotificationNames.NewUserRegistered)); _context.SaveChanges(); } }
private void CreateHostRoleAndUsers() { //Admin role for host var adminRoleForHost = _context.Roles.FirstOrDefault(r => r.TenantId == null && r.Name == StaticRoleNames.Host.Admin); if (adminRoleForHost == null) { adminRoleForHost = _context.Roles.Add(new Role(null, StaticRoleNames.Host.Admin, StaticRoleNames.Host.Admin) { IsStatic = true, IsDefault = true }); _context.SaveChanges(); } //admin user for host var adminUserForHost = _context.Users.FirstOrDefault(u => u.TenantId == null && u.UserName == User.AdminUserName); if (adminUserForHost == null) { adminUserForHost = _context.Users.Add( new User { TenantId = null, UserName = User.AdminUserName, Name = "admin", Surname = "admin", EmailAddress = "*****@*****.**", IsEmailConfirmed = true, ShouldChangePasswordOnNextLogin = true, IsActive = true, Password = "******" //123qwe }); _context.SaveChanges(); //Assign Admin role to admin user _context.UserRoles.Add(new UserRole(null, adminUserForHost.Id, adminRoleForHost.Id)); _context.SaveChanges(); //Grant all permissions var permissions = PermissionFinder .GetAllPermissions(new AppAuthorizationProvider(true)) .Where(p => p.MultiTenancySides.HasFlag(MultiTenancySides.Host)) .ToList(); foreach (var permission in permissions) { _context.Permissions.Add( new RolePermissionSetting { TenantId = null, Name = permission.Name, IsGranted = true, RoleId = adminRoleForHost.Id }); } _context.SaveChanges(); //User account of admin user _context.UserAccounts.Add(new UserAccount { TenantId = null, UserId = adminUserForHost.Id, UserName = User.AdminUserName, EmailAddress = adminUserForHost.EmailAddress }); _context.SaveChanges(); } }
public IActionResult Index(Subscriber subscriber) { _db.Subscribers.Add(subscriber); _db.SaveChanges(); return(RedirectToAction("Thanks")); }
private void CreateRolesAndUsers() { //Admin role var adminRole = _context.Roles.FirstOrDefault(r => r.TenantId == _tenantId && r.Name == StaticRoleNames.Tenants.Admin); if (adminRole == null) { adminRole = _context.Roles.Add(new Role(_tenantId, StaticRoleNames.Tenants.Admin, StaticRoleNames.Tenants.Admin) { IsStatic = true }); _context.SaveChanges(); //Grant all permissions to admin role var permissions = PermissionFinder .GetAllPermissions(new AppAuthorizationProvider(false)) .Where(p => p.MultiTenancySides.HasFlag(MultiTenancySides.Tenant)) .ToList(); foreach (var permission in permissions) { _context.Permissions.Add( new RolePermissionSetting { TenantId = _tenantId, Name = permission.Name, IsGranted = true, RoleId = adminRole.Id }); } _context.SaveChanges(); } //User role var userRole = _context.Roles.FirstOrDefault(r => r.TenantId == _tenantId && r.Name == StaticRoleNames.Tenants.User); if (userRole == null) { _context.Roles.Add(new Role(_tenantId, StaticRoleNames.Tenants.User, StaticRoleNames.Tenants.User) { IsStatic = true, IsDefault = true }); _context.SaveChanges(); } //admin user var adminUser = _context.Users.FirstOrDefault(u => u.TenantId == _tenantId && u.UserName == User.AdminUserName); if (adminUser == null) { adminUser = User.CreateTenantAdminUser(_tenantId, "*****@*****.**", "123qwe"); adminUser.IsEmailConfirmed = true; adminUser.ShouldChangePasswordOnNextLogin = true; adminUser.IsActive = true; _context.Users.Add(adminUser); _context.SaveChanges(); //Assign Admin role to admin user _context.UserRoles.Add(new UserRole(_tenantId, adminUser.Id, adminRole.Id)); _context.SaveChanges(); //User account of admin user if (_tenantId == 1) { _context.UserAccounts.Add(new UserAccount { TenantId = _tenantId, UserId = adminUser.Id, UserName = User.AdminUserName, EmailAddress = adminUser.EmailAddress }); _context.SaveChanges(); } } }
/// <summary> /// 事务性保存 /// </summary> public void Save() { _dbContext.SaveChanges(); }
private void CreateHostRoleAndUsers() { //Admin role for host var adminRoleForHost = _context.Roles.IgnoreQueryFilters().FirstOrDefault(r => r.TenantId == null && r.Name == StaticRoleNames.Host.Admin); if (adminRoleForHost == null) { adminRoleForHost = _context.Roles.Add(new Role(null, StaticRoleNames.Host.Admin, StaticRoleNames.Host.Admin) { IsStatic = true, IsDefault = true }).Entity; _context.SaveChanges(); } //admin user for host var adminUserForHost = _context.Users.IgnoreQueryFilters().FirstOrDefault(u => u.TenantId == null && u.UserName == AbpUserBase.AdminUserName); if (adminUserForHost == null) { var user = new User { TenantId = null, UserName = AbpUserBase.AdminUserName, Name = "admin", Surname = "admin", EmailAddress = "*****@*****.**", IsEmailConfirmed = true, ShouldChangePasswordOnNextLogin = true, IsActive = true, Password = "******" //123456abcD }; user.SetNormalizedNames(); adminUserForHost = _context.Users.Add(user).Entity; _context.SaveChanges(); //Assign Admin role to admin user _context.UserRoles.Add(new UserRole(null, adminUserForHost.Id, adminRoleForHost.Id)); _context.SaveChanges(); //User account of admin user _context.UserAccounts.Add(new UserAccount { TenantId = null, UserId = adminUserForHost.Id, UserName = AbpUserBase.AdminUserName, EmailAddress = adminUserForHost.EmailAddress }); _context.SaveChanges(); //Notification subscriptions _context.NotificationSubscriptions.Add(new NotificationSubscriptionInfo(SequentialGuidGenerator.Instance.Create(), null, adminUserForHost.Id, AppNotificationNames.NewTenantRegistered)); _context.NotificationSubscriptions.Add(new NotificationSubscriptionInfo(SequentialGuidGenerator.Instance.Create(), null, adminUserForHost.Id, AppNotificationNames.NewUserRegistered)); _context.SaveChanges(); } }