/// <summary>
        /// Search purchase details by Purchase returns search criteria
        /// </summary>
        /// <param name="prSearch"></param>
        /// <returns></returns>
        public DataSet SearchPurchaseReturns(PurchaseReturnsSearch prSearch)
        {
            try
            {
                try
                {
                    Database  db  = DatabaseFactory.CreateDatabase(Constant.Database_Connection_Name);
                    DbCommand cmd = db.GetStoredProcCommand(Constant.SP_PR_SelPurchaseReturns);

                    db.AddInParameter(cmd, "@sSupInvNo", DbType.String, prSearch.SupInvNo);
                    db.AddInParameter(cmd, "@sPRCode", DbType.String, prSearch.PRCode);
                    db.AddInParameter(cmd, "@siIssuedStatus", DbType.Int16, (int)prSearch.IssuedStatus);
                    if (prSearch.FromDate.HasValue)
                    {
                        db.AddInParameter(cmd, "@dFromDate", DbType.DateTime, prSearch.FromDate);
                    }
                    else
                    {
                        db.AddInParameter(cmd, "@dFromDate", DbType.DateTime, DBNull.Value);
                    }
                    if (prSearch.ToDate.HasValue)
                    {
                        db.AddInParameter(cmd, "@dToDate", DbType.DateTime, prSearch.ToDate);
                    }
                    else
                    {
                        db.AddInParameter(cmd, "@dToDate", DbType.DateTime, DBNull.Value);
                    }

                    return(db.ExecuteDataSet(cmd));
                }
                catch (System.Exception ex)
                {
                    throw ex;
                }
            }
            catch (System.Exception ex)
            {
                throw ex;
            }
        }
    private DataSet Search()
    {
        try
        {
            PurchaseReturnsSearch search = new PurchaseReturnsSearch();

            if (dtpFromDate.Text == string.Empty)
            {
                search.FromDate = null;
            }
            else
            {
                search.FromDate = dtpFromDate.Date;
            }

            if (dtpToDate.Text == string.Empty)
            {
                search.ToDate = null;
            }
            else
            {
                search.ToDate = dtpToDate.Date;
            }

            search.IssuedStatus = (Structures.PRRecievedStatus)Int64.Parse(ddlIssueStatus.SelectedValue.Trim());
            search.PRCode = txtPRNumber.Text.Trim();
            search.SupInvNo = txtSupInvNo.Text.Trim();

            return search.Search();
        }
        catch(Exception ex)
        {
            throw ex;
        }
    }
        /// <summary>
        /// Search purchase details by Purchase returns search criteria
        /// </summary>
        /// <param name="prSearch"></param>
        /// <returns></returns>
        public DataSet SearchPurchaseReturns(PurchaseReturnsSearch prSearch)
        {
            try
            {
                try
                {
                    Database db = DatabaseFactory.CreateDatabase(Constant.Database_Connection_Name);
                    DbCommand cmd = db.GetStoredProcCommand(Constant.SP_PR_SelPurchaseReturns);

                    db.AddInParameter(cmd, "@sSupInvNo", DbType.String, prSearch.SupInvNo);
                    db.AddInParameter(cmd, "@sPRCode", DbType.String, prSearch.PRCode);
                    db.AddInParameter(cmd, "@siIssuedStatus", DbType.Int16, (int)prSearch.IssuedStatus);
                    if (prSearch.FromDate.HasValue)
                    {
                        db.AddInParameter(cmd, "@dFromDate", DbType.DateTime, prSearch.FromDate);
                    }
                    else
                    {
                        db.AddInParameter(cmd, "@dFromDate", DbType.DateTime, DBNull.Value);
                    }
                    if (prSearch.ToDate.HasValue)
                    {
                        db.AddInParameter(cmd, "@dToDate", DbType.DateTime, prSearch.ToDate);
                    }
                    else
                    {
                        db.AddInParameter(cmd, "@dToDate", DbType.DateTime, DBNull.Value);
                    }

                    return db.ExecuteDataSet(cmd);
                }
                catch (System.Exception ex)
                {
                    throw ex;
                }
            }
            catch (System.Exception ex)
            {

                throw ex;
            }
        }