Esempio n. 1
0
        public TransRecordViewModel Get(Int64 id, Enums.TransactionStatus transactionStatus)
        {
            var filter = new TransRecordFilter
            {
                TransactionId     = id,
                TableName         = "TransactionRecordViews",
                TransactionStatus = transactionStatus.ToString()
            };

            var result = DBContext.GetRecord <TransRecordViewModel>(filter.ToString());

            if (result != null)
            {
                result.TransactionStatus = transactionStatus.ToString();
            }


            return(result);
        }
        public IActionResult Get([FromQuery] TransRecordFilter filter)
        {
            if (filter == null)
            {
                filter = new TransRecordFilter()
                {
                    FilterInboundDate = true,
                    DTInboundFrom     = DateTime.Now,
                    DTInboundTo       = DateTime.Now,
                    TransactionStatus = Enums.TransactionStatus.PENDING.ToString()
                };
            }


            if (filter == null)
            {
                filter = new TransRecordFilter
                {
                    FilterInboundDate = false,
                    TransactionStatus = Enums.TransactionStatus.PENDING.ToString(),
                    DTInboundFrom     = DateTime.Now,
                    DTInboundTo       = DateTime.Now
                };
            }

            if (filter.TransactionStatus == Enums.TransactionStatus.PENDING.ToString())
            {
                filter.FilterInboundDate  = false;
                filter.FilterOutboundDate = false;
                filter.DTInboundFrom      = filter.DTOutboundFrom;
                filter.DTInboundTo        = filter.DTOutboundTo;
            }
            else
            {
                filter.FilterInboundDate  = false;
                filter.FilterOutboundDate = true;
                filter.DTOutboundFrom     = filter.DTInboundFrom;
                filter.DTOutboundTo       = filter.DTInboundTo;
            }

            var selectFields = new System.Text.StringBuilder();

            selectFields.Append("TransactionId" + (char)44);
            selectFields.Append("ReceiptNum" + (char)44);
            selectFields.Append("DTInbound" + (char)44);
            selectFields.Append("DTOutbound" + (char)44);
            selectFields.Append("RawMaterialDesc" + (char)44);;
            selectFields.Append("BinLocDesc" + (char)44);
            selectFields.Append("PalletNum" + (char)44);
            selectFields.Append("BinNum" + (char)44);
            selectFields.Append("GrossWt" + (char)44);
            selectFields.Append("TareWt" + (char)44);
            selectFields.Append("NetWt" + (char)44);
            selectFields.Append("Quantity" + (char)44);
            selectFields.Append("ControlNum" + (char)44);
            selectFields.Append("WeigherInName");
            filter.SelectField = selectFields.ToString();

            var orderByClause = filter.TransactionStatus == Enums.TransactionStatus.PENDING.ToString() ? "ORDER BY DTInbound DESC" : "ORDER BY DTOutbound DESC";
            //filter.OrderByClause = orderByClause;

            var model  = transRepository.List(filter.ToString());
            var result = model.OrderBy(a => a.DTInbound).Select(a => new
            {
                a.TransactionId,
                DT = filter.TransactionStatus == Enums.TransactionStatus.PENDING.ToString() ? a.DTInbound.Value.ToString("MMM-dd-yyy hh:mm tt") : a.DTOutbound.Value.ToString("MMM-dd-yyy hh:mm tt"),
                a.ReceiptNum,
                a.ControlNum,
                a.PalletNum,
                a.GrossWt,
                a.TareWt,
                a.NetWt,
                a.RawMaterialDesc,
                a.Quantity,
                a.PackagingTypeDesc,
                a.BinNum,
                a.BinLocDesc,
                a.LocationName,
                a.WeigherInName,
                a.ShiftId,
                a.ShiftDesc
            }).ToList();

            return(Ok(result));
        }