コード例 #1
0
        public async Task <IEnumerable <GetOrderModelOut> > GetByCustomerAsync(GetOrderByCustomerModelIn modelIn)
        {
            //set yy-mm-dd
            modelIn.StartDate = new DateTime(modelIn.StartDate.Year, modelIn.StartDate.Month, modelIn.StartDate.Day);
            modelIn.EndDate   = new DateTime(modelIn.EndDate.Year, modelIn.EndDate.Month, modelIn.EndDate.Day);

            var ret = db.Database.SqlQuery <GetOrderModelOut>("SELECT * FROM v_order WHERE CustomerId=@CustomerId AND OrderDate BETWEEN @StartDate AND @EndDate",
                                                              new SqlParameter("CustomerId", modelIn.CustomerId),
                                                              new SqlParameter("StartDate", modelIn.StartDate),
                                                              new SqlParameter("EndDate", modelIn.EndDate)
                                                              );
            var list = await ret.ToListAsync();

            if (list.Count > 0)
            {
                list.ForEach(o =>
                {
                    var retDetail = db.Database.SqlQuery <GetOrderDetailModelOut>($"SELECT * FROM v_order_detail WHERE OrderId={o.OrderId}");

                    var _details = retDetail.ToList();

                    o.OrderDetails = _details;
                });
            }


            return(list);
        }
コード例 #2
0
        public async Task <IHttpActionResult> GetByCustomer(GetOrderByCustomerModelIn modelIn)
        {
            try
            {
                if (modelIn.IsNull())
                {
                    return(BadRequest(new ApiMessageResponse <IEnumerable <GetOrderModelOut> >("Modelo Inválido")));
                }

                if (!ModelState.IsValid)
                {
                    var errors = ModelState.GetModelErrors();
                    return(BadRequest(new ApiMessageResponse <IEnumerable <GetOrderModelOut> >(ModelState.StringifyModelErrors())));
                }

                OrderService _orderService = new OrderService();


                return(Ok(new ApiMessageResponse <IEnumerable <GetOrderModelOut> >(await _orderService.GetByCustomerAsync(modelIn))));
            }
            catch (Exception ex)
            {
                return(BadRequest(new ApiMessageResponse <IEnumerable <GetOrderModelOut> >(ex.GetFirstException().Message)));
            }
        }