Esempio n. 1
0
        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
        }
        protected static FR_L5BL_GBIfBI_1159 Execute(DbConnection Connection, DbTransaction Transaction, P_L5BL_GBIfBI_1159 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var returnValue = new FR_L5BL_GBIfBI_1159();
            //Put your code here
            var building = new ORM_RES_BLD_Building();
            building.Load(Connection, Transaction, Parameter.BuildingID);
            if (building == null || building.RES_BLD_BuildingID == Guid.Empty)
            {
                return(null);
            }
            returnValue.Result = new L5BL_GBIfBI_1159();
            returnValue.Result.Building_BalconyPortionPercent        = building.Building_BalconyPortionPercent;
            returnValue.Result.Building_DocumentationStructure_RefID = building.Building_DocumentationStructure_RefID;
            returnValue.Result.Building_ElevatorCoveragePercent      = building.Building_ElevatorCoveragePercent;
            returnValue.Result.Building_Name = building.Building_Name;
            returnValue.Result.Building_NumberOfAppartments         = building.Building_NumberOfAppartments;
            returnValue.Result.Building_NumberOfOccupiedAppartments = building.Building_NumberOfOccupiedAppartments;
            returnValue.Result.Building_NumberOfFloors          = building.Building_NumberOfFloors;
            returnValue.Result.Building_NumberOfOffices         = building.Building_NumberOfOffices;
            returnValue.Result.Building_NumberOfOtherUnits      = building.Building_NumberOfOtherUnits;
            returnValue.Result.Building_NumberOfProductionUnits = building.Building_NumberOfProductionUnits;
            returnValue.Result.Building_NumberOfRetailUnits     = building.Building_NumberOfRetailUnits;
            returnValue.Result.BuildingRevisionHeader_RefID     = building.BuildingRevisionHeader_RefID;
            returnValue.Result.IsContaminationSuspected         = building.IsContaminationSuspected;
            returnValue.Result.RES_BLD_BuildingID = building.RES_BLD_BuildingID;
            ORM_RES_BLD_Building_2_BuildingType type = ORM_RES_BLD_Building_2_BuildingType.Query.Search(Connection, Transaction, new ORM_RES_BLD_Building_2_BuildingType.Query {
                RES_BLD_Building_RefID = building.RES_BLD_BuildingID, Tenant_RefID = securityTicket.TenantID, IsDeleted = false
            }).FirstOrDefault();
            if (type != null)
            {
                returnValue.Result.BuildingType_RefID = type.RES_BLD_Building_Type_RefID;
            }
            ORM_RES_BLD_Building_2_GarbageContainerType garbageType = ORM_RES_BLD_Building_2_GarbageContainerType.Query.Search(Connection, Transaction, new ORM_RES_BLD_Building_2_GarbageContainerType.Query {
                RES_BLD_Building_RefID = building.RES_BLD_BuildingID, Tenant_RefID = securityTicket.TenantID, IsDeleted = false
            }).FirstOrDefault();
            if (type != null)
            {
                returnValue.Result.GarbageContainerType_RefID = garbageType.RES_BLD_GarbageContainerType_RefID;
            }

            var apartments         = new List <L5BL_GBIfBI_1159_Apartment>();
            var basements          = new List <L5BL_GBIfBI_1159_Basement>();
            var attics             = new List <L5BL_GBIfBI_1159_Attic>();
            var outdoorFascilities = new List <L5BL_GBIfBI_1159_OutdoorFacility>();
            var facades            = new List <L5BL_GBIfBI_1159_Facade>();
            var HVACRs             = new List <L5BL_GBIfBI_1159_HVACR>();
            var staircases         = new List <L5BL_GBIfBI_1159_Staircase>();
            var roofs = new List <L5BL_GBIfBI_1159_Roof>();

            #region apartments
            var ormApartments = ORM_RES_BLD_Apartment.Query.Search(Connection, Transaction, new ORM_RES_BLD_Apartment.Query()
            {
                Tenant_RefID   = securityTicket.TenantID,
                IsDeleted      = false,
                Building_RefID = Parameter.BuildingID
            });

            foreach (var ormApartment in ormApartments)
            {
                var apt = new L5BL_GBIfBI_1159_Apartment()
                {
                    ApartmentSize_Unit_RefID    = ormApartment.ApartmentSize_Unit_RefID,
                    ApartmentSize_Value         = ormApartment.ApartmentSize_Value,
                    RES_BLD_ApartmentID         = ormApartment.RES_BLD_ApartmentID,
                    IsAppartment_ForRent        = ormApartment.IsAppartment_ForRent,
                    Appartment_HeatingType      = ormApartment.TypeOfHeating_RefID,
                    Appartment_FlooringType     = ormApartment.TypeOfFlooring_RefID,
                    Appartment_WallCoveringType = ormApartment.TypeOfWallCovering_RefID,
                    RES_BLD_Apartment_TypeID    = ORM_RES_BLD_Apartment_2_ApartmentType.Query.Search(Connection, Transaction, new ORM_RES_BLD_Apartment_2_ApartmentType.Query()
                    {
                        RES_BLD_Apartment_RefID = ormApartment.RES_BLD_ApartmentID,
                        IsDeleted    = false,
                        Tenant_RefID = securityTicket.TenantID
                    }).Select(a => a.RES_BLD_Apartment_Type_RefID).FirstOrDefault()
                };

                apartments.Add(apt);
            }
            #endregion


            #region attics
            var ormAttics = ORM_RES_BLD_Attic.Query.Search(Connection, Transaction, new ORM_RES_BLD_Attic.Query()
            {
                Tenant_RefID   = securityTicket.TenantID,
                IsDeleted      = false,
                Building_RefID = Parameter.BuildingID
            });

            foreach (var ormAttic in ormAttics)
            {
                var attic = new L5BL_GBIfBI_1159_Attic()
                {
                    RES_BLD_AtticID      = ormAttic.RES_BLD_AtticID,
                    RES_BLD_Attic_TypeID = ORM_RES_BLD_Attic_2_AtticType.Query.Search(Connection, Transaction, new ORM_RES_BLD_Attic_2_AtticType.Query()
                    {
                        RES_BLD_Attic_RefID = ormAttic.RES_BLD_AtticID,
                        IsDeleted           = false,
                        Tenant_RefID        = securityTicket.TenantID
                    }).Select(a => a.RES_BLD_Attic_Type_RefID).FirstOrDefault()
                };

                attics.Add(attic);
            }
            #endregion


            #region roofs
            var ormRoofs = ORM_RES_BLD_Roof.Query.Search(Connection, Transaction, new ORM_RES_BLD_Roof.Query()
            {
                Tenant_RefID   = securityTicket.TenantID,
                IsDeleted      = false,
                Building_RefID = Parameter.BuildingID
            });

            foreach (var ormRoof in ormRoofs)
            {
                var roof = new L5BL_GBIfBI_1159_Roof()
                {
                    RES_BLD_RoofID     = ormRoof.RES_BLD_RoofID,
                    RES_BLD_RoofTypeID = ORM_RES_BLD_Roof_2_RoofType.Query.Search(Connection, Transaction, new ORM_RES_BLD_Roof_2_RoofType.Query()
                    {
                        RES_BLD_Roof_RefID = ormRoof.RES_BLD_RoofID,
                        IsDeleted          = false,
                        Tenant_RefID       = securityTicket.TenantID
                    }).Select(r => r.RES_BLD_Roof_Type_RefID).FirstOrDefault()
                };

                roofs.Add(roof);
            }
            #endregion


            #region staircases
            var ormStaircases = ORM_RES_BLD_Staircase.Query.Search(Connection, Transaction, new ORM_RES_BLD_Staircase.Query()
            {
                Tenant_RefID   = securityTicket.TenantID,
                IsDeleted      = false,
                Building_RefID = Parameter.BuildingID
            });

            foreach (var ormStaircase in ormStaircases)
            {
                var staircase = new L5BL_GBIfBI_1159_Staircase()
                {
                    StaircaseSize_Unit_RefID = ormStaircase.StaircaseSize_Unit_RefID,
                    StaircaseSize_Value      = ormStaircase.StaircaseSize_Value,
                    RES_BLD_StaircaseID      = ormStaircase.RES_BLD_StaircaseID,
                    RES_BLD_Staircase_TypeID = ORM_RES_BLD_Staircase_2_StaircaseType.Query.Search(Connection, Transaction, new ORM_RES_BLD_Staircase_2_StaircaseType.Query()
                    {
                        RES_BLD_Staircase_RefID = ormStaircase.RES_BLD_StaircaseID,
                        IsDeleted    = false,
                        Tenant_RefID = securityTicket.TenantID
                    }).Select(s => s.RES_BLD_Staircase_Type_RefID).FirstOrDefault()
                };

                staircases.Add(staircase);
            }
            #endregion


            #region basements
            var ormBasements = ORM_RES_BLD_Basement.Query.Search(Connection, Transaction, new ORM_RES_BLD_Basement.Query()
            {
                Tenant_RefID   = securityTicket.TenantID,
                IsDeleted      = false,
                Building_RefID = Parameter.BuildingID
            });

            foreach (var ormBasement in ormBasements)
            {
                var basement = new L5BL_GBIfBI_1159_Basement()
                {
                    RES_BLD_BasementID      = ormBasement.RES_BLD_BasementID,
                    Basement_FloorType      = ormBasement.TypeOfFloor_RefID,
                    RES_BLD_Basement_TypeID = ORM_RES_BLD_Basement_2_BasementType.Query.Search(Connection, Transaction, new ORM_RES_BLD_Basement_2_BasementType.Query()
                    {
                        RES_BLD_Basement_RefID = ormBasement.RES_BLD_BasementID,
                        IsDeleted    = false,
                        Tenant_RefID = securityTicket.TenantID
                    }).Select(b => b.RES_BLD_Basement_Type_RefID).FirstOrDefault()
                };

                basements.Add(basement);
            }
            #endregion


            #region HVACRs
            var ormHVACRs = ORM_RES_BLD_HVACR.Query.Search(Connection, Transaction, new ORM_RES_BLD_HVACR.Query()
            {
                Tenant_RefID   = securityTicket.TenantID,
                IsDeleted      = false,
                Building_RefID = Parameter.BuildingID
            });

            foreach (var ormHVACR in ormHVACRs)
            {
                var hvacr = new L5BL_GBIfBI_1159_HVACR()
                {
                    RES_BLD_HVACRID      = ormHVACR.RES_BLD_HVACRID,
                    RES_BLD_HVACR_TypeID = ORM_RES_BLD_HVACR_2_HVACR_Type.Query.Search(Connection, Transaction, new ORM_RES_BLD_HVACR_2_HVACR_Type.Query()
                    {
                        RES_BLD_HVACR_RefID = ormHVACR.RES_BLD_HVACRID,
                        IsDeleted           = false,
                        Tenant_RefID        = securityTicket.TenantID
                    }).Select(h => h.RES_BLD_HVACR_Type_RefID).FirstOrDefault()
                };

                HVACRs.Add(hvacr);
            }
            #endregion


            #region facades
            var ormFacades = ORM_RES_BLD_Facade.Query.Search(Connection, Transaction, new ORM_RES_BLD_Facade.Query()
            {
                Tenant_RefID   = securityTicket.TenantID,
                IsDeleted      = false,
                Building_RefID = Parameter.BuildingID
            });

            foreach (var ormFacade in ormFacades)
            {
                var facade = new L5BL_GBIfBI_1159_Facade()
                {
                    RES_BLD_FacadeID      = ormFacade.RES_BLD_FacadeID,
                    RES_BLD_Facade_TypeID = ORM_RES_BLD_Facade_2_FacadeType.Query.Search(Connection, Transaction, new ORM_RES_BLD_Facade_2_FacadeType.Query()
                    {
                        RES_BLD_Facade_RefID = ormFacade.RES_BLD_FacadeID,
                        IsDeleted            = false,
                        Tenant_RefID         = securityTicket.TenantID
                    }).Select(f => f.RES_BLD_Facade_Type_RefID).FirstOrDefault()
                };

                facades.Add(facade);
            }
            #endregion



            #region outdoorFascilitys
            var ormOutdoorFascilitys = ORM_RES_BLD_OutdoorFacility.Query.Search(Connection, Transaction, new ORM_RES_BLD_OutdoorFacility.Query()
            {
                Tenant_RefID   = securityTicket.TenantID,
                IsDeleted      = false,
                Building_RefID = Parameter.BuildingID
            });

            foreach (var ormOutdoorFascility in ormOutdoorFascilitys)
            {
                var outdoorFascility = new L5BL_GBIfBI_1159_OutdoorFacility()
                {
                    RES_BLD_OutdoorFacilityID      = ormOutdoorFascility.RES_BLD_OutdoorFacilityID,
                    NumberOfGaragePlaces           = ormOutdoorFascility.NumberOfGaragePlaces,
                    NumberOfRentedGaragePlaces     = ormOutdoorFascility.NumberOfRentedGaragePlaces,
                    OutdoorFacility_AccessRoadType = ormOutdoorFascility.TypeOfAccessRoad_RefID,
                    OutdoorFacility_FenceType      = ormOutdoorFascility.TypeOfFence_RefID,
                    RES_BLD_OutdoorFacility_TypeID = ORM_RES_BLD_OutdoorFacility_2_OutdoorFacilityType.Query.Search(Connection, Transaction, new ORM_RES_BLD_OutdoorFacility_2_OutdoorFacilityType.Query()
                    {
                        RES_BLD_OutdoorFacility_RefID = ormOutdoorFascility.RES_BLD_OutdoorFacilityID,
                        IsDeleted    = false,
                        Tenant_RefID = securityTicket.TenantID
                    }).Select(o => o.RES_BLD_OutdoorFacility_Type_RefID).FirstOrDefault()
                };

                outdoorFascilities.Add(outdoorFascility);
            }
            #endregion

            returnValue.Result.Apartment       = apartments.ToArray();
            returnValue.Result.Attic           = attics.ToArray();
            returnValue.Result.Basement        = basements.ToArray();
            returnValue.Result.OutdoorFacility = outdoorFascilities.ToArray();
            returnValue.Result.Facade          = facades.ToArray();
            returnValue.Result.HVACR           = HVACRs.ToArray();
            returnValue.Result.Staircase       = staircases.ToArray();
            returnValue.Result.Roof            = roofs.ToArray();
            return(returnValue);

            #endregion UserCode
        }