public POViewModelBuilder GetViewModelIndex()
        {
            var viewModelBuilder = new POViewModelBuilder
            {
                Stores    = new SelectList(this.contextSub.V3_GetStoreDDL(), "Id", "sName"),
                PoTypes   = new SelectList(this.contextSub.WAMS_PO_TYPE.OrderBy(s => s.vPOTypeName), "bPOTypeID", "vPOTypeName"),
                Suppliers = new SelectList(this.contextSub.V3_GetSupplierDDL(), "bSupplierID", "vSupplierName"),
                Projects  = new SelectList(this.contextSub.V3_GetProjectDDL(), "Id", "vProjectID")
            };

            return(viewModelBuilder);
        }
        public POViewModelBuilder GetPODetailModelBuilder(int condition)
        {
            var poDetail = contextSub.V3_GetPO_DETAILS_V(condition).ToList();

            var totalRecords     = poDetail.Count();
            var viewModelBuilder = new POViewModelBuilder
            {
                PoDetailsVResults = poDetail,
                TotalRecords      = totalRecords
            };

            return(viewModelBuilder);
        }
        //public POViewModelBuilder GetPODetailModelBuilder(int condition)
        //{
        //    //var temp = poId.Replace("x", "/");

        //    var poDetail = this.contextSub.PODETAIL_V.AsEnumerable().Where(s => s.iEnable == true && s.vPOID == condition);

        //    var totalRecords = poDetail.Count();
        //    var viewModelBuilder = new POViewModelBuilder
        //    {
        //        PodetailVs = poDetail,
        //        TotalRecords = totalRecords
        //    };

        //    return viewModelBuilder;
        //}


        // CHECKED LATER
        public POViewModelBuilder GetViewModelItemBuilder(int?condition)
        {
            if (condition.HasValue)
            {
                var item           = contextSub.V3_PO_GetInformation(condition).First();
                var itemDetailList = contextSub.V3_GetPO_DETAILS_V(condition).ToList();
                var totalRecords   = itemDetailList.Count();
                if (item != null)
                {
                    var viewModelBuilder = new POViewModelBuilder
                    {
                        PoGetInformation = item,
                        // PodetailV = new PODETAIL_V(),
                        PoDetailsVResults = itemDetailList,
                        TotalRecords      = totalRecords,
                        Stores            = new SelectList(contextSub.V3_GetStoreDDL(), "Id", "sName"),
                        Projects          = new SelectList(contextSub.V3_GetProjectDDL(), "Id", "vProjectID"),
                        PoTypes           = new SelectList(contextSub.WAMS_PO_TYPE.OrderBy(s => s.vPOTypeName), "bPOTypeID", "vPOTypeName"),
                        Currencies        = new SelectList(contextSub.WAMS_CURRENCY_TYPE.OrderBy(s => s.vCurrencyName), "bCurrencyTypeID", "vCurrencyName"),
                        Payments          = new SelectList(contextSub.PaymentTerms.OrderBy(s => s.PaymentName), "Id", "PaymentName"),
                        Suppliers         = new SelectList(contextSub.V3_GetSupplierDDL(), "bSupplierID", "vSupplierName"),
                        poCode            = item.PE
                    };
                    return(viewModelBuilder);
                }
            }
            else
            {
                var viewModelBuilder = new POViewModelBuilder
                {
                    PoGetInformation = new V3_PO_GetInformation_Result(),
                    //PodetailV = new PODETAIL_V(),
                    Stores     = new SelectList(contextSub.V3_GetStoreDDL(), "Id", "sName"),
                    Projects   = new SelectList(contextSub.V3_GetProjectDDL(), "Id", "vProjectID"),
                    PoTypes    = new SelectList(this.contextSub.WAMS_PO_TYPE.OrderBy(s => s.vPOTypeName), "bPOTypeID", "vPOTypeName"),
                    Currencies = new SelectList(this.contextSub.WAMS_CURRENCY_TYPE.OrderBy(s => s.vCurrencyName), "bCurrencyTypeID", "vCurrencyName"),
                    Payments   = new SelectList(this.contextSub.PaymentTerms.OrderBy(s => s.PaymentName), "Id", "PaymentName"),
                    Suppliers  =
                        new SelectList(
                            this.contextSub.V3_GetSupplierDDL(), "bSupplierID", "vSupplierName"),
                    poCode = this.GetAutoPoCode()
                };
                return(viewModelBuilder);
            }

            return(null);
        }
        public POViewModelBuilder GetPurchaseOrderViewModelBuilder(int page, int size, int store, int ptype, string po, int sup, int pro, string stock, string fd, string td)
        {
            var output = new ObjectParameter("ItemCount", typeof(int));
            var data   = contextSub.V3_PO_GetList(page, size, store, ptype, po, sup, pro, stock, fd, td, output).ToList();

            var totalRecord = output.Value;
            var totalTemp   = Convert.ToDecimal(totalRecord) / Convert.ToDecimal(size);
            var totalPages  = Convert.ToInt32(Math.Ceiling(totalTemp));

            var viewModel = new POViewModelBuilder
            {
                PoGetListResults = data,
                TotalRecords     = Convert.ToInt32(totalRecord),
                TotalPages       = totalPages,
                CurrentPage      = page,
                PageSize         = size
            };

            return(viewModel);
        }