CSharp Objectdatasource With Selectmethod, Deletemethod, Updatemethod, Insertmethod – ADO.Net Database

<%@ page language="C#" %><%@ import namespace="System" %>
<%@ import namespace="System.Web" %>
<%@ import namespace="System.Collections.Generic" %><script runat="server" language="c#">public class Person {    private int id;
    private string firstname;
    private string lastname;    public Person(int id, string firstname, string lastname) {
        this.id = id;
        this.firstname = firstname;
        this.lastname = lastname;
    }    public int Id {
        get { return this.id; }
        set { this.id = value; }
    }    public string Firstname {
        get { return this.firstname; }
        set { this.firstname = value; }
    }    public string Lastname {
        get { return this.lastname; }
        set { this.lastname = value; }
    }
}public class PersonManager {    private const string personsKey = "persons";    public PersonCollection SelectPersons() {
        HttpContext context = HttpContext.Current;        if (context.Application[personsKey] == null) {
            PersonCollection persons = new PersonCollection();            persons.Add(new Person(0, "A", "B"));
            persons.Add(new Person(1, "C", "D"));
            persons.Add(new Person(2, "E", "F"));
            context.Application[personsKey] = persons;
        }        return (context.Application[personsKey] as PersonCollection);
    }    public Person SelectPerson(int id) {
        return this.SelectPersons().FindPersonById(id);
    }    public void DeletePerson(int Id) {
        HttpContext context = HttpContext.Current;
        PersonCollection persons = (context.Application[personsKey] as PersonCollection);        persons.Remove(Id);
    }    public void Update(int Id, string Firstname, string Lastname) {
        HttpContext context = HttpContext.Current;
        PersonCollection persons = (context.Application[personsKey] as PersonCollection);
        Person person = persons.FindPersonById(Id);        if (person != null) {
            person.Firstname = Firstname;
            person.Lastname = Lastname;
        }
    }    public void Insert(int Id, string Firstname, string Lastname) {
        HttpContext context = HttpContext.Current;
        PersonCollection persons = (context.Application[personsKey] as PersonCollection);        persons.Add(new Person(Id, Firstname, Lastname));
    }
}public class PersonCollection : List<person> {    public void Remove(int id) {
        Person person = this.FindPersonById(id);
        if (person != null) {
            base.Remove(person);
        }
    }    public Person FindPersonById(int id) {
        foreach (Person person in this) {
            if (person.Id.Equals(id)) {
                return person;
            }
        }
        return null;
    }
}</script><html>
<head id="Head1" runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="Form1" runat="server">
        <asp:gridview id="GridView1"
                      runat="server"
                      allowpaging="True"
                      datasourceid="ObjectDataSource1"
                      allowsorting="True"
                      datakeynames="Id"
                      autogeneratecolumns="False">
            <alternatingrowstyle font-italic="False" font-bold="False">
            </alternatingrowstyle>
            <pagerstyle forecolor="#003399"
                        font-italic="False"
                        font-bold="False"
                        horizontalalign="Left"
                        backcolor="#99CCCC">
            </pagerstyle>
            <columnfields>
                <asp:boundfield datafield="Id" readonly="True">
                </asp:boundfield>
                <asp:boundfield datafield="Firstname">
                </asp:boundfield>
                <asp:boundfield datafield="Lastname">
                </asp:boundfield>
                <asp:commandfield showselectbutton="True"
                                  showdeletebutton="True"
                                  showeditbutton="True">
                </asp:commandfield>
            </columnfields>
            <summarytitlestyle borderwidth="1px"
                               borderstyle="None"
                               bordercolor="#3366CC"
                               backcolor="White">
            </summarytitlestyle>
            <selectedrowstyle forecolor="#CCFF99"
                              backcolor="#009999"
                              font-italic="False"
                              font-bold="True">
            </selectedrowstyle>
            <detailtitlestyle borderwidth="1px"
                              borderstyle="None"
                              bordercolor="#3366CC"
                              backcolor="White">
            </detailtitlestyle>
            <rowstyle forecolor="#003399" backcolor="White" font-italic="False" font-bold="False">
            </rowstyle>
            <headerstyle forecolor="#CCCCFF" backcolor="#003399" font-italic="False" font-bold="True">
            </headerstyle>
            <footerstyle forecolor="#003399" backcolor="#99CCCC" font-italic="False" font-bold="False">
            </footerstyle>
        </asp:gridview>
 
        <asp:objectdatasource id="ObjectDataSource1" runat="server" typename="PersonManager"
            selectmethod="SelectPersons"
            deletemethod="DeletePerson"
            updatemethod="Update"
            insertmethod="Insert">
            <insertparameters>
                <asp:parameter name="Id" type="Int32">
                </asp:parameter>
            </insertparameters>
        </asp:objectdatasource>
 
        <asp:detailsview id="DetailsView1" runat="server" datasourceid="ObjectDataSource1"
            defaultmode="Insert" autogeneraterows="False" datakeynames="Id">
            <rowfields>
                <asp:boundfield datafield="Id" headertext="ID:">
                </asp:boundfield>
                <asp:boundfield datafield="Firstname" headertext="Fn:">
                </asp:boundfield>
                <asp:boundfield datafield="Lastname" headertext="Ln:">
                </asp:boundfield>
                <asp:commandfield showinsertbutton="True">
                </asp:commandfield>
            </rowfields>
        </asp:detailsview>    </form>
</body>
</html>

Enjoyed this post? Share it!

 

Leave a comment

Your email address will not be published.