示例#1
0
        public async Task <IEnumerable <OrderSummaryViewModel> > OrdersByUserId(SearchOrdersViewModel searchOrders, string userId, string UserTableName)
        {
            StringBuilder whereClose = new StringBuilder();
            int           totalSkip  = searchOrders.PageSize * (searchOrders.PageNumber - 1);

            if (searchOrders.InvoiceNo != null)
            {
                whereClose.Append($" o.InvoiceNo ='{searchOrders.InvoiceNo}'");
            }
            else
            {
                if (searchOrders.OrderStartDate != null)
                {
                    whereClose.Append($" UserId='{userId}' and DATE_TRUNC('day', CreatedDateTime)>= '{searchOrders.OrderStartDate.Value.Date}' and DATE_TRUNC('day',CreatedDateTime)<='{searchOrders.OrderEndDate.Value.Date}'");
                }
                if (searchOrders.Status != null)
                {
                    whereClose.Append($" and o.OrderStatusId ='{searchOrders.Status}'");
                }
                whereClose.Append($" order by o.CreatedDateTime desc OFFSET {totalSkip} ROWS FETCH NEXT {searchOrders.PageSize} ROWS ONLY;");
            }
            string tab = $"select o.Id,o.CreatedDateTime,o.UpdatedDateTime,'' as UserId,'' as IP,o.OrderStatusId,os.statusname,o.ItemCount,o.IsActive,o.ModifyBy,o.TotalAmount," +
                         $"o.Discount,o.DeliveryCost,o.PromoCode,o.DeliveryStatus,o.DeliveryDate,o.InvoiceNo,o.PaymentStatus,o.UserAddressDetails,o.ShopAddressDetails,o.OrdersDetails,o.CurrencyType,o.ShopId,os.StatusName as OrderStatus " +
                         $"from UserOrders.User{UserTableName}Orders o left join OrderStatuses os on o.OrderStatusId = os.Id " +
                         $"where {whereClose}";
            var orderSummary = await _context.OrderSummaries.FromSqlRaw(tab).ToListAsync();

            List <OrderSummaryViewModel> orderSummaryList = _mapper.Map <List <OrderSummaryViewModel> >(orderSummary);

            return(orderSummaryList);
        }
示例#2
0
        public async Task <IEnumerable <OrderSummaryViewModel> > OrdersByVendorId(SearchOrdersViewModel searchOrders, string userId)
        {
            var    shop      = _context.Shops.Where(x => x.UserId == userId).FirstOrDefault();
            string userTable = shop.tableName;

            StringBuilder whereClose = new StringBuilder();

            whereClose.Append($"where o.shopId ='{shop.Id}' ");

            int totalSkip = searchOrders.PageSize * (searchOrders.PageNumber - 1);

            if (!string.IsNullOrEmpty(searchOrders.InvoiceNo))
            {
                whereClose.Append($"and o.InvoiceNo ='{searchOrders.InvoiceNo}'");
            }
            else
            {
                if (searchOrders.OrderStartDate != null)
                {
                    whereClose.Append($"and DATE_TRUNC('day', CreatedDateTime)>= '{searchOrders.OrderStartDate.Value.Date}' and DATE_TRUNC('day',CreatedDateTime)<='{searchOrders.OrderEndDate.Value.Date}'");
                }
                //whereClose.Append($"convert(varchar, CreatedDateTime, 1) between convert(varchar,'{searchOrders.OrderStartDate.Value.Date}',1) and convert(varchar,'{searchOrders.OrderEndDate.Value.Date}',1)");
                if (searchOrders.Status != null)
                {
                    whereClose.Append($" and o.OrderStatusId ='{searchOrders.Status}'");
                }
                whereClose.Append($" order by o.CreatedDateTime desc OFFSET {totalSkip} ROWS FETCH NEXT {searchOrders.PageSize} ROWS ONLY;");
            }
            string tab = $"select o.Id,o.CreatedDateTime,o.UpdatedDateTime,'' as UserId,'' as IP,o.OrderStatusId,os.statusName,o.ItemCount,o.IsActive,o.ModifyBy,o.TotalAmount," +
                         $"o.Discount,o.DeliveryCost,o.PromoCode,o.DeliveryStatus,o.DeliveryDate,o.InvoiceNo,o.PaymentStatus,o.UserAddressDetails,o.ShopAddressDetails,o.OrdersDetails,o.CurrencyType,o.ShopId,os.StatusName as OrderStatus " +
                         $"from VendorOrder.Vendor{userTable}Orders o left join OrderStatuses os on o.OrderStatusId = os.Id " +
                         $"{whereClose};";
            var orderSummary = await _context.OrderSummaries.FromSqlRaw(tab).ToListAsync();

            List <OrderSummaryViewModel> orderSummaryList = _mapper.Map <List <OrderSummaryViewModel> >(orderSummary);

            return(orderSummaryList);
        }
示例#3
0
        public async Task <ActionResult <IEnumerable <OrderSummaryViewModel> > > getUserOrdersDetails(SearchOrdersViewModel searchOrders)
        {
            string UserId        = User.FindFirst(ClaimTypes.NameIdentifier)?.Value;
            string userTableName = await _singleton.userRepository.GetUserOrdersTableName(UserId);

            try
            {
                var orderSummary = await _singleton.orderRepository.OrdersByUserId(searchOrders, UserId, userTableName);

                return(orderSummary.ToList());
            }
            catch (Exception e)
            {
                throw;
            }
        }