protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L3DT_SPDfDTID_1425 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_Guid(); //Put your code here ORM_TMS_PRO_DeveloperTask devTask = ORM_TMS_PRO_DeveloperTask.Query.Search(Connection, Transaction, new ORM_TMS_PRO_DeveloperTask.Query() { TMS_PRO_DeveloperTaskID = Parameter.DeveloperTaskID, Tenant_RefID = securityTicket.TenantID, IsDeleted = false }).Single(); ORM_TMS_PRO_ProjectMember projMember = ORM_TMS_PRO_ProjectMember.Query.Search(Connection, Transaction, new ORM_TMS_PRO_ProjectMember.Query() { USR_Account_RefID = securityTicket.AccountID, Project_RefID = devTask.Project_RefID, Tenant_RefID = securityTicket.TenantID, IsDeleted = false }).Single(); ORM_TMS_PRO_Project project = ORM_TMS_PRO_Project.Query.Search(Connection, Transaction, new ORM_TMS_PRO_Project.Query() { TMS_PRO_ProjectID = devTask.Project_RefID, Tenant_RefID = securityTicket.TenantID, IsDeleted = false }).Single(); if (Parameter.Delete) { ORM_TMS_PRO_Peers_Development subscription2Delete = ORM_TMS_PRO_Peers_Development.Query.Search(Connection, Transaction, new ORM_TMS_PRO_Peers_Development.Query() { DeveloperTask_RefID = Parameter.DeveloperTaskID, ProjectMember_RefID = projMember.TMS_PRO_ProjectMemberID, Tenant_RefID = securityTicket.TenantID, IsDeleted = false }).Single(); subscription2Delete.IsDeleted = true; subscription2Delete.Save(Connection, Transaction); } else { ORM_TMS_PRO_Peers_Development newSubscription = new ORM_TMS_PRO_Peers_Development(); newSubscription.Tenant_RefID = securityTicket.TenantID; newSubscription.ProjectMember_RefID = projMember.TMS_PRO_ProjectMemberID; newSubscription.DeveloperTask_RefID = Parameter.DeveloperTaskID; newSubscription.Save(Connection, Transaction); } return(returnValue); #endregion UserCode }
protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L6DT_RDT_1057 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_Guid(); //Put your code here #region Get RecommendedBy ProjecMemberID ORM_TMS_PRO_ProjectMember RecommendedBy = null; if (Parameter.DeveloperTask_List != null && Parameter.DeveloperTask_List.Count() != 0) { ORM_TMS_PRO_DeveloperTask firstTask = new ORM_TMS_PRO_DeveloperTask(); firstTask.Load(Connection, Transaction, Parameter.DeveloperTask_List.First()); ORM_TMS_PRO_ProjectMember.Query mem_query = new ORM_TMS_PRO_ProjectMember.Query(); mem_query.Project_RefID = firstTask.Project_RefID; mem_query.USR_Account_RefID = securityTicket.AccountID; RecommendedBy = ORM_TMS_PRO_ProjectMember.Query.Search(Connection, Transaction, mem_query).FirstOrDefault(); } foreach (var currentTask in Parameter.DeveloperTask_List) { #region Remove Previous Recommendations ORM_TMS_PRO_DeveloperTask_Recommendation.Query rec_query = new ORM_TMS_PRO_DeveloperTask_Recommendation.Query(); rec_query.DeveloperTask_RefID = currentTask; ORM_TMS_PRO_DeveloperTask_Recommendation.Query.SoftDelete(Connection, Transaction, rec_query); foreach (var currentMember in Parameter.ProjectMember_List) { ORM_TMS_PRO_DeveloperTask_Recommendation rec_item = new ORM_TMS_PRO_DeveloperTask_Recommendation(); rec_item.DeveloperTask_RefID = currentTask; rec_item.RecommendedBy_ProjectMember_RefID = RecommendedBy.TMS_PRO_ProjectMemberID; rec_item.RecommendedTo_ProjectMember_RefID = currentMember; rec_item.Description = ""; rec_item.Tenant_RefID = securityTicket.TenantID; rec_item.Save(Connection, Transaction); } #endregion } #endregion return(returnValue); #endregion UserCode }
protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L2PR_SPMfPID_1341 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_Guid(); //Put your code here foreach (var userID in Parameter.User_IDsToRemoveFromProject) { //ORM_TMS_PRO_ProjectMember projectMember = new ORM_TMS_PRO_ProjectMember(); var projectMembers = ORM_TMS_PRO_ProjectMember.Query.Search(Connection, Transaction, new ORM_TMS_PRO_ProjectMember.Query() { USR_Account_RefID = userID, Project_RefID = Parameter.ProjectID, Tenant_RefID = securityTicket.TenantID, IsDeleted = false }); foreach (var projectMember in projectMembers) { projectMember.IsDeleted = true; projectMember.Save(Connection, Transaction); } } foreach (var userID in Parameter.User_IDsToAddToProject) { ORM_TMS_PRO_ProjectMember projectMember = new ORM_TMS_PRO_ProjectMember(); projectMember = new CL1_TMS_PRO.ORM_TMS_PRO_ProjectMember(); projectMember.TMS_PRO_ProjectMemberID = Guid.NewGuid(); projectMember.USR_Account_RefID = userID; projectMember.Project_RefID = Parameter.ProjectID; projectMember.IsDeleted = false; projectMember.Tenant_RefID = securityTicket.TenantID; projectMember.Save(Connection, Transaction); } return(returnValue); #endregion UserCode }
protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L3DT_FDT_1646 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_Guid(); //Put your code here #region Finished Status ID var Parameter_StatusFinished = new P_L2DT_GDTSfGPM_1121(); Parameter_StatusFinished.GlobalPropertyMatchingID = EnumUtils.GetEnumDescription(EDeveloperTaskHistory.Finished); var StatusFinished = cls_Get_DeveloperTaskStatus_for_GlobalPropertyMatchingID.Invoke(Connection, Transaction, Parameter_StatusFinished, securityTicket).Result; var Parameter_StatusStarted = new P_L2DT_GDTSfGPM_1121(); Parameter_StatusStarted.GlobalPropertyMatchingID = EnumUtils.GetEnumDescription(EDeveloperTaskHistory.Started); var StatusStarted = cls_Get_DeveloperTaskStatus_for_GlobalPropertyMatchingID.Invoke(Connection, Transaction, Parameter_StatusStarted, securityTicket).Result; #endregion #region Developer Task involvement ORM_TMS_PRO_DeveloperTask_Involvement DeveloperTask_Involvemnet = new ORM_TMS_PRO_DeveloperTask_Involvement(); DeveloperTask_Involvemnet.Load(Connection, Transaction, Parameter.DeveloperTask_InvolvementID); DeveloperTask_Involvemnet.IsActive = false; DeveloperTask_Involvemnet.IsArchived = true; DeveloperTask_Involvemnet.R_InvestedWorkingTime_min += Parameter.DeveloperTask_InvestedTime; DeveloperTask_Involvemnet.Save(Connection, Transaction); #endregion #region Developer Task //ORM_TMS_PRO_DeveloperTask_Involvement.Query InvolvementQuery = new ORM_TMS_PRO_DeveloperTask_Involvement.Query(); //InvolvementQuery.DeveloperTask_RefID = DeveloperTask_Involvemnet.DeveloperTask_RefID; //var InvestedTime = ORM_TMS_PRO_DeveloperTask_Involvement.Query.Search(Connection, Transaction, InvolvementQuery).Sum(i => i.R_InvestedWorkingTime_min); ORM_TMS_PRO_DeveloperTask DeveloperTask = new ORM_TMS_PRO_DeveloperTask(); DeveloperTask.Load(Connection, Transaction, DeveloperTask_Involvemnet.DeveloperTask_RefID); DeveloperTask.DeveloperTime_CurrentInvestment_min += Parameter.DeveloperTask_InvestedTime; DeveloperTask.Completion_Timestamp = DateTime.Now; DeveloperTask.PercentageComplete = "100"; DeveloperTask.IsComplete = true; DeveloperTask.Save(Connection, Transaction); //Retrieve start task timestamp ORM_TMS_PRO_DeveloperTask_StatusHistory.Query DeveloperTask_History_Query = new ORM_TMS_PRO_DeveloperTask_StatusHistory.Query(); DeveloperTask_History_Query.DeveloperTask_Status_RefID = StatusStarted.TMS_PRO_DeveloperTask_StatusID; DeveloperTask_History_Query.DeveloperTask_RefID = DeveloperTask.TMS_PRO_DeveloperTaskID; DeveloperTask_History_Query.TriggeredBy_ProjectMember_RefID = DeveloperTask_Involvemnet.ProjectMember_RefID; List <ORM_TMS_PRO_DeveloperTask_StatusHistory> statusHistoryResult = ORM_TMS_PRO_DeveloperTask_StatusHistory.Query.Search(Connection, Transaction, DeveloperTask_History_Query); //Status History ORM_TMS_PRO_DeveloperTask_StatusHistory DeveloperTask_StatusHistory = new ORM_TMS_PRO_DeveloperTask_StatusHistory(); DeveloperTask_StatusHistory.DeveloperTask_RefID = DeveloperTask.TMS_PRO_DeveloperTaskID; DeveloperTask_StatusHistory.DeveloperTask_Status_RefID = StatusFinished.TMS_PRO_DeveloperTask_StatusID; DeveloperTask_StatusHistory.TriggeredBy_ProjectMember_RefID = DeveloperTask_Involvemnet.ProjectMember_RefID; DeveloperTask_StatusHistory.Comment = Parameter.DeveloperTask_Comment != ""? "Comment: " + Parameter.DeveloperTask_Comment + "</br>" + "Invested time : " + DeveloperTask_Involvemnet.R_InvestedWorkingTime_min + " minutes": "Invested time: " + DeveloperTask_Involvemnet.R_InvestedWorkingTime_min + " minutes"; DeveloperTask_StatusHistory.Tenant_RefID = securityTicket.TenantID; DeveloperTask_StatusHistory.Save(Connection, Transaction); #endregion #region Charging Level ORM_TMP_PRO_ProjectMember_Type_AvailableChargingLevel DefaultChargingLevel = null; ORM_TMS_PRO_ProjectMember GrabbedByMember = new ORM_TMS_PRO_ProjectMember(); GrabbedByMember.Load(Connection, Transaction, DeveloperTask.GrabbedByMember_RefID); if (GrabbedByMember != null) { ORM_TMP_PRO_ProjectMember_Type_AvailableChargingLevel.Query ChargingLevelQuery = new ORM_TMP_PRO_ProjectMember_Type_AvailableChargingLevel.Query(); ChargingLevelQuery.ProjectMember_Type_RefID = GrabbedByMember.ProjectMember_Type_RefID; ChargingLevelQuery.IsDeleted = false; List <ORM_TMP_PRO_ProjectMember_Type_AvailableChargingLevel> AvailbaleChargingLevels = ORM_TMP_PRO_ProjectMember_Type_AvailableChargingLevel.Query.Search(Connection, Transaction, ChargingLevelQuery); if (AvailbaleChargingLevels.Exists(acl => acl.IsDefault)) { DefaultChargingLevel = AvailbaleChargingLevels.Where(acl => acl.IsDefault).FirstOrDefault(); } else if (AvailbaleChargingLevels.Count > 0) { DefaultChargingLevel = AvailbaleChargingLevels.FirstOrDefault(); } } #endregion #region Invested WorkTimes //User Account ORM_USR_Account UserAccount = new ORM_USR_Account(); UserAccount.Load(Connection, Transaction, securityTicket.AccountID); ORM_CMN_BPT_InvestedWorkTime InvestedWorkTimes = new ORM_CMN_BPT_InvestedWorkTime(); InvestedWorkTimes.BusinessParticipant_RefID = UserAccount.BusinessParticipant_RefID; InvestedWorkTimes.WorkTime_Start = statusHistoryResult.OrderBy(c => c.Creation_Timestamp).LastOrDefault().Creation_Timestamp; InvestedWorkTimes.WorkTime_Amount_min = Parameter.DeveloperTask_InvestedTime; InvestedWorkTimes.WorkTime_InternalIdentifier = cls_Get_New_InvestedWorkTime_Identifier.Invoke(Connection, Transaction, securityTicket).Result.IWT_Identifier; InvestedWorkTimes.WorkTime_Source = "DanuTask - [D" + DeveloperTask.IdentificationNumber + "] " + DeveloperTask.Name; InvestedWorkTimes.WorkTime_Comment.AddEntry(Parameter.LanguageID, Parameter.DeveloperTask_Comment); InvestedWorkTimes.ChargingLevel_RefID = DefaultChargingLevel != null ? DefaultChargingLevel.ChargingLevel_RefID : Guid.Empty; InvestedWorkTimes.Tenant_RefID = securityTicket.TenantID; InvestedWorkTimes.Save(Connection, Transaction); #endregion #region Developer Task Involvements Invested time ORM_TMS_PRO_DeveloperTask_Involvements_InvestedWorkTime DeveloperTaskInvolvements_InvestedTime = new ORM_TMS_PRO_DeveloperTask_Involvements_InvestedWorkTime(); DeveloperTaskInvolvements_InvestedTime.CMN_BPT_InvestedWorkTime_RefID = InvestedWorkTimes.CMN_BPT_InvestedWorkTimeID; DeveloperTaskInvolvements_InvestedTime.TMS_PRO_DeveloperTask_Involvement_RefID = DeveloperTask_Involvemnet.TMS_PRO_DeveloperTask_InvolvementID; DeveloperTaskInvolvements_InvestedTime.Tenant_RefID = securityTicket.TenantID; DeveloperTaskInvolvements_InvestedTime.Save(Connection, Transaction); #endregion 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_Bool Execute(DbConnection Connection, DbTransaction Transaction, P_L3FE_SPF_1527 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_Bool(); ORM_TMS_PRO_Feature Feature = new ORM_TMS_PRO_Feature(); ORM_TMS_PRO_Project Project = new ORM_TMS_PRO_Project(); ORM_TMS_PRO_ProjectMember ProjectMember = new ORM_TMS_PRO_ProjectMember(); foreach (P_L3FE_SPF_1527a asgn in Parameter.Assignments) { var item = new ORM_TMS_PRO_Peers_Feature(); Guid projectMemberID = Guid.Empty; if (asgn.AssignmentID != Guid.Empty) { var result = item.Load(Connection, Transaction, asgn.AssignmentID); if (result.Status != FR_Status.Success || item.AssignmentID == Guid.Empty) { var error = new FR_Bool(false); error.ErrorMessage = "No Such ID"; error.Status = FR_Status.Error_Internal; return(error); } projectMemberID = item.ProjectMember_RefID; } if (asgn.IsDeleted == true) { item.IsDeleted = true; } //Creation specific parameters (Tenant, Account ... ) if (asgn.AssignmentID == Guid.Empty) { item.Tenant_RefID = securityTicket.TenantID; item.ProjectMember_RefID = Parameter.AssignedBy_ProjectMemberID; } item.Feature_RefID = Parameter.Feature_RefID; item.ProjectMember_RefID = asgn.ProjectMember_RefID; item.Save(Connection, Transaction); #region SubItems var task2featureQuery = new ORM_TMS_PRO_Feature_2_DeveloperTask.Query(); task2featureQuery.Feature_RefID = item.Feature_RefID; var task2feature = ORM_TMS_PRO_Feature_2_DeveloperTask.Query.Search(Connection, Transaction, task2featureQuery); List <Guid> taskIds = task2feature.Select(t => t.DeveloperTask_RefID).Distinct().ToList(); foreach (Guid currentTask in taskIds) { P_L3DT_SPDT_1644 subscribeParam = new P_L3DT_SPDT_1644(); subscribeParam.DeveloperTask_RefID = currentTask; P_L3DT_SPDT_1644a assignment = new P_L3DT_SPDT_1644a(); if (asgn.IsDeleted) { P_L3DT_GDTIaSfDT_1654 dtaskParam = new P_L3DT_GDTIaSfDT_1654(); dtaskParam.DTaskID = currentTask; dtaskParam.IsBeingPrepared_Only = false; FR_L3DT_GDTIaSfDT_1654 dtasKResult = cls_Get_DeveloperTaskInfo_and_Subscriptions_for_DTaskID.Invoke(Connection, Transaction, dtaskParam, securityTicket); if (dtasKResult != null && dtasKResult.Result != null) { assignment.AssignmentID = dtasKResult.Result.PeersDevelopmentAssignmentID; assignment.IsDeleted = true; } } else { subscribeParam.AssignedBy_ProjectMemberID = Parameter.AssignedBy_ProjectMemberID; assignment.ProjectMember_RefID = asgn.ProjectMember_RefID; } subscribeParam.Assignments = new P_L3DT_SPDT_1644a[] { assignment }; cls_Save_TMS_PRO_Peers_Development.Invoke(Connection, Transaction, subscribeParam, securityTicket); } #endregion } return(returnValue); #endregion UserCode }
protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L3DT_SDT_1808 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { //Leave UserCode region to enable user code saving #region UserCode var returnValue = new FR_Guid(); //Put your code here #region StatusID's var Parameter_StoppedStatus = new P_L2DT_GDTSfGPM_1121(); Parameter_StoppedStatus.GlobalPropertyMatchingID = EnumUtils.GetEnumDescription(EDeveloperTaskHistory.Stopped); var StoppedStatus_ID = cls_Get_DeveloperTaskStatus_for_GlobalPropertyMatchingID.Invoke(Connection, Transaction, Parameter_StoppedStatus, securityTicket).Result; #endregion #region Involvement ORM_TMS_PRO_DeveloperTask_Involvement DeveloperTask_Involvement = new ORM_TMS_PRO_DeveloperTask_Involvement(); DeveloperTask_Involvement.Load(Connection, Transaction, Parameter.DeveloperTask_InvolvementID); //Update invested time on involvement DeveloperTask_Involvement.R_InvestedWorkingTime_min += Parameter.DeveloperTask_InvestedTime; DeveloperTask_Involvement.Save(Connection, Transaction); #endregion #region Developer task ORM_TMS_PRO_DeveloperTask DeveloperTask = new ORM_TMS_PRO_DeveloperTask(); DeveloperTask.Load(Connection, Transaction, Parameter.DeveloperTask_ID); DeveloperTask.IsIncompleteInformation = Parameter.DeveloperTask_IsMissingInfo; DeveloperTask.PercentageComplete = Parameter.DeveloperTask_PercentageComplete.ToString(); DeveloperTask.DeveloperTime_CurrentInvestment_min += Parameter.DeveloperTask_InvestedTime; DeveloperTask.Save(Connection, Transaction); #endregion #region Update developer task status history ORM_TMS_PRO_DeveloperTask_StatusHistory DeveloperTask_StatusHistory = new ORM_TMS_PRO_DeveloperTask_StatusHistory(); DeveloperTask_StatusHistory.DeveloperTask_RefID = Parameter.DeveloperTask_ID; DeveloperTask_StatusHistory.DeveloperTask_Status_RefID = StoppedStatus_ID.TMS_PRO_DeveloperTask_StatusID; DeveloperTask_StatusHistory.TriggeredBy_ProjectMember_RefID = DeveloperTask_Involvement.ProjectMember_RefID; DeveloperTask_StatusHistory.CreatedFor_ProjectMember_RefID = Guid.Empty; DeveloperTask_StatusHistory.Comment = Parameter.DeveloperTask_StopComment != "" ? "Comment: " + Parameter.DeveloperTask_StopComment + "</br>" : ""; DeveloperTask_StatusHistory.Comment += "Total invested time: " + DeveloperTask_Involvement.R_InvestedWorkingTime_min + " minutes" + "</br>" + "Current invested time: " + Parameter.DeveloperTask_InvestedTime + " minutes" + "</br>" + " Percentage complete: " + Parameter.DeveloperTask_PercentageComplete + "%\n"; DeveloperTask_StatusHistory.Tenant_RefID = securityTicket.TenantID; DeveloperTask_StatusHistory.Save(Connection, Transaction); if (Parameter.DeveloperTask_IsMissingInfo) { //TODO: Change active developer task var Parameter_MissingInfoStatus = new P_L2DT_GDTSfGPM_1121(); Parameter_MissingInfoStatus.GlobalPropertyMatchingID = EnumUtils.GetEnumDescription(EDeveloperTaskHistory.MissingInfo); var MissingInfoStatus_ID = cls_Get_DeveloperTaskStatus_for_GlobalPropertyMatchingID.Invoke(Connection, Transaction, Parameter_MissingInfoStatus, securityTicket).Result; DeveloperTask_StatusHistory = new ORM_TMS_PRO_DeveloperTask_StatusHistory(); DeveloperTask_StatusHistory.DeveloperTask_RefID = Parameter.DeveloperTask_ID; DeveloperTask_StatusHistory.DeveloperTask_Status_RefID = MissingInfoStatus_ID.TMS_PRO_DeveloperTask_StatusID; DeveloperTask_StatusHistory.TriggeredBy_ProjectMember_RefID = DeveloperTask_Involvement.ProjectMember_RefID; DeveloperTask_StatusHistory.CreatedFor_ProjectMember_RefID = Guid.Empty; DeveloperTask_StatusHistory.Comment = Parameter.DeveloperTask_StopComment; DeveloperTask_StatusHistory.Tenant_RefID = securityTicket.TenantID; DeveloperTask_StatusHistory.Save(Connection, Transaction); } #endregion #region Load user account ORM_USR_Account UserAccount = new ORM_USR_Account(); UserAccount.Load(Connection, Transaction, securityTicket.AccountID); #endregion #region Default charging level ORM_TMP_PRO_ProjectMember_Type_AvailableChargingLevel DefaultChargingLevel = null; ORM_TMS_PRO_ProjectMember DeveloperTask_GrabbedByMember = new ORM_TMS_PRO_ProjectMember(); DeveloperTask_GrabbedByMember.Load(Connection, Transaction, DeveloperTask.GrabbedByMember_RefID); if (DeveloperTask_GrabbedByMember != null) { ORM_TMP_PRO_ProjectMember_Type_AvailableChargingLevel.Query SelectChargingLevel = new ORM_TMP_PRO_ProjectMember_Type_AvailableChargingLevel.Query(); SelectChargingLevel.ProjectMember_Type_RefID = DeveloperTask_GrabbedByMember.ProjectMember_Type_RefID; SelectChargingLevel.IsDeleted = false; List <ORM_TMP_PRO_ProjectMember_Type_AvailableChargingLevel> AvailableChargingLevels = ORM_TMP_PRO_ProjectMember_Type_AvailableChargingLevel.Query.Search(Connection, Transaction, SelectChargingLevel); if (AvailableChargingLevels.Count > 0) { if (AvailableChargingLevels.Exists(acl => acl.IsDefault)) { DefaultChargingLevel = AvailableChargingLevels.Where(acl => acl.IsDefault).FirstOrDefault(); } else { DefaultChargingLevel = AvailableChargingLevels.FirstOrDefault(); } } } #endregion #region Invested work times ORM_CMN_BPT_InvestedWorkTime InvestedWorkTimes = new ORM_CMN_BPT_InvestedWorkTime(); InvestedWorkTimes.BusinessParticipant_RefID = UserAccount.BusinessParticipant_RefID; InvestedWorkTimes.ChargingLevel_RefID = DefaultChargingLevel != null ? DefaultChargingLevel.ChargingLevel_RefID : Guid.Empty; InvestedWorkTimes.Tenant_RefID = securityTicket.TenantID; InvestedWorkTimes.WorkTime_Amount_min = Parameter.DeveloperTask_InvestedTime; InvestedWorkTimes.WorkTime_Comment.AddEntry(Parameter.LanguageID, Parameter.DeveloperTask_StopComment); InvestedWorkTimes.WorkTime_Start = DateTime.Now.AddMinutes(-Parameter.DeveloperTask_InvestedTime); InvestedWorkTimes.WorkTime_InternalIdentifier = cls_Get_New_InvestedWorkTime_Identifier.Invoke(Connection, Transaction, securityTicket).Result.IWT_Identifier; InvestedWorkTimes.WorkTime_Source = "Danutask - [D" + DeveloperTask.IdentificationNumber + "] " + DeveloperTask.Name; InvestedWorkTimes.Tenant_RefID = securityTicket.TenantID; InvestedWorkTimes.WorkTime_Comment.AddEntry(Parameter.LanguageID, Parameter.DeveloperTask_StopComment); InvestedWorkTimes.Save(Connection, Transaction); #endregion #region Developer task invested work times ORM_TMS_PRO_DeveloperTask_Involvements_InvestedWorkTime DeveloperTaskInvolvement_InvestedTime = new ORM_TMS_PRO_DeveloperTask_Involvements_InvestedWorkTime(); DeveloperTaskInvolvement_InvestedTime.CMN_BPT_InvestedWorkTime_RefID = InvestedWorkTimes.CMN_BPT_InvestedWorkTimeID; DeveloperTaskInvolvement_InvestedTime.TMS_PRO_DeveloperTask_Involvement_RefID = DeveloperTask_Involvement.TMS_PRO_DeveloperTask_InvolvementID; DeveloperTaskInvolvement_InvestedTime.Tenant_RefID = securityTicket.TenantID; DeveloperTaskInvolvement_InvestedTime.Save(Connection, Transaction); #endregion return(returnValue); #endregion UserCode }