Exemplo n.º 1
0
        public async Task <IActionResult> GenerateBatchNoBal(BATCHNOBALANCEDETAILSFILTER filter)
        {
            if (filter != null)
            {
                if (filter.CompanyCode != "404")
                {
                    var model = await qneReportService.GenerateBatchNoBalDetails(filter);

                    if (model != null)
                    {
                        return(Ok(model));
                    }
                    else
                    {
                        return(BadRequest());
                    }
                }
            }
            return(BadRequest());
        }
        public async Task <IEnumerable <BATCHNOBALANCEDETAILSRESULT> > GenerateBatchNoBalDetails(BATCHNOBALANCEDETAILSFILTER filter)
        {
            using (IDbConnection con = new SqlConnection(QNEConnectionString.ChooseConnection(filter.CompanyCode)))
            {
                string sql = @"SELECT A.*,B.StockName FROM 
                                    dbo.FN_BatchNoBalanceDetails(@DateFrom,@DateTo,@UnsalablePeriod,@IncludeZeroBalance) AS A
                                    LEFT JOIN Stocks AS B
                                    ON A.StockId=B.Id
                                    WHERE A.StockGroupCode LIKE @STOCKGROUP AND A.LocationCode LIKE @LOCATIONCODE";

                var fromDate = filter.DateFrom == null?Convert.ToDateTime("1900-01-01") : filter.DateFrom;

                var toDate = filter.DateTo == null ? DateTime.Now : filter.DateTo;

                var p = new DynamicParameters();
                int IncludeZeroBal = filter.IncludeZeroBalance == true ? 1 : 0;
                p.Add("@STOCKGROUP", filter.StockGroup);
                p.Add("@LOCATIONCODE", filter.Location);
                p.Add("@DateFrom", fromDate);
                p.Add("@DateTo", toDate);
                p.Add("@UnsalablePeriod", 6);
                p.Add("@IncludeZeroBalance", IncludeZeroBal);
                var data = await con.QueryAsync <BATCHNOBALANCEDETAILSRESULT>(sql, p);

                return(data);
            }
        }