protected void Button2_Click(object sender, EventArgs e)
        {
            Document_model document = new Document_model()                      // Create a instance for document model
            {                                                                   // Add all the required value to from the form
                DocumentTitle           = Textname.Text,
                DocumentVersion         = float.Parse(Textversion.Text),
                DocumentCreateDate      = Convert.ToDateTime(Textdate.Text),
                DocumentType            = DropDownList1.SelectedValue,
                DocumentPublisher       = TextPublisher.Text,
                DocumentWorkflow        = DropDownList2.SelectedValue,
                Choice_of_level         = DropDownList3.SelectedValue,
                List_documentKeywords   = Textkeyword.Text.Split(',').ToList(),
                List_documentAuthor     = TextAuthors.Text.Split(',').ToList(),
                List_documentFragment   = new List <Document_fragment_model>(),
                List_reviever           = new List <String>(),
                DocumentStatus          = "Pending",
                Count_document_reviever = 0
            };

            // Open database for storing file

            if (DropDownList2.SelectedValue.Equals("No Workflow"))
            {
                document.DocumentStatus = "Complete";
            }

            Document_model document_model_proto = new Document_model()
            {
                DocumentTitle   = Textname.Text,
                DocumentVersion = float.Parse(Textversion.Text)
            };

            dbget = Db4oFactory.OpenFile(path.addressOfDocument);
            IObjectSet result = dbget.QueryByExample(document_model_proto);

            if (result.HasNext())
            {
                flag          = 0;
                Textname.Text = "";
                Page.RegisterStartupScript("Alert&Redirect", "<script>alert('Document Already present');</script>");
            }

            dbget.Close();


            if (flag == 1)
            {
                Session.Add("document", document);

                Textname.Text               = "";
                Textversion.Text            = "";
                Textdate.Text               = "";
                DropDownList1.SelectedValue = "";
                Textkeyword.Text            = "";
                TextAuthors.Text            = "";
                TextPublisher.Text          = "";
                TextOrganization.Text       = "";
                Response.Redirect("./Document_fragment_add.aspx");
            }
        }
        protected void Discard_Document_Click(object sender, EventArgs e)
        {
            string docname;
            float  versionOfDoc;
            string reasonToDiscard;

            System.Web.HttpContext context     = System.Web.HttpContext.Current;
            string        docname_versionOfDoc = (String)context.Session["docNameVersionNo"];
            List <String> compare = new List <string>();

            compare      = docname_versionOfDoc.Split(':').ToList();
            docname      = compare[0];
            versionOfDoc = float.Parse(compare[1]);
            string username = (string)Session["UserName"];

            reasonToDiscard = Textuser.Text;
            if (reasonToDiscard.Equals(""))
            {
                reasonToDiscard = "Reason to discard is not specified";
            }
            else
            {
            }
            try
            {
                Config path = new Config();
                DB = Db4oFactory.OpenFile(path.addressOfDocument);

                IObjectSet     result   = DB.QueryByExample(new Document_model(docname, versionOfDoc));
                Document_model docmodel = (Document_model)result.Next();
                DB.Delete(docmodel);
                DB.Close();

                Discarded_Document_model document_fragment_model = new Discarded_Document_model()
                {
                    ReasonToDiscard = reasonToDiscard,
                    DocumentTitle   = docname,
                    DocumentVersion = versionOfDoc,
                    NameOfReviever  = username
                };

                DB = Db4oFactory.OpenFile(path.addressOfDiscardedDocument);
                DB.Store(document_fragment_model);
                DB.Close();

                Page.RegisterStartupScript("Alert&Redirect", "<script>alert('Document Discarded Sucessfully'); location.href='./Document_page.aspx';</script>");
            }
            catch
            {
            }
        }
        protected void Add_Document_for_User_Click(object sender, EventArgs e)
        {
            int    count;
            string docname;

            float versionOfDoc;

            System.Web.HttpContext context     = System.Web.HttpContext.Current;
            string        docname_versionOfDoc = (String)context.Session["docNameVersionNo"];
            List <String> compare = new List <string>();

            compare      = docname_versionOfDoc.Split(':').ToList();
            docname      = compare[0];
            versionOfDoc = float.Parse(compare[1]);
            string username = (string)Session["UserName"];

            try
            {
                Config path = new Config();
                DB = Db4oFactory.OpenFile(path.addressOfDocument);
                IObjectSet     result   = DB.QueryByExample(new Document_model(docname, versionOfDoc));
                Document_model docmodel = (Document_model)result.Next();
                count = docmodel.Count_document_reviever - 1;
                docmodel.Count_document_reviever = count;
                docmodel.List_reviever.Remove(username);

                if (docmodel.Count_document_reviever == 0)
                {
                    docmodel.DocumentStatus = "Complete";
                }

                DB.Ext().Store(docmodel, 3);

                DB.Close();
                Page.RegisterStartupScript("Alert&Redirect", "<script>alert('Review Successfull!!'); location.href='./Document_page.aspx';</script>");
            }
            catch
            {
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            display_data.Visible = false;
            System.Web.HttpContext context = System.Web.HttpContext.Current;
            document_model = (Document_model)context.Session["document"];

            if (!IsPostBack)
            {
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Document Added, add Fragments to save it to Database')", true);

                foreach (var List_element in document_model.List_documentKeywords)
                {
                    dbget = Db4oFactory.OpenFile(path.addressofDocumentFragment);
                    IList <Document_fragment_model> dbqury = dbget.Query <Document_fragment_model>();

                    if (dbqury.Count > 0)
                    {
                        foreach (Document_fragment_model document_fragment_detail in dbqury)
                        {
                            for (int i = 0; i < document_fragment_detail.Keywords.Count; i++)
                            {
                                if ((document_fragment_detail.Keywords[i]).Trim().Equals((List_element).Trim()))
                                {
                                    String data, key, revel;
                                    data = "<a href= \"#\">" + document_fragment_detail.DocumentFragmentTitle + " " + "version" + " " + document_fragment_detail.DocumentFragmentVersion + "</a>";
                                    key  = document_fragment_detail.DocumentFragmentTitle + ":" + document_fragment_detail.DocumentFragmentVersion;
                                    CheckBoxList1.Items.Add(new ListItem(data, key));
                                    revel = document_fragment_detail.DocumentFragmentTitle + document_fragment_detail.DocumentFragmentVersion;
                                }
                            }
                        }
                    }
                    dbget.Close();
                }
            }
        }