コード例 #1
0
ファイル: HomeController.cs プロジェクト: Williamliu/TrovTest
        public IActionResult Checkout(PostOrder order)
        {
            var customer = this.TestDB.Customers.FirstOrDefault(p => p.AccessToken == order.AccessToken);

            if (customer != null)
            {
                Order newOrder = new Order();
                newOrder.Customer      = customer;
                newOrder.OrderDateTime = DateTime.Now;
                foreach (var cartItem in order.Cart.Items)
                {
                    var item = this.TestDB.Items.FirstOrDefault(p => p.Id == cartItem.ItemId);
                    if (item != null)
                    {
                        newOrder.Items.Add(new OrderItem {
                            Item            = item,
                            ItemName        = item.Name,
                            ItemDescritpion = item.Description,
                            Price           = item.Price,
                            Quantity        = cartItem.Quantity
                        });
                    }
                }
                this.TestDB.Orders.Add(newOrder);
                this.TestDB.SaveChanges();
                return(Ok(this.TestDB.Orders));
            }
            else
            {
                return(BadRequest("Invalid AccessToken"));
            }
        }
コード例 #2
0
        // Hangi kullanıcının hangi ürünü aldığını Order tablosuna kaydeden POST method
        // POST: api/OrderApi
        public void Post(PostOrder postOrder)
        {
            DatabaseContext db    = new DatabaseContext();
            Order           order = new Order();

            try
            {
                var orderList = db.Products.Where(c => postOrder.ProductIds.Contains(c.Id)).ToList();

                order.FUser = db.Users.FirstOrDefault(c => c.Id == postOrder.UserId);
                foreach (var productItem in orderList)
                {
                    order.FProduct = productItem;
                    db.Orders.Add(order);
                    db.SaveChanges();
                }
            }
            catch (Exception e)
            {
                throw e;
            }
            finally
            {
                db.Dispose();
            }
        }
コード例 #3
0
        public IActionResult AddPost([FromBody] GetPost v)
        {
            PostOrder veg = new PostOrder();

            //veg.Id = 2;
            veg.item_name    = v.itemName;
            veg.quantity     = v.quantity;
            veg.unit_price   = v.unitPrice;
            veg.expired_date = v.expireDate;
            veg.harvest_date = v.harvestDate;
            veg.item_image   = v.item_image;
            veg.description  = v.description;
            veg.is_active    = 1;
            veg.user_id      = v.farmerId;
            Boolean id = _service.AddPost(veg);

            if (id)
            {
                return(Ok());
            }
            else
            {
                return(BadRequest());
            }
        }
コード例 #4
0
        public ActionResult DeleteConfirmed(int id)
        {
            PostOrder postorder = db.PostOrder.Find(id);

            db.PostOrder.Remove(postorder);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
コード例 #5
0
        public object Post(PostOrder request)
        {
            var customer = Db.SingleById <Customer>(request.CustomerId);
            var order    = request.ConvertTo <CustomerOrder>();

            order.CustomerId = customer.Id;
            customer.Orders.Add(order);
            Db.Save(order);
            return(order);
        }
コード例 #6
0
        private async Task Payment()
        {
            try
            {
                IsBusy = true;

                if (!string.IsNullOrEmpty(sAddress))
                {
                    /*
                     * var result = await CrossPayPalManager.Current.Buy(new PayPalItem("Compra", new Decimal(dTotal), "MXN"),
                     *  new Decimal(0));
                     * if (result.Status == PayPalStatus.Cancelled)
                     * {
                     *  Debug.WriteLine("Cancelled");
                     * }
                     * else if (result.Status == PayPalStatus.Error)
                     * {
                     *  Debug.WriteLine(result.ErrorMessage);
                     * }
                     * else if (result.Status == PayPalStatus.Successful)
                     * {
                     *  PostOrder postOrder = new PostOrder();
                     * await postOrder.PostOrderAsync(sComment, sAddress);
                     * }
                     */

                    PostOrder postOrder = new PostOrder();
                    bool      success   = await postOrder.PostOrderAsync(sComment, sAddress);

                    if (success)
                    {
                        await Application.Current.MainPage.DisplayAlert("Notificación", "Tu compra se ha realizado con exito", "Aceptar");

                        Application.Current.MainPage = new MasterDetailPage()
                        {
                            Master = new MasterPage()
                            {
                                Title = "Menú"
                            },
                            Detail = new NavigationPage(new HomePage())
                        };
                    }
                }
                else
                {
                    AddressErrorVisible = true;
                }
            }
            finally
            {
                IsBusy = false;
            }
        }
コード例 #7
0
 public ActionResult Edit([Bind(Include = "Id,OrderId,PostEmploees,Payment")] PostOrder postorder)
 {
     if (ModelState.IsValid)
     {
         db.Entry(postorder).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("PostOrder", new { id = postorder.OrderId }));
     }
     ViewBag.OrderId      = new SelectList(db.Order, "Id", "Name", postorder.OrderId);
     ViewBag.PostEmploees = new SelectList(db.PostEmploees, "Id", "Name", postorder.PostEmploees);
     return(View(postorder));
 }
コード例 #8
0
        public OrderReply PostOrder(string account, Stock stock, Fill order, OrderType orderType)
        {
            PostOrder  request = new PostOrder(account, Name, stock, order, orderType);
            bool       success = request.Execute();
            OrderReply reply   = (request.Reply as OrderReply) ?? new OrderReply(false);

            if (success)
            {
                UpdateOrder(reply);
            }
            return(reply);
        }
コード例 #9
0
        public ActionResult Create([Bind(Include = "Id,OrderId,PostEmploees,Payment")] PostOrder postorder)
        {
            if (ModelState.IsValid)
            {
                db.PostOrder.Add(postorder);
                db.SaveChanges();
                return(RedirectToAction("PostOrder"));
            }

            ViewBag.OrderId      = new SelectList(db.Order, "Id", "Name", postorder.OrderId);
            ViewBag.PostEmploees = new SelectList(db.PostEmploees, "Id", "Name", postorder.PostEmploees);
            return(View(postorder));
        }
コード例 #10
0
        /// <summary>
        /// 支付生成签名
        /// </summary>
        /// <param name="placeAnOrderDto"></param>
        /// <returns></returns>
        public string ZPay(PostOrder order)
        {
            var payReq = new ZAddAppTradeReq(ZFBPayConfig.NotifyUrl);

            payReq.body         = "H5下单支付";               //string.IsNullOrWhiteSpace(placeAnOrderDto.Body) == true ? "一生时光下单支付" : placeAnOrderDto.Body;//placeAnOrderDto.Body;
            payReq.out_trade_no = order.order_no;         //"s201212526123455221";
            payReq.total_amount = order.order_real_price; //总金额
            payReq.subject      = "H5下单支付";               //string.IsNullOrWhiteSpace(placeAnOrderDto.Subject) == true ? "一生时光下单支付" : placeAnOrderDto.Subject;//placeAnOrderDto.Subject;

            var res = zPayApi.GetAppTradeContent(payReq);

            return(res.Data);
        }
コード例 #11
0
ファイル: UnitTest1.cs プロジェクト: akasue/azuretestaka
        public async void Order_fild_BillingZipCode_missing_Test()
        {
            var request = TestFactory.CreateHttpRequestForms(new Dictionary <string, StringValues> {
                { "BuyerName", "test user 04" },
                { "PurchaseOrderNumber", "test user po 04" },
                { "OrderAmount", "49.09" }
            });

            var response = (ObjectResult)await PostOrder.Run(request, logger);

            Assert.Equal(StatusCodes.Status400BadRequest, response.StatusCode);
            Assert.Equal("BillingZipCode is missing ", response.Value);
        }
コード例 #12
0
ファイル: UnitTest1.cs プロジェクト: akasue/azuretestaka
        public async void Order_duplicate_PurchaseOrderNumber_Test()
        {
            var request = TestFactory.CreateHttpRequestForms(new Dictionary <string, StringValues> {
                { "BuyerName", "test user 04" },
                { "PurchaseOrderNumber", "test user aka 01" },
                { "BillingZipCode", "40002" },
                { "OrderAmount", "49.09" }
            });

            var response = (ObjectResult)await PostOrder.Run(request, logger);

            Assert.Equal(StatusCodes.Status204NoContent, response.StatusCode);
        }
コード例 #13
0
 private void Dfs(DiGraph g, int v)
 {
     PreOrder.Enqueue(v);
     _marked[v] = true;
     foreach (var w in g.Adj(v))
     {
         if (!_marked[w])
         {
             Dfs(g, w);
         }
     }
     PostOrder.Enqueue(v);
     ReversePostOrder.Push(v);
 }
コード例 #14
0
        // GET: /PostOrder/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PostOrder postorder = db.PostOrder.Find(id);

            if (postorder == null)
            {
                return(HttpNotFound());
            }
            return(View(postorder));
        }
コード例 #15
0
ファイル: UnitTest1.cs プロジェクト: akasue/azuretestaka
        public async void Create_Order_Success_Test()
        {
            var request = TestFactory.CreateHttpRequestForms(new Dictionary <string, StringValues> {
                { "BuyerName", "test user 04" },
                { "PurchaseOrderNumber", $"aka{DateTime.Now.ToString("yyyymmddhhmmss")}" },
                { "BillingZipCode", "40001" },
                { "OrderAmount", "49.09" }
            });

            var response = (ObjectResult)await PostOrder.Run(request, logger);

            Assert.Equal(StatusCodes.Status201Created, response.StatusCode);
            Assert.Equal("Add Success", response.Value);
        }
コード例 #16
0
        public void PostOrderTest_Immediate()
        {
            Stock     stock   = new Stock("", Utils.TestStock);
            Fill      order   = new Fill(0, 100, Direction.Buy);
            PostOrder request = new PostOrder(Utils.TestAccount, Utils.TestVenue, stock, order, OrderType.ImmediateOrCancell);
            bool      actual  = request.Execute();

            Assert.IsTrue(actual);
            OrderReply reply = request.Reply as OrderReply;

            Assert.IsNotNull(reply);
            Assert.AreEqual(Utils.TestVenue, reply.Venue);
            Assert.AreEqual(Utils.TestStock, reply.Symbol);
        }
コード例 #17
0
        public void PostOrderTest_StockDoesNotExist()
        {
            Stock     stock   = new Stock("", "FALSEEX");
            Fill      order   = new Fill(0, 100, Direction.Buy);
            PostOrder request = new PostOrder(Utils.TestAccount, Utils.TestVenue, stock, order, OrderType.Market);
            bool      actual  = request.Execute();

            Assert.IsFalse(actual);
            OrderReply reply = request.Reply as OrderReply;

            Assert.IsNotNull(reply);
            Assert.IsNull(reply.Venue);
            Assert.IsNull(reply.Symbol);
            Assert.IsNull(reply.Fills);
        }
コード例 #18
0
        // GET: /PostOrder/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PostOrder postorder = db.PostOrder.Find(id);

            if (postorder == null)
            {
                return(HttpNotFound());
            }
            ViewBag.OrderId      = new SelectList(db.Order, "Id", "Name", postorder.OrderId);
            ViewBag.PostEmploees = new SelectList(db.PostEmploees, "Id", "Name", postorder.PostEmploees);
            return(View(postorder));
        }
コード例 #19
0
        public void PostOrderTest_NoAccount()
        {
            Stock     stock   = new Stock("", Utils.TestStock);
            Fill      order   = new Fill(0, 0, Direction.Buy);
            PostOrder request = new PostOrder("", Utils.TestStock, stock, order, OrderType.Market);
            bool      actual  = request.Execute();

            Assert.IsFalse(actual);
            OrderReply reply = request.Reply as OrderReply;

            Assert.IsNull(reply);
            BaseReply baseReply = request.Reply as BaseReply;

            Assert.IsNotNull(baseReply);
            StringAssert.Contains("The remote server returned an error: (404) Not Found.", baseReply.Error);
        }
コード例 #20
0
        void AppendOrder(StringBuilder sb, PostOrder order)
        {
            switch (order)
            {
            case PostOrder.Desc:
                sb.Append("desc");
                break;

            case PostOrder.Asc:
                sb.Append("asc");
                break;

            default:
                break;
            }
        }
コード例 #21
0
        /// <summary>
        /// 获取列表
        /// </summary>
        /// <returns></returns>
        public async Task <Models.Posts_Result> GetPostsAsync(Paginator pager, int order)
        {
            if (!Enum.IsDefined(typeof(PostOrder), order))
            {
                order = (int)PostOrder.Newest;
            }

            PostOrder orderType = (PostOrder)order;

            IPostsable postsable = orderType switch
            {
                PostOrder.Random => new RandomPosts(),
                PostOrder.Newest => new NewestPosts(),
                _ => new NewestPosts()
            };

            Models.Posts_Result result = await postsable.GetPostsAsync(pager);

            return(result);
        }
コード例 #22
0
        public async Task CreateOrder()
        {
            try
            {
                OrderCreatedModel order = new OrderCreatedModel()
                {
                    TotalValue   = CheckoutItems.TotalValue,
                    OrderDate    = DateTime.Now,
                    IdStateOrder = 1,
                    IdClient     = CheckoutItems.IdClient,
                    Products     = new List <ProductOrderModel>()
                };
                foreach (var item in CheckoutItems.Products)
                {
                    ProductOrderModel P = new ProductOrderModel
                    {
                        IdProduct      = item.IdProduct,
                        QuantityBought = item.QuantitySelected
                    };
                    order.Products.Add(P);
                }
                APIResponse response = await PostOrder.ExecuteStrategy(order);

                if (response.IsSuccess)
                {
                    var savedList = new List <Tuple <long, int> >();
                    Settings.listProductsCart = savedList;
                    await NavigationService.PopPage();

                    await NavigationService.PopPage();

                    await NavigationService.PopPage();
                }
            }
            catch (Exception e)
            {
            }
        }
コード例 #23
0
 public static IOrderedQueryable <Post> OrderByCommon(this IQueryable <Post> queryable, PostOrder orderBy)
 => orderBy switch
 {
コード例 #24
0
        public IHttpActionResult Insert(PostOrder Item)
        {
            string tokenCode = HttpContext.Current.Request.Headers["TokenCode"] != null ? HttpContext.Current.Request.Headers["TokenCode"].ToString() : "";

            Models.UserResult UserInfo = null;

            if (!string.IsNullOrEmpty(tokenCode))
            {
                UserInfo = CacheUtil.GetCacheObject(tokenCode);
            }
            int UserId = (UserInfo != null && UserInfo.Id > 0) ? UserInfo.Id : 0;

            ApiResult <NewOrderResult> rs = new ApiResult <NewOrderResult>()
            {
                Data = new NewOrderResult()
            };

            if (Item == null || Item.Order == null)
            {
                rs.Failed(new ErrorObject
                {
                    Code        = "EXCEPTION",
                    Description = "Đéo nhận Data truyền vào."
                });
                return(Content(HttpStatusCode.BadRequest, rs));
            }

            if (!ModelState.IsValid)
            {
                // Lỗi validate dữ liệu trả ra từ model
                foreach (string key in ModelState.Keys)
                {
                    ModelState current = ModelState[key];
                    foreach (ModelError error in current.Errors)
                    {
                        rs.Failed(new ErrorObject()
                        {
                            Code        = key,
                            Description = error.ErrorMessage
                        });
                    }
                }

                return(Content(HttpStatusCode.BadRequest, rs));
            }

            Item.Order.TokenCode = RandomString(15);
            rs = orderDAL.Insert(Item.Order, UserId);

            if (!rs.Succeeded)
            {
                return(Content(HttpStatusCode.BadRequest, rs));
            }

            string Link = ConfigUtil.DomainBaseHttp + "/API/Order/Confirm?Id="
                          + rs.Data.Id.ToString()
                          + "&TokenCode=" + Item.Order.TokenCode
                          + "&SucUrl=" + Item.SucUrl
                          + "&FailUrl=" + Item.FailUrl;

            object EmailData = new
            {
                Link,
                Item.Order.GuestName,
                SetTime = DateTime.Now.ToString(),
                Item.Order.RoomName
            };

            string EmailContent = EmailContentHtml.EmailContentFormat(EmailData, "ConfirmOrder.html");
            bool   e            = EmailUtility.SendMail(ConfigUtil.Email_DisplayName, Item.Order.GuestEmail, "Xác thực Đơn đặt phòng", messages: EmailContent);

            return(Ok(rs));
        }
コード例 #25
0
        public Task <Post[]> GetPostsAsync(string teamName, string query, PostIncludes include = PostIncludes.None, PostSort sort = PostSort.Updated, PostOrder order = PostOrder.Desc, int perPage = 20)
        {
            var url = BuildStringBuilderWithTeamName(teamName);

            url.Append("/posts");
            url.Append("?q="); url.Append(query);
            url.Append("&include="); AppendInclude(url, include);
            url.Append("&sort="); AppendSort(url, sort);
            url.Append("&order="); AppendOrder(url, order);
            url.Append("&per_page="); url.Append(perPage);

            return(ReadPaginiationMesasge <Post>(url.ToString()));
        }
コード例 #26
0
        /// <summary>
        /// 微信统一下单
        /// </summary>
        /// <param name="reult"></param>
        public async System.Threading.Tasks.Task <WxAddPayUniOrderResp> WxDowloadOrder(PostOrder reult)
        {
            // var total_fee = 100;//Convert.ToInt32(reult.TotalMoney * 100);
            var order = new WxAddPayUniOrderReq();

            order.body             = "H5下单下单支付";     //string.IsNullOrWhiteSpace(reult.Subject) == true ? "一生时光下单支付" : reult.Subject;
            order.spbill_create_ip = reult.spbill_create_ip;
            order.out_trade_no     = reult.order_no; // "2012121215"; //reult.OrderNo;
            order.trade_type       = "JSAPI";
            order.openid           = reult.open_Id;
            order.total_fee        = Convert.ToInt32(reult.order_real_price * 100);//分
            var model = m_Api.AddUniOrderAsync(order);

            return(await model);
        }
コード例 #27
0
 public Boolean AddPost(PostOrder t)
 {
     return(_service.AddPost(t));
 }
コード例 #28
0
ファイル: PostDal.cs プロジェクト: yukseljunk/wps
        public IList<Post> GetPosts(PostOrder order = PostOrder.NewestFirst, int limit = 100, bool onlyDraft = true)
        {
            var sql = "SELECT P.*,U.display_name FROM wp_posts P INNER JOIN wp_users U ON P.post_author = U.ID ";
            if (onlyDraft)
            {
                sql += " where P.post_status='draft' ";
            }
            switch (order)
            {
                case PostOrder.Random:
                    sql += " order by RAND()";
                    break;
                case PostOrder.NewestFirst:
                    sql += " order by post_date DESC";
                    break;
                case PostOrder.OldestFirst:
                    sql += " order by post_date ASC";
                    break;

            }
            sql += " LIMIT 0," + limit;

            var data = _dal.GetData(sql);
            if (data.Tables.Count == 0) { return null; }
            if (data.Tables[0].Rows.Count == 0) { return null; }
            var result = new List<Post>();
            foreach (DataRow row in data.Tables[0].Rows)
            {
                result.Add(
                    GetPostFromDataRow(row)
                );
            }
            return result;
        }