Esempio n. 1
0
        public async Task <GenTourPackageVM> SearchGenTourPackageListAsync(GenSearchModel search)
        {
            GenTourPackageVM model   = new GenTourPackageVM();
            ConvertListToDT  objList = new ConvertListToDT();
            DataTable        subdt   = new DataTable();

            try
            {
                //Converting subject list to datatable if record is present else send empty datatable
                if (search.TourType != null)
                {
                    List <IDModel> villList = search.TourType.Select(x => new IDModel()
                    {
                        ID = Convert.ToInt64(x)
                    }).ToList();
                    subdt = objList.ConvertIEnumerableToDataTable(villList);
                }
                else
                {
                    if (subdt.Columns.Count == 0)
                    {
                        DataColumn col = new DataColumn();
                        col.ColumnName = "ID";
                        subdt.Columns.Add(col);
                    }
                }
                var parSubDT = new SqlParameter("@TourTypeTable", subdt);
                parSubDT.SqlDbType = SqlDbType.Structured;
                parSubDT.TypeName  = "dbo.IDType";

                var parStart = new SqlParameter("@Start", (search.PageNo - 1) * search.PageSize);
                var parEnd   = new SqlParameter("@PageSize", search.PageSize);

                var parWhere = new SqlParameter("@Where", DBNull.Value);
                if (!(search.Where == null || search.Where == ""))
                {
                    parWhere.Value = search.Where;
                }
                // setting stored procedure OUTPUT value
                // This return total number of rows, and avoid two database call for data and total number of rows
                var spOutput = new SqlParameter
                {
                    ParameterName = "@TotalCount",
                    SqlDbType     = System.Data.SqlDbType.BigInt,
                    Direction     = System.Data.ParameterDirection.Output
                };

                model.PackageList = await db.Database.SqlQuery <GenTourPackageView>("udspGenTourPackageSearch @Start, @PageSize,@Where, @TourTypeTable, @TotalCount out",
                                                                                    parStart, parEnd, parWhere, parSubDT, spOutput).ToListAsync();

                model.TotalRecords = int.Parse(spOutput.Value.ToString());
                return(model);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 2
0
 public ActionResult SearchPackage(List<long> TourType, string Where="", int PageNo=1, int PageSize=10)
 {
     GenSearchModel sModel = new GenSearchModel()
     {
         TourType = TourType,
         Where = Where,
         PageNo = PageNo,
         PageSize = PageSize
     };
     ViewBag.Where = objAPI.GetAllRecords<string>("tourpackage", "wherenames").ToArray(); 
     string jsonStr = JsonConvert.SerializeObject(sModel);
     GenTourPackageSearchModel model = objAPI.PostRecordtoApIForRecord<GenTourPackageSearchModel>("tourpackage", "GenTourPackageSearch", jsonStr);
     model.Search = sModel;
     
     model.TourTypes = objAPI.GetAllRecords<utblMstPackageType>("tourpackage", "tourtypes");
     if (Request.IsAjaxRequest())
     {
         return PartialView("_pvPackageList", model);
     }
     return View(model);
 }
 public async Task <GenTourPackageVM> GenTourPackageSearch(GenSearchModel model)
 {
     return(await objDAL.SearchGenTourPackageListAsync(model));
 }