コード例 #1
0
        public List <T_OutStanding> GetList(T_OutStanding ObjOutStanding)
        {
            var ObjList = new List <T_OutStanding>();

            try
            {
                using (_objUnitOfWork = new UnitOfWork())
                {
                    var queryOutStanding        = _objUnitOfWork._T_OutStanding_Repository.Query();
                    var queryOutStandingDetails = _objUnitOfWork._T_OutStandingDetails_Repository.Query();
                    var querySalesOrder         = _objUnitOfWork._T_SalesOrder_Repository.Query();

                    if (ObjOutStanding.EventDate != null && ObjOutStanding.EventDate.ToString("yyyy-MM-dd") != "0001-01-01")
                    {
                        queryOutStanding = queryOutStanding.Where(x => x.EventDate == ObjOutStanding.EventDate);
                    }
                    if (!string.IsNullOrWhiteSpace(ObjOutStanding.OSNumber))
                    {
                        queryOutStanding = queryOutStanding.Where(x => x.OSNumber.Contains(ObjOutStanding.OSNumber));
                    }
                    if (!string.IsNullOrWhiteSpace(ObjOutStanding.Name))
                    {
                        queryOutStanding = queryOutStanding.Where(x => x.Name.Contains(ObjOutStanding.Name));
                    }
                    queryOutStanding = queryOutStanding.OrderByDescending(x => x.CreatedDate);

                    ObjList = (from os in queryOutStanding
                               join so in querySalesOrder on os.SalesOrderId equals so.Id into OsSoJoin
                               from OsObj in OsSoJoin.DefaultIfEmpty()
                               select new
                    {
                        id = os.Id,
                        oSNumber = os.OSNumber,
                        salesOrderId = OsObj.OrderId,
                        amount = os.Amount,
                        eventDate = os.EventDate,
                        name = os.Name,
                        remark = os.Remark,
                        createdDate = os.CreatedDate
                    }).ToList().Select(x => new T_OutStanding
                    {
                        Id               = x.id,
                        OSNumber         = x.oSNumber,
                        SalesOrderNumber = x.salesOrderId,
                        Amount           = x.amount,
                        PaidAmount       = queryOutStandingDetails.Where(s => s.OSId == x.id).ToList().Sum(y => y.PaidAmount),
                        DueAmount        = (x.amount - queryOutStandingDetails.Where(s => s.OSId == x.id).ToList().Sum(y => y.PaidAmount)),
                        EventDate        = x.eventDate,
                        Name             = x.name,
                        Remark           = x.remark,
                        CreatedDate      = x.createdDate
                    }).ToList();
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(ObjList);
        }
コード例 #2
0
        public List <T_OutStanding> GetOutStandingList()
        {
            var ObjList = new List <T_OutStanding>();

            try
            {
                using (_objUnitOfWork = new UnitOfWork())
                {
                    var queryOutStanding        = _objUnitOfWork._T_OutStanding_Repository.Query();
                    var queryOutStandingDetails = _objUnitOfWork._T_OutStandingDetails_Repository.Query();
                    var querySalesOrder         = _objUnitOfWork._T_SalesOrder_Repository.Query();

                    ObjList = (from os in queryOutStanding
                               join so in querySalesOrder on os.SalesOrderId equals so.Id into OsSoJoin
                               from OsObj in OsSoJoin.DefaultIfEmpty()
                               select new
                    {
                        id = os.Id,
                        oSNumber = os.OSNumber,
                        salesOrderId = OsObj.OrderId,
                        amount = os.Amount,
                        eventDate = os.EventDate,
                        name = os.Name,
                        remark = os.Remark,
                        createdDate = os.CreatedDate
                    }).ToList().Select(x => new T_OutStanding
                    {
                        Id               = x.id,
                        OSNumber         = x.oSNumber,
                        SalesOrderNumber = x.salesOrderId,
                        Amount           = x.amount,
                        PaidAmount       = queryOutStandingDetails.Where(s => s.OSId == x.id).ToList().Sum(y => y.PaidAmount),
                        DueAmount        = (x.amount - queryOutStandingDetails.Where(s => s.OSId == x.id).ToList().Sum(y => y.PaidAmount)),
                        EventDate        = x.eventDate,
                        Name             = x.name,
                        Remark           = x.remark,
                        CreatedDate      = x.createdDate
                    }).ToList();
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(ObjList);
        }