public void AppsConfirm(OrderConfirm method) { var orderThreshold = this.Store.OrderThreshold; var customerRelationships = this.BillToCustomer.CustomerRelationshipsWhereCustomer; customerRelationships.Filter.AddEquals(CustomerRelationships.Meta.InternalOrganisation, this.TakenByInternalOrganisation); decimal amountOverDue = 0; decimal creditLimit = 0; foreach (CustomerRelationship customerRelationship in customerRelationships) { if (customerRelationship.FromDate <= DateTime.UtcNow && (!customerRelationship.ExistThroughDate || customerRelationship.ThroughDate >= DateTime.UtcNow)) { creditLimit = customerRelationship.CreditLimit ?? (this.Store.ExistCreditLimit ? this.Store.CreditLimit : 0); amountOverDue = customerRelationship.AmountOverDue; } } if (amountOverDue > creditLimit || this.TotalExVat < orderThreshold) { this.CurrentObjectState = new SalesOrderObjectStates(this.Strategy.Session).RequestsApproval; } else { this.CurrentObjectState = new SalesOrderObjectStates(this.Strategy.Session).InProcess; } }
public static OrderConfirm GetOrderConfirmInstance() { if (orderConfirm == null || orderConfirm.IsDisposed) { orderConfirm = new OrderConfirm(); } return(orderConfirm); }
public async Task <User> SaveUserInfo(OrderConfirm model) { Address address = await db.Address.FirstOrDefaultAsync(x => x.City == model.City && x.Street == model.Street && x.Building == model.Building && x.Flat == model.Flat && x.PostalCode == model.PostalCode); if (address == null) { address = new Address { City = model.City, Street = model.Street, Building = model.Building, Flat = model.Flat, PostalCode = model.PostalCode }; } User user = new User(); if (User.Identity.IsAuthenticated) { string UserName = db.GetUserName(HttpContext); user = await db.User.Include(p => p.Profile).FirstOrDefaultAsync(x => x.Login == UserName); user.Profile.Address = address; if (user.Profile.FirstName != model.FirstName || user.Profile.SecondName != model.SecondName) { user.Profile.FirstName = model.FirstName; user.Profile.SecondName = model.SecondName; } db.User.Update(user); } else { UserProfile profile = new UserProfile { FirstName = model.FirstName, SecondName = model.SecondName, Address = address }; Role anonimRole = await db.Roles.FirstOrDefaultAsync(r => r.Name == "anonim"); user = new User { Login = model.Login, Email = model.Email, Role = anonimRole, Password = Guid.NewGuid().ToString(), Profile = profile }; await db.User.AddAsync(user); } await db.SaveChangesAsync(); return(user); }
void OnGUI() { if (StoreFrontEnabled) { int spacing = 150; int anchorX = Screen.width / 2 - ((20 * 4 + spacing * 3) / 2); int anchorY = 30; //KarenGetsBillyPriceListthanks decimal x = decimal.Parse(priceOfTop.Replace("$", "")); decimal y = decimal.Parse(priceOfPants.Replace("$", "")); decimal z = decimal.Parse(priceOfShoes.Replace("$", "")); decimal sum = x + y + z; string priceOfAll = "$" + sum.ToString(); GUI.Box(new Rect(0, 0, Screen.width, 90), "Select product(s) for purchasing:"); if (GUI.Button(new Rect(anchorX, anchorY, 120, 40), "Top (" + priceOfTop + ")")) { StoreFrontEnabled = false; OrderConfirm checkout = GameObject.Find("OrderConfirm").GetComponent <OrderConfirm>(); checkout.setPackNumber(TOPS_PACK_NUMBER); } if (GUI.Button(new Rect(anchorX + spacing, anchorY, 120, 40), "Pants (" + priceOfPants + ")")) { StoreFrontEnabled = false; OrderConfirm checkout = GameObject.Find("OrderConfirm").GetComponent <OrderConfirm>(); checkout.setPackNumber(PANTS_PACK_NUMBER); } if (GUI.Button(new Rect(anchorX + spacing * 2, anchorY, 120, 40), "Shoes (" + priceOfShoes + ")")) { StoreFrontEnabled = false; OrderConfirm checkout = GameObject.Find("OrderConfirm").GetComponent <OrderConfirm>(); checkout.setPackNumber(SHOES_PACK_NUMBER); } if (GUI.Button(new Rect(anchorX + spacing * 3, anchorY, 120, 40), "All (" + priceOfAll + ")")) { StoreFrontEnabled = false; OrderConfirm checkout = GameObject.Find("OrderConfirm").GetComponent <OrderConfirm>(); checkout.setPackNumber(ALL_PACK_NUMBER); } if (GUI.Button(new Rect(Screen.width - 90, Screen.height - 70, 80, 60), "Cancel")) { StoreFrontEnabled = false; Main back = GameObject.Find("GameObject").GetComponent <Main>(); back.stage = 1; } } }
public void AppsConfirm(OrderConfirm method) { var orderThreshold = this.Store.OrderThreshold; var partyFinancial = this.BillToCustomer.PartyFinancialRelationshipsWhereParty.FirstOrDefault(v => Equals(v.InternalOrganisation, this.TakenBy)); decimal amountOverDue = partyFinancial.AmountOverDue; decimal creditLimit = partyFinancial.CreditLimit ?? (this.Store.ExistCreditLimit ? this.Store.CreditLimit : 0); if (amountOverDue > creditLimit || this.TotalExVat < orderThreshold) { this.SalesOrderState = new SalesOrderStates(this.Strategy.Session).RequestsApproval; } else { this.SalesOrderState = new SalesOrderStates(this.Strategy.Session).InProcess; } }
/// <summary> /// Согласовать заказ /// </summary> /// <returns></returns> private async Task <IActionResult> OrderConfirm() { try { int number = Convert.ToInt32(base.OriginalMessage.Substring(ForceReplyOrderConfirm.Length)); int id = 0; using (MarketBotDbContext db = new MarketBotDbContext()) { Order = db.Orders.Where(o => o.Number == number).Include(o => o.OrderConfirm).Include(o => o.OrdersInWork).FirstOrDefault(); if (Order != null && Order.OrderConfirm != null && Order.OrderConfirm.Count == 0 && await Processing.CheckInWork(Order) && await Processing.CheckIsDone(Order) == false) // Если уже есть записи о том что заказ соглосован, то больще записей не делаем { string text = base.ReplyToMessageText; id = Order.Id; OrderConfirm orderConfirm = new OrderConfirm { DateAdd = DateTime.Now, Confirmed = true, FollowerId = FollowerId, OrderId = id, Text = text }; db.OrderConfirm.Add(orderConfirm); db.SaveChanges(); } } OrderAdminMsg = new AdminOrderMessage(id, FollowerId); var message = OrderAdminMsg.BuildMessage(); await SendMessage(message); string notify = "Заказ №" + this.Order.Number.ToString() + " согласован. Пользователь " + GeneralFunction.FollowerFullName(base.FollowerId); await Processing.NotifyChanges(notify, this.Order.Id); return(base.OkResult); } catch (Exception exp) { return(base.NotFoundResult); } }
public async Task <IActionResult> PurchaseTokens(Purchase model) { if (!ModelState.IsValid) { return(View(model)); } User loggedInUser = await this.userManager.GetUserAsync(base.User); Token token = this.context.tokens.Where(t => t.ammount == model.amount).FirstOrDefault(); DateTime today = DateTime.Now; Order order = new Order() { userId = loggedInUser.Id, user = loggedInUser, date = today, tokenAmmout = model.amount, price = token.price }; if (loggedInUser.orderList == null) { loggedInUser.orderList = new List <Order>(); } loggedInUser.orderList.Add(order); loggedInUser.tokens += model.amount; this.context.Users.Update(loggedInUser); this.context.orders.Update(order); await this.context.SaveChangesAsync(); OrderConfirm confirm = new OrderConfirm() { order = order, newAmount = loggedInUser.tokens }; return(PartialView("OrderConfirmation", confirm)); }
public async Task <IActionResult> OrderConfirm(OrderConfirm model) { User user = await SaveUserInfo(model); decimal Total = 0; string ShoppingCartId = db.GetUserName(HttpContext); var ShoppingCart = db.Cart.Where(c => c.CartId == ShoppingCartId); Order order = new Order { User = user, Delivery = model.Delivery, OrderDate = DateTime.Now, Address = user.Profile.Address, OrderDetails = new List <OrderDetail>(), Status = 1, }; foreach (var item in ShoppingCart) { var orderDetail = new OrderDetail { PaperId = item.PaperId, TemplateId = item.TemplateId, Quantity = item.Quantity, Price = item.Price }; Total += item.Price; order.OrderDetails.Add(orderDetail); db.Cart.Remove(item); } order.Total = Total; await db.Order.AddAsync(order); await db.SaveChangesAsync(); return(RedirectToAction("Complete", "Order", new { id = order.OrderId })); }
public async Task <IActionResult> OrderConfirm() { OrderConfirm model = new OrderConfirm(); if (User.Identity.IsAuthenticated) { string UserName = db.GetUserName(HttpContext); User user = await db.User.Include(p => p.Profile).ThenInclude(a => a.Address).FirstOrDefaultAsync(x => x.Login == UserName); if (user.Profile == null) { user.Profile = new UserProfile { Address = new Address() }; db.User.Update(user); await db.SaveChangesAsync(); } else { model = new OrderConfirm { Login = user.Login, Email = user.Email, FirstName = user.Profile.FirstName, SecondName = user.Profile.SecondName, City = user.Profile.Address.City, Street = user.Profile.Address.Street, Building = user.Profile.Address.Building, Flat = user.Profile.Address.Flat, PostalCode = user.Profile.Address.PostalCode }; } } return(View(model)); }
public ActionResult <string> Post([FromBody] OrderConfirm order) { //ZHHelper.ConsoleOut($"接收到订单确认 {DateTime.Now.ToString("hh:mm:ss,fff")} order confirm:{order.orderID}"); //Core.Core.GetOrderConfirm(order); //AssignResult r = new AssignResult(); //r.code = 200; //return Ok(r); AssignResult r = new AssignResult(); if (order == null) { r.code = 200; r.Des = "传入的数据异常"; ZHHelper.ConsoleOut($"接收到订单确认 {DateTime.Now.ToString("hh:mm:ss,fff")} message confirm:code:{r.code} Des:{r.code}"); } else if (order.deviceId == null || order.deviceId == "") { r.code = 200; r.Des = "传入的deviceId数据异常"; ZHHelper.ConsoleOut($"接收到订单确认 {DateTime.Now.ToString("hh:mm:ss,fff")} message confirm:code:{r.code} Des:{r.code}"); } else if (order.orderID == null || order.orderID == "") { r.code = 200; r.Des = "传入的orderID数据异常"; ZHHelper.ConsoleOut($"接收到订单确认 {DateTime.Now.ToString("hh:mm:ss,fff")} message confirm:code:{r.code} Des:{r.code}"); } else { r.code = 200; ZHHelper.ConsoleOut($"接收到订单确认 {DateTime.Now.ToString("hh:mm:ss,fff")} message confirm:{order.orderID}"); Core.Core.DeleteOrderConfirm(order.deviceId, order.orderID); } return(Ok(r)); }
public OrderConfirm Confirm() { var log = new MongoHistoryAPI() { APIUrl = "/api/order/confirm", CreateTime = DateTime.Now, Sucess = 1 }; var result = new OrderConfirm() { id = "1", msg = "success" }; try { var requestContent = Request.Content.ReadAsStringAsync().Result; var jsonserializer = new JavaScriptSerializer(); var paser = jsonserializer.Deserialize <OrderConfirmRequest>(requestContent); log.Content = new JavaScriptSerializer().Serialize(paser); if (!mongoHelper.checkLoginSession(paser.user, paser.token)) { throw new Exception("Wrong token and user login!"); } var haiStaff = db.HaiStaffs.Where(p => p.UserLogin == paser.user).FirstOrDefault(); if (haiStaff == null) { throw new Exception("Chỉ nhân viên công ty mới có quyền thực hiện"); } // check C2 C2Info c2 = db.C2Info.Where(p => p.Code == paser.agency).FirstOrDefault(); if (c2 == null) { throw new Exception("Sai thông tin khách hàng"); } if (c2.IsActive == 0) { throw new Exception("Khách hàng đang tạm khóa"); } result.agencyCode = c2.Code; result.agencyId = c2.Id; result.store = c2.StoreName; result.deputy = c2.Deputy; result.phone = c2.CInfoCommon.Phone; result.address = c2.CInfoCommon.AddressInfo; /* * result.c1 = GetC2C1(c2.Code); * * // add them * result.c1.Add(new AgencyC2C1() * { * code = "000", * name = "Chi nhánh", * priority = 0, * store = "Chi nhánh : " + haiStaff.HaiBranch.Name * }); */ // lay danh sach type var payType = db.PayTypes.OrderBy(p => p.Idx).ToList(); List <IdentityCommon> paytypeAll = new List <IdentityCommon>(); foreach (var item in payType) { paytypeAll.Add(new IdentityCommon() { code = item.Id, name = item.Name }); } result.payType = paytypeAll; // var shipType = db.ShipTypes.OrderBy(p => p.Idx).ToList(); List <IdentityCommon> shipTypeAll = new List <IdentityCommon>(); foreach (var item in shipType) { shipTypeAll.Add(new IdentityCommon() { code = item.Id, name = item.Name }); } result.shipType = shipTypeAll; // danh sach khuyen mai result.events = getEvent(paser.product, c2.CInfoCommon); } catch (Exception e) { result.id = "0"; result.msg = e.Message; log.Sucess = 0; } log.ReturnInfo = new JavaScriptSerializer().Serialize(result); mongoHelper.createHistoryAPI(log); return(result); }
public void AppsConfirm(OrderConfirm method) { this.PurchaseOrderState = new PurchaseOrderStates(this.Strategy.Session).InProcess; }