// Tags #region DisplayCategoryTree private void DisplayCategoryTree() { bool boolUserAssignedToTask = false; HelpDeskDALDataContext objHelpDeskDALDataContext = new HelpDeskDALDataContext(); HelpDesk_Task objHelpDesk_Tasks = (from HelpDesk_Tasks in objHelpDeskDALDataContext.HelpDesk_Tasks where HelpDesk_Tasks.TaskID == Convert.ToInt32(Request.QueryString["TaskID"]) select HelpDesk_Tasks).FirstOrDefault(); //Is user in the Assigned Role? RoleController objRoleController = new RoleController(); RoleInfo objRoleInfo = objRoleController.GetRole(objHelpDesk_Tasks.AssignedRoleID, PortalId); if (objRoleInfo != null) { if (UserInfo.IsInRole(objRoleInfo.RoleName)) { boolUserAssignedToTask = true; } } if (boolUserAssignedToTask || UserInfo.IsInRole(GetAdminRole()) || UserInfo.IsInRole("Administrators") || UserInfo.IsSuperUser) { // Show all Tags TagsTreeExistingTasks.Visible = true; TagsTreeExistingTasks.TagID = Convert.ToInt32(Request.QueryString["TaskID"]); TagsTreeExistingTasks.DisplayType = "Administrator"; TagsTreeExistingTasks.Expand = false; } else { // Show only Visible Tags TagsTreeExistingTasks.Visible = true; TagsTreeExistingTasks.TagID = Convert.ToInt32(Request.QueryString["TaskID"]); TagsTreeExistingTasks.DisplayType = "Requestor"; TagsTreeExistingTasks.Expand = false; } // Select Existing values if (objHelpDesk_Tasks.HelpDesk_TaskCategories.Select(x => x.CategoryID).ToArray <int>().Count() > 0) { int[] ArrStrCategories = objHelpDesk_Tasks.HelpDesk_TaskCategories.Select(x => x.CategoryID).ToArray <int>(); int?[] ArrIntHelpDesk = Array.ConvertAll <int, int?>(ArrStrCategories, new Converter <int, int?>(ConvertToNullableInt)); TagsTreeExistingTasks.SelectedCategories = ArrIntHelpDesk; } // Set visibility of Tags bool RequestorR7_HelpDesk = (TagsTreeExistingTasks.DisplayType == "Administrator") ? false : true; int CountOfHelpDesk = (from WebserverCategories in CategoriesTable.GetCategoriesTable(PortalId, RequestorR7_HelpDesk) where WebserverCategories.PortalID == PortalId where WebserverCategories.Level == 1 select WebserverCategories).Count(); imgTags.Visible = (CountOfHelpDesk > 0); lbltxtTags.Visible = (CountOfHelpDesk > 0); }
private int SaveTicketForm() { HelpDeskDALDataContext objHelpDeskDALDataContext = new HelpDeskDALDataContext(); HelpDesk_Task objHelpDesk_Task = (from HelpDesk_Tasks in objHelpDeskDALDataContext.HelpDesk_Tasks where HelpDesk_Tasks.TaskID == Convert.ToInt32(Request.QueryString["TaskID"]) select HelpDesk_Tasks).FirstOrDefault(); // Save original Assigned Group int intOriginalAssignedGroup = objHelpDesk_Task.AssignedRoleID; // Save Task objHelpDesk_Task.Status = ddlStatus.SelectedValue; objHelpDesk_Task.Description = txtDescription.Text; objHelpDesk_Task.PortalID = PortalId; objHelpDesk_Task.Priority = ddlPriority.SelectedValue; objHelpDesk_Task.RequesterPhone = txtPhone.Text; objHelpDesk_Task.AssignedRoleID = Convert.ToInt32(ddlAssigned.SelectedValue); // Only validate Name and email if Ticket is not for a DNN user // lblName will be hidden if it is not a DNN user if (lblName.Visible == false) { // not a DNN user objHelpDesk_Task.RequesterEmail = txtEmail.Text; objHelpDesk_Task.RequesterName = txtName.Text; objHelpDesk_Task.RequesterUserID = -1; } // DueDate if (txtDueDate.Text.Trim().Length > 1) { objHelpDesk_Task.DueDate = Convert.ToDateTime(txtDueDate.Text.Trim()); } else { objHelpDesk_Task.DueDate = null; } // EstimatedStart if (txtStart.Text.Trim().Length > 1) { objHelpDesk_Task.EstimatedStart = Convert.ToDateTime(txtStart.Text.Trim()); } else { objHelpDesk_Task.EstimatedStart = null; } // EstimatedCompletion if (txtComplete.Text.Trim().Length > 1) { objHelpDesk_Task.EstimatedCompletion = Convert.ToDateTime(txtComplete.Text.Trim()); } else { objHelpDesk_Task.EstimatedCompletion = null; } // EstimatedHours if (txtEstimate.Text.Trim().Length > 0) { objHelpDesk_Task.EstimatedHours = Convert.ToInt32(txtEstimate.Text.Trim()); } else { objHelpDesk_Task.EstimatedHours = null; } objHelpDeskDALDataContext.SubmitChanges(); // Notify Assigned Group if (Convert.ToInt32(ddlAssigned.SelectedValue) > -1) { // Only notify if Assigned group has changed if (intOriginalAssignedGroup != Convert.ToInt32(ddlAssigned.SelectedValue)) { NotifyAssignedGroupOfAssignment(); } } // Insert Log Log.InsertLog(objHelpDesk_Task.TaskID, UserId, String.Format(Localization.GetString("UpdatedTicket.Text", LocalResourceFile), UserInfo.DisplayName)); return(objHelpDesk_Task.TaskID); }
// Display Ticket Data #region DisplayTicketData private void DisplayTicketData() { HelpDeskDALDataContext objHelpDeskDALDataContext = new HelpDeskDALDataContext(); HelpDesk_Task objHelpDesk_Tasks = (from HelpDesk_Tasks in objHelpDeskDALDataContext.HelpDesk_Tasks where HelpDesk_Tasks.TaskID == Convert.ToInt32(Request.QueryString["TaskID"]) select HelpDesk_Tasks).FirstOrDefault(); // Name is editable only if user is Anonymous if (objHelpDesk_Tasks.RequesterUserID == -1) { txtEmail.Visible = true; txtName.Visible = true; lblEmail.Visible = false; lblName.Visible = false; txtEmail.Text = objHelpDesk_Tasks.RequesterEmail; txtName.Text = objHelpDesk_Tasks.RequesterName; } else { txtEmail.Visible = false; txtName.Visible = false; lblEmail.Visible = true; lblName.Visible = true; UserInfo objRequester = //UserController.GetUser(PortalId, objHelpDesk_Tasks.RequesterUserID, false); UserController.GetUserById(PortalId, objHelpDesk_Tasks.RequesterUserID); if (objRequester != null) { lblEmail.Text = objRequester.Email; // UserController.GetUser(PortalId, objHelpDesk_Tasks.RequesterUserID, false).Email; lblName.Text = objRequester.DisplayName; // UserController.GetUser(PortalId, objHelpDesk_Tasks.RequesterUserID, false).DisplayName; } else { lblName.Text = "[User Deleted]"; } } lblTask.Text = objHelpDesk_Tasks.TaskID.ToString(); lblCreated.Text = String.Format(Localization.GetString("Created.Text", LocalResourceFile), objHelpDesk_Tasks.CreatedDate.ToShortDateString(), objHelpDesk_Tasks.CreatedDate.ToShortTimeString()); ddlStatus.SelectedValue = objHelpDesk_Tasks.Status; ddlPriority.SelectedValue = objHelpDesk_Tasks.Priority; txtDescription.Text = objHelpDesk_Tasks.Description; txtPhone.Text = objHelpDesk_Tasks.RequesterPhone; txtDueDate.Text = (objHelpDesk_Tasks.DueDate.HasValue) ? objHelpDesk_Tasks.DueDate.Value.ToShortDateString() : ""; txtStart.Text = (objHelpDesk_Tasks.EstimatedStart.HasValue) ? objHelpDesk_Tasks.EstimatedStart.Value.ToShortDateString() : ""; txtComplete.Text = (objHelpDesk_Tasks.EstimatedCompletion.HasValue) ? objHelpDesk_Tasks.EstimatedCompletion.Value.ToShortDateString() : ""; txtEstimate.Text = (objHelpDesk_Tasks.EstimatedHours.HasValue) ? objHelpDesk_Tasks.EstimatedHours.Value.ToString() : ""; ListItem TmpRoleListItem = ddlAssigned.Items.FindByValue(objHelpDesk_Tasks.AssignedRoleID.ToString()); if (TmpRoleListItem == null) { // Value was not found so add it RoleController objRoleController = new RoleController(); RoleInfo objRoleInfo = objRoleController.GetRole(objHelpDesk_Tasks.AssignedRoleID, PortalId); if (objRoleInfo != null) { ListItem RoleListItem = new ListItem(); RoleListItem.Text = objRoleInfo.RoleName; RoleListItem.Value = objHelpDesk_Tasks.AssignedRoleID.ToString(); ddlAssigned.Items.Add(RoleListItem); ddlAssigned.SelectedValue = objHelpDesk_Tasks.AssignedRoleID.ToString(); } else { // Role no longer exists in Portal ddlAssigned.SelectedValue = "-1"; } } else { // The Value already exists so set it ddlAssigned.SelectedValue = objHelpDesk_Tasks.AssignedRoleID.ToString(); } }
private bool CheckSecurity() { bool boolPassedSecurity = false; HelpDeskDALDataContext objHelpDeskDALDataContext = new HelpDeskDALDataContext(); HelpDesk_Task objHelpDesk_Tasks = (from HelpDesk_Tasks in objHelpDeskDALDataContext.HelpDesk_Tasks where HelpDesk_Tasks.TaskID == Convert.ToInt32(Request.QueryString["TaskID"]) select HelpDesk_Tasks).FirstOrDefault(); if (objHelpDesk_Tasks == null) { pnlEditTask.Visible = false; Response.Redirect(DotNetNuke.Common.Globals.NavigateURL()); } // User not logged in if (UserId == -1) { // Must have the valid password if (Request.QueryString["TP"] != null) { // Check the password for this Ticket if (objHelpDesk_Tasks.TicketPassword == Convert.ToString(Request.QueryString["TP"])) { boolPassedSecurity = true; } else { boolPassedSecurity = false; } } } // User is logged in if (UserId > -1) { // Is user an Admin? string strAdminRoleID = GetAdminRole(); if (UserInfo.IsInRole(strAdminRoleID) || UserInfo.IsInRole("Administrators") || UserInfo.IsSuperUser) { boolPassedSecurity = true; CommentsControl.ViewOnly = false; } // Is user the Requestor? if (UserId == objHelpDesk_Tasks.RequesterUserID) { boolPassedSecurity = true; } //Is user in the Assigned Role? RoleController objRoleController = new RoleController(); RoleInfo objRoleInfo = objRoleController.GetRole(objHelpDesk_Tasks.AssignedRoleID, PortalId); if (objRoleInfo != null) { if (UserInfo.IsInRole(objRoleInfo.RoleName)) { boolPassedSecurity = true; CommentsControl.ViewOnly = false; } } // Does user have a valid temporary password? if (Request.QueryString["TP"] != null) { // Check the password for this Ticket if (objHelpDesk_Tasks.TicketPassword == Convert.ToString(Request.QueryString["TP"])) { boolPassedSecurity = true; } else { boolPassedSecurity = false; } } } return(boolPassedSecurity); }