public virtual void QuestionFormDetailDelete(QuestionFormDetail entity) { TraceCallEnterEvent.Raise(); try { m_DataContext.BeginNestedTran(); try { m_DataContext.ndihdQuestionFormDetailDelete(entity.QuestionFormRef, entity.TemplateDetailRef, entity.TemplateRef); m_DataContext.CommitNested(); } catch { m_DataContext.RollbackNested(); throw; } TraceCallReturnEvent.Raise(); return; } catch (Exception ex) { ExceptionManager.Publish(ex); TraceCallReturnEvent.Raise(false); throw; } }
public new void QuestionFormDetailInsert(QuestionFormDetail entity) { TraceCallEnterEvent.Raise(); try { base.QuestionFormDetailInsert(entity); BusinessAuditEvent.Success( new EventParameter("QuestionFormRef", entity.QuestionFormRef.ToString()), new EventParameter("QuestionFormTemplateRef", entity.TemplateRef.ToString()), new EventParameter("QuestionFormTemplateDetailRef", entity.TemplateDetailRef) ); TraceCallReturnEvent.Raise(); return; } catch (Exception ex) { ExceptionManager.Publish(ex); BusinessAuditEvent.Fail( new EventParameter("Exception", ex.ToString()), new EventParameter("QuestionFormRef", entity.QuestionFormRef.ToString()), new EventParameter("QuestionFormTemplateRef", entity.TemplateRef.ToString()), new EventParameter("QuestionFormTemplateDetailRef", entity.TemplateDetailRef) ); TraceCallReturnEvent.Raise(false); throw; } }
private void ExportRtf() { try { string rtf = @""; #region lekérdezzük a ProgramContainer -t (a szûrési feltételeknek megfelelõen) // Build filter document: Guid templateGuid = new Guid(cmbTemplate.SelectedValue); TemplateControl1.SetAnswer(); QuestionForm form = new QuestionForm(Guid.NewGuid()); form.TemplateRef = templateGuid; foreach (IQuestion question in TemplateControl1.Questions) { TemplateDetail detail = (TemplateDetail) question; if (detail.Answer.Trim().Length > 0) { QuestionFormDetail questionDetail = new QuestionFormDetail(form.ID, detail.ID, templateGuid); questionDetail.Answer = detail.Answer; form.Details.Add(questionDetail); } } // Get query result from database IProgramService srv = ServiceFactory.GetProgramService(); DataSet selected = srv.ProgramSelectByQuestionFormForRtf(form); #endregion DataTable dt = selected.Tables[0]; if (dt != null && dt.Rows.Count > 0) { //dt = Helper.DataTableTypeMakeString(dt); #region Jogosultság ellenörzés int publicityLevel = -1; Guid ownOrgID = Guid.Empty; publicityLevel = PublicityLevel.Public; if (Context.User.Identity.IsAuthenticated) { NdiPrincipal principal = (NdiPrincipal) Context.User; // be van lépve a júzer ownOrgID = principal.OrganisationID; if (principal.IsInRole("Registered")) { publicityLevel = PublicityLevel.RegisteredOnly; } } #endregion rtf = Helpers.CreateRtfFromPrograms(dt, Server.MapPath(""), publicityLevel, ownOrgID); // Writes result to response Helpers.DownloadFile(rtf, "Programok.rtf"); } else lblNotFound.Visible = true; } catch (Exception ex) { errorPanel.Exception = ex; } }
private void ExportCsv() { try { #region lekérdezzük a ProgramContainer -t (a szûrési feltételeknek megfelelõen) // Build filter document: Guid templateGuid = new Guid(cmbTemplate.SelectedValue); TemplateControl1.SetAnswer(); QuestionForm form = new QuestionForm(Guid.NewGuid()); form.TemplateRef = templateGuid; foreach (IQuestion question in TemplateControl1.Questions) { TemplateDetail detail = (TemplateDetail) question; if (detail.Answer.Trim().Length > 0) { QuestionFormDetail questionDetail = new QuestionFormDetail(form.ID, detail.ID, templateGuid); questionDetail.Answer = detail.Answer; form.Details.Add(questionDetail); } } // Get query result from database IProgramService srv = ServiceFactory.GetProgramService(); //ProgramContainer selected = srv.ProgramSelectByQuestionForm(form); #endregion #region Jogosultság ellenörzés int publicityLevel = -1; Guid ownOrgID = Guid.Empty; publicityLevel = PublicityLevel.Public; if (Context.User.Identity.IsAuthenticated) { NdiPrincipal principal = (NdiPrincipal) Context.User; // be van lépve a júzer ownOrgID = principal.OrganisationID; if (principal.IsInRole("Registered")) { publicityLevel = PublicityLevel.RegisteredOnly; } } #endregion // Writes result to response //string csv = selected.ExportToCsv(publicityLevel, ownOrgID); string csv = srv.CreateCsvFromProgramsForQuestion(form, publicityLevel, ownOrgID); Helpers.DownloadFile(csv, "programok.csv"); } catch (Exception ex) { errorPanel.Exception = ex; } }
protected void ShowGrid(DataGrid dataGrid, int index, string sort, string order) { dataGrid.PageSize = Helpers.GetPageSize("PageSize.ProgramList"); if (cmbTemplate.SelectedValue.ToString() == "") { btn_Search.Visible = false; btn_ExportCsv.Visible = false; btn_ExportRtf.Visible = false; btn_SearchClear.Visible = false; return; } // Build filter document: Guid templateGuid = new Guid(cmbTemplate.SelectedValue); TemplateControl1.SetAnswer(); QuestionForm form = new QuestionForm(Guid.NewGuid()); form.TemplateRef = templateGuid; foreach (IQuestion question in TemplateControl1.Questions) { TemplateDetail detail = (TemplateDetail) question; string ans = detail.Answer.Trim(); if (ans.Length > 0) { if (!ans.Equals("-- Összes --")) { QuestionFormDetail questionDetail = new QuestionFormDetail(form.ID, detail.ID, templateGuid); questionDetail.Answer = ans; form.Details.Add(questionDetail); } } } // Get query result from database IProgramService srv = ServiceFactory.GetProgramService(); ProgramContainer selected = srv.ProgramSelectByQuestionForm(form); if (selected.AllCount > 0) { dataGrid.Visible = true; lblNotFound.Visible = false; } else { dataGrid.Visible = false; lblNotFound.Visible = true; return; } ArrayList sortableList = null; // Sort if necessary if (sort == null) { sortableList = selected.All.Items; } else { if (String.Compare(order, "Ascending", true) == 0) { sortableList = selected.All.SortBy(sort, true); } else if (String.Compare(order, "Descending", true) == 0) { sortableList = selected.All.SortBy(sort, false); } else { sortableList = selected.All.SortBy(sort); } } // Bind list to datagrid control dataGrid.CurrentPageIndex = index; dataGrid.CurrentSortExpression = sort; dataGrid.CurrentSortOrder = order; dataGrid.DataSource = sortableList; dataGrid.DataBind(); }
public bool PendingQuestionFormAcceptNew(PendingQuestionForm entity) { //Check permission: Admin PrincipalPermission permissionAdm = new PrincipalPermission(Thread.CurrentPrincipal.Identity.Name, "Administrator"); permissionAdm.Demand(); TraceCallEnterEvent.Raise(); try { //Check required fields if (entity.ID.IsNull) throw new ArgumentNullException("PendingQuestionForm.ID", "Az elbírálandó kérdõív azonosítója nincs megadva."); if (entity.ProgramCategoryId.Length == 0) throw new ArgumentNullException("PendingQuestionForm.ProgramCategoryId", "Az elbírálandó kérdõív kategóriája nincs megadva."); if (entity.TemplateRef.IsNull) throw new ArgumentNullException("PendingQuestionForm.TemplateRef", "A sablon azonosítója nincs megadva."); if (entity.Details.AllCount == 0) throw new ArgumentNullException("PendingQuestionForm.Details", "A válaszok nincsenek megadva."); if (entity.ProgramCategoryId.Equals("ORG")) { if (entity.OrganisationID.IsNull) throw new ArgumentNullException("PendingQuestionForm.OrganisationID", "A szervezet azonosítója nincs megadva."); } else { if (entity.ProgramID.IsNull) throw new ArgumentNullException("PendingQuestionForm.ProgramID", "A program azonosítója nincs megadva."); } // Logical checks: PendingQuestionForm selected = base.PendingQuestionFormSelect(entity.ID); if (selected == null) throw new ApplicationException("A megadott azonosítóval nem létezik elbírálandó kérdõív."); if (!selected.Status.Equals(QuestionFormStatus.New_WaitingForDecision)) throw new ApplicationException("Csak jóváhagyásra váró státuszú kérdõív bírálható el."); // Set properties DBGuid questionFormID = Guid.NewGuid(); QuestionForm questionForm = new QuestionForm(questionFormID); questionForm.TemplateRef = entity.TemplateRef; selected.DecidedBy = Thread.CurrentPrincipal.Identity.Name; selected.DecidedDate = DBDateTime.Now; selected.Status = QuestionFormStatus.New_Accepted; selected.QuestionFormRef = questionFormID; selected.IsActual = true; //utolsó módosítás, és elfogadás dátuma questionForm.LastModifiedDate = selected.SentDate; questionForm.DecidedDate = selected.DecidedDate; questionForm.LastModifiedByUser = selected.LastModifiedByUser; questionForm.IsActual = true; //Set mail: string modifiedAnswers = ""; PendingQuestionFormDetailContainer origAnswers = base.SelectChildrenByDetailOfPendingQuestionForm(entity.ID); TemplateDetailService templateDetailService = new TemplateDetailService(m_DataContext); foreach (PendingQuestionFormDetail origDetail in origAnswers.All) { string hash = origDetail.HashString(); PendingQuestionFormDetail currentDetail = (PendingQuestionFormDetail) entity.Details[hash]; if (currentDetail != null) { if (!origDetail.Answer.Equals(currentDetail.Answer)) { TemplateDetail question = templateDetailService.TemplateDetailSelect(origDetail.TemplateDetailRef, origDetail.TemplateRef); modifiedAnswers += "Kérdés: " + question.Question + "\n"; modifiedAnswers += " Eredeti válasz: " + origDetail.Answer + "\n"; modifiedAnswers += " Módosított válasz: " + currentDetail.Answer + "\n\n"; } } } if (modifiedAnswers.Length == 0) { modifiedAnswers = " A jóváhagyó módosítás nélkül fogadta el a kitöltött kérdõívet.\n"; } UserService userSrv = new UserService(m_DataContext); User sentBy = userSrv.UserSelect(selected.SentBy); Email mail = new Email(Guid.NewGuid()); mail.Category = EmailCategory.QuestionFormInsertAccept; mail.To = sentBy.Email; //Subject és body lekérdezése string body = ""; string subject = ""; EmailTemplateService srvTemplate = new EmailTemplateService(); srvTemplate.GetEmailTemplateByCode(ref subject, ref body, EmailCategory.QuestionFormInsertAccept); mail.Subject = subject; body = body.Replace("<FULL_USER_NAME>", sentBy.Name); body = body.Replace("<SENT_DATE>", entity.SentDate.ToString()); body = body.Replace("<TEMPLATE_NAME>", entity.TemplateName); body = body.Replace("<MODIFIED_ANSWERS>", modifiedAnswers); mail.MailBody = body; // Save data to database EmailService emailSrv = new EmailService(m_DataContext); QuestionFormService questionFormService = new QuestionFormService(m_DataContext); ProgramQuestionFormService programQuestionFormService = new ProgramQuestionFormService(m_DataContext); OrganisationQuestionFormService organisationQuestionFormService = new OrganisationQuestionFormService(m_DataContext); QuestionFormDetailService questionFormDetailService = new QuestionFormDetailService(m_DataContext); m_DataContext.BeginNestedTran(); try { questionFormService.QuestionFormInsert(questionForm); base.PendingQuestionFormUpdate(selected); if (entity.ProgramCategoryId.Equals("ORG")) { OrganisationQuestionForm organisationQuestionForm = new OrganisationQuestionForm("ORG", entity.OrganisationID, questionFormID); //organisationQuestionForm.QuestionFormRef = questionFormID; organisationQuestionFormService.OrganisationQuestionFormInsert(organisationQuestionForm); } else { ProgramQuestionForm programQuestionForm = new ProgramQuestionForm(entity.ProgramCategoryId, entity.ProgramID, questionFormID); //programQuestionForm.QuestionFormRef = questionFormID; programQuestionFormService.ProgramQuestionFormInsert(programQuestionForm); } foreach (PendingQuestionFormDetail pendingDetail in entity.Details.All) { QuestionFormDetail detail = new QuestionFormDetail(questionFormID, pendingDetail.TemplateDetailRef, entity.TemplateRef); detail.Answer = pendingDetail.Answer; detail.FreetextId = Guid.NewGuid(); questionFormDetailService.QuestionFormDetailInsert(detail); } emailSrv.EmailInsert(mail); m_DataContext.CommitNested(); } catch { m_DataContext.RollbackNested(); throw; } // Sending mail: try { emailSrv.EmailSend(mail.ID); } catch (Exception ex) { ExceptionManager.Publish(ex); return false; } // Log success BusinessAuditEvent.Success( new EventParameter("PendingQuestionFormID", entity.ID.ToString()), new EventParameter("ProgramID", entity.ProgramID.ToString()), new EventParameter("OrganisationID", entity.OrganisationID.ToString()) ); TraceCallReturnEvent.Raise(); return true; } catch (Exception ex) { ExceptionManager.Publish(ex); BusinessAuditEvent.Fail( new EventParameter("Exception", ex.ToString()), new EventParameter("PendingQuestionFormID", entity.ID.ToString()), new EventParameter("ProgramID", entity.ProgramID.ToString()), new EventParameter("OrganisationID", entity.OrganisationID.ToString()) ); TraceCallReturnEvent.Raise(false); throw; } }
public virtual void QuestionFormDetailUpdate(QuestionFormDetail entity) { TraceCallEnterEvent.Raise(); try { m_DataContext.BeginNestedTran(); try { int count; m_DataContext.ndihdQuestionFormDetailUpdate(entity.QuestionFormRef, entity.TemplateDetailRef, entity.TemplateRef, entity.Answer, entity.FreetextId, out count); if (count == 0) throw new ServiceUpdateException(); m_DataContext.CommitNested(); } catch { m_DataContext.RollbackNested(); throw; } TraceCallReturnEvent.Raise(); return; } catch (Exception ex) { ExceptionManager.Publish(ex); TraceCallReturnEvent.Raise(false); throw; } }
public virtual QuestionFormDetail QuestionFormDetailSelect(DBGuid QuestionFormRefVal, DBString TemplateDetailRefVal, DBGuid TemplateRefVal) { TraceCallEnterEvent.Raise(); try { QuestionFormDetail result = null; DataSet entitySet = m_DataContext.ndihdQuestionFormDetailSelect(QuestionFormRefVal, TemplateDetailRefVal, TemplateRefVal); if (entitySet.Tables[0].Rows.Count != 0) { result = new QuestionFormDetail(entitySet); } TraceCallReturnEvent.Raise(); return result; } catch (Exception ex) { ExceptionManager.Publish(ex); TraceCallReturnEvent.Raise(false); throw; } }
// ------------------------------------------------------------------------------------- /// <summary> /// Copy constructor. /// </summary> /// <param name="QuestionFormRefVal">Value of 'uQuestionFormRef' field</param> /// <param name="TemplateDetailRefVal">Value of 'cTemplateDetailRef' field</param> /// <param name="TemplateRefVal">Value of 'uTemplateRef' field</param> /// <param name="origInstance">Original document data to copy.</param> // ------------------------------------------------------------------------------------- public QuestionFormDetail(DBGuid QuestionFormRefVal, DBString TemplateDetailRefVal, DBGuid TemplateRefVal, QuestionFormDetail origInstance) : base(QuestionFormRefVal, TemplateDetailRefVal, TemplateRefVal, origInstance) { }
// ------------------------------------------------------------------------------------- /// <summary> /// Copy constructor. /// </summary> /// <param name="origInstance">Original document data to copy.</param> // ------------------------------------------------------------------------------------- public QuestionFormDetail(QuestionFormDetail origInstance) : base(origInstance) { }
private void cmdSave_Click(object sender, EventArgs e) { TemplateControl1.SetAnswer(); // --- Save questionform Guid templateID = new Guid(comboBox1.SelectedItem.ToString()); QuestionForm form = new QuestionForm(Guid.NewGuid()); form.TemplateRef = templateID; IQuestionFormService formSrv = ServiceFactory.GetQuestionFormService(); formSrv.QuestionFormInsert(form); // --- Save questiondetails IQuestionFormDetailService questionFormDetailService = ServiceFactory.GetQuestionFormDetailService(); foreach (IQuestion question in TemplateControl1.Questions) { TemplateDetail detail = (TemplateDetail) question; QuestionFormDetail questionDetail = new QuestionFormDetail(form.ID, detail.ID, templateID); questionDetail.Answer = detail.Answer; questionFormDetailService.QuestionFormDetailInsert(questionDetail); } GetList(); }