Wednesday, 5 March 2014

How to insert image details in db using entity framework







Upload Image

:
































step 2: Code Behind
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Telerik.Web.UI;
using TestModel;

public partial class EFWithTelerik : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            getImageDetails();
        }
    }

    protected void btnSave_Click(object sender, EventArgs e)
    {
        saveImages();
    }
    //saveImages method is used to store the image data in database
    //using entity framework
    private void saveImages()
    {
        if (RadUploadImage.UploadedFiles.Count > 0)
        {
            string fileName = string.Empty;
            long fileSize = 0;
            string filePath = string.Empty;
            string getPath = string.Empty;
            string pathToStore = string.Empty;
            string finalPathToStore = string.Empty;

            foreach (UploadedFile file in RadUploadImage.UploadedFiles)
            {
                fileName = file.GetName();
                fileSize = file.ContentLength;
                filePath = Server.MapPath("Images/" + System.Guid.NewGuid() + fileName);
                file.SaveAs(filePath);
            }

            try
            {
                //get the stored file name
                int getPos = filePath.LastIndexOf("\\");
                int len = filePath.Length;
                getPath = filePath.Substring(getPos, len - getPos);
                pathToStore = getPath.Remove(0, 1);
                finalPathToStore = "~/Images/" + pathToStore;

                //saving image details in database using entity model

                TestEntities objEntities = new TestEntities();
                ImageDetail objImageDetail = new ImageDetail();
                objImageDetail.ImageName = fileName;
                objImageDetail.ImagePath = finalPathToStore;
                objImageDetail.ImageSize = (int)fileSize;
                objEntities.ImageDetails.AddObject(objImageDetail);
                objEntities.SaveChanges();

                lblStatus.Text = "Image has been uploaded";
                getImageDetails();
            }
            catch (Exception ex)
            {
                lblStatus.Text = "Error" + ex.Message;
            }
            finally
            {
            }
        }
    }
    //getImageDetails method fetch images data from db and shows in grid
    private void getImageDetails()
    {
        TestEntities objEntities = new TestEntities();
        try
        {
            rgImages.DataSource = objEntities.ImageDetails;
            rgImages.DataBind();
        }
        catch (Exception ex)
        {
        }
    }

    protected void rgImages_PageIndexChanged(object sender, GridPageChangedEventArgs e)
    {
        rgImages.CurrentPageIndex = e.NewPageIndex;
        getImageDetails();
    }

    protected void rgImages_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
    {
        getImageDetails();
    }
}

No comments:

Post a Comment