Ejemplo n.º 1
0
        protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L6DT_ADTbD_1314 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            //Leave UserCode region to enable user code saving
            #region UserCode
            var returnValue = new FR_Guid();

            #region Assigned

            var assignedParam = new P_L2DT_GDTSfGPM_1121();
            assignedParam.GlobalPropertyMatchingID = EnumUtils.GetEnumDescription(EDeveloperTaskHistory.Assigned);

            var assignedID = cls_Get_DeveloperTaskStatus_for_GlobalPropertyMatchingID.Invoke(Connection, Transaction, assignedParam, securityTicket).Result;

            #endregion

            #region GetProjectMemeberID and AssignmentID
            P_L3DT_GPMaAfDTaA_1326 param1 = new P_L3DT_GPMaAfDTaA_1326();
            param1.DTaskID = Parameter.DeveloperTask_RefID;

            L3DT_GPMaAfDTaA_1326 result1 = cls_Get_ProjectMemberID_and_AssignmentID_for_DTaskID_and_AccountID.Invoke(Connection, Transaction, param1, securityTicket).Result;
            #endregion

            #region ORM_DeveloperTask_2_ProjectMember

            #region cls_Get_AssignedTaskCount_for_Account

            L3DT_GATCfA_1333 result2 = cls_Get_AssignedTaskCount_for_Account.Invoke(Connection, Transaction, securityTicket).Result;

            if (result2 == null)
            {
                result2           = new L3DT_GATCfA_1333();
                result2.TaskCount = 0;
            }

            #endregion

            var assignItem = new ORM_TMS_PRO_DeveloperTask_Involvement();
            if (result1.TMS_PRO_DeveloperTask_InvolvementID != Guid.Empty)
            {
                assignItem.Load(Connection, Transaction, result1.TMS_PRO_DeveloperTask_InvolvementID);
            }
            else
            {
                assignItem.TMS_PRO_DeveloperTask_InvolvementID = Guid.NewGuid();
                assignItem.Tenant_RefID = securityTicket.TenantID;
            }
            assignItem.ProjectMember_RefID = result1.TMS_PRO_ProjectMemberID;
            assignItem.DeveloperTask_RefID = Parameter.DeveloperTask_RefID;
            assignItem.OrderSequence       = result2.TaskCount + 1;
            assignItem.IsActive            = false;
            assignItem.IsArchived          = false;
            assignItem.IsDeleted           = false;
            assignItem.Developer_CompletionTimeEstimation_min = Parameter.Developer_TimeEstimation_min;

            assignItem.Save(Connection, Transaction);

            #endregion

            #region ORM_TMS_PRO_DeveloperTask

            var developerTask = new ORM_TMS_PRO_DeveloperTask();
            if (Parameter.DeveloperTask_RefID != Guid.Empty)
            {
                developerTask.Load(Connection, Transaction, Parameter.DeveloperTask_RefID);
            }

            developerTask.GrabbedByMember_RefID = result1.TMS_PRO_ProjectMemberID;

            developerTask.Save(Connection, Transaction);

            #endregion

            #region ORM_DeveloperTask_StatusHistory

            ORM_TMS_PRO_DeveloperTask_StatusHistory statusHistory = new ORM_TMS_PRO_DeveloperTask_StatusHistory();

            statusHistory.DeveloperTask_RefID             = Parameter.DeveloperTask_RefID;
            statusHistory.DeveloperTask_Status_RefID      = assignedID.TMS_PRO_DeveloperTask_StatusID;
            statusHistory.TriggeredBy_ProjectMember_RefID = result1.TMS_PRO_ProjectMemberID;
            statusHistory.CreatedFor_ProjectMember_RefID  = Guid.Empty;
            statusHistory.Comment      = "Estimated time: " + Parameter.Developer_TimeEstimation_min + "[min]";
            statusHistory.Tenant_RefID = securityTicket.TenantID;

            statusHistory.Save(Connection, Transaction);

            #endregion ORM_DeveloperTask_StatusHistory

            #region projectInfo

            var project = new ORM_TMS_PRO_Project();
            project.Load(Connection, Transaction, developerTask.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

            returnValue.Result = assignItem.TMS_PRO_DeveloperTask_InvolvementID;

            #region MailSandout

            //try
            //{


            //    L3US_GAAPI_1057 userInfo = cls_Get_ActiveAccount_PersonalInformation.Invoke(Connection, Transaction, securityTicket).Result;
            //    String frontHost = WebConfigurationManager.AppSettings["FrontHost"].ToString();
            //    String seeDetailsLink = String.Format((String)HttpContext.GetGlobalResourceObject("Global", "Mail_br_and_link"), frontHost, "DTask", developerTask.TMS_PRO_DeveloperTaskID);
            //    String unsubscribeLink = String.Format((String)HttpContext.GetGlobalResourceObject("Global", "Mail_Unsubscribe_Link"), frontHost, "dtask", developerTask.TMS_PRO_DeveloperTaskID.ToString());
            //    String subject = String.Format((String)HttpContext.GetGlobalResourceObject("Global", "Mail_AssignDeveloperTaskByDeveloper_subject"), projectName, statusLabel, developerTask.IdentificationNumber, developerTask.Name);

            //    P_L3DT_GPfDT_1659 prm = new P_L3DT_GPfDT_1659();
            //    prm.DTaskID = developerTask.TMS_PRO_DeveloperTaskID;

            //    List<L3DT_GPfDT_1659> ress = cls_Get_Peers_for_DTaskID.Invoke(Connection, Transaction, prm, securityTicket).Result.ToList();

            //    P_L3US_GUIfA_1241 usParameter = new P_L3US_GUIfA_1241();
            //    usParameter.UserAccountID = securityTicket.AccountID;
            //    L3US_GUIfA_1241 emailInfo = cls_Get_UserInformation_for_AccountID.Invoke(Connection, Transaction, usParameter, securityTicket).Result;

            //    MailMessage mail = DanuTaskMailGenerator.formatMailMessage(false, false, EnumMailTypes.DTask);

            //    foreach (var x in ress.Select(s => s.PrimaryEmail).Distinct())
            //    {
            //        if (!mail.To.Contains(new MailAddress(x)))
            //            mail.To.Add(x);
            //    }

            //    mail.Subject = subject;
            //    mail.Body = mail.Body.Replace("{ProjectName}", projectName);
            //    mail.Body = mail.Body.Replace("{Role}", String.Format((String)HttpContext.GetGlobalResourceObject("Global", "Developer")));
            //    mail.Body = mail.Body.Replace("{status}", statusLabel);
            //    mail.Body = mail.Body.Replace("{DTaskNumber}", "D" + developerTask.IdentificationNumber);
            //    mail.Body = mail.Body.Replace("{DTaskName}", developerTask.Name);
            //    mail.Body = mail.Body.Replace("{action}", String.Format((String)HttpContext.GetGlobalResourceObject("Global", "Mail_DTask_AssignedbyDeveloper")));
            //    mail.Body = mail.Body.Replace("{FirstName}", userInfo.FirstName);
            //    mail.Body = mail.Body.Replace("{LastName}", userInfo.LastName);
            //    mail.Body = mail.Body.Replace("{userName}", userInfo.Username);
            //    mail.Body = mail.Body.Replace("{UserFullName}", userInfo.FirstName + " " + userInfo.LastName);
            //    mail.Body = mail.Body.Replace("{bodyText}", String.Format((String)HttpContext.GetGlobalResourceObject("Global", "Mail_DTask_AssignedDTask")) + " " + developerTask.Name + String.Format((String)HttpContext.GetGlobalResourceObject("Global", "Mail_inProject")) + " " + projectName + String.Format((String)HttpContext.GetGlobalResourceObject("Global", "Mail_DTaskAssignedToHimself")));
            //    DateTime dateToDisplay = DateTime.Now;
            //    mail.Body = mail.Body.Replace("{date}", dateToDisplay.ToShortDateString());
            //    mail.Body = mail.Body.Replace("{time}", dateToDisplay.ToShortTimeString());
            //    mail.Body = mail.Body.Replace("{itemType}", String.Format((String)HttpContext.GetGlobalResourceObject("Global", "Mail_DeveloperTask")));
            //    mail.Body = mail.Body.Replace("{ItemName}", developerTask.Name);
            //    mail.Body = mail.Body.Replace("$$$seeDetailsLink$$$", seeDetailsLink);
            //    mail.Body = mail.Body.Replace("$$$unsubscribeLink$$$", unsubscribeLink);
            //    if (mail.To.Count > 0)
            //    {
            //        SmtpClient smtpClient = new SmtpClient();
            //        smtpClient.Send(mail);
            //    }
            //}
            //catch
            //{

            //}

            #endregion

            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
        }
        protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L6DT_DDTbD_0958 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 Deassigned

            var deassignedParam = new P_L2DT_GDTSfGPM_1121();
            deassignedParam.GlobalPropertyMatchingID = EnumUtils.GetEnumDescription(EDeveloperTaskHistory.Deassigned);

            var deassignedID = cls_Get_DeveloperTaskStatus_for_GlobalPropertyMatchingID.Invoke(Connection, Transaction, deassignedParam, securityTicket).Result;

            #endregion

            #region Delete Assignement

            ORM_TMS_PRO_DeveloperTask_Involvement assignment = new ORM_TMS_PRO_DeveloperTask_Involvement();
            assignment.Load(Connection, Transaction, Parameter.AssigmentID);
            assignment.IsActive  = false;
            assignment.IsDeleted = true;

            assignment.Save(Connection, Transaction);

            #endregion

            #region Update Developer Task

            ORM_TMS_PRO_DeveloperTask task = new ORM_TMS_PRO_DeveloperTask();
            task.Load(Connection, Transaction, assignment.DeveloperTask_RefID);

            task.GrabbedByMember_RefID = Guid.Empty;

            task.Save(Connection, Transaction);

            #endregion

            #region Create Developer Task Status History

            ORM_TMS_PRO_DeveloperTask_StatusHistory statusHistory = new ORM_TMS_PRO_DeveloperTask_StatusHistory();

            statusHistory.TMS_PRO_DeveloperTask_StatusHistoryID = Guid.NewGuid();
            statusHistory.DeveloperTask_RefID             = assignment.DeveloperTask_RefID;
            statusHistory.DeveloperTask_Status_RefID      = deassignedID.TMS_PRO_DeveloperTask_StatusID;
            statusHistory.TriggeredBy_ProjectMember_RefID = assignment.ProjectMember_RefID;
            statusHistory.CreatedFor_ProjectMember_RefID  = Guid.Empty;
            statusHistory.Comment            = "Task has been deasigned.";
            statusHistory.Creation_Timestamp = DateTime.Now.AddSeconds(6);
            statusHistory.Tenant_RefID       = securityTicket.TenantID;

            statusHistory.Save(Connection, Transaction);

            #endregion

            #region projectInfo

            var project = new ORM_TMS_PRO_Project();
            project.Load(Connection, Transaction, task.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
            //TO DO:
            #region MailSandout

            //try
            //{


            //    var dt2pm = new ORM_TMS_PRO_DeveloperTask_Involvement();
            //    dt2pm.Load(Connection, Transaction, Parameter.AssigmentID);

            //    var projectMember = new ORM_TMS_PRO_ProjectMember();
            //    projectMember.Load(Connection, Transaction, dt2pm.ProjectMember_RefID);

            //    P_L3US_GUIfA_1241 userParam = new P_L3US_GUIfA_1241();
            //    userParam.UserAccountID = projectMember.USR_Account_RefID;

            //    L3US_GUIfA_1241 devInfo = cls_Get_UserInformation_for_AccountID.Invoke(Connection, Transaction, userParam, securityTicket).Result;

            //    String frontHost = WebConfigurationManager.AppSettings["FrontHost"].ToString();
            //    String unsubscribeLink = String.Format((String)HttpContext.GetGlobalResourceObject("Global", "Mail_Unsubscribe_Link"), frontHost, "dtask", task.TMS_PRO_DeveloperTaskID.ToString());
            //    String seeDetailsLink = String.Format((String)HttpContext.GetGlobalResourceObject("Global", "Mail_br_and_link"), frontHost, "DTask", task.TMS_PRO_DeveloperTaskID);
            //    String subject = String.Format((String)HttpContext.GetGlobalResourceObject("Global", "Mail_DeasignDeveloperTask_subject"), projectName, statusLabel, task.IdentificationNumber, task.Name);
            //    P_L3DT_GPfDT_1659 prm = new P_L3DT_GPfDT_1659();
            //    prm.DTaskID = task.TMS_PRO_DeveloperTaskID;


            //    List<L3DT_GPfDT_1659> ress = cls_Get_Peers_for_DTaskID.Invoke(Connection, Transaction, prm, securityTicket).Result.ToList();

            //    P_L3US_GUIfA_1241 usParameter = new P_L3US_GUIfA_1241();
            //    usParameter.UserAccountID = securityTicket.AccountID;
            //    L3US_GUIfA_1241 emailInfo = cls_Get_UserInformation_for_AccountID.Invoke(Connection, Transaction, usParameter, securityTicket).Result;

            //    MailMessage mail = DanuTaskMailGenerator.formatMailMessage(true, false, EnumMailTypes.DTask);

            //    foreach (var x in ress.Select(s => s.PrimaryEmail).Distinct())
            //    {
            //        if (!mail.To.Contains(new MailAddress(x)))
            //            mail.To.Add(x);
            //    }

            //    mail.Subject = subject;
            //    mail.Body = mail.Body.Replace("{ProjectName}", projectName);
            //    mail.Body = mail.Body.Replace("{Role}", String.Format((String)HttpContext.GetGlobalResourceObject("Global", "Developer")));
            //    mail.Body = mail.Body.Replace("{status}", statusLabel);
            //    mail.Body = mail.Body.Replace("{DTaskNumber}", "D" + task.IdentificationNumber);
            //    mail.Body = mail.Body.Replace("{DTaskName}", task.Name);
            //    mail.Body = mail.Body.Replace("{action}", String.Format((String)HttpContext.GetGlobalResourceObject("Global", "Mail_DTask_Deassigned")));
            //    mail.Body = mail.Body.Replace("{FirstName}", devInfo.FirstName);
            //    mail.Body = mail.Body.Replace("{LastName}", devInfo.LastName);
            //    mail.Body = mail.Body.Replace("{userName}", devInfo.Username);
            //    mail.Body = mail.Body.Replace("{bodyText}", String.Format((String)HttpContext.GetGlobalResourceObject("Global", "Mail_DTask_DeassignedDTask")) + " " + task.Name + String.Format((String)HttpContext.GetGlobalResourceObject("Global", "Mail_inProject")) + " " + projectName + " " + String.Format((String)HttpContext.GetGlobalResourceObject("Global", "Mail_Dtask_Deassigned_to")));
            //    mail.Body = mail.Body.Replace("{UserFullName}", devInfo.FirstName + " " + devInfo.LastName);
            //    DateTime dateToDisplay = DateTime.Now;
            //    mail.Body = mail.Body.Replace("{date}", dateToDisplay.ToShortDateString());
            //    mail.Body = mail.Body.Replace("{time}", dateToDisplay.ToShortTimeString());
            //    mail.Body = mail.Body.Replace("{itemType}", String.Format((String)HttpContext.GetGlobalResourceObject("Global", "Mail_DeveloperTask")));
            //    mail.Body = mail.Body.Replace("{ItemName}", task.Name);
            //    mail.Body = mail.Body.Replace("{commentText}", "Task has been deasigned.");
            //    mail.Body = mail.Body.Replace("$$$seeDetailsLink$$$", seeDetailsLink);
            //    mail.Body = mail.Body.Replace("$$$unsubscribeLink$$$", unsubscribeLink);
            //    if (mail.To.Count > 0)
            //    {
            //        SmtpClient smtpClient = new SmtpClient();
            //        smtpClient.Send(mail);
            //    }
            //}
            //catch
            //{

            //}

            #endregion

            return(returnValue);

            #endregion UserCode
        }