Beispiel #1
0
        protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L6DT_SDT_1700 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var returnValue = new FR_Guid();


            if (Parameter.Delete)
            {
                //DELETING DEV TASK
                ORM_TMS_PRO_DeveloperTask developerTaskToDelete = ORM_TMS_PRO_DeveloperTask.Query.Search(Connection, Transaction, new ORM_TMS_PRO_DeveloperTask.Query()
                {
                    TMS_PRO_DeveloperTaskID = Parameter.DeveloperTaskID,
                    IsDeleted    = false,
                    Tenant_RefID = securityTicket.TenantID
                }).Single();
                developerTaskToDelete.IsDeleted = true;
                developerTaskToDelete.Save(Connection, Transaction);
                //DELETING FEATURE 2 TAG
                ORM_TMS_PRO_Feature_2_DeveloperTask Feature_2_DeveloperTask2Delete = ORM_TMS_PRO_Feature_2_DeveloperTask.Query.Search(Connection, Transaction, new ORM_TMS_PRO_Feature_2_DeveloperTask.Query()
                {
                    DeveloperTask_RefID = Parameter.DeveloperTaskID,
                    IsDeleted           = false,
                    Tenant_RefID        = securityTicket.TenantID
                }).Single();
                Feature_2_DeveloperTask2Delete.IsDeleted = true;
                Feature_2_DeveloperTask2Delete.Save(Connection, Transaction);

                //DELETING STATUS HISTORY
                var statusHistory2Delete = ORM_TMS_PRO_DeveloperTask_StatusHistory.Query.Search(Connection, Transaction, new ORM_TMS_PRO_DeveloperTask_StatusHistory.Query()
                {
                    DeveloperTask_RefID = Parameter.DeveloperTaskID,
                    IsDeleted           = false,
                    Tenant_RefID        = securityTicket.TenantID
                });

                foreach (var history in statusHistory2Delete)
                {
                    history.IsDeleted = true;
                    history.Save(Connection, Transaction);
                }
                //DELETING DEV TASK 2 TAG
                var developerTask2Tags = ORM_TMS_PRO_DeveloperTask_2_Tag.Query.Search(Connection, Transaction, new ORM_TMS_PRO_DeveloperTask_2_Tag.Query()
                {
                    Tenant_RefID        = securityTicket.TenantID,
                    IsDeleted           = false,
                    DeveloperTask_RefID = Parameter.DeveloperTaskID
                }
                                                                                      );

                foreach (var developerTask2Tag in developerTask2Tags)
                {
                    developerTask2Tag.IsDeleted = true;
                    developerTask2Tag.Save(Connection, Transaction);
                }
                //DELETING PRODUCT RELEASES 2 DEV TASK
                var productReleases2DevTask = ORM_CMN_PRO_Product_Release_2_DeveloperTask.Query.Search(Connection, Transaction, new ORM_CMN_PRO_Product_Release_2_DeveloperTask.Query()
                {
                    Tenant_RefID = securityTicket.TenantID,
                    IsDeleted    = false,
                    TMS_PRO_DeveloperTask_RefID = Parameter.DeveloperTaskID
                });
                foreach (var productRelease in productReleases2DevTask)
                {
                    productRelease.IsDeleted = true;
                    productRelease.Save(Connection, Transaction);
                }
                //DELETING DEV TASK INVOLVEMENTS
                var involment_query = new ORM_TMS_PRO_DeveloperTask_Involvement.Query();
                involment_query.DeveloperTask_RefID = Parameter.DeveloperTaskID;
                involment_query.Tenant_RefID        = securityTicket.TenantID;
                involment_query.IsDeleted           = false;

                var involments = ORM_TMS_PRO_DeveloperTask_Involvement.Query.Search(Connection, Transaction, involment_query);
                foreach (var involment in involments)
                {
                    var dtinv_query = new ORM_TMS_PRO_DeveloperTask_Involvements_InvestedWorkTime.Query();
                    dtinv_query.TMS_PRO_DeveloperTask_Involvement_RefID = involment.TMS_PRO_DeveloperTask_InvolvementID;
                    dtinv_query.IsDeleted = false;

                    var dtinv = ORM_TMS_PRO_DeveloperTask_Involvements_InvestedWorkTime.Query.Search(Connection, Transaction, dtinv_query);

                    foreach (var dt in dtinv)
                    {
                        dt.IsDeleted = true;
                        dt.Save(Connection, Transaction);

                        var inv_query = new ORM_CMN_BPT_InvestedWorkTime.Query();
                        inv_query.CMN_BPT_InvestedWorkTimeID = dt.CMN_BPT_InvestedWorkTime_RefID;
                        inv_query.IsDeleted = false;

                        ORM_CMN_BPT_InvestedWorkTime.Query.SoftDelete(Connection, Transaction, inv_query);
                    }
                }
                //DELETING RECOMENDATIONS
                var devTaskRecomentations = ORM_TMS_PRO_DeveloperTask_Recommendation.Query.Search(Connection, Transaction, new ORM_TMS_PRO_DeveloperTask_Recommendation.Query()
                {
                    DeveloperTask_RefID = Parameter.DeveloperTaskID,
                    Tenant_RefID        = securityTicket.TenantID,
                    IsDeleted           = false
                });
                foreach (var devTaskRecomendation in devTaskRecomentations)
                {
                    devTaskRecomendation.IsDeleted = true;
                    devTaskRecomendation.Save(Connection, Transaction);
                }
                //deleting peers development
                var peersDevelopment = ORM_TMS_PRO_Peers_Development.Query.Search(Connection, Transaction, new ORM_TMS_PRO_Peers_Development.Query()
                {
                    DeveloperTask_RefID = Parameter.DeveloperTaskID,
                    Tenant_RefID        = securityTicket.TenantID,
                    IsDeleted           = false
                });

                foreach (var item in peersDevelopment)
                {
                    item.IsDeleted = true;
                    item.Save(Connection, Transaction);
                }
                returnValue.Result = Parameter.DeveloperTaskID;
            }
            if (Parameter.Archive)
            {
                ORM_TMS_PRO_DeveloperTask developerTaskToArchive = ORM_TMS_PRO_DeveloperTask.Query.Search(Connection, Transaction, new ORM_TMS_PRO_DeveloperTask.Query()
                {
                    TMS_PRO_DeveloperTaskID = Parameter.DeveloperTaskID,
                    IsDeleted    = false,
                    Tenant_RefID = securityTicket.TenantID
                }).Single();
                developerTaskToArchive.IsArchived = true;
                developerTaskToArchive.Save(Connection, Transaction);
            }

            return(returnValue);

            #endregion UserCode
        }
        protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L3DT_SDT_0949 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
            Boolean multipleEdit;

            String   oldName                     = "";
            String   oldDescription              = "";
            Guid     oldPriority_RefID           = Guid.Empty;
            Guid     oldDeveloperTask_Type_RefID = Guid.Empty;
            double   oldEstimatedReqTime         = -1;
            DateTime oldCompletion_Deadline      = new DateTime();
            Boolean  oldIsBeingPrepared          = false;

            Guid Project_RefID = Guid.Empty;

            if (Parameter.Parent_RefID != Guid.Empty)
            {
                ORM_TMS_PRO_Feature.Query query = new ORM_TMS_PRO_Feature.Query();
                query.TMS_PRO_FeatureID = Parameter.Parent_RefID;

                var items = ORM_TMS_PRO_Feature.Query.Search(Connection, Transaction, query);
                Project_RefID = items.FirstOrDefault().Project_RefID;
            }

            foreach (var TMS_PRO_DeveloperTaskID in Parameter.TMS_PRO_DeveloperTaskIDList)
            {
                var item   = new CL1_TMS_PRO.ORM_TMS_PRO_DeveloperTask();
                var result = item.Load(Connection, Transaction, TMS_PRO_DeveloperTaskID);

                P_L3DT_GPfDT_1659 parameterPeers = new P_L3DT_GPfDT_1659();
                parameterPeers.DTaskID = item.TMS_PRO_DeveloperTaskID;

                List <L3DT_GPfDT_1659> dtaskPeers = cls_Get_Peers_for_DTaskID.Invoke(Connection, Transaction, parameterPeers, securityTicket).Result.ToList();


                if (Parameter.IsDeleted == true)
                {
                    #region Delete ORM_CMN_BPT_InvestedWorkTime

                    var involment_query = new ORM_TMS_PRO_DeveloperTask_Involvement.Query();
                    involment_query.DeveloperTask_RefID = item.TMS_PRO_DeveloperTaskID;
                    involment_query.IsDeleted           = false;

                    var involments = ORM_TMS_PRO_DeveloperTask_Involvement.Query.Search(Connection, Transaction, involment_query);

                    foreach (var involment in involments)
                    {
                        var dtinv_query = new ORM_TMS_PRO_DeveloperTask_Involvements_InvestedWorkTime.Query();
                        dtinv_query.TMS_PRO_DeveloperTask_Involvement_RefID = involment.TMS_PRO_DeveloperTask_InvolvementID;
                        dtinv_query.IsDeleted = false;

                        var dtinv = ORM_TMS_PRO_DeveloperTask_Involvements_InvestedWorkTime.Query.Search(Connection, Transaction, dtinv_query);

                        foreach (var dt in dtinv)
                        {
                            dt.IsDeleted = true;
                            dt.Save(Connection, Transaction);

                            var inv_query = new ORM_CMN_BPT_InvestedWorkTime.Query();
                            inv_query.CMN_BPT_InvestedWorkTimeID = dt.CMN_BPT_InvestedWorkTime_RefID;
                            inv_query.IsDeleted = false;

                            ORM_CMN_BPT_InvestedWorkTime.Query.SoftDelete(Connection, Transaction, inv_query);
                        }
                    }
                    #endregion

                    #region DeleteAssignments

                    ORM_TMS_PRO_Peers_Development.Query instance1 = new ORM_TMS_PRO_Peers_Development.Query();
                    instance1.DeveloperTask_RefID = TMS_PRO_DeveloperTaskID;
                    ORM_TMS_PRO_Peers_Development.Query.SoftDelete(Connection, Transaction, instance1);

                    ORM_TMS_PRO_Feature_2_DeveloperTask.Query instance2 = new ORM_TMS_PRO_Feature_2_DeveloperTask.Query();
                    instance2.DeveloperTask_RefID = TMS_PRO_DeveloperTaskID;
                    ORM_TMS_PRO_Feature_2_DeveloperTask.Query.SoftDelete(Connection, Transaction, instance2);

                    ORM_TMS_PRO_DeveloperTask_Involvement.Query instance3 = new ORM_TMS_PRO_DeveloperTask_Involvement.Query();
                    instance3.DeveloperTask_RefID = TMS_PRO_DeveloperTaskID;
                    ORM_TMS_PRO_DeveloperTask_Involvement.Query.SoftDelete(Connection, Transaction, instance3);

                    ORM_TMS_PRO_DeveloperTask_StatusHistory.Query instance4 = new ORM_TMS_PRO_DeveloperTask_StatusHistory.Query();
                    instance4.DeveloperTask_RefID = TMS_PRO_DeveloperTaskID;
                    ORM_TMS_PRO_DeveloperTask_StatusHistory.Query.SoftDelete(Connection, Transaction, instance4);

                    ORM_TMS_PRO_DeveloperTask_Recommendation.Query instance5 = new ORM_TMS_PRO_DeveloperTask_Recommendation.Query();
                    instance5.DeveloperTask_RefID = TMS_PRO_DeveloperTaskID;
                    ORM_TMS_PRO_DeveloperTask_Recommendation.Query.SoftDelete(Connection, Transaction, instance5);

                    ORM_CMN_PRO_Product_Release_2_DeveloperTask.Query instance6 = new ORM_CMN_PRO_Product_Release_2_DeveloperTask.Query();
                    instance6.TMS_PRO_DeveloperTask_RefID = TMS_PRO_DeveloperTaskID;
                    ORM_CMN_PRO_Product_Release_2_DeveloperTask.Query.SoftDelete(Connection, Transaction, instance6);

                    ORM_TMS_QuickTask.Query instance7 = new ORM_TMS_QuickTask.Query();
                    instance7.AssignedTo_DeveloperTask_RefID = TMS_PRO_DeveloperTaskID;
                    var quicktasks = ORM_TMS_QuickTask.Query.Search(Connection, Transaction, instance7);
                    foreach (var quicktask in quicktasks)
                    {
                        var param = new P_L3QT_SQT_0905();
                        param.TMS_QuickTaskID = quicktask.TMS_QuickTaskID;
                        param.IsDeleted       = true;
                        cls_Save_TMS_QuickTask.Invoke(Connection, Transaction, param, securityTicket);
                    }

                    #endregion

                    #region projectInfo

                    var project = new ORM_TMS_PRO_Project();
                    project.Load(Connection, Transaction, item.Project_RefID);

                    ORM_TMS_PRO_Project_Status ProjectStatus = new ORM_TMS_PRO_Project_Status();
                    ProjectStatus.Load(Connection, Transaction, project.Status_RefID);

                    Guid   language    = Parameter.LanguageID;
                    String statusLabel = ProjectStatus.Label.GetContent(language);
                    String projectName = project.Name.GetContent(language);

                    #endregion


                    item.IsDeleted = true;
                    item.Save(Connection, Transaction);
                }



                if (Parameter.IsArchived == true)
                {
                    item.IsArchived = true;
                    item.Save(Connection, Transaction);

                    continue;
                }


                #region ORM_TMS_PRO_Feature_2_DeveloperTask

                if (Parameter.Parent_RefID != Guid.Empty)
                {
                    ORM_TMS_PRO_Feature_2_DeveloperTask.Query assignquery = new ORM_TMS_PRO_Feature_2_DeveloperTask.Query();
                    assignquery.DeveloperTask_RefID = item.TMS_PRO_DeveloperTaskID;

                    List <ORM_TMS_PRO_Feature_2_DeveloperTask> assignments = ORM_TMS_PRO_Feature_2_DeveloperTask.Query.Search(Connection, Transaction, assignquery);
                    foreach (var assignment in assignments)
                    {
                        assignment.Feature_RefID = Parameter.Parent_RefID;
                        assignment.Save(Connection, Transaction);
                    }
                }
                #endregion

                if (Project_RefID != Guid.Empty)
                {
                    item.Project_RefID = Project_RefID;
                }

                if (Parameter.TMS_PRO_DeveloperTaskIDList.Length == 1)
                {
                    multipleEdit = false;

                    oldName        = item.Name;
                    oldDescription = item.Description;

                    item.Name        = Parameter.TaskName;
                    item.Description = Parameter.Description;

                    item.Priority_RefID           = Parameter.Priority_RefID;
                    item.DeveloperTask_Type_RefID = Parameter.DeveloperTask_Type_RefID;

                    item.DeveloperTime_RequiredEstimation_min = Parameter.DeveloperTime_RequiredEstimation_min;
                    item.Completion_Deadline = Parameter.Completion_Deadline;
                    item.IsBeingPrepared     = Parameter.IsBeingPrepared;
                    item.IsTaskEstimable     = Parameter.IsTaskEstimable;

                    #region ORM_CMN_PRO_Product_Release_2_DeveloperTask

                    if (Parameter.ReleaseID != Guid.Empty)
                    {
                        var revisionAssignment = new ORM_CMN_PRO_Product_Release_2_DeveloperTask();
                        revisionAssignment.AssignmentID = Guid.NewGuid();
                        revisionAssignment.CMN_PRO_Product_Release_RefID = Parameter.ReleaseID;
                        revisionAssignment.TMS_PRO_DeveloperTask_RefID   = item.TMS_PRO_DeveloperTaskID;
                        revisionAssignment.Creation_Timestamp            = DateTime.Now;
                        revisionAssignment.Tenant_RefID = securityTicket.TenantID;

                        revisionAssignment.Save(Connection, Transaction);
                    }
                    else
                    {
                        var query = new ORM_CMN_PRO_Product_Release_2_DeveloperTask.Query();
                        query.TMS_PRO_DeveloperTask_RefID = item.TMS_PRO_DeveloperTaskID;

                        ORM_CMN_PRO_Product_Release_2_DeveloperTask.Query.SoftDelete(Connection, Transaction, query);
                    }

                    #endregion
                }

                else
                {
                    multipleEdit = true;

                    if (Parameter.Priority_RefID != Guid.Empty)
                    {
                        item.Priority_RefID = Parameter.Priority_RefID;
                    }
                    if (Parameter.DeveloperTask_Type_RefID != Guid.Empty)
                    {
                        item.DeveloperTask_Type_RefID = Parameter.DeveloperTask_Type_RefID;
                    }
                    if (Parameter.DeveloperTime_RequiredEstimation_min != 0)
                    {
                        item.DeveloperTime_RequiredEstimation_min = Parameter.DeveloperTime_RequiredEstimation_min;
                    }
                    if (Parameter.Completion_Deadline != new DateTime())
                    {
                        item.Completion_Deadline = Parameter.Completion_Deadline;
                    }
                    if (Parameter.IsBeingPreparedIgnore == false)
                    {
                        item.IsBeingPrepared = Parameter.IsBeingPrepared;
                    }


                    if (Parameter.ReleaseIDIgnore == false)
                    {
                        #region ORM_CMN_PRO_Product_Release_2_DeveloperTask

                        if (Parameter.ReleaseID != Guid.Empty)
                        {
                            var revisionAssignment = new ORM_CMN_PRO_Product_Release_2_DeveloperTask();
                            revisionAssignment.AssignmentID = Guid.NewGuid();
                            revisionAssignment.CMN_PRO_Product_Release_RefID = Parameter.ReleaseID;
                            revisionAssignment.TMS_PRO_DeveloperTask_RefID   = item.TMS_PRO_DeveloperTaskID;
                            revisionAssignment.Creation_Timestamp            = DateTime.Now;
                            revisionAssignment.Tenant_RefID = securityTicket.TenantID;

                            revisionAssignment.Save(Connection, Transaction);
                        }
                        else
                        {
                            var query = new ORM_CMN_PRO_Product_Release_2_DeveloperTask.Query();
                            query.TMS_PRO_DeveloperTask_RefID = item.TMS_PRO_DeveloperTaskID;

                            ORM_CMN_PRO_Product_Release_2_DeveloperTask.Query.SoftDelete(Connection, Transaction, query);
                        }

                        #endregion
                    }
                }


                item.Save(Connection, Transaction);
            }


            return(returnValue);

            #endregion UserCode
        }