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_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L5OM_SM_0951 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_Guid(); var doctorQuery = new ORM_HEC_Doctor.Query(); doctorQuery.HEC_DoctorID = Parameter.Doctor_ID; var doctor = ORM_HEC_Doctor.Query.Search(Connection, Transaction, doctorQuery).First(); var practicesQuery = new ORM_HEC_MedicalPractis.Query(); practicesQuery.HEC_MedicalPractiseID = Parameter.Practice_ID; var practices = ORM_HEC_MedicalPractis.Query.Search(Connection, Transaction, practicesQuery).First(); var companyInfoQuery = new ORM_CMN_COM_CompanyInfo.Query(); companyInfoQuery.CMN_COM_CompanyInfoID = practices.Ext_CompanyInfo_RefID; var companyInfo = ORM_CMN_COM_CompanyInfo.Query.Search(Connection, Transaction, companyInfoQuery).First(); var bParticipantQuery = new ORM_CMN_BPT_BusinessParticipant.Query(); bParticipantQuery.IfCompany_CMN_COM_CompanyInfo_RefID = companyInfo.CMN_COM_CompanyInfoID; var practice_bParticipant = ORM_CMN_BPT_BusinessParticipant.Query.Search(Connection, Transaction, bParticipantQuery).FirstOrDefault(); ORM_CMN_BPT_Memo memo = new ORM_CMN_BPT_Memo(); if (Parameter.CMN_BPT_MemoID != Guid.Empty) { var result = memo.Load(Connection, Transaction, Parameter.CMN_BPT_MemoID); if (result.Status != FR_Status.Success || memo.CMN_BPT_MemoID == Guid.Empty) { var error = new FR_Guid(); error.ErrorMessage = "No Such ID"; error.Status = FR_Status.Error_Internal; return(error); } memo.UpdatedBy_Account_RefID = securityTicket.AccountID; memo.UpdatedOn = Parameter.Creation_Timestamp; } else { ORM_DOC_Structure_Header docHeader = new ORM_DOC_Structure_Header(); docHeader.Label = Parameter.Memo_Abbreviation + "_Header_Label"; docHeader.Tenant_RefID = securityTicket.TenantID; docHeader.Save(Connection, Transaction); ORM_DOC_Structure docStructure = new ORM_DOC_Structure(); docStructure.Label = Parameter.Memo_Abbreviation + "_Structure"; docStructure.Tenant_RefID = securityTicket.TenantID; docStructure.Structure_Header_RefID = docHeader.DOC_Structure_HeaderID; docStructure.Save(Connection, Transaction); memo.DocumentStructureHeader_RefID = docHeader.DOC_Structure_HeaderID; memo.CreatedBy_Account_RefID = securityTicket.AccountID; memo.Creation_Timestamp = Parameter.Creation_Timestamp; memo.UpdatedOn = memo.Creation_Timestamp; } memo.Memo_Text = Parameter.Memo_Text; memo.Memo_Title = Parameter.Memo_Title; memo.Memo_Abbreviation = Parameter.Memo_Abbreviation; memo.Tenant_RefID = securityTicket.TenantID; memo.Save(Connection, Transaction); if (Parameter.AdditionalFields != null) { foreach (var AdditionalField in Parameter.AdditionalFields) { ORM_CMN_BPT_Memo_AdditionalField addFieldItem = new ORM_CMN_BPT_Memo_AdditionalField(); if (AdditionalField.CMN_BPT_Memo_AdditionalFieldID != Guid.Empty) { var result = addFieldItem.Load(Connection, Transaction, AdditionalField.CMN_BPT_Memo_AdditionalFieldID); if (result.Status != FR_Status.Success || addFieldItem.CMN_BPT_Memo_AdditionalFieldID == Guid.Empty) { var error = new FR_Guid(); error.ErrorMessage = "No Such ID"; error.Status = FR_Status.Error_Internal; return(error); } } addFieldItem.Memo_RefID = memo.CMN_BPT_MemoID; addFieldItem.Field_Key = AdditionalField.Field_Key; addFieldItem.Field_Value = AdditionalField.Field_Value; addFieldItem.Tenant_RefID = securityTicket.TenantID; addFieldItem.Save(Connection, Transaction); } } var memo2DocQuery = new ORM_CMN_BPT_Memo_RelatedParticipant.Query(); memo2DocQuery.CMN_BPT_Memo_RefID = memo.CMN_BPT_MemoID; memo2DocQuery.CMN_BPT_Memo_RelatedParticipantID = doctor.BusinessParticipant_RefID; var memo2DocQueryRes = ORM_CMN_BPT_Memo_RelatedParticipant.Query.Search(Connection, Transaction, memo2DocQuery).FirstOrDefault(); ORM_CMN_BPT_Memo_RelatedParticipant memo2Doc; if (memo2DocQueryRes != null) { memo2Doc = memo2DocQueryRes; } else { memo2Doc = new ORM_CMN_BPT_Memo_RelatedParticipant(); memo2Doc.CMN_BPT_Memo_RelatedParticipantID = Guid.NewGuid(); } memo2Doc.Tenant_RefID = securityTicket.TenantID; memo2Doc.CMN_BPT_Memo_RefID = memo.CMN_BPT_MemoID; memo2Doc.CMN_BPT_BusinessParticipant_RefID = doctor.BusinessParticipant_RefID; memo2Doc.Save(Connection, Transaction); var memo2PracticeQuery = new ORM_CMN_BPT_Memo_RelatedParticipant.Query(); memo2DocQuery.CMN_BPT_Memo_RefID = memo.CMN_BPT_MemoID; memo2DocQuery.CMN_BPT_Memo_RelatedParticipantID = practice_bParticipant.CMN_BPT_BusinessParticipantID; var memo2PracticeQueryRes = ORM_CMN_BPT_Memo_RelatedParticipant.Query.Search(Connection, Transaction, memo2DocQuery).FirstOrDefault(); ORM_CMN_BPT_Memo_RelatedParticipant memo2Practice; if (memo2DocQueryRes != null) { memo2Practice = memo2DocQueryRes; } else { memo2Practice = new ORM_CMN_BPT_Memo_RelatedParticipant(); memo2Practice.CMN_BPT_Memo_RelatedParticipantID = Guid.NewGuid(); } memo2Practice.Tenant_RefID = securityTicket.TenantID; memo2Practice.CMN_BPT_Memo_RefID = memo.CMN_BPT_MemoID; memo2Practice.CMN_BPT_BusinessParticipant_RefID = practice_bParticipant.CMN_BPT_BusinessParticipantID; memo2Practice.Save(Connection, Transaction); returnValue.Result = memo.CMN_BPT_MemoID; return(returnValue); #endregion UserCode }
protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L5PR_SP_1614 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_Guid(); var languageQuery = new ORM_CMN_Language.Query(); languageQuery.Tenant_RefID = securityTicket.TenantID; languageQuery.IsDeleted = false; var languages = ORM_CMN_Language.Query.Search(Connection, Transaction, languageQuery); var product = new ORM_CMN_PRO_Product(); if (Parameter.ProductID == Guid.Empty) { #region ORM_CMN_PRO_Product product = new ORM_CMN_PRO_Product(); product.CMN_PRO_ProductID = Guid.NewGuid(); product.ProductITL = String.Empty; product.IsCustomizable = Parameter.IsCustomizable; product.IsProduct_Article = true; product.IsProductAvailableForOrdering = true; product.IsImportedFromExternalCatalog = false; product.IsProductForInternalDistributionOnly = Parameter.IsProductForInternalDistribution; if (Parameter.CatalogRefID != null && Parameter.CatalogRefID != Guid.Empty) { product.IfImportedFromExternalCatalog_CatalogSubscription_RefID = Parameter.CatalogRefID; } product.Product_Name = new Dict(ORM_CMN_PRO_Product.TableName); product.Product_Description = new Dict(ORM_CMN_PRO_Product.TableName); product.PackageInfo_RefID = Guid.NewGuid(); product.Creation_Timestamp = DateTime.Now; product.Tenant_RefID = securityTicket.TenantID; product.IsDeleted = Parameter.IsDeleted; product.Save(Connection, Transaction); #endregion } else { product.Load(Connection, Transaction, Parameter.ProductID); } if (Parameter.Document_ID != null && Parameter.Document_ID != Guid.Empty) { ORM_DOC_Structure_Header structureHeader = new ORM_DOC_Structure_Header(); if (Parameter.DocumentStructureHeaderID == Guid.Empty) { structureHeader.Label = "Product picture"; structureHeader.Tenant_RefID = securityTicket.TenantID; structureHeader.Save(Connection, Transaction); product.Product_DocumentationStructure_RefID = structureHeader.DOC_Structure_HeaderID; } ORM_DOC_Structure structure = new ORM_DOC_Structure(); if (Parameter.DocumentStructureHeaderID == Guid.Empty) { structure.Label = "Product picture"; structure.Structure_Header_RefID = structureHeader.DOC_Structure_HeaderID; structure.CreatedBy_Account_RefID = securityTicket.AccountID; structure.Tenant_RefID = securityTicket.TenantID; structure.Save(Connection, Transaction); } ORM_DOC_Document document = new ORM_DOC_Document(); document.DOC_DocumentID = Parameter.Document_ID; document.Tenant_RefID = securityTicket.TenantID; document.Save(Connection, Transaction); var documentStructureID = structure.DOC_StructureID; var assignmentID = Guid.Empty; List <ORM_DOC_Document_2_Structure> existingDocumentStructure = new List <ORM_DOC_Document_2_Structure>(); if (Parameter.DocumentStructureHeaderID != Guid.Empty) { existingDocumentStructure = ORM_DOC_Document_2_Structure.Query.Search(Connection, Transaction, new ORM_DOC_Document_2_Structure.Query() { StructureHeader_RefID = Parameter.DocumentStructureHeaderID }); } ORM_DOC_Document_2_Structure documentStructure = new ORM_DOC_Document_2_Structure(); if (existingDocumentStructure != null && existingDocumentStructure.Count() > 0) { existingDocumentStructure.First().Document_RefID = document.DOC_DocumentID; existingDocumentStructure.First().Save(Connection, Transaction); } else { documentStructure.Document_RefID = document.DOC_DocumentID; documentStructure.Structure_RefID = documentStructureID; documentStructure.StructureHeader_RefID = structure.Structure_Header_RefID; documentStructure.Tenant_RefID = securityTicket.TenantID; documentStructure.Save(Connection, Transaction); } } #region ORM_CMN_PRO_Product product.Product_Number = Parameter.ProductNumber; foreach (var language in languages) { product.Product_Name.UpdateEntry(language.CMN_LanguageID, Parameter.ProductName); product.Product_Description.UpdateEntry(language.CMN_LanguageID, Parameter.Description); } product.ProductType_RefID = Guid.Empty; product.IsPlaceholderArticle = Parameter.IsDummy; product.IsCustomizable = Parameter.IsCustomizable; product.ProductSuccessor_RefID = Guid.Empty; product.IsDeleted = Parameter.IsDeleted; product.Save(Connection, Transaction); #endregion #region Variant //Create default varient var defaultVarient = new ORM_CMN_PRO_Product_Variant(); defaultVarient.CMN_PRO_Product_VariantID = Guid.NewGuid(); defaultVarient.CMN_PRO_Product_RefID = product.CMN_PRO_ProductID; defaultVarient.IsStandardProductVariant = true; defaultVarient.Tenant_RefID = securityTicket.TenantID; defaultVarient.VariantName = new Dict(ORM_CMN_PRO_Product_Variant.TableName); foreach (var language in languages) { defaultVarient.VariantName.UpdateEntry(language.CMN_LanguageID, String.Empty); } defaultVarient.Save(Connection, Transaction); #endregion #region Customization if (Parameter.IsCustomizable == false && Parameter.ProductID != Guid.Empty) { var customizations = ORM_CMN_PRO_CUS_Customization.Query.Search(Connection, Transaction, new ORM_CMN_PRO_CUS_Customization.Query() { Product_RefID = Parameter.ProductID }); foreach (var customization in customizations) { ORM_CMN_PRO_CUS_Customization_Variant.Query.SoftDelete(Connection, Transaction, new ORM_CMN_PRO_CUS_Customization_Variant.Query() { Customization_RefID = customization.CMN_PRO_CUS_CustomizationID }); } ORM_CMN_PRO_CUS_Customization.Query.SoftDelete(Connection, Transaction, new ORM_CMN_PRO_CUS_Customization.Query() { Product_RefID = Parameter.ProductID }); } #endregion returnValue.Result = product.CMN_PRO_ProductID; return(returnValue); #endregion UserCode }
protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L3SPFT_SPN_1100 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_Guid(); var item = new ORM_TMS_PRO_Project(); if (Parameter.TMS_PRO_ProjectID != Guid.Empty) { item.Load(Connection, Transaction, Parameter.TMS_PRO_ProjectID); } if (Parameter.IsDeleted == true) { ORM_TMS_PRO_Project.Query query = new ORM_TMS_PRO_Project.Query(); query.TMS_PRO_ProjectID = item.TMS_PRO_ProjectID; item.IsDeleted = true; ORM_TMS_PRO_Project.Query.SoftDelete(Connection, Transaction, query); #region Delete ORM_TMS_PRO_BusinessTask ORM_TMS_PRO_BusinessTask.Query ORM_TMS_PRO_BusinessTaskquery = new ORM_TMS_PRO_BusinessTask.Query(); ORM_TMS_PRO_BusinessTaskquery.Project_RefID = Parameter.TMS_PRO_ProjectID; ORM_TMS_PRO_BusinessTaskquery.IsArchived = false; ORM_TMS_PRO_BusinessTaskquery.IsDeleted = false; ORM_TMS_PRO_BusinessTask.Query.SoftDelete(Connection, Transaction, ORM_TMS_PRO_BusinessTaskquery); #endregion #region Delete ORM_TMS_PRO_BusinessTaskPackage ORM_TMS_PRO_BusinessTaskPackage.Query ORM_TMS_PRO_BusinessTaskPackagequery = new ORM_TMS_PRO_BusinessTaskPackage.Query(); ORM_TMS_PRO_BusinessTaskPackagequery.Project_RefID = Parameter.TMS_PRO_ProjectID; ORM_TMS_PRO_BusinessTaskPackagequery.IsDeleted = false; ORM_TMS_PRO_BusinessTaskPackage.Query.SoftDelete(Connection, Transaction, ORM_TMS_PRO_BusinessTaskPackagequery); #endregion #region Delete ORM_TMS_PRO_ProjectMember var ORM_TMS_PRO_ProjectMemberquery = new ORM_TMS_PRO_ProjectMember.Query(); ORM_TMS_PRO_ProjectMemberquery.IsDeleted = true; ORM_TMS_PRO_ProjectMemberquery.Project_RefID = Parameter.TMS_PRO_ProjectID; ORM_TMS_PRO_ProjectMember.Query.SoftDelete(Connection, Transaction, ORM_TMS_PRO_ProjectMemberquery); #endregion #region Delete ORM_TMS_PRO_BussinessTask_2_Feature var ORM_TMS_PRO_BussinessTask_2_Featurequery = new ORM_TMS_PRO_BusinessTask_2_Feature.Query(); ORM_TMS_PRO_BussinessTask_2_Featurequery.Feature_RefID = Parameter.TMS_PRO_ProjectID; ORM_TMS_PRO_BussinessTask_2_Featurequery.IsDeleted = true; ORM_TMS_PRO_BusinessTask_2_Feature.Query.SoftDelete(Connection, Transaction, ORM_TMS_PRO_BussinessTask_2_Featurequery); #endregion #region Delete ORM_TMS_PRO_Features var ORM_TMS_PRO_Featuresquery = new ORM_TMS_PRO_Feature.Query(); ORM_TMS_PRO_Featuresquery.TMS_PRO_FeatureID = Parameter.TMS_PRO_ProjectID; ORM_TMS_PRO_Featuresquery.IsDeleted = true; ORM_TMS_PRO_Feature.Query.SoftDelete(Connection, Transaction, ORM_TMS_PRO_Featuresquery); #endregion #region Delete ORM_TMS_DeveloperTasks var ORM_TMS_Developertaskquery = new ORM_TMS_PRO_DeveloperTask.Query(); ORM_TMS_Developertaskquery.TMS_PRO_DeveloperTaskID = Parameter.TMS_PRO_ProjectID; ORM_TMS_Developertaskquery.IsDeleted = true; ORM_TMS_PRO_DeveloperTask.Query.SoftDelete(Connection, Transaction, ORM_TMS_Developertaskquery); #endregion return(returnValue); } if (Parameter.IsArchived == true) { #region archive Project //ORM_TMS_PRO_Project.Query searchQueryProject = new ORM_TMS_PRO_Project.Query(); //searchQueryProject.TMS_PRO_ProjectID = item.TMS_PRO_ProjectID; //searchQueryProject.IsArchived = false; //ORM_TMS_PRO_Project.Query updateQueryProject = new ORM_TMS_PRO_Project.Query(); //updateQueryProject.TMS_PRO_ProjectID = item.TMS_PRO_ProjectID; //updateQueryProject.IsArchived = true; //ORM_TMS_PRO_Project.Query.Update(Connection, Transaction, searchQueryProject, updateQueryProject); var project = ORM_TMS_PRO_Project.Query.Search(Connection, Transaction, new ORM_TMS_PRO_Project.Query() { Tenant_RefID = securityTicket.TenantID, IsDeleted = false, TMS_PRO_ProjectID = Parameter.TMS_PRO_ProjectID }).Single(); project.IsArchived = true; project.Save(Connection, Transaction); #endregion #region archive ORM_TMS_PRO_BusinessTask //ORM_TMS_PRO_BusinessTask.Query searchQueryBusinessTask = new ORM_TMS_PRO_BusinessTask.Query(); //searchQueryBusinessTask.Project_RefID= item.TMS_PRO_ProjectID; //searchQueryBusinessTask.IsArchived = false; //ORM_TMS_PRO_BusinessTask.Query updateQueryBusinessTask = new ORM_TMS_PRO_BusinessTask.Query(); //updateQueryBusinessTask.Project_RefID = item.TMS_PRO_ProjectID; //updateQueryBusinessTask.IsArchived = true; //ORM_TMS_PRO_BusinessTask.Query.Update(Connection, Transaction, searchQueryBusinessTask, updateQueryBusinessTask); var businesstaskList = ORM_TMS_PRO_BusinessTask.Query.Search(Connection, Transaction, new ORM_TMS_PRO_BusinessTask.Query() { Tenant_RefID = securityTicket.TenantID, IsDeleted = false, Project_RefID = Parameter.TMS_PRO_ProjectID }); foreach (var businesstaskitem in businesstaskList) { businesstaskitem.IsArchived = true; businesstaskitem.Save(Connection, Transaction); } #endregion #region archive ORM_TMS_PRO_Features //ORM_TMS_PRO_Feature.Query searchQueryFeature = new ORM_TMS_PRO_Feature.Query(); //searchQueryFeature.Project_RefID = item.TMS_PRO_ProjectID; //searchQueryFeature.IsArchived = false; //ORM_TMS_PRO_Feature.Query updateQueryFeature = new ORM_TMS_PRO_Feature.Query(); //updateQueryFeature.Project_RefID = item.TMS_PRO_ProjectID; //updateQueryFeature.IsArchived = true; //ORM_TMS_PRO_Feature.Query.Update(Connection, Transaction, searchQueryFeature, updateQueryFeature); var featureList = ORM_TMS_PRO_Feature.Query.Search(Connection, Transaction, new ORM_TMS_PRO_Feature.Query() { Tenant_RefID = securityTicket.TenantID, IsDeleted = false, Project_RefID = Parameter.TMS_PRO_ProjectID }); foreach (var feature in featureList) { feature.IsArchived = true; feature.Save(Connection, Transaction); } #endregion #region archive ORM_TMS_DeveloperTasks var devTaskList = ORM_TMS_PRO_DeveloperTask.Query.Search(Connection, Transaction, new ORM_TMS_PRO_DeveloperTask.Query() { Tenant_RefID = securityTicket.TenantID, Project_RefID = item.TMS_PRO_ProjectID, IsDeleted = false }); foreach (var devTask in devTaskList) { devTask.IsArchived = true; devTask.Save(Connection, Transaction); } //ORM_TMS_PRO_DeveloperTask.Query searchQueryDeveloperTask = new ORM_TMS_PRO_DeveloperTask.Query(); //searchQueryDeveloperTask.Project_RefID = item.TMS_PRO_ProjectID; //searchQueryDeveloperTask.IsArchived = false; //ORM_TMS_PRO_DeveloperTask.Query updateQueryDeveloperTask = new ORM_TMS_PRO_DeveloperTask.Query(); //updateQueryDeveloperTask.Project_RefID = item.TMS_PRO_ProjectID; //updateQueryDeveloperTask.IsArchived = true; //ORM_TMS_PRO_DeveloperTask.Query.Update(Connection, Transaction, searchQueryDeveloperTask, updateQueryDeveloperTask); #endregion } if (Parameter.TMS_PRO_ProjectID == Guid.Empty) { item.TMS_PRO_ProjectID = Guid.NewGuid(); #region Define Documents var structureHeader = new ORM_DOC_Structure_Header(); structureHeader.DOC_Structure_HeaderID = Guid.NewGuid(); structureHeader.Label = Parameter.Name_DictID.Contents.FirstOrDefault().Content; structureHeader.Tenant_RefID = securityTicket.TenantID; var structureStatusSave = structureHeader.Save(Connection, Transaction); item.DOC_Structure_Header_RefID = structureHeader.DOC_Structure_HeaderID; #endregion #region ORM_TMS_PRO_ProjectMember #region ProjectMemberID String gpmProjectMember = EnumUtils.GetEnumDescription(ERightsPackage.ProjectMember); var parameter = new P_L2RP_GRPfGPM_1150(); parameter.GlobalPropertyMatchingID = gpmProjectMember; var projectMemberID = cls_Get_RightPackage_for_GlobalPropertyMatchingID.Invoke(Connection, Transaction, parameter, securityTicket).Result; #endregion #region ProjectManagerID String gpmProjectManager = EnumUtils.GetEnumDescription(ERightsPackage.ProjectManager); parameter = new P_L2RP_GRPfGPM_1150(); parameter.GlobalPropertyMatchingID = gpmProjectManager; var projectManagerID = cls_Get_RightPackage_for_GlobalPropertyMatchingID.Invoke(Connection, Transaction, parameter, securityTicket).Result; #endregion var projectMember = new ORM_TMS_PRO_ProjectMember(); projectMember.Project_RefID = item.TMS_PRO_ProjectID; projectMember.USR_Account_RefID = securityTicket.AccountID; projectMember.IsDeleted = false; projectMember.Tenant_RefID = securityTicket.TenantID; projectMember.IsOwner = true; projectMember.Save(Connection, Transaction); ORM_TMS_PRO_Members_2_RightPackage assignment_member = new ORM_TMS_PRO_Members_2_RightPackage(); assignment_member.ACC_RightsPackage_RefID = projectMemberID.TMS_PRO_ACC_RightsPackageID; assignment_member.ProjectMember_RefID = projectMember.TMS_PRO_ProjectMemberID; assignment_member.IsDeleted = false; assignment_member.Tenant_RefID = securityTicket.TenantID; assignment_member.Save(Connection, Transaction); ORM_TMS_PRO_Members_2_RightPackage assignment_manager = new ORM_TMS_PRO_Members_2_RightPackage(); assignment_manager.ACC_RightsPackage_RefID = projectManagerID.TMS_PRO_ACC_RightsPackageID; assignment_manager.ProjectMember_RefID = projectMember.TMS_PRO_ProjectMemberID; assignment_manager.IsDeleted = false; assignment_manager.Tenant_RefID = securityTicket.TenantID; assignment_manager.Save(Connection, Transaction); #endregion item.Tenant_RefID = securityTicket.TenantID; } if (Parameter.Name_DictID != null) { item.Name = Parameter.Name_DictID; } if (Parameter.Description_DictID != null) { item.Description = Parameter.Description_DictID; } if (Parameter.Status_RefID != null) { item.Status_RefID = Parameter.Status_RefID; } if (Parameter.Color != null) { item.Color = Parameter.Color; } return(new FR_Guid(item.Save(Connection, Transaction), item.TMS_PRO_ProjectID)); #endregion UserCode }
protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L5AR_SA_1614 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_Guid(); var languageQuery = new ORM_CMN_Language.Query(); languageQuery.Tenant_RefID = securityTicket.TenantID; languageQuery.IsDeleted = false; var languages = ORM_CMN_Language.Query.Search(Connection, Transaction, languageQuery); var product = new ORM_CMN_PRO_Product(); if (Parameter.ArticleID == Guid.Empty) { #region ORM_CMN_PRO_Product product = new ORM_CMN_PRO_Product(); product.CMN_PRO_ProductID = Guid.NewGuid(); product.ProductITL = Guid.NewGuid().ToString(); product.IsProduct_Article = true; product.IsProductAvailableForOrdering = true; product.IsImportedFromExternalCatalog = false; product.Product_Name = new Dict(ORM_CMN_PRO_Product.TableName); product.Product_Description = new Dict(ORM_CMN_PRO_Product.TableName); product.PackageInfo_RefID = Guid.NewGuid(); product.Creation_Timestamp = DateTime.Now; product.Tenant_RefID = securityTicket.TenantID; product.IsDeleted = Parameter.IsDeleted; #region Product picture if (Parameter.Image != null && Parameter.Image.Document_ID != Guid.Empty) { ORM_DOC_Structure_Header structureHeader = new ORM_DOC_Structure_Header(); structureHeader.Label = "Product picture"; structureHeader.Tenant_RefID = securityTicket.TenantID; structureHeader.Save(Connection, Transaction); ORM_DOC_Structure structure = new ORM_DOC_Structure(); structure.Label = "Product picture"; structure.Structure_Header_RefID = structureHeader.DOC_Structure_HeaderID; structure.CreatedBy_Account_RefID = securityTicket.AccountID; structure.Tenant_RefID = securityTicket.TenantID; structure.Save(Connection, Transaction); ORM_DOC_Document document = new ORM_DOC_Document(); document.DOC_DocumentID = Parameter.Image.Document_ID; document.Tenant_RefID = securityTicket.TenantID; document.Save(Connection, Transaction); ORM_DOC_Document_2_Structure documentStructure = new ORM_DOC_Document_2_Structure(); documentStructure.Document_RefID = document.DOC_DocumentID; documentStructure.Structure_RefID = structure.DOC_StructureID; documentStructure.StructureHeader_RefID = structureHeader.DOC_Structure_HeaderID; documentStructure.Tenant_RefID = securityTicket.TenantID; documentStructure.Save(Connection, Transaction); ORM_DOC_DocumentRevision documentRevision = new ORM_DOC_DocumentRevision(); documentRevision.Document_RefID = document.DOC_DocumentID; documentRevision.Revision = 1; documentRevision.IsLocked = false; documentRevision.IsLastRevision = true; documentRevision.UploadedByAccount = securityTicket.AccountID; documentRevision.File_Name = Parameter.Image.File_Name; documentRevision.File_Description = Parameter.Image.File_Description; documentRevision.File_SourceLocation = Parameter.Image.File_Source_Location; documentRevision.File_ServerLocation = Parameter.Image.File_Server_Location; documentRevision.File_MIMEType = Parameter.Image.File_MimeType; documentRevision.File_Extension = Parameter.Image.File_Extension; documentRevision.File_Size_Bytes = Parameter.Image.File_Size_Bytes; documentRevision.Tenant_RefID = securityTicket.TenantID; documentRevision.Save(Connection, Transaction); //add relation for product picture with product product.Product_DocumentationStructure_RefID = structureHeader.DOC_Structure_HeaderID; } #endregion product.Save(Connection, Transaction); #endregion } else { product.Load(Connection, Transaction, Parameter.ArticleID); #region Product picture if (Parameter.Image != null && Parameter.Image.Document_ID != Guid.Empty) { ORM_DOC_Structure_Header structureHeader = new ORM_DOC_Structure_Header(); structureHeader.Label = "Product picture"; structureHeader.Tenant_RefID = securityTicket.TenantID; structureHeader.Save(Connection, Transaction); ORM_DOC_Structure structure = new ORM_DOC_Structure(); structure.Label = "Product picture"; structure.Structure_Header_RefID = structureHeader.DOC_Structure_HeaderID; structure.CreatedBy_Account_RefID = securityTicket.AccountID; structure.Tenant_RefID = securityTicket.TenantID; structure.Save(Connection, Transaction); ORM_DOC_Document document = new ORM_DOC_Document(); document.DOC_DocumentID = Parameter.Image.Document_ID; document.Tenant_RefID = securityTicket.TenantID; document.Save(Connection, Transaction); ORM_DOC_Document_2_Structure documentStructure = new ORM_DOC_Document_2_Structure(); documentStructure.Document_RefID = document.DOC_DocumentID; documentStructure.Structure_RefID = structure.DOC_StructureID; documentStructure.StructureHeader_RefID = structureHeader.DOC_Structure_HeaderID; documentStructure.Tenant_RefID = securityTicket.TenantID; documentStructure.Save(Connection, Transaction); ORM_DOC_DocumentRevision documentRevision = new ORM_DOC_DocumentRevision(); documentRevision.Document_RefID = document.DOC_DocumentID; documentRevision.Revision = 1; documentRevision.IsLocked = false; documentRevision.IsLastRevision = true; documentRevision.UploadedByAccount = securityTicket.AccountID; documentRevision.File_Name = Parameter.Image.File_Name; documentRevision.File_Description = Parameter.Image.File_Description; documentRevision.File_SourceLocation = Parameter.Image.File_Source_Location; documentRevision.File_ServerLocation = Parameter.Image.File_Server_Location; documentRevision.File_MIMEType = Parameter.Image.File_MimeType; documentRevision.File_Extension = Parameter.Image.File_Extension; documentRevision.File_Size_Bytes = Parameter.Image.File_Size_Bytes; documentRevision.Tenant_RefID = securityTicket.TenantID; documentRevision.Save(Connection, Transaction); //add relation for product picture with product product.Product_DocumentationStructure_RefID = structureHeader.DOC_Structure_HeaderID; } else { // if (Parameter.Image.IsForDeleting) if product image has to be deleted } #endregion } #region ORM_CMN_PRO_Product product.Product_Number = Parameter.ProductNumber; foreach (var language in languages) { product.Product_Name.UpdateEntry(language.CMN_LanguageID, Parameter.ArticleName); product.Product_Description.UpdateEntry(language.CMN_LanguageID, Parameter.Description); } product.ProductType_RefID = Guid.Empty; product.IsPlaceholderArticle = Parameter.IsDummy; product.ProductSuccessor_RefID = Guid.Empty; product.IsDeleted = Parameter.IsDeleted; product.Save(Connection, Transaction); #endregion //#region ORM_CMN_PRO_Product_2_ProductCode //var product2CodeQuery = new ORM_CMN_PRO_Product_2_ProductCode.Query(); //product2CodeQuery.CMN_PRO_Product_RefID = product.CMN_PRO_ProductID; //product2CodeQuery.Tenant_RefID = securityTicket.TenantID; //product2CodeQuery.IsDeleted = false; //var productCodeAssignment = ORM_CMN_PRO_Product_2_ProductCode.Query.Search(Connection, Transaction, product2CodeQuery).SingleOrDefault(); //if (productCodeAssignment == null) //{ // #region ORM_CMN_PRO_ProductCode #region Variant //Create default varient var defaultVarient = new ORM_CMN_PRO_Product_Variant(); defaultVarient.CMN_PRO_Product_VariantID = Guid.NewGuid(); defaultVarient.CMN_PRO_Product_RefID = product.CMN_PRO_ProductID; defaultVarient.IsStandardProductVariant = true; defaultVarient.Tenant_RefID = securityTicket.TenantID; defaultVarient.VariantName = new Dict(ORM_CMN_PRO_Product_Variant.TableName); foreach (var language in languages) { defaultVarient.VariantName.UpdateEntry(language.CMN_LanguageID, String.Empty); } defaultVarient.Save(Connection, Transaction); #endregion returnValue.Result = product.CMN_PRO_ProductID; return(returnValue); #endregion UserCode }
protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L3QT_SQT_0905 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_Guid(); var item = new ORM_TMS_QuickTask(); if (Parameter.TMS_QuickTaskID != Guid.Empty) { var result = item.Load(Connection, Transaction, Parameter.TMS_QuickTaskID); if (result.Status != FR_Status.Success || item.TMS_QuickTaskID == Guid.Empty) { var error = new FR_Guid(); error.ErrorMessage = "No Such ID"; error.Status = FR_Status.Error_Internal; return(error); } } if (Parameter.IsDeleted == true) { #region Delete ORM_CMN_BPT_InvestedWorkTime var qtinv_query = new ORM_TMS_QuickTask_InvestedWorkTime.Query(); qtinv_query.TMS_QuickTasks_RefID = item.TMS_QuickTaskID; qtinv_query.IsDeleted = false; var qtinv = ORM_TMS_QuickTask_InvestedWorkTime.Query.Search(Connection, Transaction, qtinv_query); foreach (var qt in qtinv) { qt.IsDeleted = true; qt.Save(Connection, Transaction); var inv_query = new ORM_CMN_BPT_InvestedWorkTime.Query(); inv_query.CMN_BPT_InvestedWorkTimeID = qt.CMN_BPT_InvestedWorkTime_RefID; inv_query.IsDeleted = false; ORM_CMN_BPT_InvestedWorkTime.Query.SoftDelete(Connection, Transaction, inv_query); } #endregion item.IsDeleted = true; return(new FR_Guid(item.Save(Connection, Transaction), item.TMS_QuickTaskID)); } //Creation specific parameters (Tenant, Account ... ) if (Parameter.TMS_QuickTaskID == Guid.Empty) { item.QuickTask_CreatedByAccount_RefID = securityTicket.AccountID; item.Tenant_RefID = securityTicket.TenantID; #region Define IdentificationNumber ORM_TMS_QuickTask.Query query = new ORM_TMS_QuickTask.Query(); query.Tenant_RefID = securityTicket.TenantID; var count = ORM_TMS_QuickTask.Query.Search(Connection, Transaction, query).Count() + 1; String identifier = "000000" + count.ToString(); item.IdentificationNumber = identifier.Substring(identifier.Length - 6); #endregion #region Define DocumentsL3FE_GFIfF_1455 var structureHeader = new ORM_DOC_Structure_Header(); structureHeader.DOC_Structure_HeaderID = Guid.NewGuid(); structureHeader.Label = Parameter.QuickTask_Title.GetContent(Parameter.LanguageID); structureHeader.Tenant_RefID = securityTicket.TenantID; var structureStatusSave = structureHeader.Save(Connection, Transaction); item.QuickTask_DocumentStructureHeader_RefID = structureHeader.DOC_Structure_HeaderID; #endregion #region BusinessParticipient ORM_USR_Account userAcc = new ORM_USR_Account(); userAcc.Load(Connection, Transaction, securityTicket.AccountID); #endregion #region Invested work times ORM_CMN_BPT_InvestedWorkTime iwt = new ORM_CMN_BPT_InvestedWorkTime(); iwt.BusinessParticipant_RefID = userAcc.BusinessParticipant_RefID; iwt.WorkTime_Source = "DanuTask - [W" + item.IdentificationNumber + "] " + Parameter.QuickTask_Title.GetContent(Parameter.LanguageID); iwt.CMN_BPT_InvestedWorkTimeID = Guid.NewGuid(); iwt.WorkTime_Start = Parameter.QuickTask_StartTime; iwt.WorkTime_Amount_min = (long)Parameter.R_QuickTask_InvestedTime_min; iwt.WorkTime_InternalIdentifier = cls_Get_NewInvestedWTimeIdentifier.Invoke(Connection, Transaction, securityTicket).Result.Identifier; iwt.Tenant_RefID = securityTicket.TenantID; iwt.Save(Connection, Transaction); ORM_TMS_QuickTask_InvestedWorkTime qtiwt = new ORM_TMS_QuickTask_InvestedWorkTime(); qtiwt.CMN_BPT_InvestedWorkTime_RefID = iwt.CMN_BPT_InvestedWorkTimeID; qtiwt.Creation_Timestamp = DateTime.Now; qtiwt.Tenant_RefID = securityTicket.TenantID; qtiwt.TMS_QuickTask_InvestedWorkTimeID = Guid.NewGuid(); qtiwt.TMS_QuickTasks_RefID = item.TMS_QuickTaskID; qtiwt.Save(Connection, Transaction); #endregion } else { var query = new ORM_TMS_QuickTask_InvestedWorkTime.Query(); query.TMS_QuickTasks_RefID = item.TMS_QuickTaskID; query.IsDeleted = false; var result = ORM_TMS_QuickTask_InvestedWorkTime.Query.Search(Connection, Transaction, query).ToArray(); if (result.Count() == 1) { ORM_CMN_BPT_InvestedWorkTime iwt = new ORM_CMN_BPT_InvestedWorkTime(); iwt.Load(Connection, Transaction, result[0].CMN_BPT_InvestedWorkTime_RefID); iwt.WorkTime_Source = "DanuTask - [W" + item.IdentificationNumber + "] " + Parameter.QuickTask_Title.GetContent(Parameter.LanguageID); iwt.WorkTime_Start = Parameter.QuickTask_StartTime; iwt.WorkTime_Amount_min = (long)Parameter.R_QuickTask_InvestedTime_min; iwt.WorkTime_InternalIdentifier = cls_Get_NewInvestedWTimeIdentifier.Invoke(Connection, Transaction, securityTicket).Result.Identifier; iwt.Save(Connection, Transaction); } } if (item.QuickTask_StartTime != Parameter.QuickTask_StartTime) { item.IsManuallyEntered = true; } if (item.R_QuickTask_InvestedTime_min != Parameter.R_QuickTask_InvestedTime_min) { item.IsManuallyEntered = true; } item.QuickTask_Title = Parameter.QuickTask_Title; item.QuickTask_Description = Parameter.QuickTask_Description; item.QuickTask_Type_RefID = Parameter.QuickTask_Type_RefID; item.R_QuickTask_InvestedTime_min = Parameter.R_QuickTask_InvestedTime_min; item.AssignedTo_Project_RefID = Parameter.AssignedTo_Project_RefID; item.AssignedTo_BusinessTask_RefID = Parameter.AssignedTo_BusinessTask_RefID; item.AssignedTo_Feature_RefID = Parameter.AssignedTo_Feature_RefID; item.AssignedTo_DeveloperTask_RefID = Parameter.AssignedTo_DeveloperTask_RefID; item.QuickTask_StartTime = Parameter.QuickTask_StartTime; return(new FR_Guid(item.Save(Connection, Transaction), item.TMS_QuickTaskID)); #endregion UserCode }
protected static FR_Base Execute(DbConnection Connection, DbTransaction Transaction, P_L5AS_SAP_1515 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_Base(); var defaultLanguages = ORM_CMN_Language.Query.Search(Connection, Transaction, new ORM_CMN_Language.Query { IsDeleted = false, Tenant_RefID = securityTicket.TenantID }); List <P_L3AS_SAVP_0004> parameterVendorProduct = new List <P_L3AS_SAVP_0004>(); List <P_L3AS_SAVV_0040> parameterVendorVariants = new List <P_L3AS_SAVV_0040>(); #region ImportCatalogProducts foreach (var productFromCatalog in Parameter.Products.Where(x => !string.IsNullOrEmpty(x.ProductITL)).ToList()) { P_L5PR_IPfC_1648 importProductFromCatalogParameter = new P_L5PR_IPfC_1648(); importProductFromCatalogParameter.Product = new ProductsForImport(); importProductFromCatalogParameter.Product.CatalogITL = productFromCatalog.CatalogITL; importProductFromCatalogParameter.Product.Code = productFromCatalog.Code; importProductFromCatalogParameter.Product.Custom = productFromCatalog.Custom; importProductFromCatalogParameter.Product.Description = productFromCatalog.Description; importProductFromCatalogParameter.Product.Name = productFromCatalog.Name; importProductFromCatalogParameter.Product.LongName = productFromCatalog.LongName; importProductFromCatalogParameter.Product.ProductITL = productFromCatalog.ProductITL; importProductFromCatalogParameter.Product.Variants = new List <Variant>(); foreach (var variant in productFromCatalog.Variants) { importProductFromCatalogParameter.Product.Variants.Add(variant); } importProductFromCatalogParameter.Product.Customizations = new List <Customization>(); if (productFromCatalog.Customizations != null) { foreach (var customization in productFromCatalog.Customizations) { importProductFromCatalogParameter.Product.Customizations.Add(customization); } } importProductFromCatalogParameter.Product.Vat = productFromCatalog.Vat; Guid productID = cls_Import_Product_from_Catalog.Invoke(Connection, Transaction, importProductFromCatalogParameter, securityTicket).Result; Parameter.Products.Where(x => x.ProductITL == productFromCatalog.ProductITL).ToList().ForEach(x => x.LocalProductID = productID); } #endregion import foreach (var parameterProduct in Parameter.Products) { ORM_CMN_PRO_Product productDB = new ORM_CMN_PRO_Product(); #region loadProduct productDB.Load(Connection, Transaction, parameterProduct.LocalProductID); Guid originalProductId = productDB.CMN_PRO_ProductID; #endregion P_L3AS_GNoPiAfP_1512 parameterAssortmentProductExists = new P_L3AS_GNoPiAfP_1512(); parameterAssortmentProductExists.AssortmentID = Parameter.AssortmentID; parameterAssortmentProductExists.ProductRefID = originalProductId; int numberOfProductsInAssortment = cls_Get_Number_of_Products_in_Assortment_for_ProductID.Invoke(Connection, Transaction, parameterAssortmentProductExists, securityTicket).Result.NumberOfProducts; if (numberOfProductsInAssortment == 0) { #region SaveProductCopy ORM_CMN_PRO_Product productCopyToCreate = new ORM_CMN_PRO_Product(); productCopyToCreate.CMN_PRO_ProductID = Guid.NewGuid(); productCopyToCreate.ProductITL = string.Empty; productCopyToCreate.IsProduct_Article = true; productCopyToCreate.IsProductAvailableForOrdering = true; productCopyToCreate.IsImportedFromExternalCatalog = false; productCopyToCreate.IsProductForInternalDistributionOnly = true; productCopyToCreate.Product_Name = new Dict(ORM_CMN_PRO_Product.TableName); productCopyToCreate.Product_Description = new Dict(ORM_CMN_PRO_Product.TableName); productCopyToCreate.PackageInfo_RefID = Guid.NewGuid(); productCopyToCreate.Creation_Timestamp = DateTime.Now; productCopyToCreate.Tenant_RefID = securityTicket.TenantID; productCopyToCreate.IsDeleted = false; productCopyToCreate.Save(Connection, Transaction); productCopyToCreate.Product_Number = productDB.Product_Number; foreach (var lang in defaultLanguages) { productCopyToCreate.Product_Name.UpdateEntry(lang.CMN_LanguageID, productDB.Product_Name.Contents.FirstOrDefault().Content); productCopyToCreate.Product_Description.UpdateEntry(lang.CMN_LanguageID, productDB.Product_Description.Contents.FirstOrDefault().Content); } productCopyToCreate.ProductType_RefID = Guid.Empty; productCopyToCreate.ProductSuccessor_RefID = Guid.Empty; productCopyToCreate.IsDeleted = false; var productDocumentStructureRefID = Guid.NewGuid(); if (productDB.Product_DocumentationStructure_RefID != Guid.Empty) { productCopyToCreate.Product_DocumentationStructure_RefID = productDocumentStructureRefID; } productCopyToCreate.Save(Connection, Transaction); #endregion #region copyPicture if (productDB.Product_DocumentationStructure_RefID != Guid.Empty) { var documentStructureHeaders = ORM_DOC_Structure_Header.Query.Search(Connection, Transaction, new ORM_DOC_Structure_Header.Query { DOC_Structure_HeaderID = productDB.Product_DocumentationStructure_RefID }); if (documentStructureHeaders != null && documentStructureHeaders.Count() > 0) { var documentStructureHeader = documentStructureHeaders.First(); ORM_DOC_Structure_Header docStructureHeaderToCreate = new ORM_DOC_Structure_Header(); docStructureHeaderToCreate.DOC_Structure_HeaderID = productDocumentStructureRefID; docStructureHeaderToCreate.IsDeleted = false; docStructureHeaderToCreate.Label = documentStructureHeader.Label; docStructureHeaderToCreate.Tenant_RefID = securityTicket.TenantID; docStructureHeaderToCreate.Save(Connection, Transaction); var documentStructures = ORM_DOC_Structure.Query.Search(Connection, Transaction, new ORM_DOC_Structure.Query { Structure_Header_RefID = documentStructureHeader.DOC_Structure_HeaderID }); var documentStructureID = Guid.NewGuid(); if (documentStructures != null && documentStructures.Count() > 0) { var documentStructure = documentStructures.First(); ORM_DOC_Structure structureToCreate = new ORM_DOC_Structure(); structureToCreate.Label = "Product picture"; structureToCreate.DOC_StructureID = documentStructureID; structureToCreate.Structure_Header_RefID = docStructureHeaderToCreate.DOC_Structure_HeaderID; structureToCreate.CreatedBy_Account_RefID = securityTicket.AccountID; structureToCreate.Tenant_RefID = securityTicket.TenantID; structureToCreate.Save(Connection, Transaction); var document2DocumentStructures = ORM_DOC_Document_2_Structure.Query.Search(Connection, Transaction, new ORM_DOC_Document_2_Structure.Query { Structure_RefID = documentStructure.DOC_StructureID }); if (document2DocumentStructures != null && document2DocumentStructures.Count() > 0) { var document2DocumentStructure = document2DocumentStructures.First(); var documentService = InfrastructureFactory.CreateDocumentService(); var webClient = new WebClient(); var imageBytes = webClient.DownloadData(documentService.GenerateDownloadLink(document2DocumentStructure.Document_RefID)); var documentID = documentService.UploadDocument(imageBytes, productCopyToCreate.Product_Number, securityTicket.SessionTicket, null, null); ORM_DOC_Document documentToCreate = new ORM_DOC_Document(); documentToCreate.DOC_DocumentID = documentID; documentToCreate.Tenant_RefID = securityTicket.TenantID; documentToCreate.Save(Connection, Transaction); ORM_DOC_Document_2_Structure documentStructureToSave = new ORM_DOC_Document_2_Structure(); documentStructureToSave.Document_RefID = documentToCreate.DOC_DocumentID; documentStructureToSave.Structure_RefID = structureToCreate.DOC_StructureID; documentStructureToSave.StructureHeader_RefID = docStructureHeaderToCreate.DOC_Structure_HeaderID; documentStructureToSave.Tenant_RefID = securityTicket.TenantID; documentStructureToSave.Save(Connection, Transaction); } } } } #endregion var dimensionsDb = ORM_CMN_PRO_Dimension.Query.Search(Connection, Transaction, new ORM_CMN_PRO_Dimension.Query { IsDeleted = false, Tenant_RefID = securityTicket.TenantID, Product_RefID = originalProductId }); List <ORM_CMN_PRO_Dimension_Value> dimensionValuesToCreate = new List <ORM_CMN_PRO_Dimension_Value>(); #region SaveDimensions foreach (var dimensionDb in dimensionsDb) { var dimensionName = dimensionDb.DimensionName; var dimensionID = dimensionDb.CMN_PRO_DimensionID; ORM_CMN_PRO_Dimension dimensionCopyToCreate = new ORM_CMN_PRO_Dimension(); dimensionCopyToCreate.CMN_PRO_DimensionID = Guid.NewGuid(); dimensionCopyToCreate.Creation_Timestamp = DateTime.Now; dimensionCopyToCreate.DimensionName = new Dict(ORM_CMN_PRO_Dimension.TableName); dimensionCopyToCreate.IsDeleted = false; dimensionCopyToCreate.IsDimensionTemplate = false; dimensionCopyToCreate.Product_RefID = productCopyToCreate.CMN_PRO_ProductID; dimensionCopyToCreate.Tenant_RefID = securityTicket.TenantID; dimensionCopyToCreate.OrderSequence = dimensionDb.OrderSequence; dimensionCopyToCreate.Modification_Timestamp = DateTime.Now; dimensionCopyToCreate.Save(Connection, Transaction); foreach (var lang in defaultLanguages) { dimensionCopyToCreate.DimensionName.UpdateEntry(lang.CMN_LanguageID, dimensionName.Contents.FirstOrDefault().Content); } dimensionCopyToCreate.Save(Connection, Transaction); var dimensionValuesDb = ORM_CMN_PRO_Dimension_Value.Query.Search(Connection, Transaction, new ORM_CMN_PRO_Dimension_Value.Query { Tenant_RefID = securityTicket.TenantID, IsDeleted = false, Dimensions_RefID = dimensionID }); dimensionValuesDb.ForEach(x => x.Dimensions_RefID = dimensionCopyToCreate.CMN_PRO_DimensionID); dimensionValuesToCreate.AddRange(dimensionValuesDb); } #endregion var productVariantsDb = ORM_CMN_PRO_Product_Variant.Query.Search(Connection, Transaction, new ORM_CMN_PRO_Product_Variant.Query { Tenant_RefID = securityTicket.TenantID, IsDeleted = false, CMN_PRO_Product_RefID = originalProductId }); #region AssortmentProductSave ORM_CMN_PRO_ASS_AssortmentProduct assortmentProductToCreate = new ORM_CMN_PRO_ASS_AssortmentProduct(); assortmentProductToCreate.CMN_PRO_ASS_AssortmentProductID = Guid.NewGuid(); assortmentProductToCreate.Ext_CMN_PRO_Product_RefID = productCopyToCreate.CMN_PRO_ProductID; assortmentProductToCreate.IsDeleted = false; assortmentProductToCreate.Tenant_RefID = securityTicket.TenantID; assortmentProductToCreate.Save(Connection, Transaction); #endregion #region Assortment Vendor Product Save P_L3AS_SAVP_0004 parameterVendorProductItem = new P_L3AS_SAVP_0004(); parameterVendorProductItem.AssortmentProductID = assortmentProductToCreate.CMN_PRO_ASS_AssortmentProductID; parameterVendorProductItem.ProductRefID = originalProductId; parameterVendorProduct.Add(parameterVendorProductItem); ORM_CMN_PRO_ASS_AssortmentProduct_VendorProduct assortmentVendorProductToCreate = new ORM_CMN_PRO_ASS_AssortmentProduct_VendorProduct(); #endregion #region Assortment2Assortment Product save ORM_CMN_PRO_ASS_Assortment_2_AssortmentProduct assortmentToAssortmentProductToCreate = new ORM_CMN_PRO_ASS_Assortment_2_AssortmentProduct(); assortmentToAssortmentProductToCreate.AssignmentID = Guid.NewGuid(); assortmentToAssortmentProductToCreate.CMN_PRO_ASS_Assortment_Product_RefID = assortmentProductToCreate.CMN_PRO_ASS_AssortmentProductID; assortmentToAssortmentProductToCreate.CMN_PRO_ASS_Assortment_RefID = Parameter.AssortmentID; assortmentToAssortmentProductToCreate.IsDeleted = false; assortmentToAssortmentProductToCreate.Tenant_RefID = securityTicket.TenantID; assortmentToAssortmentProductToCreate.Save(Connection, Transaction); #endregion List <ORM_CMN_PRO_Variant_DimensionValue> variantDimensionValueAssignmentToCreate = new List <ORM_CMN_PRO_Variant_DimensionValue>(); foreach (var productVariantDb in productVariantsDb) { #region ProductVariant Save ORM_CMN_PRO_ASS_DistributionPrice distributionPriceToCreate = new ORM_CMN_PRO_ASS_DistributionPrice(); distributionPriceToCreate.CMN_PRO_ASS_DistributionPriceID = Guid.NewGuid(); distributionPriceToCreate.IsDeleted = false; distributionPriceToCreate.Tenant_RefID = securityTicket.TenantID; distributionPriceToCreate.Save(Connection, Transaction); ORM_CMN_PRO_Product_Variant productVariantToCreate = new ORM_CMN_PRO_Product_Variant(); productVariantToCreate.CMN_PRO_Product_VariantID = Guid.NewGuid(); productVariantToCreate.CMN_PRO_Product_RefID = productCopyToCreate.CMN_PRO_ProductID; productVariantToCreate.Creation_Timestamp = DateTime.Now; productVariantToCreate.Tenant_RefID = securityTicket.TenantID; productVariantToCreate.ProductVariantITL = ""; productVariantToCreate.ProductVariant_DocumentationStructure_RefID = Guid.Empty; productVariantToCreate.VariantName = new Dict(ORM_CMN_PRO_Product_Variant.TableName); productVariantToCreate.IsDeleted = false; productVariantToCreate.IsStandardProductVariant = productVariantDb.IsStandardProductVariant; productVariantToCreate.IsImportedFromExternalCatalog = false; productVariantToCreate.Modification_Timestamp = DateTime.Now; productVariantToCreate.Save(Connection, Transaction); foreach (var lang in defaultLanguages) { productVariantToCreate.VariantName.UpdateEntry(lang.CMN_LanguageID, productVariantDb.VariantName.Contents.FirstOrDefault().Content); } productVariantToCreate.Save(Connection, Transaction); #endregion #region dimensionValuesAssignemnt var assignmentExists = ORM_CMN_PRO_Variant_DimensionValue.Query.Search(Connection, Transaction, new ORM_CMN_PRO_Variant_DimensionValue.Query { Tenant_RefID = securityTicket.TenantID, ProductVariant_RefID = productVariantDb.CMN_PRO_Product_VariantID }); foreach (var variantAssignment in assignmentExists) { variantAssignment.IsDeleted = false; variantAssignment.ProductVariant_RefID = productVariantToCreate.CMN_PRO_Product_VariantID; variantAssignment.Tenant_RefID = securityTicket.TenantID; variantDimensionValueAssignmentToCreate.Add(variantAssignment); } #endregion #region AddVariantToAssortment ORM_CMN_PRO_ASS_AssortmentVariant assortmentVariantToCreate = new ORM_CMN_PRO_ASS_AssortmentVariant(); assortmentVariantToCreate.CMN_PRO_ASS_AssortmentVariantID = Guid.NewGuid(); assortmentVariantToCreate.Ext_CMN_PRO_Product_Variant_RefID = productVariantToCreate.CMN_PRO_Product_VariantID; assortmentVariantToCreate.IsDeleted = false; assortmentVariantToCreate.DistributionPrice_RefID = distributionPriceToCreate.CMN_PRO_ASS_DistributionPriceID; assortmentVariantToCreate.Tenant_RefID = securityTicket.TenantID; assortmentVariantToCreate.Save(Connection, Transaction); #endregion P_L3AS_SAVV_0040 parameterVendorVariantItem = new P_L3AS_SAVV_0040(); parameterVendorVariantItem.AssortmentVariantID = assortmentVariantToCreate.CMN_PRO_ASS_AssortmentVariantID; parameterVendorVariantItem.ProductVariantID = productVariantDb.CMN_PRO_Product_VariantID; parameterVendorVariantItem.OrderSequence = 1; parameterVendorVariantItem.IsDefaultVendorVariant = true; parameterVendorVariants.Add(parameterVendorVariantItem); } #region SaveDimensionValuesAndAssignment foreach (var dimensionValueToCreate in dimensionValuesToCreate) { var valueName = dimensionValueToCreate.DimensionValue_Text; var valueID = dimensionValueToCreate.CMN_PRO_Dimension_ValueID; ORM_CMN_PRO_Dimension_Value dimensionValueToCreateUpdate = new ORM_CMN_PRO_Dimension_Value(); dimensionValueToCreateUpdate.CMN_PRO_Dimension_ValueID = Guid.NewGuid(); dimensionValueToCreateUpdate.Creation_Timestamp = DateTime.Now; dimensionValueToCreateUpdate.DimensionValue_Text = new Dict(ORM_CMN_PRO_Dimension_Value.TableName); dimensionValueToCreateUpdate.Dimensions_RefID = dimensionValueToCreate.Dimensions_RefID; dimensionValueToCreateUpdate.IsDeleted = false; dimensionValueToCreateUpdate.Tenant_RefID = securityTicket.TenantID; dimensionValueToCreateUpdate.Modification_Timestamp = DateTime.Now; dimensionValueToCreateUpdate.OrderSequence = dimensionValueToCreate.OrderSequence; dimensionValueToCreateUpdate.Save(Connection, Transaction); foreach (var lang in defaultLanguages) { dimensionValueToCreateUpdate.DimensionValue_Text.UpdateEntry(lang.CMN_LanguageID, valueName.Contents.FirstOrDefault().Content); } dimensionValueToCreateUpdate.Save(Connection, Transaction); var assignments = variantDimensionValueAssignmentToCreate.Where(x => x.DimensionValue_RefID == valueID).ToList(); foreach (var assignment in assignments) { ORM_CMN_PRO_Variant_DimensionValue assignmentToSave = new ORM_CMN_PRO_Variant_DimensionValue(); assignmentToSave.CMN_PRO_Variant_DimensionValueID = Guid.NewGuid(); assignmentToSave.Creation_Timestamp = DateTime.Now; assignmentToSave.DimensionValue_RefID = dimensionValueToCreateUpdate.CMN_PRO_Dimension_ValueID; assignmentToSave.IsDeleted = false; assignmentToSave.Modification_Timestamp = DateTime.Now; assignmentToSave.ProductVariant_RefID = assignment.ProductVariant_RefID; assignmentToSave.Tenant_RefID = securityTicket.TenantID; assignmentToSave.Save(Connection, Transaction); } } #endregion } } cls_Save_Assortment_Vendor_Products.Invoke(Connection, Transaction, parameterVendorProduct.ToArray(), securityTicket); cls_Save_Assortment_Vendor_Variants.Invoke(Connection, Transaction, parameterVendorVariants.ToArray(), securityTicket); return(returnValue); #endregion UserCode }
protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L6DTPG_SCL_1016 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_Guid(); var item = new ORM_CMN_BPT_InvestedWorkTime_ChargingLevel(); #region Unnecessary if (Parameter.CMN_BPT_InvestedWorkTime_ChargingLevelID != Guid.Empty) { var result = item.Load(Connection, Transaction, Parameter.CMN_BPT_InvestedWorkTime_ChargingLevelID); if (result.Status != FR_Status.Success || item.CMN_BPT_InvestedWorkTime_ChargingLevelID == Guid.Empty) { var error = new FR_Guid(); error.ErrorMessage = "No Such ID"; error.Status = FR_Status.Error_Internal; return(error); } if (Parameter.ChargingLevelName != null) { item.ChangingLevel_Name = Parameter.ChargingLevelName; } item.Save(Connection, Transaction); ORM_CMN_SLS_Price.Query priceQuery = new ORM_CMN_SLS_Price.Query(); priceQuery.Tenant_RefID = securityTicket.TenantID; priceQuery.IsDeleted = false; priceQuery.CMN_PRO_Product_RefID = item.CMN_PRO_Product_RefID; List <ORM_CMN_SLS_Price> prices = ORM_CMN_SLS_Price.Query.Search(Connection, Transaction, priceQuery); if (prices != null && prices.Count == 1) { ORM_CMN_SLS_Price price = prices[0]; price.PriceAmount = Parameter.PricePerMinute; price.CMN_Currency_RefID = Parameter.CurrencyID; price.Save(Connection, Transaction); } } else { var structureHeader = new ORM_DOC_Structure_Header(); structureHeader.Label = "document_header_for_product"; structureHeader.Tenant_RefID = securityTicket.TenantID; var structureStatusSave = structureHeader.Save(Connection, Transaction); ORM_CMN_PRO_Product product = new ORM_CMN_PRO_Product(); product.Product_Name = Parameter.ChargingLevelName; product.Product_DocumentationStructure_RefID = structureHeader.DOC_Structure_HeaderID; product.Product_Number = "product_number"; product.Tenant_RefID = securityTicket.TenantID; product.Save(Connection, Transaction); ORM_CMN_BPT_InvestedWorkTime_ChargingLevel charginglevel = new ORM_CMN_BPT_InvestedWorkTime_ChargingLevel(); charginglevel.ChangingLevel_Name = Parameter.ChargingLevelName; charginglevel.CMN_PRO_Product_RefID = product.CMN_PRO_ProductID; charginglevel.Tenant_RefID = securityTicket.TenantID; charginglevel.Save(Connection, Transaction); ORM_CMN_SLS_Price price = new ORM_CMN_SLS_Price(); price.CMN_Currency_RefID = Parameter.CurrencyID; price.CMN_PRO_Product_RefID = product.CMN_PRO_ProductID; price.PriceAmount = Parameter.PricePerMinute; price.Tenant_RefID = securityTicket.TenantID; price.Save(Connection, Transaction); } #endregion return(returnValue); #endregion UserCode }