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
        }
        protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L6US_SURTRWT_0947 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var returnValue = new FR_Guid();
            //Put your code here
            ORM_USR_Account_ApplicationSetting.Query ApplicationSettingsQuery = new ORM_USR_Account_ApplicationSetting.Query();
            ApplicationSettingsQuery.Account_RefID = securityTicket.AccountID;
            ApplicationSettingsQuery.Tenant_RefID  = securityTicket.TenantID;
            ApplicationSettingsQuery.ItemValue     = EnumUtils.GetEnumDescription(RunningTimes.Item_Key);
            if (ORM_USR_Account_ApplicationSetting.Query.Exists(Connection, Transaction, ApplicationSettingsQuery))
            {
                Guid DefinitionID = ORM_USR_Account_ApplicationSetting.Query.Search(Connection, Transaction, ApplicationSettingsQuery).FirstOrDefault().ApplicationSetting_Definition_RefID;
                ORM_USR_Account_ApplicationSetting_Definition ApplicationDefinition = new ORM_USR_Account_ApplicationSetting_Definition();
                ApplicationDefinition.Load(Connection, Transaction, DefinitionID);
                String          runningTimesXml        = ApplicationDefinition.DefaultValue;
                XDocument       runningTimesDoc        = XDocument.Parse(runningTimesXml);
                XElement        currentRunningTime     = runningTimesDoc.Root.Elements("RunningTime").Where(rt => Boolean.Parse(rt.Element("IsToFinish").Value)).FirstOrDefault();
                P_L3QT_SQT_0905 SaveQuickTaskParameter = new P_L3QT_SQT_0905();
                SaveQuickTaskParameter.AssignedTo_Project_RefID = Parameter.AssignedToProject_ID;
                if (Parameter.AssignedToBusinessTask_ID != null && Parameter.AssignedToBusinessTask_ID != Guid.Empty)
                {
                    SaveQuickTaskParameter.AssignedTo_BusinessTask_RefID = Parameter.AssignedToBusinessTask_ID;
                }
                if (Parameter.AssignedToFeature_ID != null && Parameter.AssignedToFeature_ID != Guid.Empty)
                {
                    SaveQuickTaskParameter.AssignedTo_Feature_RefID = Parameter.AssignedToFeature_ID;
                }
                if (Parameter.AssignedToDeveloperTask_ID != null && Parameter.AssignedToDeveloperTask_ID != Guid.Empty)
                {
                    SaveQuickTaskParameter.AssignedTo_DeveloperTask_RefID = Parameter.AssignedToDeveloperTask_ID;
                }
                SaveQuickTaskParameter.IsDeleted            = false;
                SaveQuickTaskParameter.LanguageID           = Parameter.LanguageID;
                SaveQuickTaskParameter.QuickTask_Type_RefID = Parameter.WorkTimeType_ID;
                XElement LastInterval = currentRunningTime.Element("Intervals").Elements("Interval").Last();
                foreach (XElement runnigTimeInterval in currentRunningTime.Element("Intervals").Elements("Interval"))
                {
                    SaveQuickTaskParameter.QuickTask_Title = new Dict(ORM_TMS_QuickTask.TableName);
                    SaveQuickTaskParameter.QuickTask_Title.AddEntry(Parameter.LanguageID, currentRunningTime.Element("Title").Value);

                    SaveQuickTaskParameter.QuickTask_Description = new Dict(ORM_TMS_QuickTask.TableName);
                    SaveQuickTaskParameter.QuickTask_Description.AddEntry(Parameter.LanguageID, Parameter.WorkTimeDescription);

                    SaveQuickTaskParameter.QuickTask_StartTime = DateTime.Parse(runnigTimeInterval.Element("Start").Value);

                    if (runnigTimeInterval == LastInterval)
                    {
                        SaveQuickTaskParameter.R_QuickTask_InvestedTime_min = Parameter.WorkTimeLastIntervalDurationMinutes;
                    }
                    else
                    {
                        SaveQuickTaskParameter.R_QuickTask_InvestedTime_min = Double.Parse(runnigTimeInterval.Element("Duration").Value) / 60;
                    }
                    cls_Save_TMS_QuickTask.Invoke(Connection, Transaction, SaveQuickTaskParameter, securityTicket);
                }

                runningTimesDoc.Root.Elements("RunningTime").Where(rt => Boolean.Parse(rt.Element("IsToFinish").Value)).Remove();
                P_L6US_SURT_0947 UpdateRuningTimesParameter = new P_L6US_SURT_0947();
                UpdateRuningTimesParameter.RunningTimesXML = runningTimesDoc.ToString();
                cls_Save_UserRunningTimes.Invoke(Connection, Transaction, UpdateRuningTimesParameter, securityTicket);
            }
            return(returnValue);

            #endregion UserCode
        }
Ejemplo n.º 3
0
        protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L3FE_SF_0927 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

            String oldName        = "";
            String oldDescription = "";

            #region Get_Project
            Guid Project_RefID = Guid.Empty;

            if (Parameter.Parent_RefID != Guid.Empty)
            {
                ORM_TMS_PRO_BusinessTask.Query query = new ORM_TMS_PRO_BusinessTask.Query();
                query.TMS_PRO_BusinessTaskID = Parameter.Parent_RefID;

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

            #endregion

            foreach (var TMS_PRO_FeatureID in Parameter.TMS_PRO_FeatureIDList)
            {
                var item   = new ORM_TMS_PRO_Feature();
                var result = item.Load(Connection, Transaction, TMS_PRO_FeatureID);

                oldName        = "";
                oldDescription = "";

                P_L3FE_GPfF_1445 peersParameter = new P_L3FE_GPfF_1445();
                peersParameter.FeatureID = item.TMS_PRO_FeatureID;
                List <L3FE_GPfF_1445> featurePeers = cls_Get_Peers_for_Feature.Invoke(Connection, Transaction, peersParameter, securityTicket).Result.ToList();

                if (Parameter.IsDeleted == true)
                {
                    #region DeleteAssignments

                    ORM_TMS_PRO_Feature.Query instance1 = new ORM_TMS_PRO_Feature.Query();
                    instance1.TMS_PRO_FeatureID = TMS_PRO_FeatureID;
                    ORM_TMS_PRO_Feature.Query.SoftDelete(Connection, Transaction, instance1);

                    ORM_TMS_PRO_BusinessTask_2_Feature.Query instance2 = new ORM_TMS_PRO_BusinessTask_2_Feature.Query();
                    instance2.Feature_RefID = TMS_PRO_FeatureID;
                    ORM_TMS_PRO_BusinessTask_2_Feature.Query.SoftDelete(Connection, Transaction, instance2);

                    ORM_TMS_PRO_Peers_Feature.Query instance3 = new ORM_TMS_PRO_Peers_Feature.Query();
                    instance3.Feature_RefID = TMS_PRO_FeatureID;
                    instance3.IsDeleted     = false;
                    ORM_TMS_PRO_Peers_Feature.Query.SoftDelete(Connection, Transaction, instance3);

                    ORM_TMS_PRO_Feature_2_DeveloperTask.Query instance4 = new ORM_TMS_PRO_Feature_2_DeveloperTask.Query();
                    instance4.Feature_RefID = TMS_PRO_FeatureID;
                    List <ORM_TMS_PRO_Feature_2_DeveloperTask> assignmentResult = ORM_TMS_PRO_Feature_2_DeveloperTask.Query.Search(Connection, Transaction, instance4);
                    var DTasks = assignmentResult.Select(i => i.DeveloperTask_RefID).ToArray();

                    ORM_TMS_QuickTask.Query instance7 = new ORM_TMS_QuickTask.Query();
                    instance7.AssignedTo_Feature_RefID = TMS_PRO_FeatureID;
                    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);
                    }

                    P_L3DT_SDT_0949 DTParam = new P_L3DT_SDT_0949();
                    DTParam.TMS_PRO_DeveloperTaskIDList = DTasks;
                    DTParam.IsDeleted = true;
                    DTParam.SendEmail = false;
                    cls_Save_TMS_PRO_DeveloperTask.Invoke(Connection, Transaction, DTParam, securityTicket);

                    #endregion



                    continue;
                }

                if (Parameter.IsArchived == true)
                {
                    ORM_TMS_PRO_Feature_2_DeveloperTask.Query instance3 = new ORM_TMS_PRO_Feature_2_DeveloperTask.Query();
                    instance3.Feature_RefID = TMS_PRO_FeatureID;
                    List <ORM_TMS_PRO_Feature_2_DeveloperTask> assignmentResult = ORM_TMS_PRO_Feature_2_DeveloperTask.Query.Search(Connection, Transaction, instance3);
                    var DTasks = assignmentResult.Select(i => i.DeveloperTask_RefID).ToArray();

                    P_L3DT_SDT_0949 DTParam = new P_L3DT_SDT_0949();
                    DTParam.TMS_PRO_DeveloperTaskIDList = DTasks;
                    DTParam.IsArchived = true;
                    DTParam.SendEmail  = false;
                    cls_Save_TMS_PRO_DeveloperTask.Invoke(Connection, Transaction, DTParam, securityTicket);

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

                    continue;
                }

                #region ORM_BusinessTask_2_Feature

                ORM_TMS_PRO_BusinessTask_2_Feature.Query assignquery = new ORM_TMS_PRO_BusinessTask_2_Feature.Query();
                assignquery.Feature_RefID = item.TMS_PRO_FeatureID;

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

                #endregion


                item.Project_RefID = Project_RefID;

                if (Parameter.TMS_PRO_FeatureIDList.Length == 1)
                {
                    if (Parameter.FeatureName != null && item.Name.GetContent(Parameter.LanguageID) != Parameter.FeatureName.GetContent(Parameter.LanguageID))
                    {
                        oldName   = item.Name.GetContent(Parameter.LanguageID);
                        item.Name = Parameter.FeatureName;
                    }
                    if (Parameter.Description != null && item.Description.GetContent(Parameter.LanguageID) != Parameter.Description.GetContent(Parameter.LanguageID))
                    {
                        oldDescription   = item.Description.GetContent(Parameter.LanguageID);
                        item.Description = Parameter.Description;
                    }
                }

                #region mailSendout



                #endregion


                if (Parameter.Parent_RefID != Guid.Empty)
                {
                    item.Parent_RefID = Parameter.Parent_RefID;
                }
                if (Parameter.Type_RefID != Guid.Empty)
                {
                    item.Type_RefID = Parameter.Type_RefID;
                }
                if (Parameter.Status_RefID != Guid.Empty)
                {
                    item.Status_RefID = Parameter.Status_RefID;
                }
                if (Parameter.Feature_Deadline != new DateTime())
                {
                    item.Feature_Deadline = Parameter.Feature_Deadline;
                }



                item.Save(Connection, Transaction);
            }



            return(returnValue);

            #endregion UserCode
        }