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)); }