public int DeleteDomain(IGlymaSession glymaSession, Guid domainId) { IDbConnectionAbstraction mapDbConnection = null; IDbConnectionAbstraction parametersDbConnection = null; IDbConnectionAbstraction sessionDbConnection = null; int deletions = -1; try { mapDbConnection = glymaSession.ConnectionFactory.CreateMapDbConnection(); parametersDbConnection = glymaSession.ConnectionFactory.CreateParametersDbConnection(); sessionDbConnection = glymaSession.ConnectionFactory.CreateSessionDbConnection(); DeleteDomain deleteDomainOperation = new DeleteDomain(mapDbConnection, parametersDbConnection, sessionDbConnection); mapDbConnection.Open(); parametersDbConnection.Open(); sessionDbConnection.Open(); deletions = deleteDomainOperation.ExecuteDeletion(domainId); sessionDbConnection.Close(); parametersDbConnection.Close(); mapDbConnection.Close(); } finally { if (mapDbConnection != null) { mapDbConnection.Dispose(); } if (parametersDbConnection != null) { parametersDbConnection.Dispose(); } if (sessionDbConnection != null) { sessionDbConnection.Dispose(); } } return(deletions); }
public async Task <ActionResult> DeleteAsync(string domainName) { var deleteDomain = new DeleteDomain() { Name = domainName }; var deleteResponse = await _mediator.Send(deleteDomain); if (deleteResponse.Result == DeleteResult.NotFound) { return(NotFound()); } else if (deleteResponse.Result == DeleteResult.NotDeletedDueToDependentObjects) { return(BadRequest(deleteResponse.Description)); } return(Ok()); }
public void DeleteDomain() { string expected = File.ReadAllText(Path.Combine(_requestsTestDataPath, "DeleteDomain.xml")); var request = new DeleteDomain { SessionId = "sid", DomainStr = "testing.com" }; var xml = request.ToXml().InnerXmlFormatted(); Assert.AreEqual(expected, xml); XmlDocument doc = new XmlDocument(); doc.LoadXml(File.ReadAllText(Path.Combine(_responsesTestDataPath, "DeleteDomain.xml"))); var response = request.FromHttpRequestResult(new HttpRequestResult { Response = doc.InnerXml }); Assert.AreEqual("result", response.Type); Assert.True(response.Success); }
public async Task <Response <DeleteResult> > Handle(DeleteDomain request) { var domain = await _context.BusinessDomains .Include(x => x.SubDomains) .FirstOrDefaultAsync(x => x.Name.Equals(request.Name)); if (domain == null) { return(new Response <DeleteResult>(DeleteResult.NotFound)); } if (domain.SubDomains.Any()) { return(new Response <DeleteResult>(DeleteResult.NotDeletedDueToDependentObjects, "The business domain cannot be deleted because it has child sub domains")); } _context.BusinessDomains.Remove(domain); await _context.SaveChangesAsync(); return(new Response <DeleteResult>(DeleteResult.Deleted)); }
public void DeleteDomain() { var api = new IceWarpRpcApi(); var authResult = Authenticate(api); var domainToDelete = "deletedomain.com"; var deleteDomainAdminEmail = "*****@*****.**"; //Check domain does not exist var getDomainProperties = new GetDomainProperties { SessionId = authResult.SessionId, DomainStr = domainToDelete, DomainPropertyList = new TDomainPropertyList { Items = new List <TAPIProperty> { new TAPIProperty { PropName = "D_AdminEmail" } } } }; try { var domainCheckResult = api.Execute(_url, getDomainProperties); } catch (IceWarpErrorException e) { //Create domain var createDomain = new CreateDomain { SessionId = authResult.SessionId, DomainStr = domainToDelete, DomainProperties = new TPropertyValueList { Items = new List <TPropertyValue> { new TPropertyValue { APIProperty = new TAPIProperty { PropName = "D_AdminEmail" }, PropertyVal = new TPropertyString { Val = deleteDomainAdminEmail }, PropertyRight = TPermission.ReadWrite } } } }; var createDomainResult = api.Execute(_url, createDomain); Assert.True(createDomainResult.Success); //Check can get properties for new domain var getDomainPropertiesResult = api.Execute(_url, getDomainProperties); Assert.AreEqual(1, getDomainPropertiesResult.Items.Count); Assert.AreEqual("tpropertystring", getDomainPropertiesResult.Items.First().PropertyVal.ClassName); Assert.AreEqual(deleteDomainAdminEmail, ((TPropertyString)getDomainPropertiesResult.Items.First().PropertyVal).Val); } //Delete domain var deleteDomain = new DeleteDomain { SessionId = authResult.SessionId, DomainStr = domainToDelete }; var deleteDomainResult = api.Execute(_url, deleteDomain); Assert.True(deleteDomainResult.Success); //Check domain does not exist var exception = Assert.Throws <IceWarpErrorException>(() => api.Execute(_url, getDomainProperties)); Assert.AreEqual("domain_invalid", exception.IceWarpError); LogOut(api, authResult.SessionId); }