public virtual void ForumItemDelete(ForumItem entity)
 {
     TraceCallEnterEvent.Raise();
       try
       {
     m_DataContext.BeginNestedTran();
     try
     {
       m_DataContext.ndihdForumItemDelete(entity.ID);
       m_DataContext.CommitNested();
     }
     catch
     {
       m_DataContext.RollbackNested();
       throw;
     }
     TraceCallReturnEvent.Raise();
     return;
       }
       catch (Exception ex)
       {
     ExceptionManager.Publish(ex);
     TraceCallReturnEvent.Raise(false);
     throw;
       }
 }
        protected void btnCreate_Click(object sender, EventArgs e)
        {
            try
              {
            if (!Page.IsValid)
            {
              return;
            }

            string threadId = Request["threadId"];
            Guid threadGuid = new Guid(threadId);

            ForumItem item = new ForumItem(Guid.NewGuid());

            string desc = txtDescription.Text;
            string newLine = "\r\n";

            desc = desc.Replace(newLine, "<br/>");
            item.ItemText = desc;

            item.ForumThreadRef = threadGuid;
            IForumItemService srv = ServiceFactory.GetForumItemService();
            srv.ForumItemInsert(item);

            Response.Redirect("ForumItemList.aspx?threadId=" + threadId);
              }
              catch (Exception ex)
              {
            errorPanel.Exception = ex;
              }
        }
Exemple #3
0
 // -------------------------------------------------------------------------------------
 /// <summary>
 /// Copy constructor.
 /// </summary>
 /// <param name="IDVal">Value of 'uID' field</param>
 /// <param name="origInstance">Original document data to copy.</param>
 // -------------------------------------------------------------------------------------
 public ForumItem(DBGuid IDVal,
              ForumItem origInstance)
     : base(IDVal, origInstance)
 {
 }
Exemple #4
0
 // -------------------------------------------------------------------------------------
 /// <summary>
 /// Copy constructor.
 /// </summary>
 /// <param name="origInstance">Original document data to copy.</param>
 // -------------------------------------------------------------------------------------
 public ForumItem(ForumItem origInstance)
     : base(origInstance)
 {
 }
        /// <summary>
        /// Fill datagrid with data
        /// </summary>
        private void FillDatagrid(DBGuid ID)
        {
            try
              {
            string sSortColumn = "ForumThreadName";
            int nSelectedRow = -1;

            // Storing the previous sort order
            if (dtgMain.DataSource != null)
            {
              sSortColumn = ((DataTable) dtgMain.DataSource).DefaultView.Sort;
            }

            // Set filter
            ForumItem filter = new ForumItem(Guid.Empty);
            filter.FilterOnIsModerated = DBInt.Null;
            if (cmbStatus.SelectedIndex > 0)
            {
              bool bIsModerated = (cmbStatus.SelectedValue.ToString() == "1" ? true : false);
              filter.FilterOnIsModerated = (DBInt) Convert.ToInt32(bIsModerated);
              filter.IsModerated = bIsModerated;
            }
            if (cmbForumGroup.SelectedIndex > 0)
            {
              filter.ForumGroupRef = new DBGuid(new Guid(cmbForumGroup.SelectedValue.ToString()));
            }
            if (dtpSentFrom.Checked)
            {
              filter.FilterOnSentFrom = new DBDateTime(dtpSentFrom.Value);
            }
            if (dtpSentTo.Checked)
            {
              DBDateTime dateTo = new DBDateTime(dtpSentTo.Value);
              filter.FilterOnSentTo = dateTo.AddDays(1).AddMilliseconds(-1);
            }
            // Retrieving data from BusinessServices
            IForumItemService srv = ServiceFactory.GetForumItemService();
            ForumItemContainer allData = srv.ForumItemSelectFiltered(filter);
            DataTable dt = allData.AllAsDatatable;
            dt.DefaultView.Sort = sSortColumn;
            dtgMain.DataSource = dt;

            // Locates the row specified by ID param
            if (!ID.IsNull)
            {
              BindingManagerBase bm = dtgMain.BindingContext[dtgMain.DataSource, dtgMain.DataMember];
              DataRow dr;
              for (int i = 0; i < bm.Count; i++)
              {
            dr = ((DataRowView) bm.Current).Row;
            if (ID.Value.Equals(dr["ID"]))
            {
              nSelectedRow = i;
              break;
            }
            bm.Position += 1;
              }
            }

            // Makes the row selected
            if (nSelectedRow <= ((DataTable) dtgMain.DataSource).DefaultView.Count && nSelectedRow > -1)
            {
              dtgMain.Select(nSelectedRow);
              dtgMain.CurrentRowIndex = nSelectedRow;
            }
            else if (((DataTable) dtgMain.DataSource).DefaultView.Count != 0)
            {
              dtgMain.Select(0);
            }

            // Enabling or disabling the buttons according to record count.
            // And is because of previous disable state.
            bool bIsEmptyGrid = (((DataTable) dtgMain.DataSource).DefaultView.Count == 0);
            tbbInactivate.Enabled = ! bIsEmptyGrid;
            tbbModify.Enabled = ! bIsEmptyGrid;
              }
              catch (Exception ex)
              {
            //	---	Log exception
            ExceptionManager.Publish(ex);
            //	---	Display Exception
            ErrorHandler.DisplayError("Nem várt hiba lépett fel a lista frissítése során.", ex);
              }
        }
        protected void ShowForumItemGrid(DataGrid dataGrid,
                                     int index, string sort, string order)
        {
            dataGrid.PageSize = Helpers.GetPageSize("PageSize.ForumItemList");

              // Get query result from database
              ForumItem filter = new ForumItem(Guid.NewGuid());
              //filter.ItemText = txtSearchExpression.Text;
              filter.ItemText = Helpers.BuildFreetextCondition(txtSearchExpression.Text);

              if (Context.User.Identity.IsAuthenticated)
              {
            filter.FilterOnVisibleForRegistered = 1;
              }
              else
              {
            filter.FilterOnVisibleForVisitor = 1;
              }

              IForumItemService srv = ServiceFactory.GetForumItemService();
              ForumItemContainer selected = srv.ForumItemSelectFreetext(filter);

              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 new void ForumItemInsert(ForumItem entity)
        {
            TraceCallEnterEvent.Raise();
              try
              {
            // check required fields:
            if (entity.ID.IsNull)
              throw new ArgumentNullException("ForumItem.ID", "A hozzászólás azonosítója nincs megadva.");
            if (entity.ItemText.Length == 0)
              throw new ArgumentNullException("ForumItem.ItemText", "A hozzászólás neve nincs megadva.");
            if (entity.ForumThreadRef.IsNull)
              throw new ArgumentNullException("ForumItem.ForumThreadRef", "A fórum szál azonosítója nincs megadva.");

            // logical checks:
            ForumThreadService threadSrv = new ForumThreadService();
            ForumThread forumThread = threadSrv.ForumThreadSelect(entity.ForumThreadRef);
            if (forumThread == null)
              throw new ApplicationException("A megadott azonosítóval nem létezik fórum szál.");
            if (!forumThread.IsActive)
              throw new ApplicationException("A fórum szál nem aktív.");

            ForumGroupService groupSrv = new ForumGroupService();
            ForumGroup group = groupSrv.ForumGroupSelect(forumThread.ForumGroupRef);
            if (group == null)
              throw new ApplicationException("A megadott azonosítóval nem létezik fórum téma.");

            // check permission:
            if (!group.VisibleForVisitor)
            {
              PrincipalPermission permReg = new PrincipalPermission(Thread.CurrentPrincipal.Identity.Name, "Registered");
              PrincipalPermission permAdmin =
            new PrincipalPermission(Thread.CurrentPrincipal.Identity.Name, "Administrator");
              permReg.Union(permAdmin).Demand();
            }

            // save data:
            entity.IsModerated = false;
            entity.CreatedDate = DBDateTime.Now;
            if (Thread.CurrentPrincipal.Identity.IsAuthenticated)
            {
              entity.CreatedBy = Thread.CurrentPrincipal.Identity.Name;
            }
            else
            {
              if (entity.CreatedBy.Length == 0)
              {
            entity.CreatedBy = "Anonymous";
              }
            }
            base.ForumItemInsert(entity);

            BusinessAuditEvent.Success(
              new EventParameter("ForumItemID", entity.ID.ToString())
              );
            TraceCallReturnEvent.Raise();
            return;
              }
              catch (Exception ex)
              {
            ExceptionManager.Publish(ex);
            BusinessAuditEvent.Fail(
              new EventParameter("Exception", ex.ToString()),
              new EventParameter("ForumItemID", entity.ID.ToString())
              );
            TraceCallReturnEvent.Raise(false);
            throw;
              }
        }
        public new void ForumItemUpdate(ForumItem entity)
        {
            // Check permission: Admin
              PrincipalPermission permAdmin = new PrincipalPermission(Thread.CurrentPrincipal.Identity.Name, "Administrator");
              permAdmin.Demand();

              TraceCallEnterEvent.Raise();
              try
              {
            // Logical checks
            ForumItem selected = base.ForumItemSelect(entity.ID);
            if (selected == null)
              throw new ApplicationException("A megadott azonosítóval nem létezik hozzászólás.");

            // Save data
            selected.IsModerated = entity.IsModerated;

            base.ForumItemUpdate(selected);

            BusinessAuditEvent.Success(
              new EventParameter("ForumItemID", entity.ID.ToString()),
              new EventParameter("IsModerated", entity.IsModerated.ToString())
              );
            TraceCallReturnEvent.Raise();
            return;
              }
              catch (Exception ex)
              {
            ExceptionManager.Publish(ex);
            BusinessAuditEvent.Fail(
              new EventParameter("Exception", ex.ToString()),
              new EventParameter("ForumItemID", entity.ID.ToString()),
              new EventParameter("IsModerated", entity.IsModerated.ToString())
              );
            TraceCallReturnEvent.Raise(false);
            throw;
              }
        }
 public ForumItemContainer ForumItemSelectFreetext(ForumItem filter)
 {
     TraceCallEnterEvent.Raise();
       try
       {
     ForumItemContainer result;
     DataSet entitySet = m_DataContext.ndihdForumItemSelectFreeText(
       filter.ItemText,
       filter.FilterOnVisibleForVisitor,
       filter.FilterOnVisibleForRegistered);
     result = new ForumItemContainer(entitySet.Tables[0]);
     TraceCallReturnEvent.Raise();
     return result;
       }
       catch (Exception ex)
       {
     ExceptionManager.Publish(ex);
     TraceCallReturnEvent.Raise(false);
     throw;
       }
 }
        public ForumItemContainer ForumItemSelectFiltered(ForumItem filter)
        {
            // Check permission: Admin
              PrincipalPermission permAdmin = new PrincipalPermission(Thread.CurrentPrincipal.Identity.Name, "Administrator");
              permAdmin.Demand();

              TraceCallEnterEvent.Raise();
              try
              {
            ForumItemContainer result;
            DataSet entitySet = m_DataContext.ndihdForumItemSelectFiltered(
              filter.ForumGroupRef,
              filter.FilterOnIsModerated,
              1, filter.FilterOnSentFrom, filter.FilterOnSentTo);
            result = new ForumItemContainer(entitySet.Tables[0]);
            TraceCallReturnEvent.Raise();
            return result;
              }
              catch (Exception ex)
              {
            ExceptionManager.Publish(ex);
            TraceCallReturnEvent.Raise(false);
            throw;
              }
        }
 public virtual void ForumItemUpdate(ForumItem entity)
 {
     TraceCallEnterEvent.Raise();
       try
       {
     m_DataContext.BeginNestedTran();
     try
     {
       int count;
       m_DataContext.ndihdForumItemUpdate(entity.ID,
                                      entity.ItemText,
                                      entity.CreatedBy,
                                      entity.CreatedDate,
                                      entity.IsModerated,
                                      entity.ForumThreadRef, 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 ForumItem ForumItemSelect(DBGuid IDVal)
 {
     TraceCallEnterEvent.Raise();
       try
       {
     ForumItem result = null;
     DataSet entitySet = m_DataContext.ndihdForumItemSelect(IDVal);
     if (entitySet.Tables[0].Rows.Count != 0)
     {
       result = new ForumItem(entitySet);
     }
     TraceCallReturnEvent.Raise();
     return result;
       }
       catch (Exception ex)
       {
     ExceptionManager.Publish(ex);
     TraceCallReturnEvent.Raise(false);
     throw;
       }
 }
 public virtual void ForumItemInsert(ForumItem entity)
 {
     TraceCallEnterEvent.Raise();
       try
       {
     m_DataContext.BeginNestedTran();
     try
     {
       m_DataContext.ndihdForumItemInsert(entity.ID,
                                      entity.ItemText,
                                      entity.CreatedBy,
                                      entity.CreatedDate,
                                      entity.IsModerated,
                                      entity.ForumThreadRef);
       m_DataContext.CommitNested();
     }
     catch
     {
       m_DataContext.RollbackNested();
       throw;
     }
     TraceCallReturnEvent.Raise();
     return;
       }
       catch (Exception ex)
       {
     ExceptionManager.Publish(ex);
     TraceCallReturnEvent.Raise(false);
     throw;
       }
 }
        // -------------------------------------------------------------------------------------
        /// <summary>
        /// Prepare Save action
        /// </summary>
        // -------------------------------------------------------------------------------------
        private void SaveData()
        {
            // Get control values
              ForumItem fit = new ForumItem(CurrentID);
              fit.IsModerated = cbxModerated.Checked;
              fit.ForumThreadRef = m_ForumThreadRef;

              // Save values
              IForumItemService srv = ServiceFactory.GetForumItemService();
              srv.ForumItemUpdate(fit);
        }