Saturday, September 21, 2013

Entity Framework 4.0 Insert Update and Delete

Entity Framework 4.0 Insert Update and Delete


For small blogs, it requires more references and explanation, which sometimes are redundant. So I thought of writing single blog which is combination of topics more or less related to one thing.

I am exploring ADO.NET Entity Framework and have been trying things out there. Here I am planning to demonstrate how to do insert, update and delete.

Steps
1> Add new item in the project -->  Add --> ADO.NET ENTITY FRAMEWORK --> 
     ADD--> THE DATABASE CONNECTION  GIVE IT NAME AS testEntities


STEP 2:

CSS

<style>
  .gvdata th
  {
    background-color:#3A4F63;
    color:White;    
    padding:10px;   
  }
  .gvdata
  {
      text-align:center;
  }
   .leftCol
   {
       width:200px;
       text-align:left;
       padding:5px;
   }
</style>

STEP 3: 


ASPX

 <h2>
        Welcome to ASP.NET!
    </h2>
    <p>
        To learn more about ASP.NET visit <a href="http://www.asp.net" title="ASP.NET Website">www.asp.net</a>.
    </p>
    <p>
        You can also find <a href="http://go.microsoft.com/fwlink/?LinkID=152368&amp;clcid=0x409"
            title="MSDN ASP.NET Docs">documentation on ASP.NET at MSDN</a>.
    </p>
    <p>
       
        <span class="leftCol">CountryID</span><span><asp:TextBox ID="txtCountryID" runat="server"/></span><br />
        <span class="leftCol">Country Name</span><span><asp:TextBox ID="txtsName" runat="server"/></span><br />
        <span class="leftCol"><asp:Button ID="btnSave" Text="Save" runat="server" 
            onclick="btnSave_Click" /></span>

        <asp:HiddenField runat="server" ID="HdID" />
       <asp:GridView ID="gvdata" CssClass="gvdata" runat="server" AutoGenerateColumns="false" 
            onrowcommand="gvdata_RowCommand" onrowdeleting="gvdata_RowDeleting" 
            onrowediting="gvdata_RowEditing">
       <Columns>
         <asp:BoundField HeaderText="CountryID" DataField="nCountryID" />
         <asp:BoundField HeaderText="Country Name" DataField="sName" />
         <asp:TemplateField HeaderText="Edit">
           <ItemTemplate >
              <asp:LinkButton ID="lnq" runat="server" CommandName="Edit" CommandArgument='<%#Eval("nID") %>'> Edit</asp:LinkButton>
           </ItemTemplate>
           </asp:TemplateField>
            <asp:TemplateField HeaderText="Delete">
           <ItemTemplate >
                <asp:LinkButton ID="LinkButton1" runat="server" CommandName="Delete" CommandArgument='<%#Eval("nID") %>'> Delete</asp:LinkButton>           
           </ItemTemplate>
         
         </asp:TemplateField>


       </Columns>
       
       </asp:GridView>      
        </p>

STEP 4 :


Codebehind aspx.cs

 protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
                fillGrid();
        }
        public void fillGrid()
        {
           testEntities dbmocktest = new testEntities();
            var data = (from c in dbmocktest.tbl_State select c).ToList();
            gvdata.DataSource = data;
            gvdata.DataBind();
        }
        public void DoEmpty()
        {
            txtsName.Text = "";
            txtCountryID.Text = "";
        }

        protected void btnSave_Click(object sender, EventArgs e)
        {
            try
            {
                using testEntities dbmocktest = newtestEntities())
                {
                    tbl_State data = new tbl_State();
                   // var data = (from c in dbmocktest.tbl_State select c).First();
                    data.nCountryID = Convert.ToInt32(txtCountryID.Text);
                    data.sName = txtsName.Text;

                    if (btnSave.Text == "Save")
                    {
                        // var data = (from c in dbmocktest.tbl_State select c).First();
                      // var data = (from c in dbmocktest.tbl_State select c).First();
                        dbmocktest.AddTotbl_State(data);
                     }
                    else if (btnSave.Text == "Update")
                    {
                      Int32  ID = Convert.ToInt32(HdID.Value);                    
                     
                        data = (from c in dbmocktest.tbl_State where c.nID==ID select c).First();
                         btnSave.Text = "Save";
                    }

                    data.nCountryID = Convert.ToInt32(txtCountryID.Text);
                    data.sName = txtsName.Text;
                    dbmocktest.SaveChanges();
                }
            }
            finally {
               

                 fillGrid();
                 DoEmpty();
            }

        }

        protected void gvdata_RowEditing(object sender, GridViewEditEventArgs e)
        {
           

        }

        protected void gvdata_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {

        }

        protected void gvdata_RowCommand(object sender, GridViewCommandEventArgs e)
        {
          
                Int32 nID = Convert.ToInt32(e.CommandArgument);
                using (testEntities dbmocktest = new testEntities())
                {
                    var data = (from c in dbmocktest.tbl_State where c.nID == nID select c).First();                  
                    if (e.CommandName == "Edit")
                    {
                   // tbl_State data = new tbl_State();
                      txtCountryID.Text=  data.nCountryID.ToString();// = Convert.ToInt32();
                      HdID.Value = data.nID.ToString();
                      txtsName.Text= data.sName;
                      btnSave.Text = "Update";
                    }
                    else if (e.CommandName == "Delete")
                    {
                       
                        dbmocktest.tbl_State.DeleteObject(data);
                        dbmocktest.SaveChanges();
                        fillGrid();
                    }
            }

        }
    

HOPE IT WORKS

THANKS
REHAN PARVEZ

Tuesday, September 17, 2013

AJAX SlideShow Extender with Images from Folder

Hi all,
try this example to use Ajax SlideShow Extender with Images from Folder
1) Open VS2008 and create a new website
2) Create Folder in website Root and add your images that you want to display using AJAX SlideShow Extender name it “Images”
3) Add WebSerive name it “Slideshow.asmx” and add the following Code
4) Add new Web Page and ScriptManager , Image , Label , Three Buttons (For Play , Prev and Next) and AJAX SildeShow Extender
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<ajax:ToolkitScriptManager ID="scriptmanager1" runat="server">
 </ajax:ToolkitScriptManager>
 <div>
 <table style="border: Solid 3px #D55500; width: 400px; height: 400px" cellpadding="0"
 cellspacing="0">
 <tr style="background-color: #D55500">
 <td style="height: 10%; color: White; font-weight: bold; font-size: larger" align="center">
 <asp:Label ID="lblTitle" runat="server"></asp:Label>
 </td>
 </tr>
 <tr>
 <td>
 <asp:Image ID="imgslides" runat="server" Height="400px" Width="400px" ImageUrl="~/Images/1.JPG" />
 </td>
 </tr>
 <tr>
 <td align="center">
 <asp:Label ID="lblimgdesc" runat="server"></asp:Label>
 </td>
 </tr>
 <tr>
 <td align="center">
 <asp:Button ID="btnPrevious" runat="server" Text="Prev" CssClass="button" />
 <asp:Button ID="btnPlay" runat="server" Text="Play" CssClass="button" />
 <asp:Button ID="btnNext" runat="server" Text="Next" CssClass="button" />
 </td>
 </tr>
 </table>
 <ajax:SlideShowExtender runat="server" AutoPlay="true" ImageTitleLabelID="lblTitle"
 ImageDescriptionLabelID="lblimgdesc" Loop="true" NextButtonID="btnNext" PreviousButtonID="btnPrevious"
 PlayButtonID="btnPlay" PlayButtonText="Play" StopButtonText="Stop" TargetControlID="imgslides"
 SlideShowServicePath="Slideshow.asmx" SlideShowServiceMethod="GetSlides">
 </ajax:SlideShowExtender>
 </div>
1
2
3
4
5
6
7
8
9
10
11
12
13
[System.Web.Services.WebMethod]
 [System.Web.Script.Services.ScriptMethod]
 public AjaxControlToolkit.Slide[] GetSlides()
 {
 string[] imagenames = System.IO.Directory.GetFiles(Server.MapPath("~/Images"));
 AjaxControlToolkit.Slide[] photos = new AjaxControlToolkit.Slide[imagenames.Length];
 for (int i = 0; i < imagenames.Length; i++)
 {
 string[] file = imagenames[i].Split('\\');
 photos[i] = new AjaxControlToolkit.Slide("Images/" + file[file.Length - 1], file[file.Length - 1], "");
 }
 return photos;
 }