예제 #1
0
        public ActionResult _FilterPostOrders(PurchaseInvoiceLineFilterViewModel vm)
        {
            List <PurchaseInvoiceLineViewModel> temp = _PurchaseInvoiceLineService.GetPurchaseOrderForFilters(vm).ToList();
            PurchaseInvoiceMasterDetailModel    svm  = new PurchaseInvoiceMasterDetailModel();

            svm.PurchaseInvoiceLineViewModel = temp;
            return(PartialView("_Results", svm));
        }
예제 #2
0
        public ActionResult _ForReceipt(int id, int sid)
        {
            PurchaseInvoiceLineFilterViewModel vm = new PurchaseInvoiceLineFilterViewModel();

            vm.PurchaseInvoiceHeaderId = id;
            vm.SupplierId = sid;
            return(PartialView("_Filters", vm));
        }
예제 #3
0
        public ActionResult _ForOrder(int id, int sid)
        {
            PurchaseInvoiceLineFilterViewModel vm = new PurchaseInvoiceLineFilterViewModel();

            vm.PurchaseInvoiceHeaderId = id;
            PurchaseInvoiceHeader Header = new PurchaseInvoiceHeaderService(_unitOfWork).Find(id);

            vm.DocumentTypeSettings = new DocumentTypeSettingsService(_unitOfWork).GetDocumentTypeSettingsForDocument(Header.DocTypeId);
            vm.SupplierId           = sid;
            return(PartialView("_OrderFilters", vm));
        }
예제 #4
0
        public IEnumerable <PurchaseInvoiceLineViewModel> GetPurchaseReceiptForFilters(PurchaseInvoiceLineFilterViewModel vm)
        {
            string[] ProductIdArr = null;
            if (!string.IsNullOrEmpty(vm.ProductId))
            {
                ProductIdArr = vm.ProductId.Split(",".ToCharArray());
            }
            else
            {
                ProductIdArr = new string[] { "NA" };
            }

            string[] SaleOrderIdArr = null;
            if (!string.IsNullOrEmpty(vm.PurchaseGoodsReceiptHeaderId))
            {
                SaleOrderIdArr = vm.PurchaseGoodsReceiptHeaderId.Split(",".ToCharArray());
            }
            else
            {
                SaleOrderIdArr = new string[] { "NA" };
            }

            string[] ProductGroupIdArr = null;
            if (!string.IsNullOrEmpty(vm.ProductGroupId))
            {
                ProductGroupIdArr = vm.ProductGroupId.Split(",".ToCharArray());
            }
            else
            {
                ProductGroupIdArr = new string[] { "NA" };
            }

            var temp = (from p in db.ViewPurchaseGoodsReceiptBalance
                        join t in db.PurchaseGoodsReceiptHeader on p.PurchaseGoodsReceiptHeaderId equals t.PurchaseGoodsReceiptHeaderId into table
                        from tab in table.DefaultIfEmpty()
                        join t1 in db.PurchaseGoodsReceiptLine on p.PurchaseGoodsReceiptLineId equals t1.PurchaseGoodsReceiptLineId into table1
                        from tab1 in table1.DefaultIfEmpty()
                        join Pol in db.PurchaseOrderLine on tab1.PurchaseOrderLineId equals Pol.PurchaseOrderLineId into PurchaseOrderLineTable
                        from PurchaseOrderLineTab in PurchaseOrderLineTable.DefaultIfEmpty()
                        join product in db.Product on p.ProductId equals product.ProductId into table2
                        from tab2 in table2.DefaultIfEmpty()
                        where (string.IsNullOrEmpty(vm.ProductId) ? 1 == 1 : ProductIdArr.Contains(p.ProductId.ToString())) &&
                        (string.IsNullOrEmpty(vm.PurchaseGoodsReceiptHeaderId) ? 1 == 1 : SaleOrderIdArr.Contains(p.PurchaseGoodsReceiptHeaderId.ToString())) &&
                        (string.IsNullOrEmpty(vm.ProductGroupId) ? 1 == 1 : ProductGroupIdArr.Contains(tab2.ProductGroupId.ToString())) &&
                        p.BalanceQty > 0
                        orderby tab.DocDate, tab.DocNo, tab1.Sr
                        select new PurchaseInvoiceLineViewModel
            {
                ProductUidName = tab1.ProductUid != null?tab1.ProductUid.ProductUidName:"",
                Dimension1Name = tab1.Dimension1.Dimension1Name,
                Dimension2Name = tab1.Dimension2.Dimension2Name,
                Specification = tab1.Specification,
                ReceiptBalQty = p.BalanceQty,
                Qty = p.BalanceQty,
                DocQty = p.BalanceDocQty,
                ReceiptBalDocQty = p.BalanceDocQty,
                PurchaseGoodsReceiptHeaderDocNo = tab.DocNo,
                ShortQty = p.BalanceDocQty - p.BalanceQty,
                ProductName = tab2.ProductName,
                ProductId = p.ProductId,
                PurchaseInvoiceHeaderId = vm.PurchaseInvoiceHeaderId,
                PurchaseGoodsReceiptLineId = p.PurchaseGoodsReceiptLineId,
                UnitId = tab2.UnitId,
                UnitName = tab2.Unit.UnitName,
                DealUnitId = tab1.DealUnitId,
                DealUnitName = tab1.DealUnit.UnitName,
                unitDecimalPlaces = tab2.Unit.DecimalPlaces,
                DealunitDecimalPlaces = tab1.DealUnit.DecimalPlaces,
                ReceiptBalDealQty = p.BalanceDealQty,
                DealQty = (tab1.UnitConversionMultiplier == null || tab1.UnitConversionMultiplier == 0)?p.BalanceQty:p.BalanceQty * tab1.UnitConversionMultiplier,
                UnitConversionMultiplier = tab1.UnitConversionMultiplier,
                Rate = tab1.PurchaseOrderLine == null ? 0 : tab1.PurchaseOrderLine.Rate ?? 0,
                RateAfterDiscount = tab1.PurchaseOrderLine == null ? 0 : (tab1.PurchaseOrderLine.Amount / tab1.PurchaseOrderLine.DealQty) ?? 0,
                DiscountPer = PurchaseOrderLineTab.DiscountPer
            }

                        );

            return(temp);
        }
예제 #5
0
        public IEnumerable <PurchaseInvoiceLineViewModel> GetPurchaseIndentForFilters(PurchaseInvoiceLineFilterViewModel vm)
        {
            byte?UnitConvForId = new PurchaseInvoiceHeaderService(_unitOfWork).Find(vm.PurchaseInvoiceHeaderId).UnitConversionForId;

            string[] ProductIdArr = null;
            if (!string.IsNullOrEmpty(vm.ProductId))
            {
                ProductIdArr = vm.ProductId.Split(",".ToCharArray());
            }
            else
            {
                ProductIdArr = new string[] { "NA" };
            }

            string[] SaleOrderIdArr = null;
            if (!string.IsNullOrEmpty(vm.PurchaseIndentHeaderId))
            {
                SaleOrderIdArr = vm.PurchaseIndentHeaderId.Split(",".ToCharArray());
            }
            else
            {
                SaleOrderIdArr = new string[] { "NA" };
            }

            string[] ProductGroupIdArr = null;
            if (!string.IsNullOrEmpty(vm.ProductGroupId))
            {
                ProductGroupIdArr = vm.ProductGroupId.Split(",".ToCharArray());
            }
            else
            {
                ProductGroupIdArr = new string[] { "NA" };
            }


            if (!string.IsNullOrEmpty(vm.DealUnitId))
            {
                Unit Dealunit = new UnitService(_unitOfWork).Find(vm.DealUnitId);

                var temp = (from p in db.ViewPurchaseIndentBalance
                            join t in db.PurchaseIndentHeader on p.PurchaseIndentHeaderId equals t.PurchaseIndentHeaderId into table
                            from tab in table.DefaultIfEmpty()
                            join product in db.Product on p.ProductId equals product.ProductId into table2
                            join t1 in db.PurchaseIndentLine on p.PurchaseIndentLineId equals t1.PurchaseIndentLineId into table1
                            from tab1 in table1.DefaultIfEmpty()
                            from tab2 in table2.DefaultIfEmpty()
                            join t3 in db.UnitConversion on new { p1 = p.ProductId, DU1 = vm.DealUnitId, U1 = UnitConvForId ?? 0 } equals new { p1 = t3.ProductId ?? 0, DU1 = t3.ToUnitId, U1 = t3.UnitConversionForId } into table3
                            from tab3 in table3.DefaultIfEmpty()
                            where (string.IsNullOrEmpty(vm.ProductId) ? 1 == 1 : ProductIdArr.Contains(p.ProductId.ToString())) &&
                            (string.IsNullOrEmpty(vm.PurchaseIndentHeaderId) ? 1 == 1 : SaleOrderIdArr.Contains(p.PurchaseIndentHeaderId.ToString())) &&
                            (string.IsNullOrEmpty(vm.ProductGroupId) ? 1 == 1 : ProductGroupIdArr.Contains(tab2.ProductGroupId.ToString())) &&
                            p.BalanceQty > 0
                            select new PurchaseInvoiceLineViewModel
                {
                    Dimension1Name = tab1.Dimension1.Dimension1Name,
                    Dimension2Name = tab1.Dimension2.Dimension2Name,
                    Dimension1Id = tab1.Dimension1Id,
                    Dimension2Id = tab1.Dimension2Id,
                    Specification = tab1.Specification,
                    IndentBalQty = p.BalanceQty,
                    Qty = p.BalanceQty,
                    Rate = vm.Rate,
                    ProductName = tab2.ProductName,
                    ProductId = p.ProductId,
                    PurchaseInvoiceHeaderId = vm.PurchaseInvoiceHeaderId,
                    PurchaseIndentLineId = p.PurchaseIndentLineId,
                    UnitId = tab2.UnitId,
                    PurchaseIndentHeaderDocNo = p.PurchaseIndentNo,
                    DealUnitId = (tab3 == null ? tab2.UnitId : vm.DealUnitId),
                    UnitConversionMultiplier = (tab3 == null ? 1 : tab3.ToQty / tab3.FromQty),
                    UnitConversionException = tab3 == null ? true : false,
                    unitDecimalPlaces = tab2.Unit.DecimalPlaces,
                    DealunitDecimalPlaces = (tab3 == null ? tab2.Unit.DecimalPlaces : Dealunit.DecimalPlaces),
                }

                            );
                return(temp);
            }
            else
            {
                var temp = (from p in db.ViewPurchaseIndentBalance
                            join t in db.PurchaseIndentHeader on p.PurchaseIndentHeaderId equals t.PurchaseIndentHeaderId into table
                            from tab in table.DefaultIfEmpty()
                            join product in db.Product on p.ProductId equals product.ProductId into table2
                            join t1 in db.PurchaseIndentLine on p.PurchaseIndentLineId equals t1.PurchaseIndentLineId into table1
                            from tab1 in table1.DefaultIfEmpty()
                            from tab2 in table2.DefaultIfEmpty()
                            where (string.IsNullOrEmpty(vm.ProductId) ? 1 == 1 : ProductIdArr.Contains(p.ProductId.ToString())) &&
                            (string.IsNullOrEmpty(vm.PurchaseIndentHeaderId) ? 1 == 1 : SaleOrderIdArr.Contains(p.PurchaseIndentHeaderId.ToString())) &&
                            (string.IsNullOrEmpty(vm.ProductGroupId) ? 1 == 1 : ProductGroupIdArr.Contains(tab2.ProductGroupId.ToString())) &&
                            p.BalanceQty > 0
                            select new PurchaseInvoiceLineViewModel
                {
                    Dimension1Name = tab1.Dimension1.Dimension1Name,
                    Dimension1Id = tab1.Dimension1Id,
                    Dimension2Name = tab1.Dimension2.Dimension2Name,
                    Dimension2Id = tab1.Dimension2Id,
                    Specification = tab1.Specification,
                    IndentBalQty = p.BalanceQty,
                    Qty = p.BalanceQty,
                    Rate = vm.Rate,
                    PurchaseIndentHeaderDocNo = tab.DocNo,
                    ProductName = tab2.ProductName,
                    ProductId = p.ProductId,
                    PurchaseInvoiceHeaderId = vm.PurchaseInvoiceHeaderId,
                    PurchaseIndentLineId = p.PurchaseIndentLineId,
                    UnitId = tab2.UnitId,
                    DealUnitId = tab2.UnitId,
                    UnitConversionMultiplier = 1,
                    unitDecimalPlaces = tab2.Unit.DecimalPlaces,
                    DealunitDecimalPlaces = tab2.Unit.DecimalPlaces,
                }

                            );
                return(temp);
            }
        }