예제 #1
0
        public ActionResult _FilterPostReceipts(SaleInvoiceReturnLineFilterViewModel vm)
        {
            List <SaleInvoiceReturnLineViewModel> temp = _SaleInvoiceReturnLineService.GetSaleReceiptForFilters(vm).ToList();
            SaleInvoiceReturnMasterDetailModel    svm  = new SaleInvoiceReturnMasterDetailModel();

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

            vm.SaleInvoiceReturnHeaderId = id;
            vm.BuyerId = sid;
            SaleInvoiceReturnHeader Header = new SaleInvoiceReturnHeaderService(_unitOfWork).Find(id);

            vm.DocumentTypeSettings = new DocumentTypeSettingsService(_unitOfWork).GetDocumentTypeSettingsForDocument(Header.DocTypeId);
            return(PartialView("_ReceiptFilters", vm));
        }
        public IEnumerable <SaleInvoiceReturnLineViewModel> GetSaleReceiptForFilters(SaleInvoiceReturnLineFilterViewModel 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.SaleDispatchHeaderId))
            {
                SaleOrderIdArr = vm.SaleDispatchHeaderId.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.ViewSaleInvoiceBalance
                        join l in db.SaleInvoiceLine on p.SaleInvoiceLineId equals l.SaleInvoiceLineId into linetable
                        from linetab in linetable.DefaultIfEmpty()
                        join t in db.SaleInvoiceHeader on p.SaleInvoiceHeaderId equals t.SaleInvoiceHeaderId into table
                        from tab in table.DefaultIfEmpty()
                        join t1 in db.SaleDispatchLine on p.SaleDispatchLineId equals t1.SaleDispatchLineId into table1
                        from tab1 in table1.DefaultIfEmpty()
                        join packtab in db.PackingLine on tab1.PackingLineId equals packtab.PackingLineId
                        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.SaleDispatchHeaderId) ? 1 == 1 : SaleOrderIdArr.Contains(p.SaleDispatchHeaderId.ToString())) &&
                        (string.IsNullOrEmpty(vm.ProductGroupId) ? 1 == 1 : ProductGroupIdArr.Contains(tab2.ProductGroupId.ToString())) &&
                        p.BalanceQty > 0
                        select new SaleInvoiceReturnLineViewModel
            {
                Dimension1Name = packtab.Dimension1.Dimension1Name,
                Dimension2Name = packtab.Dimension2.Dimension2Name,
                Specification = packtab.Specification,
                InvoiceBalQty = p.BalanceQty,
                Qty = p.BalanceQty,
                SaleInvoiceHeaderDocNo = tab.DocNo,
                ProductName = tab2.ProductName,
                ProductId = p.ProductId,
                SaleInvoiceReturnHeaderId = vm.SaleInvoiceReturnHeaderId,
                SaleInvoiceLineId = p.SaleInvoiceLineId,
                UnitId = tab2.UnitId,
                UnitConversionMultiplier = linetab.UnitConversionMultiplier ?? 0,
                DealUnitId = linetab.DealUnitId,
                Rate = linetab.Rate,
                RateAfterDiscount = packtab.SaleOrderLine == null ? 0 : (packtab.SaleOrderLine.Amount / packtab.SaleOrderLine.DealQty),
                unitDecimalPlaces = tab2.Unit.DecimalPlaces,
                DealunitDecimalPlaces = linetab.DealUnit.DecimalPlaces,
                DiscountPer = linetab.DiscountPer,
                ProductUidName = packtab.ProductUid.ProductUidName,
            }

                        );

            return(temp);
        }