public void FirstTradedMoreProfitableBuyOrders() { // 2) сначала торгуются более выгодные ордеры // 3) цена определяется ранее открытым ордером var buy1 = new Order { OrderType = OrderType.Buy, TotalAmount = 5, Price = 10 }; var buy2 = new Order { OrderType = OrderType.Buy, TotalAmount = 5, Price = 11 }; var buy3 = new Order { OrderType = OrderType.Buy, TotalAmount = 5, Price = 12 }; var sellOrder = new Order {OrderType = OrderType.Sell, TotalAmount = 5, Price = 10.5m}; _service.ProcessOrder(buy1); _service.ProcessOrder(buy2); _service.ProcessOrder(buy3); _service.ProcessOrder(sellOrder); var realTrades = _service.GetTradeHistory(); Assert.AreEqual(realTrades.Count, 1); Assert.AreEqual(realTrades[0].Price, 12); Assert.AreEqual(realTrades[0].Amount, 5); Assert.AreEqual(realTrades[0].BuyOrder.OrderType, OrderType.Buy); Assert.AreEqual(realTrades[0].BuyOrder.Price, 12); Assert.AreEqual(realTrades[0].BuyOrder.TotalAmount, 5); Assert.AreEqual(realTrades[0].SellOrder.OrderType, OrderType.Sell); Assert.AreEqual(realTrades[0].SellOrder.Price, 10.5m); Assert.AreEqual(realTrades[0].SellOrder.TotalAmount, 5); }
private async Task StartOverAsync(IDialogContext context, IMessageActivity message) { await context.PostAsync(message); this.order = new Models.Order(); await this.WelcomeMessageAsync(context); }
public Response<Order> EditOrder(Order orderToEdit, DateTime orderDate) { var response = new Response<Order>(); orderToEdit = CompleteOrder(orderToEdit); response.Data = orderToEdit; try { _myOrderRepository.EditOrder(orderToEdit,orderDate); response.Success = true; response.Message = "Edit successful. Reference Order Number " + orderToEdit.OrderNumber + "."; } catch (Exception ex) { response.Message = ex.Message; try { var repo = new LogRepository(); repo.WriteLog(ex.Message); } catch { response.Message += "\nCould not write to log file."; } } return response; }
public static decimal PromptForArea(Order order) { do { Console.Write("Enter Area in Square Feet ({0}): ", order.Area); Console.ForegroundColor = ConsoleColor.Green; string userInput = Console.ReadLine(); Console.ForegroundColor = ConsoleColor.Yellow; decimal newArea; var validArea = decimal.TryParse(userInput, out newArea); if (userInput == "") { return order.Area; } if (validArea && newArea > 0) { return newArea; } } while (true); }
public bool Create(string userId, int addressId, ICollection<OrderItem> tickets) { this.ticketsService.Create(tickets); if (!this.ticketsService.BuyTickets(tickets)) { return false; } var order = new Order() { UserId = userId, DeliveryAdressId = addressId, OrderItems = tickets }; foreach (var ticket in tickets) { this.notificationsService.Create(ticket.Ticket.EventId, NotificationType.TicketSold); } this.orders.Add(order); this.orders.Save(); return true; }
private async Task OnOptionSelected(IDialogContext context, IAwaitable <IMessageActivity> result) { var message = await result; if (message.Text == Resources.RootDialog_Welcome_Orders) { this.order = new Models.Order(); // BotBuilder's LocationDialog // Leverage DI to inject other parameters var locationDialog = this.dialogFactory.Create <LocationDialog>( new Dictionary <string, object>() { { "prompt", string.Format(CultureInfo.CurrentCulture, Resources.RootDialog_DeliveryAddress_Prompt, message.From.Name ?? "User") }, { "channelId", context.Activity.ChannelId } }); context.Call(locationDialog, this.AfterDeliveryAddress); } else if (message.Text == Resources.RootDialog_Welcome_Support) { await this.StartOverAsync(context, Resources.RootDialog_Support_Message); } else { await this.StartOverAsync(context, Resources.RootDialog_Welcome_Error); } }
public void Execute() { Console.Clear(); Console.ForegroundColor = ConsoleColor.Cyan; Console.WriteLine("Add an Order"); Console.WriteLine("============================================\n"); Console.ForegroundColor = ConsoleColor.Yellow; var ops = OperatorFactory.CreateOrderOperations(); var name = UserPrompts.PromptForCustomerName(); var area = UserPrompts.PromptForArea(); var state = UserPrompts.PromptForState(); var product = UserPrompts.PromptForProductType(); var order = new Order {CustomerName = name, Area = area, State = state, ProductType = product}; if (Confirm(order)) { var response = ops.NewOrder(order); Console.ForegroundColor = ConsoleColor.White; Console.WriteLine(response.Message); Console.ForegroundColor = ConsoleColor.Yellow; UserPrompts.KeyToContinue(); } }
private static void SimpleMapping() { var order = new Order { OrderId = Guid.NewGuid(), OrderDate = DateTime.Now, Total = 50m, CustomerId = Guid.NewGuid() }; var dtoOrder = AutoMapper.Mapper.Map<OrderDto>(order); Console.WriteLine("Order Info"); Console.WriteLine("__________"); Console.WriteLine("OrderId: {0}", order.OrderId); Console.WriteLine("Order Date: {0}", order.OrderDate); Console.WriteLine("Total: {0}", order.Total); Console.WriteLine("CustomerId: {0}", order.CustomerId); Console.WriteLine(); Console.WriteLine("Order Dto Info"); Console.WriteLine("__________"); Console.WriteLine("OrderId: {0}", dtoOrder.OrderId); Console.WriteLine("Order Date: {0}", dtoOrder.OrderDate); Console.WriteLine("Total: {0}", dtoOrder.Total); Console.WriteLine("CustomerNumber: {0}", dtoOrder.CustomerNumber); Console.WriteLine("Day Of Month: {0}", dtoOrder.OrderDay); Console.ReadKey(); }
public static Order CreateRandomOrder() { Random rand = new Random(); Order order = new Order { OrderID = rand.Next(1000, 10000), CustomerID = rand.Next(1, 100), CustomerName = "客户名_" + DateTime.Now.ToString(), OrderDate = DateTime.Now, Comment = Guid.NewGuid().ToString(), Finished = false, Detail = new List<OrderDetail>() }; order.Detail.Add(new OrderDetail { OrderID = order.OrderID, Quantity = rand.Next(1, 10), ProductID = rand.Next(101, 500), ProductName = "商品1" + Guid.NewGuid().ToString("N"), }); order.Detail.Add(new OrderDetail { OrderID = order.OrderID, Quantity = rand.Next(1, 10), ProductID = rand.Next(101, 500), ProductName = "商品2" + Guid.NewGuid().ToString("N"), }); return order; }
public OrderViewModel(m.Order _order) { ID = _order.ID; Customer = _order.Customer; Products = new List <OrderLineViewModel>(); IProductRepository ProdRepo = new ProductRepository(); IUserRepository UserRepo = new UserRepository(); UserList = new List <SelectListItem>(); UserList.Add(new SelectListItem { Value = "", Text = "" }); foreach (m.User _u in UserRepo.GetAllUsers()) { if (_u.Role == "Bar") { UserList.Add(new SelectListItem { Value = _u.ID.ToString(), Text = _u.Name }); } } foreach (m.Product _prod in ProdRepo.GetAllProducts()) { Products.Add(new OrderLineViewModel(new m.OrderLine(_prod, 0))); } Statuses = new List <OrderStatusViewModel>(); for (int i = 0; i < 3; i++) { Statuses.Add(new OrderStatusViewModel(new m.OrderStatus((m.OrderStatus.OrderStatusesEnum)i, DateTime.Now, ID))); } }
public void OrderConstructorWithParamsTest() { //arrange String Destination = "Shevchenka, 12"; String CarNumber = "BC0173AC"; String Where = "University, 1"; Models.status Status = APPOINTED; int PassengersAmount = 1; String ExpectedDestination = "Shevchenka, 12"; String ExpectedCarNumber = "BC0173AC"; String ExpectedWhere = "University, 1"; Models.status ExpectedStatus = APPOINTED; int ExpectedPassengersAmount = 1; //act Models.Order obj = new Models.Order(Where, Destination, PassengersAmount, Status, CarNumber); //assert Assert.AreEqual(ExpectedDestination, obj.Destination); Assert.AreEqual(ExpectedCarNumber, obj.CarNumber); Assert.AreEqual(ExpectedWhere, obj.Where); Assert.AreEqual(ExpectedStatus, obj.Status); Assert.AreEqual(ExpectedPassengersAmount, obj.PassengersAmount); }
public void OrderDefaultConstructorTest() { Models.Order obj = new Models.Order(); Assert.AreEqual(null, obj.CarNumber); Assert.AreEqual(null, obj.Destination); Assert.AreEqual(NOTAPPOINTED, obj.Status); Assert.AreEqual(null, obj.Where); Assert.AreEqual(0, obj.PassengersAmount); }
public void GetPassengerAmountOutOfBoundsTest() { int ExpectedPassengerAmount = 10; Models.Order obj = new Models.Order(); obj.PassengersAmount = 10; Assert.AreEqual(ExpectedPassengerAmount, obj.PassengersAmount); }
public void EditOrder(Order orderToEdit, DateTime orderDate) { List<Order> orders = GetAllOrders(orderDate); var existingOrder = orders.First(o => o.OrderNumber == orderToEdit.OrderNumber); orders.Remove(existingOrder); OverWriteFile(orderDate, orders); orders = GetAllOrders(DateTime.Today); AddOrder(orderToEdit); }
public void AddOrder(Order orderToAdd) { List<Order> orders = GetAllOrders(DateTime.Today); if (orders.LongCount() > 0) orderToAdd.OrderNumber = orders.Max(o => o.OrderNumber) + 1; else orderToAdd.OrderNumber = 1; orders.Add(orderToAdd); OverWriteFile(DateTime.Today, orders); }
/// <summary> /// Initializes a new instance of the <see cref="OrderStateListPresenter"/> class. /// </summary> /// <param name="view">The view.</param> /// <param name="order">The order.</param> /// <param name="merchantOrderStateConfiguration">The merchant order state configuration.</param> /// <param name="orderStateListValidator">The order state list validator.</param> public OrderStateListPresenter([NotNull] IOrderStateListView view, [NotNull] Order order, [NotNull] MerchantOrderStateConfiguration merchantOrderStateConfiguration, [NotNull] OrderStateListValidator orderStateListValidator) { Assert.ArgumentNotNull(view, "view"); Assert.ArgumentNotNull(order, "order"); Assert.ArgumentNotNull(merchantOrderStateConfiguration, "merchantOrderStateConfiguration"); Assert.ArgumentNotNull(orderStateListValidator, "orderStateListValidator"); this.view = view; this.order = order; this.merchantOrderStateConfiguration = merchantOrderStateConfiguration; this.orderStateListValidator = orderStateListValidator; }
public int FindeLastOrderCode() { Order order = db.Orders.OrderByDescending(current => current.Code).FirstOrDefault(); if (order != null) { return(order.Code); } else { return(999); } }
public virtual System.Web.Mvc.ActionResult AddToOrder(System.Guid id, int countOrder) { if (Infrastructure.AuthenticatedUser.IsAuthenticated == true) { var oPruduct = UnitOfWork.ProductsRepository.Get() .Where(current => current.Id == id) .FirstOrDefault() ; //var order = UnitOfWork.OrdersRepository.Get() // .Where(current => current.ProductId == id) // .Where(current => current.userId == Infrastructure.Sessions.AuthenticatedUser.Id) // .FirstOrDefault() // ; // برای این است که می خواهم لیسا تمام خریدهای قبلی اش را ببینم ، این قسمت را باید در فیش های پرداختی یا خریدهای قبلی بگذارم Models.Order oOrder = new Models.Order { ProductId = id, CountOrder = countOrder, TotalPrice = oPruduct.Price * countOrder, userId = Infrastructure.Sessions.AuthenticatedUser.Id, IsActive = true }; UnitOfWork.OrdersRepository.Insert(oOrder); //else //{ // if (order != null && order.userId == Infrastructure.Sessions.AuthenticatedUser.Id) // { // order.CountOrder = Convert.ToInt32(countOrder); // order.TotalPrice = oPruduct.Price * (order.CountOrder + 1); // UnitOfWork.OrdersRepository.Update(order); // } //} UnitOfWork.Save(); return(RedirectToAction("ShowOrders")); } else { ViewBag.message = Models.Resources.Orders.CheckLogin; return(RedirectToAction("/Products/Index")); } }
public virtual System.Web.Mvc.ActionResult DeleteConfirmed(System.Guid id) { Models.Order oOrder = UnitOfWork.OrdersRepository.Get() .Where(current => current.Id == id) .FirstOrDefault() ; UnitOfWork.OrdersRepository.Delete(oOrder); UnitOfWork.Save(); return(RedirectToAction(MVC.Order.ShowOrders())); }
int IOrder.DeleteOrder(Models.Order customerorder) { var AddOrder = _context.Orders.OrderBy(x => x.Id).Last(); Order neworder = new Order(); neworder.CustomerId = customerorder.CustomerID; neworder.DatePlaced = (DateTime)customerorder.Date; neworder.StoreId = customerorder.StoreID; _context.Remove(neworder); _context.SaveChanges(); return(neworder.Id); }
public void GetWhereTest() { //arrange String Where = "Shevchenka, 1"; String ExpectedWhere = "Shevchenka, 1"; //act Models.Order obj = new Models.Order(); obj.Where = Where; //assert Assert.AreEqual(ExpectedWhere, obj.Where); }
public void GetDestinationTest() { //arrange String Destination = "Shevchenka, 1"; String ExpectedDestination = "Shevchenka, 1"; //act Models.Order obj = new Models.Order(); obj.Destination = Destination; //assert Assert.AreEqual(ExpectedDestination, obj.Destination); }
public void GetCarNumberTest() { //arrange String CarNumber = "BC5362AC"; String ExpectedCarNumber = "BC5362AC"; //act Models.Order obj = new Models.Order(); obj.CarNumber = CarNumber; //assert Assert.AreEqual(ExpectedCarNumber, obj.CarNumber); }
public void GetStatusTest() { //arrange Models.status Status = APPOINTED; Models.status ExpectedStatus = APPOINTED; //act Models.Order obj = new Models.Order(); obj.Status = Status; //assert Assert.AreEqual(ExpectedStatus, obj.Status); }
public virtual System.Web.Mvc.ActionResult Details(System.Guid id) { Models.Order oOrder = UnitOfWork.OrdersRepository.Get() .Where(current => current.Id == id) .FirstOrDefault() ; if (oOrder == null) { return(HttpNotFound()); } return(View(oOrder)); }
public void GetPassengersAmountTest() { //arrange int PassengersAmount = 1; int ExpectedPassengersAmount = 1; //act Models.Order obj = new Models.Order(); obj.PassengersAmount = PassengersAmount; //assert Assert.AreEqual(ExpectedPassengersAmount, obj.PassengersAmount); }
public ActionResult Create(Order order, FormCollection collection) { try { var customer = customerRepository.FetchById(int.Parse(collection["Customer"])); order.Customer = customer; orderRepository.Add(order); orderRepository.Save(); return RedirectToAction("Index"); } catch { return View(); } }
public void Execute() { Console.Clear(); Console.ForegroundColor = ConsoleColor.Cyan; Console.WriteLine("Edit an Order"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("============================================\n"); var orderNumber = UserPrompts.PromptUserForNumber(); var orderDate = UserPrompts.PromptUserForDate(); Order order; var ops = OperatorFactory.CreateOrderOperations(); var response = ops.GetOrder(orderNumber, orderDate); if (response.Success) { order = response.Data; } else { Console.WriteLine(response.Message); Console.ReadKey(); return; } var name = UserPrompts.PromptForCustomerName(order); var area = UserPrompts.PromptForArea(order); var state = UserPrompts.PromptForState(order); var product = UserPrompts.PromptForProductType(order); var newOrder = new Order { CustomerName = name, Area = area, State = state, ProductType = product }; if (Confirm(newOrder)) { newOrder.OrderNumber = order.OrderNumber; response = ops.EditOrder(newOrder,orderDate); Console.ForegroundColor = ConsoleColor.White; Console.WriteLine(response.Message); Console.ForegroundColor = ConsoleColor.Yellow; UserPrompts.KeyToContinue(); } }
public Order CompleteOrder(Order order) { var taxOps = OperatorFactory.CreateTaxOperations(); var prodOps = OperatorFactory.CreateProductOperations(); order.CostPerSquareFoot = prodOps.GetMaterialPerSquareFoot(order.ProductType).Data; order.LaborCostPerSquareFoot = prodOps.GetLaborPerSquareFoot(order.ProductType).Data; order.MaterialCost = order.CostPerSquareFoot * order.Area; order.LaborCost = order.LaborCostPerSquareFoot * order.Area; order.TaxRate = taxOps.GetRate(order.State).Data; order.Tax = Math.Round((order.MaterialCost + order.LaborCost) * order.TaxRate / 100M, 2); order.Total = (order.MaterialCost + order.LaborCost) + order.Tax; return order; }
public bool Confirm(Order order) { var ops = OperatorFactory.CreateOrderOperations(); if (!ops.ValidTaxAndProduct(order)) { return false; } order = ops.CompleteOrder(order); Console.ForegroundColor = ConsoleColor.White; Console.WriteLine(OrderConversion.OrderConvert(order)); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Confirm this order?"); return UserPrompts.PromptForYesNo(); }
public virtual System.Web.Mvc.ActionResult Create(Models.Order order) { if (ModelState.IsValid) { UnitOfWork.OrdersRepository.Insert(order); UnitOfWork.Save(); return(RedirectToAction(MVC.Order.Index())); } ViewBag.ProductId = new System.Web.Mvc.SelectList (UnitOfWork.ProductsRepository.Get(), "Id", "Title", order.ProductId); return(View(order)); }
public virtual System.Web.Mvc.ActionResult Edit(System.Guid id) { Models.Order oOrder = UnitOfWork.OrdersRepository.Get() .Where(current => current.Id == id) .FirstOrDefault() ; if (oOrder == null) { return(HttpNotFound()); } ViewBag.ProductId = new System.Web.Mvc.SelectList (UnitOfWork.ProductsRepository.Get(), "Id", "Title", oOrder.ProductId); return(View(oOrder)); }
public Order GetOrder(int orderNumber, DateTime orderDate) { var myOrder = new Order { Area = 100.00M, CostPerSquareFoot = 5.15M, CustomerName = "Wise", LaborCost = 475.00M, LaborCostPerSquareFoot = 4.75M, MaterialCost = 515M, OrderNumber = 1, ProductType = "Wood", State = "OH", Tax = 61.88M, Total = 1051.88M }; return myOrder; }
public virtual System.Web.Mvc.ActionResult Edit(Models.Order order) { order.UpdateDateTime = Infrastructure.Utility.Now; if (ModelState.IsValid) { UnitOfWork.OrdersRepository.Update(order); UnitOfWork.Save(); return(RedirectToAction(MVC.Order.Index())); } ViewBag.ProductId = new System.Web.Mvc.SelectList (UnitOfWork.ProductsRepository.Get(), "Id", "Title", order.ProductId); return(View(order)); }
public ActionResult CreateOrder(Order order) { try { if (ModelState.IsValid) { _service.ProcessOrder(order); var context = GlobalHost.ConnectionManager.GetHubContext<ExchangeHub>(); context.Clients.All.refresh(); return PartialView("CreateOrder", order); } } catch (Exception ex) { // log ex.ToString() ModelState.AddModelError(string.Empty, ex.ToString()); } return PartialView("CreateOrder", order); }
// // GET: /Order/Create public ActionResult Create() { var customers = customerRepository.Fetch().ToList(); var order = new Order(); var model = new OrderCustomer() { Customers = customers.Select( x => new SelectListItem() { Text = x.FirstName, Value = x.ID.ToString() }), Order = order }; return View("Create", model); }
private async Task OnOptionSelected(IDialogContext context, IAwaitable <IMessageActivity> result) { var message = await result; if (message.Text == Resources.RootDialog_Welcome_Orders) { this.order = new Models.Order(); var addressDialog = this.dialogFactory.Create <AddressDialog, string>(string.Format(CultureInfo.CurrentCulture, Resources.RootDialog_DeliveryAddress_Prompt, message.From.Name)); context.Call(addressDialog, this.AfterDeliveryAddress); } else if (message.Text == Resources.RootDialog_Welcome_Support) { await this.StartOverAsync(context, Resources.RootDialog_Support_Message); } else { await this.StartOverAsync(context, Resources.RootDialog_Welcome_Error); } }
public ActionResult CartToOrder() { //当前用户 var customer = Session["user"] as Customer; //当前用户的购物车 var cart = bse.Carts.Where(c => c.customerId == customer.id).FirstOrDefault(); //为当前用户创建一个订单 Models.Order order = new Models.Order() { num = cart.num, price = cart.price, customer = cart.customerId, ordernum = Guid.NewGuid().ToString(), status = 0, receiverAddress = customer.address, receiverName = customer.username, receiverPhone = customer.telephone }; order = bse.Orders.Add(order); //为订单添加明细 foreach (var item in cart.CartItems) { var orderItem = new Models.OrdersItem() { num = item.num, price = item.price, bookId = item.bookId, ordersId = order.id }; order.OrdersItems.Add(orderItem); } //清空购物车 bse.Carts.Remove(cart); bse.SaveChanges(); return(Redirect("~/Home/OrderInfo?orderId=" + order.id)); }
List <Models.Order> IOrder.ReturnAllOrdersBasedOnCustomer(int id) { List <Models.Order> ListOfOrders = new List <Models.Order>(); List <Order> query = _context.Orders.Where(p => p.CustomerId.Equals(id)).ToList(); foreach (var i in query) { Models.Order order = new Models.Order(); order.Id = i.Id; order.Date = i.DatePlaced; order.CustomerID = i.CustomerId; order.StoreID = i.StoreId; ListOfOrders.Add(order); } return(ListOfOrders); }
List <Models.Order> IStore.FindStoreOrderHistory(int store) { List <Models.Order> ListOfOrders = new List <Models.Order>(); List <Order> query = _context.Orders.Where(x => x.StoreId.Equals(store)).ToList(); foreach (var i in query) { Models.Order order = new Models.Order(); order.Id = i.Id; order.Date = i.DatePlaced; order.CustomerID = i.CustomerId; order.StoreID = i.StoreId; ListOfOrders.Add(order); } return(ListOfOrders); }
public RedirectToRouteResult ConfirmOrder() { ShoppingCart cart = ShoppingCart.GetCart(this.HttpContext); Order order = new Order(); Customer cus = db.Customers.SingleOrDefault(c => c.UserName == User.Identity.Name); MembershipUser msu = Membership.GetUser(); if (cus != null) { order.Firstname = cus.Name; order.Lastname = cus.LastName; order.Phone = cus.Mobile; order.Email = msu.Email; order.Total = cart.GetTotal(); } order.Username = User.Identity.Name; order.OrderStatus = OrderStatus.Pending; order.OrderDate = DateTime.Now; db.Orders.Add(order); db.SaveChanges(); Session[OrderNumber] = cart.CreateOrder(order); return RedirectToAction("Payment"); }
public static string OrderConvert(Order order) { if (order.OrderNumber == 0) { return string.Format( "\tCustomer: {0,34}\n" + "\tArea: {1,38}\n" + "\tState: {2,37}\n" + "\tTax Rate: {3,34}\n" + "\tProduct Type: {4,30}\n" + "\tMaterial Cost Per Square Foot: {5,13}\n" + "\tLabor Cost Per Square Foot: {6,16}\n" + "\tTotal Material Cost: {7,23}\n" + "\tTotal Labor Cost: {8,26}\n" + "\tTax: {9,39}\n" + "\tTotal: {10,37}\n", order.CustomerName, order.Area, order.State, order.TaxRate, order.ProductType, order.CostPerSquareFoot, order.LaborCostPerSquareFoot, order.MaterialCost, order.LaborCost, order.Tax, order.Total); } return string.Format( "\nOrder Number: {0,31}\n" + "\tCustomer: {1,34}\n" + "\tArea: {2,38}\n" + "\tState: {3,37}\n" + "\tTax Rate: {4,34}\n" + "\tProduct Type: {5,30}\n" + "\tMaterial Cost Per Square Foot: {6,13}\n" + "\tLabor Cost Per Square Foot: {7,16}\n" + "\tTotal Material Cost: {8,23}\n" + "\tTotal Labor Cost: {9,26}\n" + "\tTax: {10,39}\n" + "\tTotal: {11,37}\n", order.OrderNumber, order.CustomerName, order.Area, order.State, order.TaxRate, order.ProductType, order.CostPerSquareFoot, order.LaborCostPerSquareFoot, order.MaterialCost, order.LaborCost, order.Tax, order.Total); }
public int CreateOrder(Order order) { decimal orderTotal = 0; var cartItems = GetCartItems(); foreach (var item in cartItems) { var orderDetail = new OrderDetail { ProductId = item.ProductID, OrderId = order.OrderID, UnitPrice = item.Price, Quantity = item.Quantity }; orderTotal += (item.Quantity * item.Price); storeDB.OrderDetails.Add(orderDetail); } order.OrderStatus = OrderStatus.Pending; order.Total = orderTotal; storeDB.SaveChanges(); EmptyCart(); return order.OrderID; }
public ActionResult CallBack(string authority, string status) { String Status = status; CallBackViewModel callBack = new CallBackViewModel(); if (Status != "OK") { callBack.IsSuccess = false; callBack.RefrenceId = "414"; Order order = GetOrderByAuthority(authority); if (order != null) { callBack.Order = order; callBack.OrderDetails = db.OrderDetails .Where(c => c.OrderId == order.Id && c.IsDeleted == false).Include(c => c.Product).ToList(); } } else { try { var zarinpal = ZarinPal.ZarinPal.Get(); zarinpal.EnableSandboxMode(); String Authority = authority; long Amount = GetAmountByAuthority(Authority); var verificationRequest = new ZarinPal.PaymentVerification(MerchantId, Amount, Authority); var verificationResponse = zarinpal.InvokePaymentVerification(verificationRequest); if (verificationResponse.Status == 100 || verificationResponse.Status == 101) { Order order = GetOrderByAuthority(authority); if (order != null) { order.IsPaid = true; order.PaymentDate = DateTime.Now; order.RefId = verificationResponse.RefID; db.SaveChanges(); callBack.Order = order; callBack.IsSuccess = true; callBack.OrderCode = order.Code.ToString(); callBack.RefrenceId = verificationResponse.RefID; callBack.OrderDetails = db.OrderDetails .Where(c => c.OrderId == order.Id && c.IsDeleted == false).Include(c => c.Product).ToList(); foreach (OrderDetail orderDetail in callBack.OrderDetails) { Product product = orderDetail.Product; product.Quantity = orderDetail.Product.Quantity - 1; if (product.Quantity == 0) { product.IsAvailable = false; } db.SaveChanges(); } } else { callBack.IsSuccess = false; callBack.RefrenceId = "سفارش پیدا نشد"; } } else { callBack.IsSuccess = false; callBack.RefrenceId = verificationResponse.Status.ToString(); } } catch (Exception e) { callBack.IsSuccess = false; callBack.RefrenceId = "خطا سیستمی. لطفا با پشتیبانی سایت تماس بگیرید"; } } ViewBag.HeaderImage = db.Texts.Where(x => x.TextType.Name == "returnfrombank").FirstOrDefault().ImageUrl; return(View(callBack)); }
public void SellPriceMustBeLessOrEqualThenBuyPrice() { // 1) цена продажи не выше чем цена покупки var buy1 = new Order { OrderType = OrderType.Buy, TotalAmount = 5, Price = 10 }; var buy2 = new Order { OrderType = OrderType.Buy, TotalAmount = 5, Price = 11 }; var buy3 = new Order { OrderType = OrderType.Buy, TotalAmount = 5, Price = 12 }; var sellOrder = new Order { OrderType = OrderType.Sell, TotalAmount = 5, Price = 15}; _service.ProcessOrder(buy1); _service.ProcessOrder(buy2); _service.ProcessOrder(buy3); _service.ProcessOrder(sellOrder); var realTrades = _service.GetTradeHistory(); Assert.AreEqual(realTrades.Count, 0); }
/// <summary> /// Place an order for a pet /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='body'> /// order placed for purchasing the pet /// </param> /// <param name='cancellationToken'> /// The cancellation token. /// </param> public static async Task<Order> PlaceOrderAsync(this ISwaggerPetstore operations, Order body = default(Order), CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.PlaceOrderWithHttpMessagesAsync(body, null, cancellationToken).ConfigureAwait(false)) { return _result.Body; } }
public bool ProcessOrder(List<PartOrder> partOrders, string phoneNr, string address) { //Create the user to be inserted into the database. UserDB userDB = new UserDB(); User user = userDB.GetUserByPhone(phoneNr); //if the user does not exist already, create one. if (user == null) { user = new User(); user.PhoneNumber = phoneNr; user.RankID = 0; user.Create(); } //Create the address to be inserted into the database. AddressDB addressDB = new AddressDB(); Address userAddress = addressDB.GetByAddress(address); //if the address does not exist already, create one. if (userAddress == null) { userAddress = new Address(); userAddress.UserAddress = address; userAddress.UserID = user.ID; userAddress.Create(); } //Create the order to be inserted to the database Order order = new Order(); order.AddressID = userAddress.ID; order.UserID = user.ID; order.StatusID = OrderStatus.WAITING; order.Create(); //The partorders are inserted to the database PartOrderDB poDB = new PartOrderDB(); //For debugging Part Orders when something happens. CustomHandlers.DatabaseLibrary.Response<PartOrder> r = poDB.CreateBatch(order.ID, partOrders); foreach (string s in r.Messages) { Console.WriteLine(s); } return r.Success; }
public bool ValidTaxAndProduct(Order order) { var taxOps = OperatorFactory.CreateTaxOperations(); var prodOps = OperatorFactory.CreateProductOperations(); if (!prodOps.IsValidProduct(order.ProductType).Data) { Console.WriteLine("We do not carry that product type."); return false; } if (!taxOps.IsValidState(order.State).Data) { Console.WriteLine("We do not operate within that state."); return false; } return true; }
public ActionResult CreateOrder(OrderType orderType) { var order = new Order { OrderType = orderType }; return PartialView("CreateOrder", order); }
public ActionResult Finalize(string notes, string email, string cellNumber, string activationCode, string city, string address, string postal) { try { cellNumber = cellNumber.Replace("۰", "0").Replace("۱", "1").Replace("۲", "2").Replace("۳", "3").Replace("۴", "4").Replace("۵", "5").Replace("۶", "6").Replace("v", "7").Replace("۸", "8").Replace("۹", "9"); activationCode = activationCode.Replace("۰", "0").Replace("۱", "1").Replace("۲", "2").Replace("۳", "3").Replace("۴", "4").Replace("۵", "5").Replace("۶", "6").Replace("v", "7").Replace("۸", "8").Replace("۹", "9"); User user = db.Users.Where(current => current.CellNum == cellNumber).FirstOrDefault(); if (user != null) { ActivationCode activation = IsValidActivationCode(user.Id, activationCode); if (activation != null) { ActivateUser(user, activationCode); UpdateActivationCode(activation, null, null, null, null); db.SaveChanges(); List <ProductInCart> productInCarts = GetProductInBasketByCoockie(); Order order = ConvertCoockieToOrder(productInCarts, user.Id, notes, email, city, address, postal); RemoveCookie(); string res = ""; if (order.TotalAmount == 0) { res = "freecallback?orderid=" + order.Id; } else { res = zp.ZarinPalRedirect(order, order.TotalAmount); } return(Json(res, JsonRequestBehavior.AllowGet)); } if (user.IsActive && user.Password == activationCode) { List <ProductInCart> productInCarts = GetProductInBasketByCoockie(); Order order = ConvertCoockieToOrder(productInCarts, user.Id, notes, email, city, address, postal); RemoveCookie(); string res = ""; if (order.TotalAmount == 0) { res = "freecallback?orderid=" + order.Id; } else { res = zp.ZarinPalRedirect(order, order.TotalAmount); } return(Json(res, JsonRequestBehavior.AllowGet)); } } return(Json("invalid", JsonRequestBehavior.AllowGet)); } catch (Exception e) { return(Json("false", JsonRequestBehavior.AllowGet)); } }
public void TestBCanAddOrder() { var repo = new OrderRepository(); var order = new Order { OrderNumber = 1, CustomerName = "Jerry", State = "OH", TaxRate = 6.25M, ProductType = "Wood", Area = 100, CostPerSquareFoot = 5.15M, LaborCostPerSquareFoot = 4.75M, MaterialCost = 515.00M, LaborCost = 475.00M, Tax = 61.88M, Total = 1051.88M }; repo.AddOrder(order); var result = repo.GetOrder(1, DateTime.Today); Assert.AreEqual(1, result.OrderNumber); Assert.AreEqual("Jerry", result.CustomerName); Assert.AreEqual("OH", result.State); Assert.AreEqual(6.25, result.TaxRate); Assert.AreEqual("Wood", result.ProductType); Assert.AreEqual(100.00, result.Area); Assert.AreEqual(5.15, result.CostPerSquareFoot); Assert.AreEqual(4.75, result.LaborCostPerSquareFoot); Assert.AreEqual(515.00, result.MaterialCost); Assert.AreEqual(475.00, result.LaborCost); Assert.AreEqual(61.88, result.Tax); Assert.AreEqual(1051.88, result.Total); }
public void BuyPriceMustBeMoreOrEqualThanSellPrice() { // 1) цена покупки не ниже чем цена продажи var sell1 = new Order { OrderType = OrderType.Sell, TotalAmount = 5, Price = 10 }; var sell2 = new Order { OrderType = OrderType.Sell, TotalAmount = 5, Price = 11 }; var sell3 = new Order { OrderType = OrderType.Sell, TotalAmount = 5, Price = 9 }; var buyOrder = new Order { OrderType = OrderType.Buy, TotalAmount = 5, Price = 5 }; _service.ProcessOrder(sell1); _service.ProcessOrder(sell2); _service.ProcessOrder(sell3); _service.ProcessOrder(buyOrder); var realTrades = _service.GetTradeHistory(); Assert.AreEqual(realTrades.Count, 0); }
/// <summary> /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='body'> /// order placed for purchasing the pet /// </param> public static Order PlaceOrder(this ISwaggerPetstoreV2 operations, Order body) { return Task.Factory.StartNew(s => ((ISwaggerPetstoreV2)s).PlaceOrderAsync(body), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); }
public Order ConvertCoockieToOrder(List <ProductInCart> products, Guid userid, string note, string email, string city, string address, string postal) { try { Order order = new Order(); int expiredNum = 0; Guid?cityId = null; if (!string.IsNullOrEmpty(city) && city != "0") { cityId = new Guid(city); } order.Id = Guid.NewGuid(); order.IsActive = true; order.IsDeleted = false; order.IsPaid = false; order.CreationDate = DateTime.Now; order.LastModifiedDate = DateTime.Now; order.Code = FindeLastOrderCode() + 1; order.UserId = userid; order.Description = note; order.Email = email; order.CityId = cityId; order.Address = address; order.PostalCode = postal; decimal subtotal = GetSubtotal(products); order.Amount = subtotal; order.DiscountAmount = GetDiscount(); order.TotalAmount = Convert.ToDecimal(subtotal - order.DiscountAmount); db.Orders.Add(order); db.SaveChanges(); foreach (ProductInCart product in products) { decimal amount = product.Product.Amount; if (product.Product.IsInPromotion && product.Product.DiscountAmount != null) { amount = product.Product.DiscountAmount.Value; } OrderDetail orderDetail = new OrderDetail() { ProductId = product.Product.Id, Quantity = product.Quantity, RawAmount = amount * product.Quantity, IsDeleted = false, IsActive = true, CreationDate = DateTime.Now, OrderId = order.Id, Amount = product.Product.Amount, }; db.OrderDetails.Add(orderDetail); db.SaveChanges(); } return(order); } catch (Exception e) { return(null); } }
/// <summary> /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='body'> /// order placed for purchasing the pet /// </param> /// <param name='cancellationToken'> /// The cancellation token. /// </param> public static async Task<Order> PlaceOrderAsync( this ISwaggerPetstoreV2 operations, Order body, CancellationToken cancellationToken = default(CancellationToken)) { HttpOperationResponse<Order> result = await operations.PlaceOrderWithHttpMessagesAsync(body, null, cancellationToken).ConfigureAwait(false); return result.Body; }
public Response<Order> NewOrder(Order orderToAdd) { var response = new Response<Order>(); orderToAdd = CompleteOrder(orderToAdd); try { var orders = _myOrderRepository.GetAllOrders(DateTime.Today); if (orders.LongCount() > 0) orderToAdd.OrderNumber = orders.Max(o => o.OrderNumber) + 1; else orderToAdd.OrderNumber = 1; _myOrderRepository.AddOrder(orderToAdd); response.Data = orderToAdd; response.Success = true; response.Message = "Order "+ orderToAdd.OrderNumber + " added."; } catch (Exception ex) { response.Message = ex.Message; try { var repo = new LogRepository(); repo.WriteLog(ex.Message); } catch { response.Message += "\nCould not write to log file."; } } return response; }