public async Task <IQueryable <vwReturnRequisitionProductModel> > searchRequisitionProduct(
            filterReturnRequisition objFilter)
        {
            try
            {
                string sql = string.Format("exec req_search_product {0} , '{1}'"
                                           , objFilter.retrun_requisition_id == null ? "null" : objFilter.retrun_requisition_id.ToString()
                                           , objFilter.status
                                           );


                ReturnRequisitionDataModel objData = new ReturnRequisitionDataModel();
                //List<vwReturnRequisitionModel> dd = UnitOfWork.Context.Query<vwReturnRequisitionModel>().FromSql(sql).ToList();
                //if (dd.Count() > 0)
                //{
                return(UnitOfWork.Context.Query <vwReturnRequisitionProductModel>()
                       .FromSql(sql)); // UnitOfWork.Context.Query<vwReturnRequisitionModel>().FromSql(sql).FirstOrDefault();
                //objData._master = UnitOfWork.Context.Set<ReturnRequisitionModel>().Where(w => w.requisition_id.Equals(i)).FirstOrDefault();
                //objData._lstProducts = UnitOfWork.Context.Set<RequisitionProductModel>().Where(w => w.requisition_id.Equals(i)).ToList();
                //objData._lstPackages = UnitOfWork.Context.Set<RequisitionPackageModel>().Where(w => w.requisition_id.Equals(i)).ToList();
                ////}
                //return objData;
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
            }
        }
        public async Task <ReturnRequisitionDataModel> getAll(filterReturnRequisition objFilter)
        {
            try
            {
                //string sql = string.Format("exec stk_trn_search {0} , '{1}' , {2} ", objFilter.retrun_requisition_id == null ? "null" : objFilter.retrun_requisition_id.ToString(), objFilter.product_name, objFilter.route_id == null ? "null" : objFilter.route_id.ToString());

                //int i = Convert.ToInt32(objFilter.retrun_requisition_id ?? 0);

                ReturnRequisitionDataModel objData = new ReturnRequisitionDataModel();
                //objData._master = UnitOfWork.Context.Set<ReturnRequisitionModel>().Where(w => w.retrun_requisition_id.Equals(i)).FirstOrDefault();
                //objData._lstProducts = UnitOfWork.Context.Set<ReturnRequisitionProductModel>().Where(w => w.id.Equals(i)).ToList();
                //objData._lstPackages = UnitOfWork.Context.Set<ReturnRequisitionPackageModel>().Where(w => w.id.Equals(i)).ToList();

                return(objData);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
            }
        }
        public async Task <ReturnRequisitionDataModel> initReturnRequisitionByRouteID(filterReturnRequisition objFilter)
        {
            try
            {
                string sql = string.Format("exec return_req_initByRoute {0} , '{1}' "
                                           , objFilter.route_id == null ? "null" : objFilter.route_id.ToString()
                                           , objFilter.document_date == null ? "" : string.Format("{0:yyyy-MM-dd}", objFilter.document_date)
                                           );

                ReturnRequisitionDataModel objData = new ReturnRequisitionDataModel();
                objData._vwMaster = UnitOfWork.Context.Query <vwReturnRequisitionModel>().FromSql(sql).FirstOrDefault();

                sql = string.Format("exec return_req_initByRoute_product {0} , '{1}' "
                                    , objFilter.route_id == null ? "null" : objFilter.route_id.ToString()
                                    , objFilter.document_date == null ? "" : string.Format("{0:yyyy-MM-dd}", objFilter.document_date)
                                    );
                objData._lstVwProducts =
                    UnitOfWork.Context.Query <vwReturnRequisitionProductModel>().FromSql(sql).ToList();

                sql = string.Format("exec return_req_initByRoute_package {0} , '{1}' "
                                    , objFilter.route_id == null ? "null" : objFilter.route_id.ToString()
                                    , objFilter.document_date == null ? "" : string.Format("{0:yyyy-MM-dd}", objFilter.document_date)
                                    );
                objData._lstVwPackages =
                    UnitOfWork.Context.Query <vwReturnRequisitionPackageModel>().FromSql(sql).ToList();


                sql = string.Format("exec return_req_prepareItemByRoute {0} , '{1}' "
                                    , objFilter.route_id == null ? "null" : objFilter.route_id.ToString()
                                    , objFilter.document_date == null ? "" : string.Format("{0:yyyy-MM-dd}", objFilter.document_date)
                                    );
                objData._lstVwPrepareItems =
                    UnitOfWork.Context.Query <ReturnRequisitionItemPrepare>().FromSql(sql).ToList();

                return(objData);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
            }
        }