public void LeaseAgreementDelete(LeaseAgreementDto dto) { try { using (var db = new ONRRDatabaseEntities()) { db.LeaseAgreementsDelete(dto.LeaseAgreementID); } } catch (Exception ex) { log.Error(ex.Message + Environment.NewLine + ex.StackTrace); throw; } }
public void LeaseAgreementUpdate(LeaseAgreementDto dto) { try { using (var db = new ONRRDatabaseEntities()) { db.LeaseAgreementsUpdate(dto.LeaseAgreementID, dto.LeaseID, dto.AgreementID, dto.EffectiveFrom, dto.EffectiveFrom, dto.TractFactor, dto.OverrideTractFactor, dto.MarketShare, dto.TractAcreage); } } catch (Exception ex) { log.Error(ex.Message + Environment.NewLine + ex.StackTrace); throw; } }
public void LeaseAgreementCreate(LeaseAgreementDto dto) { try { using (var db = new ONRRDatabaseEntities()) { var newId = new ObjectParameter("newId", 0); var id = db.LeaseAgreementsInsert(dto.LeaseID, dto.AgreementID, dto.EffectiveFrom, dto.EffectiveFrom, dto.TractFactor, dto.OverrideTractFactor, dto.MarketShare, dto.TractAcreage, newId); } } catch (Exception ex) { log.Error(ex.ToString()); throw; } }
public virtual void HandleLeaseAgreementEvent(LeaseAgreementDto leaseAgreementDto, TenantInfo tenantInfo) { // Add Cross-Tenant Permissions between Asset Owners and Customer based on the new Lease Agreement // Permissions are for Incidents, WorkOrders, Estimates, Assets and Users int assetOwnerTenantId = (int)_assetOwnerRepository.Get((int)leaseAgreementDto.AssetOwnerId).TenantId; int customerTenantId = (int)_customerRepository.Get((int)leaseAgreementDto.CustomerId).TenantId; List <string> entities = new List <string>() { "Incident", "WorkOrder", "Estimate", "Asset", "User" }; List <int> tenantIds = new List <int> { assetOwnerTenantId, customerTenantId }; var allCtps = _crossTenantPermissionRepository.GetAllList(); bool clearCache = false; foreach (var entity in entities) { foreach (var tenantId in tenantIds) { int otherTenantId = (tenantId == tenantIds.Last()) ? tenantIds.First() : tenantIds.Last(); string tenantType = (tenantId == tenantIds.First()) ? "A" : "C"; var existingPermission = allCtps.Where(p => p.TenantId == tenantId && p.EntityType == entity).FirstOrDefault(); if (existingPermission != null) { var existingIds = existingPermission.Tenants.Split(',').ToList().Select(int.Parse).ToList(); if (!existingIds.Contains(otherTenantId)) { existingIds.Add(otherTenantId); var ctp = _crossTenantPermissionRepository.GetAll().Where(p => p.TenantId == tenantId && p.EntityType == entity).FirstOrDefault(); ctp.Tenants = string.Join(",", existingIds); _crossTenantPermissionRepository.Update(ctp); clearCache = true; } } else { CrossTenantPermission ctp = new CrossTenantPermission() { EntityType = entity, TenantId = tenantId, Tenants = otherTenantId.ToString(), TenantType = tenantType, TenantRefId = tenantId }; _crossTenantPermissionRepository.Insert(ctp); clearCache = true; } } } if (clearCache) { _cacheManager.GetCrossTenantPermissionCache().Clear(); } }