示例#1
1
        protected void RenderQuestion_EOC( HtmlTextWriter writer, Lib.Data.DSQ.Question q, string a = null, bool pending_changes = false )
        {
            long eoc_id;
            if( !long.TryParse( q.Answers, out eoc_id ) )
                throw new InvalidOperationException( "[" + q.Answers + "] is not a valid EOC ID." );

            var eoc = new Lib.Data.Eoc( eoc_id );

            var children = Lib.Data.DSQ.Question.FindByParent( q );
            bool has_children = false;

            if( children.Count > 0 )
                has_children = true;

            string cssClass = "clearfix form-row eoc-row has-children";
            if( pending_changes )
                cssClass += " pending-changes";

            if( q.ParentID.HasValue )
            {
                writer.AddAttribute( "data-parent-id", q.ParentID.Value.ToString() );
                writer.AddAttribute( "data-parent-checks", q.ParentChecks );
            }

            writer.AddAttribute( "data-id", q.ID.Value.ToString() );
            writer.AddAttribute( "class", cssClass );
            writer.RenderBeginTag( "div" );
            {
                writer.AddAttribute( "class", "form-label" );
                writer.AddAttribute( "for", "form-q-" + q.ID.Value.ToString() );
                writer.RenderBeginTag( "label" );
                {
                    writer.WriteEncodedText( q.Text );

                    if( q.Required )
                    {
                        writer.WriteEncodedText( " " );
                        writer.RenderBeginTag( "em" );
                        {
                            writer.WriteEncodedText( "*" );
                        }
                        writer.RenderEndTag();
                    }
                }
                writer.RenderEndTag();

                writer.AddAttribute( "class", "form-input" );
                writer.RenderBeginTag( "div" );
                {
                    writer.AddAttribute( "id", "form-q-" + q.ID.Value.ToString() );
                    writer.AddAttribute( "name", "q-" + q.ID.Value.ToString() );
                    if( q.Required )
                        writer.AddAttribute( "required", "required" );
                    writer.RenderBeginTag( "select" );

                    var answers = new [] {"","Required","Optional","No"};

                    foreach( var ans in answers )
                    {
                        writer.AddAttribute( "value", ans.Trim() );
                        if( !string.IsNullOrEmpty( a ) && ans.Trim() == a )
                            writer.AddAttribute( "selected", "selected" );
                        writer.RenderBeginTag( "option" );

                        writer.WriteEncodedText( ans.Trim() );

                        writer.RenderEndTag();
                    }

                    writer.RenderEndTag();
                }

                writer.RenderEndTag();
            }
            writer.RenderEndTag();

            writer.AddAttribute( "id", "form-q-" + q.ID.Value.ToString() + "-children" );
            writer.AddAttribute( "class", "to-be-hidden contains-children" );
            writer.RenderBeginTag( "div" );
            {
                // Render a Link List
                RenderQuestion_LinkList( writer, q, null, pending_changes, true );

                if( has_children )
                    foreach( var cq in children )
                        RenderQuestion( writer, cq );
            }
            writer.RenderEndTag();
        }
示例#2
0
        public static ReturnObject Delete( HttpContext context, long id )
        {
            if( id <= 0 )
                return new ReturnObject() { Error = true, Message = "Invalid EOC." };

            var item = new Lib.Data.Eoc( id );
            item.Delete();

            return new ReturnObject() {
                Growl = new ReturnGrowlObject() {
                    Type = "default",
                    Vars = new ReturnGrowlVarsObject() {
                        text = "You have successfully deleted this eoc.",
                        title = "Report deleted"
                    }
                },
                Actions = new List<ReturnActionObject>()
                {
                    new ReturnActionObject() {
                        Ele = "#eocs-table tr[data-id=\""+id.ToString()+"\"]",
                        Type = "remove"
                    }
                }
            };
        }
示例#3
0
        protected void Page_Init(object sender, EventArgs e)
        {
            string strID = Request.QueryString["id"];
            long id;
            if (string.IsNullOrEmpty(strID) || !long.TryParse(strID, out id))
                item = new Lib.Data.Eoc();
            else
                item = new Lib.Data.Eoc( id );

            UserTypes = Lib.Data.UserType.FindAll();
            EocUserTypes = item.GetUserTypes();
        }