protected void BtnDeleteTR_Click(object sender, EventArgs e) { //if (txtTRId.Text == string.Empty) //{ // txtTRMessage.Text = "Please provide a TR id."; // txtTRMessage.CssClass = "hc_error"; // txtTRMessage.Visible = true; // return; //} System.Int64 TRId = -1; UserList usersList; try { TRId = Convert.ToInt64(ddlCurrentTRs.SelectedValue); #region Retrieve TR Users usersList = HyperCatalog.Business.User.GetTRNotificationUsers(TRId, SessionState.User.Id); #endregion } catch { txtTRMessage.Text = "The TR id you provided is not valid."; txtTRMessage.CssClass = "hc_error"; txtTRMessage.Visible = true; return; } //HyperComponents.Data.dbAccess.Database dbObj = new HyperComponents.Data.dbAccess.Database(SessionState.CacheComponents["Crystal_DB"].ConnectionString); // QC 1232 CRYS : Issue when deleting TR (Increased the time-out parameter to 15 mins) HyperComponents.Data.dbAccess.Database dbObj = new HyperComponents.Data.dbAccess.Database(SessionState.CacheComponents["Crystal_DB"].ConnectionString, 900); dbObj.RunSPReturnInteger("_TR_Del", new System.Data.SqlClient.SqlParameter("@TRId", TRId.ToString()), new System.Data.SqlClient.SqlParameter("@UserId", SessionState.User.Id.ToString()), new System.Data.SqlClient.SqlParameter("@DeleteChunks", 1)); if (dbObj.LastError != string.Empty) { Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "errTr", "<script>alert('An error occurred: " + dbObj.LastError + "');</script>"); } else { #region Send mail if (usersList != null) { string appName = SessionState.CacheParams["AppName"].Value.ToString(); string supportInfo = SessionState.CacheParams["SupportInfo"].Value.ToString(); string smtpServer = SessionState.CacheParams["TREmailSmtpServer"].Value.ToString(); string fromEmail = SessionState.CacheParams["TREmailFrom"].Value.ToString(); string mailConfidentiality = SessionState.CacheParams["MailConfidentiality"].Value.ToString(); string trPath = SessionState.CacheParams["TRPhysicalPath"].Value.ToString(); HyperComponents.Net.SMTP.EmailUtil m = new HyperComponents.Net.SMTP.EmailUtil(); m.FromEmail = fromEmail; m.strBody = "The tr [" + TRId.ToString() + "] has been deleted by " + SessionState.User.FullName + ".\n<br>" + txtDeleteComment.Text + "\n<br>"; m.SmtpServer = smtpServer; m.Subject = "[" + appName + "] - TR [" + TRId.ToString() + "] removed"; m.strWelcome = "Dear user,\n<br><br>\n"; m.strSignature = "<br>Your " + appName + " system administrator<br>\n"; m.strSignature += supportInfo.Replace(@"\n", @"<br/>"); m.strSignature += "<hr/>\n"; m.strSignature += "<FONT face='arial, helvetica, sans-serif' color=#5a7173 size=1>" + mailConfidentiality.Replace("\n", "<br>") + "</font>"; foreach (User u in usersList) { m.SendEmail(u.FullName, u.Email); } } #endregion txtTRMessage.Text = "TR [" + TRId.ToString() + "] deleted successfully."; txtTRMessage.CssClass = "hc_success"; txtTRMessage.Visible = true; LoadCurrentTRsToDelete(); } }
private void Save() { using (HyperComponents.Data.dbAccess.Database dbObj = Utils.GetMainDB()) { // Default value lbError.Visible = false; lbError.Text = string.Empty; if (pnlMasterPublishing.Visible) { cbMasterPublishing.Visible = false; } bool isClosed = false; string s = string.Empty; if (rbDraft.Checked) { s = HyperCatalog.Business.ChunkStatus.Draft.ToString(); } else if (rbFinal.Checked) { s = HyperCatalog.Business.ChunkStatus.Final.ToString(); } Item curItem = item; curItem.RegionCode = culture.Code; if (item.GetRoll() != null && rdSoftRoll.Checked) { curItem = item.GetRoll(); } if (s.Length > 0) { #region "Save Master publishing date if necessary" if (cbMasterPublishing.Checked) { if (wdMasterPublishing.Value != null) { #region "Save Master Publishing Date Chunk" if (SessionState.Culture.Type == HyperCatalog.Business.CultureType.Master) { // 69605 issue fix // Use a SP to directly add/update the MPD chunk is ALL childs DateTime d = (DateTime)wdMasterPublishing.Value; string mpd = d.Month.ToString() + '/' + d.Day.ToString() + '/' + d.Year.ToString(); dbObj.RunSPReturnInteger("_Item_MPDAddUpd", new SqlParameter("@ItemId", curItem.Id), new SqlParameter("@IncludeChildren", cbWithChildren.Checked), new SqlParameter("@MasterPublishingDate", mpd), new SqlParameter("@UserId", SessionState.User.Id)); } #endregion } else { // Error: missing Master Publishing Date Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "MissingMasterPublishingDate", "<script>alert('Please provide a valid [master publishing date]');</script>"); return; } } #endregion //// Modified by Prabhu for ACQ 3.0 (PCF1: Regional Project Management)-- 18/May/09 //// Comment out as not needed after Regional Project Management //// You cannot override a region project date from master. #region "Save Project Dates" /* * // if item is already a project * curItem.Milestones.ItemId = curItem.Id; * curItem.Milestones.RegionCode = culture.Code; * if (curItem.Milestones != null && culture.Type == CultureType.Regionale && inputFormId < 0) * { * if (!curItem.Milestones.Inherited) * { * bool updateProjectDate = false; * // Force Master Acquisition Date to be NOW since the validation is done * // The product can now be visibile at regional level * if (curItem.Milestones.BeginningOfRegionalization == null) * { * curItem.Milestones.BeginningOfRegionalization = DateTime.UtcNow; * updateProjectDate = true; * } * if ((curItem.Milestones.EndOfRegionalization.HasValue && curItem.Milestones.EndOfRegionalization > DateTime.UtcNow) || curItem.Milestones.EndOfRegionalization == null) * { * curItem.Milestones.EndOfRegionalization = DateTime.UtcNow; * updateProjectDate = true; * } * if(updateProjectDate) * { * if (!curItem.Milestones.Save(user.Id)) * { * lbError.CssClass = "hc_error"; * lbError.Text = HyperCatalog.Business.ItemDates.LastError; * lbError.Visible = true; * return; * } * } * } * } */ #endregion //#region "Move status Draft, Rejected --> Final or Final, Rejected --> Draft, if possible" --Alternate for CR 5096 #region "Move status Draft --> Final or Final --> Draft, if possible" HyperCatalog.Business.ChunkStatus status = (HyperCatalog.Business.ChunkStatus)Enum.Parse(typeof(HyperCatalog.Business.ChunkStatus), s); if (!curItem.MoveContentToStatus(culture.Code, status, user.Id, cbWithChildren.Checked, inputFormId, containerMATFList)) { lbError.CssClass = "hc_error"; lbError.Text = HyperCatalog.Business.Item.LastError; lbError.Visible = true; return; } else { if (culture.Code == SessionState.MasterCulture.Code && inputFormId < 0) { string includeChildren = cbWithChildren.Checked?"1":"0"; using (DataSet ds = dbObj.RunSQLReturnDataSet("NOTIFICATION_NotifyRegionalUsersMasterValidationOnMATF " + item.Id + ", " + includeChildren)) { dbObj.CloseConnection(); if (dbObj.LastError != string.Empty) { lbError.CssClass = "hc_error"; lbError.Text = "System was not able to notify regional users [" + dbObj.LastError + "]"; lbError.Visible = true; } else { if (ds != null && ds.Tables.Count == 1) { string message = "New products are available at regional level, you can click <a href='"; message += HyperCatalog.Business.ApplicationSettings.Components["Crystal_UI"].URI; message += "/UI/Collaborate/NPIReport.aspx'>here</a> to access the full list."; foreach (DataRow dr in ds.Tables[0].Rows) { Utils.SendMail(dr["Email"].ToString(), dr["FirstName"].ToString() + " " + dr["LastName"].ToString(), "New products in region notification", message, false); } } } } } } #endregion // ds contains all content using (DataSet ds = dbObj.RunSPReturnDataSet("dbo._Item_GetAllContent", "Content", new SqlParameter("@ItemId", curItem.Id), new SqlParameter("@CultureCode", culture.Code), new SqlParameter("@InputFormId", inputFormId), new SqlParameter("@WithChildren", cbWithChildren.Checked), new SqlParameter("@MoveStatus", 1))) { dbObj.CloseConnection(); if (dbObj.LastError.Length > 0) { lbError.CssClass = "hc_error"; lbError.Text = HyperCatalog.Business.Item.LastError; lbError.Visible = true; } else { #region "Force translation to draft" if (cbForceTranslation.Checked && ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) { string containerList = string.Empty; foreach (DataRow dr in ds.Tables[0].Rows) { if (dr["ContainerId"] != null) { if (containerList.Length > 0) { containerList += ","; } containerList += dr["ContainerId"].ToString(); } } if (containerList.Length > 0) { if (!curItem.ForceTranslationsToDraft(culture.Code, containerList, user.Id)) { lbError.CssClass = "hc_error"; lbError.Text = HyperCatalog.Business.Item.LastError; lbError.Visible = true; return; } } } #endregion #region "Generate report" if (cbReport.Checked && ds != null) { // Create report GenerateReport(ds, curItem.Id); // Refresh frame content and close window Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "closePopup", "<script>window.close();</script>"); } } #endregion } SessionState.CurrentItem = null; // Refresh frame content and close window if (SessionState.CurrentItem != null && SessionState.User.LastVisitedItem != SessionState.CurrentItem.Id) { SessionState.User.LastVisitedItem = curItem.Id; SessionState.User.QuickSave(); } if (SessionState.QDEChunk != null) { SessionState.QDEChunk.Dispose(); } if (SessionState.QDEContainer != null) { SessionState.QDEContainer.Dispose(); } Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "updateGrid", "<script>UpdateAndClose(1, " + inputFormId.ToString() + ");</script>"); } else { Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "MissingStatus", "<script>alert('Select the status (Draft or Final)');</script>"); } } }