/// <summary>
        /// this method gives vendor based on vendorId
        /// </summary>
        /// <param name="VendorId"></param>
        public IVendor GetVendorByVendorId(int VendorId)
        {
            SqlConnection objSQLConn    = null;
            SqlCommand    objSQLCommand = null;

            IVendor objVendors = VendorBOFactory.CreateVendorObject();

            try
            {
                objSQLConn = new SqlConnection(strConnectionString);
                objSQLConn.Open();

                objSQLCommand             = new SqlCommand("usp_GetVendorByVendorId", objSQLConn);
                objSQLCommand.CommandType = System.Data.CommandType.StoredProcedure;
                objSQLCommand.Parameters.AddWithValue("@VendorID", VendorId);
                objSQLCommand.Parameters["@VendorID"].Direction = System.Data.ParameterDirection.Input;

                SqlDataReader objSQLReader = objSQLCommand.ExecuteReader();

                while (objSQLReader.Read())
                {
                    /*IEmployee objEmployee = EmployeeBOFactory.CreateEmployeeObject();*/
                    objVendors.VendorId            = Convert.ToInt32(objSQLReader["VendorID"]);
                    objVendors.NameOfOrganisation  = Convert.ToString(objSQLReader["NameOfOrganization"]);
                    objVendors.NameOfContactPerson = Convert.ToString(objSQLReader["NameOfContactPerson"]);
                    objVendors.Address             = Convert.ToString(objSQLReader["VendorAddress"]);
                    objVendors.City          = Convert.ToString(objSQLReader["City"]);
                    objVendors.State         = Convert.ToString(objSQLReader["State"]);
                    objVendors.ContactNumber = Convert.ToInt32(objSQLReader["ContactNumber"]);
                    objVendors.VendorType    = Convert.ToString(objSQLReader["VendorType"]);
                    objVendors.EmailId       = Convert.ToString(objSQLReader["EmailID"]);

                    /*objEmployee.Address = Convert.ToString(objSQLReader["Address"]);
                     * objEmployee.City = Convert.ToString(objSQLReader["State"]);
                     * objEmployee.State = Convert.ToString(objSQLReader["City"]);
                     * objEmployee.MobileNumber = Convert.ToInt64(objSQLReader["ContactNumber"]);*/
                }

                objSQLReader.Close();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (objSQLConn != null && objSQLConn.State != System.Data.ConnectionState.Closed)
                {
                    objSQLConn.Close();
                }
            }
            return(objVendors);
        }
/// <summary>
/// View Vendor Details
/// </summary>
/// <returns>List of Vendors</returns>
        public List <IVendor> GetVendorDetails()
        {
            SqlConnection  objSQLConn    = null;
            SqlCommand     objSQLCommand = null;
            List <IVendor> vendorList    = new List <IVendor>();

            try
            {
                objSQLConn = new SqlConnection(strConnectionString);
                objSQLConn.Open();

                objSQLCommand             = new SqlCommand("usp_ViewVendorDetails_group1", objSQLConn);
                objSQLCommand.CommandType = System.Data.CommandType.StoredProcedure;

                SqlDataReader objSQLReader = objSQLCommand.ExecuteReader();

                while (objSQLReader.Read())
                {
                    IVendor objVendorDetails = VendorBOFactory.CreateVendorObject();
                    objVendorDetails.VendorId           = Convert.ToInt32(objSQLReader["VendorID"]);
                    objVendorDetails.NameOfOrganisation = objSQLReader["NameOfOrganization"].ToString();

                    objVendorDetails.NameOfContactPerson = objSQLReader["NameOfContactPerson"].ToString();
                    objVendorDetails.Address             = objSQLReader["VendorAddress"].ToString();
                    objVendorDetails.City  = objSQLReader["City"].ToString();
                    objVendorDetails.State = objSQLReader["State"].ToString();

                    objVendorDetails.ContactNumber = Convert.ToInt64(objSQLReader["ContactNumber"]);
                    objVendorDetails.VendorType    = objSQLReader["VendorType"].ToString();
                    objVendorDetails.EmailId       = objSQLReader["EmailID"].ToString();

                    vendorList.Add(objVendorDetails);
                }

                objSQLReader.Close();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (objSQLConn != null && objSQLConn.State != System.Data.ConnectionState.Closed)
                {
                    objSQLConn.Close();
                }
            }
            return(vendorList);
        }
        /// <summary>
        /// Gives list of Vendors Category Wise
        /// </summary>
        /// <param name="CategoryId"></param>
        /// <returns>list of Vendors</returns>
        public List <IVendor> GetVendorDetailsCategoryWise(int CategoryId)
        {
            SqlConnection  objSQLConn    = null;
            SqlCommand     objSQLCommand = null;
            List <IVendor> vendorList    = new List <IVendor>();

            try
            {
                objSQLConn = new SqlConnection(strConnectionString);


                objSQLCommand             = new SqlCommand("usp_getVendorCategoryWise", objSQLConn);
                objSQLCommand.CommandType = System.Data.CommandType.StoredProcedure;

                objSQLConn.Open();

                objSQLCommand.Parameters.AddWithValue("@CategoryID", CategoryId);
                objSQLCommand.Parameters["@CategoryID"].Direction = System.Data.ParameterDirection.Input;
                SqlDataReader objSQLReader = objSQLCommand.ExecuteReader();


                while (objSQLReader.Read())
                {
                    IVendor objVendorDetails = VendorBOFactory.CreateVendorObject();

                    objVendorDetails.NameOfContactPerson = objSQLReader["NameOfContactPerson"].ToString();
                    objVendorDetails.VendorId            = Convert.ToInt32(objSQLReader["VendorID"]);
                    vendorList.Add(objVendorDetails);
                }

                objSQLReader.Close();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (objSQLConn != null && objSQLConn.State != System.Data.ConnectionState.Closed)
                {
                    objSQLConn.Close();
                }
            }
            return(vendorList);
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            IInventoryManagerBLL objBLL       = InventoryManagerBLLFactory.CreateInventoryManagerBLLObject();
            IItemCategory        objcategory1 = ItemCategotyBOFactory.CreateItemCategoryObject();
            //List<IVendor> vendorList = objBLL.GetVendorDetails();
            List <IItemCategory> cateogies = new List <IItemCategory>();
            int vendorid = Convert.ToInt32(Request.QueryString["VendorID"]);

            if (!IsPostBack)
            {
                cateogies = objBLL.GetItemCategory();
                chkVendorItemCategory.DataSource     = cateogies;
                chkVendorItemCategory.DataTextField  = "CategoryName";
                chkVendorItemCategory.DataValueField = "CategoryID";
                chkVendorItemCategory.DataBind();

                if (vendorid != 0)//update
                {
                    IVendor objVendor = VendorBOFactory.CreateVendorObject();
                    objVendor        = objBLL.GetVendorByVendorId(vendorid);
                    lblMessage2.Text = "Vendor Id is:" + objVendor.VendorId;
                    vendorid         = Convert.ToInt32(Request.QueryString["VendorID"]);


                    objVendor.VendorId = vendorid;

                    txtOrganization.Text   = Convert.ToString(objVendor.NameOfOrganisation);
                    objVendor.CategoryList = objBLL.getVendorCategoryList(objVendor.VendorId);



                    for (int i = 0; i < chkVendorItemCategory.Items.Count; i++)
                    {
                        int categoryId = objVendor.CategoryList.Find(delegate(int cID) { return(cID == Convert.ToInt32(chkVendorItemCategory.Items[i].Value)); });
                        if (categoryId != 0)
                        {
                            chkVendorItemCategory.Items[i].Selected = true;
                        }
                    }
                    chkVendorItemCategory.SelectedValue = Convert.ToString(objVendor.CategoryList);

                    txtName.Text               = Convert.ToString(objVendor.NameOfContactPerson);
                    txtAddress.Text            = Convert.ToString(objVendor.Address);
                    txtEmail.Text              = Convert.ToString(objVendor.EmailId);
                    ddlState.SelectedItem.Text = Convert.ToString(objVendor.State);
                    ddlState_SelectedIndexChanged(sender, e);



                    ddlCity.SelectedItem.Text = Convert.ToString(objVendor.City);
                    txtContact.Text           = Convert.ToString(objVendor.ContactNumber);

                    ddlType.SelectedItem.Text = Convert.ToString(objVendor.VendorType);
                }
                else//add
                {
                    chkVendorItemCategory.SelectedValue = Convert.ToString(objVendor.CategoryList);
                    txtOrganization.Text   = Convert.ToString(objVendor.NameOfOrganisation);
                    txtName.Text           = Convert.ToString(objVendor.NameOfContactPerson);
                    txtAddress.Text        = Convert.ToString(objVendor.Address);
                    txtEmail.Text          = Convert.ToString(objVendor.EmailId);
                    ddlState.SelectedValue = Convert.ToString(objVendor.State);



                    ddlCity.SelectedValue = Convert.ToString(objVendor.City);
                    txtContact.Text       = Convert.ToString(objVendor.ContactNumber);

                    ddlType.SelectedValue = Convert.ToString(objVendor.VendorType);
                }
            }
        }