protected static FR_L5DD_GRGFRP_1403_Array Execute(DbConnection Connection, DbTransaction Transaction, P_L5DD_GRGFRP_1403 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { //Leave UserCode region to enable user code saving #region UserCode var returnValue = new FR_L5DD_GRGFRP_1403_Array(); var retVal = new List <L5DD_GRGFRP_1403>(); L5DD_GRGFRP_1403 revisionGroupItem; //Put your code here #region Realestate ORM_RES_RealestateProperty realestateProperty = new ORM_RES_RealestateProperty(); if (Parameter.RealestatePropertyID != Guid.Empty) { var realestatePropertyResult = realestateProperty.Load(Connection, Transaction, Parameter.RealestatePropertyID); if (realestatePropertyResult.Status != FR_Status.Success || realestateProperty.RES_RealestatePropertyID == Guid.Empty) { return(null); } } #endregion #region Address ORM_CMN_Address address = new ORM_CMN_Address(); ORM_CMN_LOC_Location location = new ORM_CMN_LOC_Location(); var locationResult = location.Load(Connection, Transaction, realestateProperty.RealestateProperty_Location_RefID); if (locationResult.Status == FR_Status.Success && location.CMN_LOC_LocationID != Guid.Empty) { var addressResult = address.Load(Connection, Transaction, location.Address_RefID); if (locationResult.Status != FR_Status.Success || location.CMN_LOC_LocationID == Guid.Empty) { address = null; } } #endregion #region Revision groups for realestrate ORM_RES_DUD_RevisionGroup.Query revisionGroupQuery = new ORM_RES_DUD_RevisionGroup.Query(); revisionGroupQuery.Tenant_RefID = securityTicket.TenantID; revisionGroupQuery.IsDeleted = false; revisionGroupQuery.RealestateProperty_RefID = realestateProperty.RES_RealestatePropertyID; List <ORM_RES_DUD_RevisionGroup> revisionGroupList = ORM_RES_DUD_RevisionGroup.Query.Search(Connection, Transaction, revisionGroupQuery); #endregion #region Buildings for realestate ORM_RES_BLD_Building_RevisionHeader.Query revisionHeaderQuery = new ORM_RES_BLD_Building_RevisionHeader.Query(); revisionHeaderQuery.Tenant_RefID = securityTicket.TenantID; revisionHeaderQuery.IsDeleted = false; revisionHeaderQuery.RealestateProperty_RefID = realestateProperty.RES_RealestatePropertyID; ORM_RES_BLD_Building_RevisionHeader revisionHeader = ORM_RES_BLD_Building_RevisionHeader.Query.Search(Connection, Transaction, revisionHeaderQuery).FirstOrDefault(); List <ORM_RES_BLD_Building> buildings = new List <ORM_RES_BLD_Building>(); List <ORM_RES_DUD_Revision> revisions = new List <ORM_RES_DUD_Revision>(); List <ORM_RES_BLD_Building_2_BuildingType> buildingTypes = new List <ORM_RES_BLD_Building_2_BuildingType>(); List <ORM_RES_BLD_Building_2_GarbageContainerType> buildingGarbageContainerType = new List <ORM_RES_BLD_Building_2_GarbageContainerType>(); if (revisionHeader != null) { ORM_RES_BLD_Building.Query buildingQuery = new ORM_RES_BLD_Building.Query(); buildingQuery.Tenant_RefID = securityTicket.TenantID; buildingQuery.IsDeleted = false; buildingQuery.BuildingRevisionHeader_RefID = revisionHeader.RES_BLD_Building_RevisionHeaderID; buildings = ORM_RES_BLD_Building.Query.Search(Connection, Transaction, buildingQuery); if (buildings == null) { buildings = new List <ORM_RES_BLD_Building>(); } #region revisions and building types for every building foreach (var buildingItem in buildings) { ORM_RES_DUD_Revision.Query revisionQuery = new ORM_RES_DUD_Revision.Query(); revisionQuery.Tenant_RefID = securityTicket.TenantID; revisionQuery.IsDeleted = false; revisionQuery.RES_BLD_Building_RefID = buildingItem.RES_BLD_BuildingID; revisions.AddRange(ORM_RES_DUD_Revision.Query.Search(Connection, Transaction, revisionQuery)); ORM_RES_BLD_Building_2_BuildingType.Query buildingTypeQuery = new ORM_RES_BLD_Building_2_BuildingType.Query(); buildingTypeQuery.Tenant_RefID = securityTicket.TenantID; buildingTypeQuery.IsDeleted = false; buildingTypeQuery.RES_BLD_Building_RefID = buildingItem.RES_BLD_BuildingID; buildingTypes.AddRange(ORM_RES_BLD_Building_2_BuildingType.Query.Search(Connection, Transaction, buildingTypeQuery)); ORM_RES_BLD_Building_2_GarbageContainerType.Query buildingGarbageContainerTypeQuery = new ORM_RES_BLD_Building_2_GarbageContainerType.Query(); buildingGarbageContainerTypeQuery.Tenant_RefID = securityTicket.TenantID; buildingGarbageContainerTypeQuery.IsDeleted = false; buildingGarbageContainerTypeQuery.RES_BLD_Building_RefID = buildingItem.RES_BLD_BuildingID; buildingGarbageContainerType.AddRange(ORM_RES_BLD_Building_2_GarbageContainerType.Query.Search(Connection, Transaction, buildingGarbageContainerTypeQuery)); } #endregion } #endregion #region Revision groups List <L5DD_GRGFRP_1403_Buildings> buildingsResult; L5DD_GRGFRP_1403_Buildings buildingResult; foreach (var revisionGroup in revisionGroupList) { revisionGroupItem = new L5DD_GRGFRP_1403(); revisionGroupItem.RES_DUD_Revision_GroupID = revisionGroup.RES_DUD_Revision_GroupID; revisionGroupItem.RevisionGroup_Name = revisionGroup.RevisionGroup_Name; revisionGroupItem.RevisionGroup_SubmittedBy_Account_RefID = revisionGroup.RevisionGroup_SubmittedBy_Account_RefID; revisionGroupItem.Creation_Timestamp = revisionGroup.Creation_Timestamp; revisionGroupItem.Tenant_RefID = revisionGroup.Tenant_RefID; revisionGroupItem.IsDeleted = revisionGroup.IsDeleted; revisionGroupItem.RealestateProperty_RefID = revisionGroup.RealestateProperty_RefID; revisionGroupItem.RevisionGroup_Comment = revisionGroup.RevisionGroup_Comment; #region Person info ORM_CMN_PER_PersonInfo personInfo = new ORM_CMN_PER_PersonInfo(); ORM_CMN_PER_PersonInfo_2_Account.Query personInfoAccountQuery = new ORM_CMN_PER_PersonInfo_2_Account.Query(); personInfoAccountQuery.Tenant_RefID = securityTicket.TenantID; personInfoAccountQuery.IsDeleted = false; personInfoAccountQuery.USR_Account_RefID = revisionGroup.RevisionGroup_SubmittedBy_Account_RefID; ORM_CMN_PER_PersonInfo_2_Account account = ORM_CMN_PER_PersonInfo_2_Account.Query.Search(Connection, Transaction, personInfoAccountQuery).FirstOrDefault(); if (account != null) { var personInfoResult = personInfo.Load(Connection, Transaction, account.CMN_PER_PersonInfo_RefID); if (personInfoResult.Status == FR_Status.Success && personInfo.CMN_PER_PersonInfoID != Guid.Empty) { revisionGroupItem.FirstName = personInfo.FirstName; revisionGroupItem.LastName = personInfo.LastName; } } #endregion #region set address info if (address != null) { revisionGroupItem.Country_Name = address.Country_Name; revisionGroupItem.City_Region = address.City_Region; revisionGroupItem.City_PostalCode = address.City_PostalCode; revisionGroupItem.City_Name = address.City_Name; revisionGroupItem.Street_Name = address.Street_Name; revisionGroupItem.Street_Number = address.Street_Number; } #endregion #region set building info buildingsResult = new List <L5DD_GRGFRP_1403_Buildings>(); // get revisions for revision group var revisionsForRetVal = revisions.Where(i => i.RevisionGroup_RefID == revisionGroup.RES_DUD_Revision_GroupID).ToList(); ORM_RES_DUD_Revision revisionForBuildingID; // get buildings for list of revision List <ORM_RES_BLD_Building> buildingForRetVal = new List <ORM_RES_BLD_Building>(); buildingForRetVal.AddRange(buildings.Where(i => revisionsForRetVal.Any(j => j.RES_BLD_Building_RefID == i.RES_BLD_BuildingID)).ToList()); foreach (var buildingForRetValItem in buildingForRetVal) { revisionForBuildingID = revisionsForRetVal.FirstOrDefault(i => i.RES_BLD_Building_RefID == buildingForRetValItem.RES_BLD_BuildingID); buildingResult = new L5DD_GRGFRP_1403_Buildings(); buildingResult.Building_Name = buildingForRetValItem.Building_Name; buildingResult.RES_BLD_BuildingID = buildingForRetValItem.RES_BLD_BuildingID; buildingResult.RES_DUD_RevisionID = revisionForBuildingID.RES_DUD_RevisionID; buildingResult.QuestionnaireVersion_RefID = revisionForBuildingID.QuestionnaireVersion_RefID; buildingResult.RES_BLD_Building_Type_RefID = buildingTypes.FirstOrDefault(i => i.RES_BLD_Building_RefID == buildingForRetValItem.RES_BLD_BuildingID).RES_BLD_Building_Type_RefID; buildingResult.RES_BLD_GarbageContainerType_RefID = buildingGarbageContainerType.FirstOrDefault(i => i.RES_BLD_Building_RefID == buildingForRetValItem.RES_BLD_BuildingID).RES_BLD_GarbageContainerType_RefID; buildingsResult.Add(buildingResult); } #endregion revisionGroupItem.Buildings = buildingsResult.ToArray(); retVal.Add(revisionGroupItem); } #endregion returnValue.Result = retVal.ToArray(); return(returnValue); #endregion UserCode }
protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L5BD_SB_1359 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_Guid(); bool editedVersion = false; ORM_RES_BLD_Building building = new ORM_RES_BLD_Building(); if (Parameter.RES_BLD_BuildingID != Guid.Empty) { var result = building.Load(Connection, Transaction, Parameter.RES_BLD_BuildingID); if (result.Status != FR_Status.Success || building.RES_BLD_BuildingID == Guid.Empty) { var error = new FR_Guid(); error.ErrorMessage = "No Such ID"; error.Status = FR_Status.Error_Internal; return(error); } List <ORM_RES_DUD_Revision> revisions = new List <ORM_RES_DUD_Revision>(); revisions = ORM_RES_DUD_Revision.Query.Search(Connection, Transaction, new ORM_RES_DUD_Revision.Query() { RES_BLD_Building_RefID = Parameter.RES_BLD_BuildingID, Tenant_RefID = securityTicket.TenantID, IsDeleted = false }); if (revisions.Count > 0) { //building is connected to revision. create new with same properties if IsBuildingForEdit returns 0. if (IsBuildingForEdit(Connection, Transaction, Parameter, building, securityTicket) == 0) { building = new ORM_RES_BLD_Building(); editedVersion = true; } else { var noEdit = new FR_Guid(); noEdit.ErrorMessage = "No need to be edited."; noEdit.Status = FR_Status.Success; return(noEdit); } } } if (building.BuildingRevisionHeader_RefID == Guid.Empty) { ORM_RES_BLD_Building_RevisionHeader revisionHeader = new ORM_RES_BLD_Building_RevisionHeader(); revisionHeader.RES_BLD_Building_RevisionHeaderID = Guid.NewGuid(); revisionHeader.CurrentBuildingVersion_RefID = building.RES_BLD_BuildingID; revisionHeader.RealestateProperty_RefID = Parameter.RealestatePropertyID; revisionHeader.Tenant_RefID = securityTicket.TenantID; revisionHeader.Save(Connection, Transaction); building.BuildingRevisionHeader_RefID = revisionHeader.RES_BLD_Building_RevisionHeaderID; ORM_DOC_Structure_Header structureHeader = new ORM_DOC_Structure_Header(); structureHeader.Save(Connection, Transaction); building.Building_DocumentationStructure_RefID = structureHeader.DOC_Structure_HeaderID; } building.Building_BalconyPortionPercent = Parameter.Building_BalconyPortionPercent; //if building is connected with revision, copied building has to have different name. building.Building_Name = editedVersion ? Parameter.Building_Name + " edit" : Parameter.Building_Name; building.IsContaminationSuspected = Parameter.IsContaminationSuspected; building.Building_NumberOfFloors = Parameter.Building_NumberOfFloors; building.Building_ElevatorCoveragePercent = Parameter.Building_ElevatorCoveragePercent; building.Building_NumberOfAppartments = Parameter.Building_NumberOfAppartments; building.Building_NumberOfOccupiedAppartments = Parameter.Building_NumberOfOccupiedAppartments; building.Building_NumberOfOffices = Parameter.Building_NumberOfOffices; building.Building_NumberOfRetailUnits = Parameter.Building_NumberOfRetailUnits; building.Building_NumberOfProductionUnits = Parameter.Building_NumberOfProductionUnits; building.Building_NumberOfOtherUnits = Parameter.Building_NumberOfOtherUnits; building.Tenant_RefID = securityTicket.TenantID; building.Save(Connection, Transaction); ORM_RES_BLD_Building_2_GarbageContainerType.Query build2GarbQuery = new ORM_RES_BLD_Building_2_GarbageContainerType.Query(); build2GarbQuery.RES_BLD_Building_RefID = building.RES_BLD_BuildingID; build2GarbQuery.Tenant_RefID = securityTicket.TenantID; List <ORM_RES_BLD_Building_2_GarbageContainerType> buildingsToGarbage = ORM_RES_BLD_Building_2_GarbageContainerType.Query.Search(Connection, Transaction, build2GarbQuery); if (buildingsToGarbage.Count != 0) { ORM_RES_BLD_Building_2_GarbageContainerType garbage = buildingsToGarbage[0]; garbage.RES_BLD_GarbageContainerType_RefID = Parameter.RES_BLD_GarbageContainerTypeID; garbage.Save(Connection, Transaction); } else { ORM_RES_BLD_Building_2_GarbageContainerType garbage = new ORM_RES_BLD_Building_2_GarbageContainerType(); garbage.RES_BLD_GarbageContainerType_RefID = Parameter.RES_BLD_GarbageContainerTypeID; garbage.RES_BLD_Building_RefID = building.RES_BLD_BuildingID; garbage.Tenant_RefID = securityTicket.TenantID; garbage.Save(Connection, Transaction); } ORM_RES_BLD_Building_2_BuildingType.Query buildTypeQuery = new ORM_RES_BLD_Building_2_BuildingType.Query(); buildTypeQuery.RES_BLD_Building_RefID = building.RES_BLD_BuildingID; buildTypeQuery.Tenant_RefID = securityTicket.TenantID; List <ORM_RES_BLD_Building_2_BuildingType> buildingsType = ORM_RES_BLD_Building_2_BuildingType.Query.Search(Connection, Transaction, buildTypeQuery); if (buildingsType.Count != 0) { ORM_RES_BLD_Building_2_BuildingType buildingType = buildingsType[0]; buildingType.RES_BLD_Building_Type_RefID = Parameter.RES_BLD_Building_TypeID; buildingType.RES_BLD_Building_RefID = building.RES_BLD_BuildingID; buildingType.Save(Connection, Transaction); } else { ORM_RES_BLD_Building_2_BuildingType buildingType = new ORM_RES_BLD_Building_2_BuildingType(); buildingType.RES_BLD_Building_RefID = building.RES_BLD_BuildingID; buildingType.RES_BLD_Building_Type_RefID = Parameter.RES_BLD_Building_TypeID; buildingType.Tenant_RefID = securityTicket.TenantID; buildingType.Save(Connection, Transaction); } if (Parameter.RES_BLD_BuildingID == Guid.Empty || editedVersion) { for (int i = 0; i < Parameter.AppartmentCount; i++) { ORM_RES_BLD_Apartment newAppartment = new ORM_RES_BLD_Apartment(); newAppartment.Building_RefID = building.RES_BLD_BuildingID; newAppartment.Tenant_RefID = securityTicket.TenantID; newAppartment.Save(Connection, Transaction); } for (int i = 0; i < Parameter.staircasesCount; i++) { ORM_RES_BLD_Staircase newStaircase = new ORM_RES_BLD_Staircase(); newStaircase.Building_RefID = building.RES_BLD_BuildingID; newStaircase.Tenant_RefID = securityTicket.TenantID; newStaircase.Save(Connection, Transaction); } for (int i = 0; i < Parameter.outdoorfacilitiesCount; i++) { ORM_RES_BLD_OutdoorFacility newOutdoorfacility = new ORM_RES_BLD_OutdoorFacility(); newOutdoorfacility.Building_RefID = building.RES_BLD_BuildingID; newOutdoorfacility.Tenant_RefID = securityTicket.TenantID; newOutdoorfacility.Save(Connection, Transaction); } for (int i = 0; i < Parameter.facadesCount; i++) { ORM_RES_BLD_Facade newFacade = new ORM_RES_BLD_Facade(); newFacade.Building_RefID = building.RES_BLD_BuildingID; newFacade.Tenant_RefID = securityTicket.TenantID; newFacade.Save(Connection, Transaction); } for (int i = 0; i < Parameter.roofCount; i++) { ORM_RES_BLD_Roof newRoof = new ORM_RES_BLD_Roof(); newRoof.Building_RefID = building.RES_BLD_BuildingID; newRoof.Tenant_RefID = securityTicket.TenantID; newRoof.Save(Connection, Transaction); } for (int i = 0; i < Parameter.atticsCount; i++) { ORM_RES_BLD_Attic newAttic = new ORM_RES_BLD_Attic(); newAttic.Building_RefID = building.RES_BLD_BuildingID; newAttic.Tenant_RefID = securityTicket.TenantID; newAttic.Save(Connection, Transaction); } for (int i = 0; i < Parameter.basementsCount; i++) { ORM_RES_BLD_Basement newBasement = new ORM_RES_BLD_Basement(); newBasement.Building_RefID = building.RES_BLD_BuildingID; newBasement.Tenant_RefID = securityTicket.TenantID; newBasement.Save(Connection, Transaction); } for (int i = 0; i < Parameter.hvarcsCount; i++) { ORM_RES_BLD_HVACR newHvacr = new ORM_RES_BLD_HVACR(); newHvacr.Building_RefID = building.RES_BLD_BuildingID; newHvacr.Tenant_RefID = securityTicket.TenantID; newHvacr.Save(Connection, Transaction); } } else { ORM_RES_BLD_Apartment.Query appartmentQuery = new ORM_RES_BLD_Apartment.Query(); appartmentQuery.Building_RefID = Parameter.RES_BLD_BuildingID; appartmentQuery.Tenant_RefID = securityTicket.TenantID; appartmentQuery.IsDeleted = false; List <ORM_RES_BLD_Apartment> appartmentList = ORM_RES_BLD_Apartment.Query.Search(Connection, Transaction, appartmentQuery); if (appartmentList.Count > Parameter.AppartmentCount) { int counts = appartmentList.Count - Parameter.AppartmentCount; for (int i = 0; i < counts; i++) { ORM_RES_BLD_Apartment deleteAppartment = appartmentList[i]; deleteAppartment.Remove(Connection, Transaction); } } else if (appartmentList.Count < Parameter.AppartmentCount) { int counts = Parameter.AppartmentCount - appartmentList.Count; for (int i = 0; i < counts; i++) { ORM_RES_BLD_Apartment newAppartment = new ORM_RES_BLD_Apartment(); newAppartment.Building_RefID = Parameter.RES_BLD_BuildingID; newAppartment.Tenant_RefID = securityTicket.TenantID; newAppartment.Save(Connection, Transaction); } } ORM_RES_BLD_OutdoorFacility.Query outdoorfacilitiesQuery = new ORM_RES_BLD_OutdoorFacility.Query(); outdoorfacilitiesQuery.Building_RefID = Parameter.RES_BLD_BuildingID; outdoorfacilitiesQuery.Tenant_RefID = securityTicket.TenantID; outdoorfacilitiesQuery.IsDeleted = false; List <ORM_RES_BLD_OutdoorFacility> outdoorfacilitiesList = ORM_RES_BLD_OutdoorFacility.Query.Search(Connection, Transaction, outdoorfacilitiesQuery); if (outdoorfacilitiesList.Count > Parameter.outdoorfacilitiesCount) { int counts = outdoorfacilitiesList.Count - Parameter.outdoorfacilitiesCount; for (int i = 0; i < counts; i++) { ORM_RES_BLD_OutdoorFacility deleteOutdoor = outdoorfacilitiesList[i]; deleteOutdoor.Remove(Connection, Transaction); } } else if (outdoorfacilitiesList.Count < Parameter.outdoorfacilitiesCount) { int counts = Parameter.outdoorfacilitiesCount - outdoorfacilitiesList.Count; for (int i = 0; i < counts; i++) { ORM_RES_BLD_OutdoorFacility newOutdoorFacility = new ORM_RES_BLD_OutdoorFacility(); newOutdoorFacility.Building_RefID = building.RES_BLD_BuildingID; newOutdoorFacility.Tenant_RefID = securityTicket.TenantID; newOutdoorFacility.Save(Connection, Transaction); } } ORM_RES_BLD_Staircase.Query staircaseQuery = new ORM_RES_BLD_Staircase.Query(); staircaseQuery.Building_RefID = Parameter.RES_BLD_BuildingID; staircaseQuery.Tenant_RefID = securityTicket.TenantID; staircaseQuery.IsDeleted = false; List <ORM_RES_BLD_Staircase> staircaseList = ORM_RES_BLD_Staircase.Query.Search(Connection, Transaction, staircaseQuery); if (staircaseList.Count > Parameter.staircasesCount) { int counts = staircaseList.Count - Parameter.staircasesCount; for (int i = 0; i < counts; i++) { ORM_RES_BLD_Staircase deleteStaircase = staircaseList[i]; deleteStaircase.Remove(Connection, Transaction); } } else if (staircaseList.Count < Parameter.staircasesCount) { int counts = Parameter.staircasesCount - staircaseList.Count; for (int i = 0; i < counts; i++) { ORM_RES_BLD_Staircase newStaircase = new ORM_RES_BLD_Staircase(); newStaircase.Building_RefID = building.RES_BLD_BuildingID; newStaircase.Tenant_RefID = securityTicket.TenantID; newStaircase.Save(Connection, Transaction); } } ORM_RES_BLD_Facade.Query facadesQuery = new ORM_RES_BLD_Facade.Query(); facadesQuery.Building_RefID = Parameter.RES_BLD_BuildingID; facadesQuery.Tenant_RefID = securityTicket.TenantID; facadesQuery.IsDeleted = false; List <ORM_RES_BLD_Facade> facadesList = ORM_RES_BLD_Facade.Query.Search(Connection, Transaction, facadesQuery); if (facadesList.Count > Parameter.facadesCount) { int counts = facadesList.Count - Parameter.facadesCount; for (int i = 0; i < counts; i++) { ORM_RES_BLD_Facade deleteFacade = facadesList[i]; deleteFacade.Remove(Connection, Transaction); } } else if (facadesList.Count < Parameter.facadesCount) { int counts = Parameter.facadesCount - facadesList.Count; for (int i = 0; i < counts; i++) { ORM_RES_BLD_Facade newFacade = new ORM_RES_BLD_Facade(); newFacade.Building_RefID = building.RES_BLD_BuildingID; newFacade.Tenant_RefID = securityTicket.TenantID; newFacade.Save(Connection, Transaction); } } ORM_RES_BLD_Roof.Query roofQuery = new ORM_RES_BLD_Roof.Query(); roofQuery.Building_RefID = Parameter.RES_BLD_BuildingID; roofQuery.Tenant_RefID = securityTicket.TenantID; roofQuery.IsDeleted = false; List <ORM_RES_BLD_Roof> roofList = ORM_RES_BLD_Roof.Query.Search(Connection, Transaction, roofQuery); if (roofList.Count > Parameter.roofCount) { int counts = roofList.Count - Parameter.roofCount; for (int i = 0; i < counts; i++) { ORM_RES_BLD_Roof deleteRoof = roofList[i]; deleteRoof.Remove(Connection, Transaction); } } else if (roofList.Count < Parameter.roofCount) { int counts = Parameter.roofCount - roofList.Count; for (int i = 0; i < counts; i++) { ORM_RES_BLD_Roof newRoof = new ORM_RES_BLD_Roof(); newRoof.Building_RefID = building.RES_BLD_BuildingID; newRoof.Tenant_RefID = securityTicket.TenantID; newRoof.Save(Connection, Transaction); } } ORM_RES_BLD_Attic.Query atticsQuery = new ORM_RES_BLD_Attic.Query(); atticsQuery.Building_RefID = Parameter.RES_BLD_BuildingID; atticsQuery.Tenant_RefID = securityTicket.TenantID; atticsQuery.IsDeleted = false; List <ORM_RES_BLD_Attic> atticsList = ORM_RES_BLD_Attic.Query.Search(Connection, Transaction, atticsQuery); if (atticsList.Count > Parameter.atticsCount) { int counts = atticsList.Count - Parameter.atticsCount; for (int i = 0; i < counts; i++) { ORM_RES_BLD_Attic deleteAttic = atticsList[i]; deleteAttic.Remove(Connection, Transaction); } } else if (atticsList.Count < Parameter.atticsCount) { int counts = Parameter.atticsCount - atticsList.Count; for (int i = 0; i < counts; i++) { ORM_RES_BLD_Attic newAttic = new ORM_RES_BLD_Attic(); newAttic.Building_RefID = building.RES_BLD_BuildingID; newAttic.Tenant_RefID = securityTicket.TenantID; newAttic.Save(Connection, Transaction); } } ORM_RES_BLD_Basement.Query basementQuery = new ORM_RES_BLD_Basement.Query(); basementQuery.Building_RefID = Parameter.RES_BLD_BuildingID; basementQuery.Tenant_RefID = securityTicket.TenantID; basementQuery.IsDeleted = false; List <ORM_RES_BLD_Basement> basementList = ORM_RES_BLD_Basement.Query.Search(Connection, Transaction, basementQuery); if (basementList.Count > Parameter.basementsCount) { int counts = basementList.Count - Parameter.basementsCount; for (int i = 0; i < counts; i++) { ORM_RES_BLD_Basement deleteBasement = basementList[i]; deleteBasement.Remove(Connection, Transaction); } } else if (basementList.Count < Parameter.basementsCount) { int counts = Parameter.basementsCount - basementList.Count; for (int i = 0; i < counts; i++) { ORM_RES_BLD_Basement newBasement = new ORM_RES_BLD_Basement(); newBasement.Building_RefID = building.RES_BLD_BuildingID; newBasement.Tenant_RefID = securityTicket.TenantID; newBasement.Save(Connection, Transaction); } } ORM_RES_BLD_HVACR.Query hvacrQuery = new ORM_RES_BLD_HVACR.Query(); hvacrQuery.Building_RefID = Parameter.RES_BLD_BuildingID; hvacrQuery.Tenant_RefID = securityTicket.TenantID; hvacrQuery.IsDeleted = false; List <ORM_RES_BLD_HVACR> hvacrList = ORM_RES_BLD_HVACR.Query.Search(Connection, Transaction, hvacrQuery); if (hvacrList.Count > Parameter.hvarcsCount) { int counts = hvacrList.Count - Parameter.hvarcsCount; for (int i = 0; i < counts; i++) { ORM_RES_BLD_HVACR deleteHvacr = hvacrList[i]; deleteHvacr.Remove(Connection, Transaction); } } else if (hvacrList.Count < Parameter.hvarcsCount) { int counts = Parameter.hvarcsCount - hvacrList.Count; for (int i = 0; i < counts; i++) { ORM_RES_BLD_HVACR newHvacr = new ORM_RES_BLD_HVACR(); newHvacr.Building_RefID = building.RES_BLD_BuildingID; newHvacr.Tenant_RefID = securityTicket.TenantID; newHvacr.Save(Connection, Transaction); } } } returnValue.Result = building.RES_BLD_BuildingID; //Put your code here return(returnValue); #endregion UserCode }