private void getInValidatedOrders() { OrderManager businessLayer = new OrderManager(); List<OrderId> invalidOrders = businessLayer.getAllInvalidOrders(); OrderCompletionLinksRepeater.DataSource = invalidOrders; OrderCompletionLinksRepeater.DataBind(); }
public void UpdateOrder_AddNew() { var newOrder = new Order(); var addedOrder = new Order { Id = 1 }; Mock<IDataRepositoryFactory> mockDataRepositoryFactory = new Mock<IDataRepositoryFactory>(); mockDataRepositoryFactory.Setup(mock => mock.GetDataRepository<IOrderRepository>().Add(newOrder)).Returns(addedOrder); OrderManager manager = new OrderManager(mockDataRepositoryFactory.Object); var resultedOrder = manager.UpdateOrder(newOrder); Assert.AreEqual(addedOrder, resultedOrder); }
public void UpdateOrder_UpdateExisting() { var existingOrder = new Order { Id = 1, Notes = "1"}; var updatedOrder = new Order { Id = 1, Notes = "2"}; Mock<IDataRepositoryFactory> mockDataRepositoryFactory = new Mock<IDataRepositoryFactory>(); mockDataRepositoryFactory.Setup(mock => mock.GetDataRepository<IOrderRepository>().Update(existingOrder)).Returns(updatedOrder); OrderManager manager = new OrderManager(mockDataRepositoryFactory.Object); var resultedOrder = manager.UpdateOrder(existingOrder); Assert.AreEqual(updatedOrder, resultedOrder); }
public void Order_GetAll() { var orders = new[] { new Order {Id = 1, Notes = "Order 1"}, new Order {Id = 2, Notes = "Order 2"} }; Mock<IDataRepositoryFactory> mockDataRepositoryFactory = new Mock<IDataRepositoryFactory>(); mockDataRepositoryFactory.Setup(mock => mock.GetDataRepository<IOrderRepository>().Get()).Returns(orders); OrderManager manager = new OrderManager(mockDataRepositoryFactory.Object); var resultedOrder = manager.GetAllOrders(); Assert.AreEqual(orders.Length, resultedOrder.Length); }
protected void btnCalculateOrder_Click(object sender, EventArgs e) { double totalCost = 0; String[] items = SessionVariableManager.getOrderItems(); List<InventoryItem> inventoryItems = new List<InventoryItem>(); List<Double> orderedAmount = new List<Double>(); foreach (String item in items) { if (item != "") { inventoryItems.Add(InventoryManager.getSingleItem(Convert.ToInt32(item))); } } foreach (RepeaterItem rptItem in rptOrderItem.Items) { TextBox orderItemTextBox = (TextBox)rptItem.FindControl("txtCount"); String amountOrdered = orderItemTextBox.Text; orderedAmount.Add(Convert.ToDouble(amountOrdered)); } for (int i = 0; i < inventoryItems.Count; i++) { OrderManager orderManager = new OrderManager(); totalCost = orderManager.getTotalOrderCost(inventoryItems, orderedAmount); } lblMessage.Text = "Your total is: " + string.Format("{0:C}", totalCost); if (cbCollectOnDelivery.Checked) { txtPaymentAmount.Text = (totalCost * .1).ToString(); txtPaymentAmount.Enabled = true; paymentAmountValidator.MinimumValue = (totalCost * .1).ToString(); paymentAmountValidator.MaximumValue = totalCost.ToString(); } else { txtPaymentAmount.Text = totalCost.ToString(); txtPaymentAmount.Enabled = false; } }
protected void Page_Load(object sender, EventArgs e) { String userName = Security.getUsername(); OrderManager orderManager = new OrderManager(); List<UserOrder> userOrders = orderManager.getUserOrders(userName); ExistingOrdersHeaderRepeater.DataSource = userOrders; ExistingOrdersHeaderRepeater.DataBind(); for (int i = 0; i < userOrders.Count; i++) { try { Repeater innerRepeater = (Repeater)ExistingOrdersHeaderRepeater.Items[i].FindControl("ExistingOrderItemRepeater"); innerRepeater.DataSource = userOrders[i].orderItems; innerRepeater.DataBind(); } catch (Exception ex) { } } }
private void loadSingleOrder(int viewOrderId) { OrderManager businessLayer = new OrderManager(); cisseniorproject.dataobjects.Order order = businessLayer.getOrder(viewOrderId); lblUserId.Text = order.getUserId().ToString(); lblUsername.Text = order.getPaymentInformation().getUser().getUsername(); lblFirstName.Text = order.getPaymentInformation().getUser().getFirstName(); lblLastName.Text = order.getPaymentInformation().getUser().getLastName(); lblAddress.Text = order.getPaymentInformation().getUser().getAddress(); lblCity.Text = order.getPaymentInformation().getUser().getCity(); lblState.Text = order.getPaymentInformation().getUser().getState(); lblZipCode.Text = order.getPaymentInformation().getUser().getZipCode(); lblAccountCreationDate.Text = order.getPaymentInformation().getUser().getAccountCreationDate().ToShortDateString(); lblEmail.Text = order.getPaymentInformation().getUser().getEamil(); lblCreditCardType.Text = order.getPaymentInformation().getCreditCardType(); lblCreditCardNumber.Text = order.getPaymentInformation().getCreditCardNumber(); lblCardCity.Text = order.getPaymentInformation().getCity(); lblCardState.Text = order.getPaymentInformation().getState(); lblCardExpDate.Text = order.getPaymentInformation().getCardExpDate().ToShortDateString(); lblCardSecurityCode.Text = order.getPaymentInformation().getSecurityCode(); lblOrderId.Text = order.getOrderId().ToString(); lblOrderUserId.Text = order.getUserId().ToString(); cbIsValidated.Checked = order.isOrderValidated(); cbIsCompleted.Checked = order.isOrderCompleted(); cbIsCollectOnDelivery.Checked = order.getCollectOnDelivery(); lblPaymentAmount.Text = String.Format("{0:C}",order.getPaymentAmount()); lblTotalOrderAmount.Text = String.Format("{0:C}", businessLayer.getOrderTotal()); lblAmountDue.Text = String.Format("{0:C}", businessLayer.getAmountDue()); List<UserOrderItem> orderItems = businessLayer.getOrderItems(order); rptOrderItems.DataSource = orderItems; rptOrderItems.DataBind(); }
private List<Order> GetData(bool paged, out int count) { List<Order> orders = null; OrderManager oManager = new OrderManager(StaticDataHelper.FCCLDbContext); #region filter DateTime date; long no; DateTime? receiveDateStart = null; DateTime? receiveDateEnd = null; long? orderNoStart = null; long? orderNoEnd = null; if (!string.IsNullOrWhiteSpace(txtRDStart.Text)) { if (DateTime.TryParseExact(txtRDStart.Text, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out date)) { receiveDateStart = date; } else { receiveDateStart = null; } } if (!string.IsNullOrWhiteSpace(txtRDEnd.Text)) { if (DateTime.TryParseExact(txtRDEnd.Text, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out date)) { receiveDateEnd = date; } else { receiveDateEnd = null; } } if (!string.IsNullOrWhiteSpace(txtONStart.Text)) { if (long.TryParse(txtONStart.Text, out no)) { orderNoStart = no; } else { orderNoStart = null; } } if (!string.IsNullOrWhiteSpace(txtONEnd.Text)) { if (long.TryParse(txtONEnd.Text, out no)) { orderNoEnd = no; } else { orderNoEnd = null; } } #endregion if (paged) { orders = oManager.GetOrdersPaged(receiveDateStart, receiveDateEnd, orderNoStart, orderNoEnd, txtCN.Text, grdOrders.PageIndex, grdOrders.PageSize); count = oManager.GetOrdersCount(receiveDateStart, receiveDateEnd, orderNoStart, orderNoEnd, txtCN.Text); } else { orders = oManager.GetOrdersFiltered(receiveDateStart, receiveDateEnd, orderNoStart, orderNoEnd, txtCN.Text); count = orders.Count; } return orders; }
public void ImportFisReceptie(string filepath) { Ferme_CCL ferma = new Ferme_CCL(); bool error = false; string strcodbare; string strConn; int posOfSlash = filepath.LastIndexOf(@"\"); strConn = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + filepath + ";" + "Extended Properties='Excel 8.0;HDR=No;IMEX=1'"; OleDbConnection cn; DataTable dtTables; cn = new OleDbConnection(strConn); cn.Open(); dtTables = cn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" }); string tblstr = dtTables.Rows[dtTables.Rows.Count - 1]["TABLE_NAME"].ToString(); string tbldate = tblstr.Substring(4, 8); string filelogpath = filepath.Substring(0, filepath.Length - 4) + "_" + tbldate + ".txt"; string filelogInhibpath = filepath.Substring(0, filepath.Length - 4) + "_Inhib" + tbldate + ".txt"; string logfilename = filelogpath.Substring(posOfSlash + 1); filelogpath = filelogpath.Replace(" ", "_"); logfilename = logfilename.Replace(" ", "_"); loggerReceptie.Info("*************************************************************************************************"); loggerReceptie.Info("*************************************************************************************************"); loggerReceptie.Info("Start import receptie fisier: {0}, data: {1}, numet sheet: {2}", filepath, DateTime.Now, tblstr); // end log files filepath = filepath.Replace(@"\", @"\\"); OleDbDataAdapter myCommand = new OleDbDataAdapter(); myCommand.SelectCommand = new OleDbCommand("SELECT * FROM [" + tblstr + "]", cn); DataSet myDataSet = new DataSet(); myCommand.Fill(myDataSet); DataTable table; table = myDataSet.Tables[0]; cn.Close(); // For each row, print the values of each column. string ferma_ccl_cod = ""; string crot = ""; string rasa = ""; int ferma_ccl_id = 0; int fabricaID = 0; int header = 0; string prelevator = ""; double prelid; bool isNum; string prelevatorini = table.Rows[0][1].ToString(); List<Order> orders = new List<Order>(); OrderManager oManager = new OrderManager(ctx); if (!VerificareFisierReceptie(table, 6, 5)) { loggerReceptie.Error("Eroare la verificare fisierului, oprire import"); return; } foreach (DataRow row in table.Rows) { header++; if (header > 2 && row[3].ToString().Trim() != "") { error = false; strcodbare = row[3].ToString().Trim(); if (ExistaCodBare(strcodbare) != 0) { loggerReceptie.Info("Codul de bare: {0} exista deja", strcodbare); error = true; } else { DateTime datat_testare = new DateTime(int.Parse(tblstr.Substring(8, 4)), int.Parse(tblstr.Substring(6, 2)), int.Parse(tblstr.Substring(4, 2))); // strDataPrelevare = row[5].ToString().Trim().Replace(@".", @"\"); DateTime dataPrelevare = DateTime.ParseExact(row[5].ToString().Trim(), "dd/MM/yyyy", new CultureInfo("fr-FR")); prelevator = row[1].ToString().Trim(); /* if (prelevator == "") prelevator = prelevatorini; else prelevatorini = prelevator; */ isNum = double.TryParse(prelevator, NumberStyles.Integer, CultureInfo.CreateSpecificCulture("en-GB"), out prelid); if (!isNum) { loggerReceptie.Info("La codul de bare: {0} nu exista prelevator.", strcodbare); error = true; } else { crot = strcodbare.Substring(0, 7); // verific crotalia ferma_ccl_cod = crot; ferma_ccl_id = ferma.GetFermeId(crot); rasa = ferma.GetFermeRasa(crot); if (ferma_ccl_id == 0) { error = true; loggerReceptie.Info("Nu exista crotalie pt. codul: {0}, crotalie: {1}", strcodbare, crot); } string farmName; fabricaID = ferma.GetFerma(ferma_ccl_id, out farmName); if (!error) { try { DateTime dataPrimirii = DateTime.ParseExact(row[6].ToString().Trim(), "dd/MM/yyyy", new CultureInfo("fr-FR")); //DateTime dataPrimirii; //if (!DateTime.TryParse(row[6].ToString().Trim(), new CultureInfo("fr-FR"), DateTimeStyles.None, out dataPrimirii)) //{ // dataPrimirii = DateTime.Now; //} string nrComanda = row[0].ToString().Trim(); AddMostra(0, Convert.ToInt32(row[2].ToString().Trim()), strcodbare, nrComanda, ferma_ccl_cod, ferma_ccl_id, fabricaID, "" , "0", "0", "0", "0", "0", dataPrelevare, "0", dataPrimirii, "0", datat_testare, "0", Convert.ToInt32(prelevator), "", 0, 0, datat_testare, "0", "0", "0", rasa); loggerReceptie.Info( "Mostra cod bare {0} pentru ferma Id {1}, fabrica Id {2}, nr comanda {3} adaugata cu succes.", strcodbare, ferma_ccl_id, fabricaID, nrComanda); Order currentOrder = orders.FirstOrDefault(o => o.FullOrderNumber == nrComanda); if (currentOrder != null) { currentOrder.SampleCount++; currentOrder.AnalyzedSampleCount++; } else { string[] arr = nrComanda.Split('-', '/'); int orderNumber; if (arr.Length == 3 && int.TryParse(arr[1], out orderNumber)) { //if (!DateTime.TryParse(row[5].ToString().Trim(), new CultureInfo("fr-FR"), DateTimeStyles.None, out dataPrelevare)) //{ // dataPrelevare = DateTime.Now; //} currentOrder = new Order { AnalyzedSampleCount = 1, ClientId = fabricaID > 0 ? fabricaID : -1, ClientName = farmName + " (" + fabricaID + ")", FullOrderNumber = nrComanda, Imported = true, OrderNumber = orderNumber, ReceivedDate = dataPrimirii, SampleCount = 1, SampleDate = dataPrelevare }; orders.Add(currentOrder); } else { loggerReceptie.Info("Adaugare comanda esuata: {0}", nrComanda); } } } catch (Exception ex) { loggerReceptie.Info("Adaugare mostra esuata: {0}, err: {1}", strcodbare, ex.Message); throw; } } } } } } oManager.Save(orders); ctx.SaveChanges(); loggerReceptie.Info("Importarea fisierului de receptie a fost efectuata!"); }
public OrderServices() { orderManager = new OrderManager(); }
protected void btnValidateOrder_Click(object sender, EventArgs e) { OrderManager businessLayer = new OrderManager(); businessLayer.validateOrder(Convert.ToInt32(lblOrderId.Text)); loadSingleOrder(Convert.ToInt32(lblOrderId.Text)); }
public ValuesController(OrderManager orderManager) { this.OrderManager = orderManager; }
public void Execute() { OrderManager manager = OrderManagerFactory.Create(); DateTime orderDate = new DateTime().Date; Order order = new Order(); List <Order> Orders = new List <Order>(); OrderLookupResponse lookupResponse = new OrderLookupResponse(); bool orderExists; EditOrderInFile editInFile = new EditOrderInFile(); PrintReceipt print = new PrintReceipt(); EditOrderFile editFile = new EditOrderFile(); Console.Clear(); Console.WriteLine("Edit an order"); Console.WriteLine(TextHelper.ConsoleBar); Console.WriteLine("Please enter the following information...."); Console.WriteLine(); while (true) { Console.WriteLine("Date of order: "); if (DateTime.TryParse(Console.ReadLine(), out orderDate)) { order.Date = orderDate; break; } Console.WriteLine("You did not enter a valid date format. Press any key to continue..."); Console.ReadKey(); } while (true) { lookupResponse = manager.LookupOrder(order.Date); if (lookupResponse != null) { Orders = lookupResponse.Orders; } if (lookupResponse.success) { break; } else { Console.WriteLine("An error occurred."); Console.WriteLine(lookupResponse.message); continue; } } while (true) { Console.Clear(); ConsoleIO.DisplayOrderDetails(lookupResponse.Orders); int orderNumber; Console.WriteLine("Order number: "); if (int.TryParse(Console.ReadLine(), out orderNumber)) { order.OrderNumber = orderNumber; } else { Console.WriteLine("You did not enter a number. Press any key to continue..."); Console.ReadKey(); } string filePath = FilePath.GetFilePath(order.Date); Orders = ReadOrdersFromFile.ReadOrders(filePath); orderExists = editInFile.CheckOrderNumberExists(Orders, order.OrderNumber); if (!orderExists) { Console.WriteLine("That order number does not exist for the date you entered. Press any key to continue..."); Console.ReadKey(); continue; } else { Order singleOrder = Orders.Where(ord => ord.OrderNumber == order.OrderNumber).Single(); order = singleOrder; } while (true) { print.Print(order); Console.WriteLine("Are you sure you want to delete this order? (Y/N)?"); string userInput = Console.ReadLine().ToUpper(); switch (userInput) { case "Y": RemoveOrderFile remove = new RemoveOrderFile(); remove.RemoveOrderFromList(Orders, order, order.Date); editFile.EditOrderToFile(Orders, order.Date); Console.WriteLine("Remove has been saved! Press any key to continue..."); Console.ReadKey(); break; case "N": Console.WriteLine("Remove has been canceled. Press any key to continue..."); Console.ReadKey(); break; default: Console.WriteLine("That was not a valid entry! Press any key to continue..."); Console.ReadKey(); continue; } break; } break; } }
protected void Page_Load(object sender, EventArgs e) { if (NopContext.Current.User == null) { string loginURL = SEOHelper.GetLoginPageUrl(true); Response.Redirect(loginURL); } CommonHelper.SetResponseNoCache(Response); if (!Page.IsPostBack) { if (EPaymentFormSettings.UsePIN && !EPaymentFormHelper.ValidateResponseSign(Request.Form)) { Response.Redirect(CommonHelper.GetStoreLocation()); } if (!Request.Form["UMstatus"].Equals("Approved")) { Response.Redirect(CommonHelper.GetStoreLocation()); } int orderId = 0; if (!Int32.TryParse(Request.Form["UMinvoice"], out orderId)) { Response.Redirect(CommonHelper.GetStoreLocation()); } Order order = OrderManager.GetOrderById(orderId); if (order == null || NopContext.Current.User.CustomerId != order.CustomerId) { Response.Redirect(CommonHelper.GetStoreLocation()); } string transactionId = Request.Form["UMrefNum"]; if (EPaymentFormSettings.AuthorizeOnly) { //set AuthorizationTransactionID order = OrderManager.UpdateOrder(order.OrderId, order.OrderGuid, order.CustomerId, order.CustomerLanguageId, order.CustomerTaxDisplayType, order.CustomerIP, order.OrderSubtotalInclTax, order.OrderSubtotalExclTax, order.OrderShippingInclTax, order.OrderShippingExclTax, order.PaymentMethodAdditionalFeeInclTax, order.PaymentMethodAdditionalFeeExclTax, order.OrderTax, order.OrderTotal, order.OrderDiscount, order.OrderSubtotalInclTaxInCustomerCurrency, order.OrderSubtotalExclTaxInCustomerCurrency, order.OrderShippingInclTaxInCustomerCurrency, order.OrderShippingExclTaxInCustomerCurrency, order.PaymentMethodAdditionalFeeInclTaxInCustomerCurrency, order.PaymentMethodAdditionalFeeExclTaxInCustomerCurrency, order.OrderTaxInCustomerCurrency, order.OrderTotalInCustomerCurrency, order.OrderDiscountInCustomerCurrency, order.CheckoutAttributeDescription, order.CheckoutAttributesXml, order.CustomerCurrencyCode, order.OrderWeight, order.AffiliateId, order.OrderStatus, order.AllowStoringCreditCardNumber, order.CardType, order.CardName, order.CardNumber, order.MaskedCreditCardNumber, order.CardCvv2, order.CardExpirationMonth, order.CardExpirationYear, order.PaymentMethodId, order.PaymentMethodName, transactionId, order.AuthorizationTransactionCode, order.AuthorizationTransactionResult, order.CaptureTransactionId, order.CaptureTransactionResult, order.SubscriptionTransactionId, order.PurchaseOrderNumber, order.PaymentStatus, order.PaidDate, order.BillingFirstName, order.BillingLastName, order.BillingPhoneNumber, order.BillingEmail, order.BillingFaxNumber, order.BillingCompany, order.BillingAddress1, order.BillingAddress2, order.BillingCity, order.BillingStateProvince, order.BillingStateProvinceId, order.BillingZipPostalCode, order.BillingCountry, order.BillingCountryId, order.ShippingStatus, order.ShippingFirstName, order.ShippingLastName, order.ShippingPhoneNumber, order.ShippingEmail, order.ShippingFaxNumber, order.ShippingCompany, order.ShippingAddress1, order.ShippingAddress2, order.ShippingCity, order.ShippingStateProvince, order.ShippingStateProvinceId, order.ShippingZipPostalCode, order.ShippingCountry, order.ShippingCountryId, order.ShippingMethod, order.ShippingRateComputationMethodId, order.ShippedDate, order.DeliveryDate, order.TrackingNumber, order.Deleted, order.CreatedOn); if (OrderManager.CanMarkOrderAsAuthorized(order)) { OrderManager.MarkAsAuthorized(order.OrderId); } } else { //set CaptureTransactionID order = OrderManager.UpdateOrder(order.OrderId, order.OrderGuid, order.CustomerId, order.CustomerLanguageId, order.CustomerTaxDisplayType, order.CustomerIP, order.OrderSubtotalInclTax, order.OrderSubtotalExclTax, order.OrderShippingInclTax, order.OrderShippingExclTax, order.PaymentMethodAdditionalFeeInclTax, order.PaymentMethodAdditionalFeeExclTax, order.OrderTax, order.OrderTotal, order.OrderDiscount, order.OrderSubtotalInclTaxInCustomerCurrency, order.OrderSubtotalExclTaxInCustomerCurrency, order.OrderShippingInclTaxInCustomerCurrency, order.OrderShippingExclTaxInCustomerCurrency, order.PaymentMethodAdditionalFeeInclTaxInCustomerCurrency, order.PaymentMethodAdditionalFeeExclTaxInCustomerCurrency, order.OrderTaxInCustomerCurrency, order.OrderTotalInCustomerCurrency, order.OrderDiscountInCustomerCurrency, order.CheckoutAttributeDescription, order.CheckoutAttributesXml, order.CustomerCurrencyCode, order.OrderWeight, order.AffiliateId, order.OrderStatus, order.AllowStoringCreditCardNumber, order.CardType, order.CardName, order.CardNumber, order.MaskedCreditCardNumber, order.CardCvv2, order.CardExpirationMonth, order.CardExpirationYear, order.PaymentMethodId, order.PaymentMethodName, order.AuthorizationTransactionId, order.AuthorizationTransactionCode, order.AuthorizationTransactionResult, transactionId, order.CaptureTransactionResult, order.SubscriptionTransactionId, order.PurchaseOrderNumber, order.PaymentStatus, order.PaidDate, order.BillingFirstName, order.BillingLastName, order.BillingPhoneNumber, order.BillingEmail, order.BillingFaxNumber, order.BillingCompany, order.BillingAddress1, order.BillingAddress2, order.BillingCity, order.BillingStateProvince, order.BillingStateProvinceId, order.BillingZipPostalCode, order.BillingCountry, order.BillingCountryId, order.ShippingStatus, order.ShippingFirstName, order.ShippingLastName, order.ShippingPhoneNumber, order.ShippingEmail, order.ShippingFaxNumber, order.ShippingCompany, order.ShippingAddress1, order.ShippingAddress2, order.ShippingCity, order.ShippingStateProvince, order.ShippingStateProvinceId, order.ShippingZipPostalCode, order.ShippingCountry, order.ShippingCountryId, order.ShippingMethod, order.ShippingRateComputationMethodId, order.ShippedDate, order.DeliveryDate, order.TrackingNumber, order.Deleted, order.CreatedOn); if (OrderManager.CanMarkOrderAsPaid(order)) { OrderManager.MarkOrderAsPaid(order.OrderId); } } Response.Redirect("~/checkoutcompleted.aspx"); } }
private void LoadTemplate(int templateIndex) { if (templateIndex < AllTemplates.Count) { //We're making a separate call to database just to get //full template object, ideally we should merge these two calls int currentTemplateId = AllTemplates[templateIndex]; PathManager pathManager = new PathManager(); Template currentTemplate = pathManager.GetTemplate(currentTemplateId); if (currentTemplate.UriLabel != null) { Session["PostSaleLabelName"] = currentTemplate.UriLabel; } else { Session["PostSaleLabelName"] = ""; } if (currentTemplate.CanUseTemplate(CartContext)) { //decimal orderTotal = 0; //decimal neworderTotal = 0; //decimal shippingandhandling = 0; //Order orderItem = new OrderManager().GetBatchProcessOrders(CartContext.OrderId); //shippingandhandling = orderItem.ShippingCost; //foreach (Sku s in orderItem.SkuItems) //{ // orderTotal += s.InitialPrice; // s.LoadAttributeValues(); // try // { // if (s.AttributeValues["relatedonepaysku"] != null && !s.AttributeValues["relatedonepaysku"].Value.Equals("")) // { // int skuId = Convert.ToInt32(s.AttributeValues["relatedonepaysku"].Value); // Sku st = new SkuManager().GetSkuByID(skuId); // //st.SkuId = skuId; // st.LoadAttributeValues(); // neworderTotal += st.InitialPrice; // } // } // catch // { // } //} decimal orderTotal = 0; decimal neworderTotal = 0; decimal shippingandhandling = 0; string templateBody = currentTemplate.Body; if (templateBody.Contains("<input name=\"onepay\" value=\"onepay\" id=\"onepay\" type=\"hidden\" />")) { Order orderItem = new OrderManager().GetBatchProcessOrders(CartContext.OrderId); shippingandhandling = orderItem.ShippingCost; foreach (Sku s in orderItem.SkuItems) { orderTotal += s.InitialPrice; s.LoadAttributeValues(); try { if (s.AttributeValues["relatedonepaysku"] != null && !s.AttributeValues["relatedonepaysku"].Value.Equals("")) { int skuId = Convert.ToInt32(s.AttributeValues["relatedonepaysku"].Value); Sku st = new SkuManager().GetSkuByID(skuId); //st.SkuId = skuId; st.LoadAttributeValues(); neworderTotal += st.InitialPrice; } } catch { } } } templateBody = UpdateTemplateForGiftWrapItems(templateBody); StringBuilder sb = new StringBuilder(); sb.Append(templateBody); //templateBody.Replace('{upsellTotal}', Math.Round(neworderTotal, 2).ToString()); sb.Replace("{upsellTotal}", Math.Round(neworderTotal, 2).ToString()); sb.Replace("{upsellshipping}", Math.Round(shippingandhandling, 2).ToString()); sb.Replace("{upsellsave}", Math.Round(shippingandhandling + 14.95m, 2).ToString()); templateBody = sb.ToString(); templateBody = BindLinks(templateBody); templateBody = BindValidators(templateBody); BindContainers(templateBody); string script = string.Format("<script type=\"text/javascript\">\r\n{0}\r\n</script>", currentTemplate.Script); //Tags contain some template related configuration information var templateTagsXml = XElement.Parse("<root>" + currentTemplate.Tag + "</root>"); templateBody = InsertData(templateTagsXml, templateBody); // write template html to page mainContainer.InnerHtml = string.Format("{0}\r\n{1}", script, templateBody); } else { GoToNextTemplate(); } } }
public ConnectionFailedLogic(Widget widget, OrderManager orderManager, Action onAbort, Action <string> onRetry) { var panel = widget; var abortButton = panel.Get <ButtonWidget>("ABORT_BUTTON"); var retryButton = panel.Get <ButtonWidget>("RETRY_BUTTON"); abortButton.Visible = onAbort != null; abortButton.OnClick = () => { Ui.CloseWindow(); onAbort(); }; retryButton.Visible = onRetry != null; retryButton.OnClick = () => { var password = passwordField != null && passwordField.IsVisible() ? passwordField.Text : orderManager.Password; Ui.CloseWindow(); onRetry(password); }; widget.Get <LabelWidget>("CONNECTING_DESC").GetText = () => "Could not connect to {0}".F(orderManager.Endpoint); var connectionError = widget.Get <LabelWidget>("CONNECTION_ERROR"); connectionError.GetText = () => orderManager.ServerError ?? orderManager.Connection.ErrorMessage ?? "Unknown error"; var panelTitle = widget.Get <LabelWidget>("TITLE"); panelTitle.GetText = () => orderManager.AuthenticationFailed ? "Password Required" : "Connection Failed"; passwordField = panel.GetOrNull <PasswordFieldWidget>("PASSWORD"); if (passwordField != null) { passwordField.TakeKeyboardFocus(); passwordField.IsVisible = () => orderManager.AuthenticationFailed; var passwordLabel = widget.Get <LabelWidget>("PASSWORD_LABEL"); passwordLabel.IsVisible = passwordField.IsVisible; passwordField.OnEnterKey = () => { retryButton.OnClick(); return(true); }; passwordField.OnEscKey = () => { abortButton.OnClick(); return(true); }; } passwordOffsetAdjusted = false; var connectionFailedTicker = panel.GetOrNull <LogicTickerWidget>("CONNECTION_FAILED_TICKER"); if (connectionFailedTicker != null) { connectionFailedTicker.OnTick = () => { // Adjust the dialog once the AuthenticationError is parsed. if (passwordField.IsVisible() && !passwordOffsetAdjusted) { var offset = passwordField.Bounds.Y - connectionError.Bounds.Y; abortButton.Bounds.Y += offset; retryButton.Bounds.Y += offset; panel.Bounds.Height += offset; panel.Bounds.Y -= offset / 2; var background = panel.GetOrNull("CONNECTION_BACKGROUND"); if (background != null) { background.Bounds.Height += offset; } passwordOffsetAdjusted = true; } }; } }
public void Exicute() { Console.Clear(); OrderManager orderManager = OrderManagerFactory.Create(); Console.WriteLine("Enter an Order Date: "); string userInputDate = orderManager.GetValidDate(Console.ReadLine()); if (userInputDate != null) { Console.WriteLine("Enter an Order Number: "); string userInputOrderNumber = Console.ReadLine(); int orderNumber = int.MinValue; while (!userInputOrderNumber.All(char.IsDigit)) { Console.WriteLine("ERROR: Enter Order number as an int:"); userInputOrderNumber = Console.ReadLine(); } while (!int.TryParse(userInputOrderNumber, out orderNumber)) { Console.WriteLine("order number must be entered as an int"); Console.WriteLine("enter order number:"); userInputOrderNumber = Console.ReadLine(); } string inputOrderNumber = orderManager.GetValidOrderNumber(userInputOrderNumber, userInputDate); if (inputOrderNumber == null) { Console.WriteLine("Order Number Does not Exist for that date"); Console.Write("Press any Key to Continue"); Console.ReadKey(); } else { Order editedOrder = new Order(); IEnumerable <Order> orders = orderManager.LookupOder(userInputDate).Orders.Where(order => order.OrderNumber.ToString() == userInputOrderNumber);//here string customerName = ""; string state = ""; string productType = ""; string areaAsString = ""; decimal area = 0; foreach (var order in orders) { Console.WriteLine("Enter Customer Name (" + order.CustomerName + "):"); customerName = Console.ReadLine(); if (customerName == "") { customerName = order.CustomerName; } Console.WriteLine("Enter State (" + order.State + "):"); state = Console.ReadLine(); if (state == "") { state = order.State; Console.WriteLine("Enter Product Type (" + order.ProductType + "):"); productType = Console.ReadLine(); if (productType == "") { productType = order.ProductType; } else { ProductManager productManager = ProductManagerFactory.Create(); while (productManager.ListProducts().All(product => product.ProductType != productType)) { Console.WriteLine("invalid product type. product types are: "); foreach (var product in productManager.ListProducts()) { Console.WriteLine(product.ProductType); } Console.WriteLine("Enter Product Type:"); productType = Console.ReadLine(); } } Console.WriteLine("Enter Area (" + order.Area + "):"); areaAsString = Console.ReadLine(); if (areaAsString == "") { area = order.Area; } else { while (!decimal.TryParse(areaAsString, out area) || area < 100) { Console.WriteLine("area must be a decimal > 100"); areaAsString = Console.ReadLine(); } area = decimal.Parse(areaAsString); } editedOrder = order; editedOrder.MaterialCost = SubLogic.GetCostMaterials(area, productType); editedOrder.CostPerSquareFoot = (SubLogic.GetCostMaterials(area, productType)) / area; editedOrder.TaxRate = SubLogic.GetTaxRate(state); editedOrder.LaborCostPerSquareFoot = SubLogic.GetCostLaborPerSquareFoot(productType); editedOrder.LaborCost = SubLogic.GetCostLaborPerSquareFoot(productType) * area; editedOrder.Area = area; editedOrder.CustomerName = customerName; editedOrder.ProductType = productType; editedOrder.State = state; editedOrder.Tax = (editedOrder.MaterialCost + editedOrder.LaborCost) * (editedOrder.TaxRate / 100); editedOrder.Total = (editedOrder.Tax + editedOrder.MaterialCost + editedOrder.LaborCost); Console.WriteLine("Are you sure you would like to Edit This Order?"); Console.WriteLine("Enter Y to save changes: "); if (Console.ReadLine() == "Y") { editedOrder.OrderDate = userInputDate; bool wasEdited = orderManager.SaveEditedOrder(editedOrder); Console.Clear(); Console.WriteLine("Changes have been Saved. press any key to continue"); Console.ReadKey(); } else { Console.Clear(); Console.WriteLine("Changes were not Saved. press any key to continue"); Console.ReadKey(); } } else { TaxManager taxRepository = TaxManagerFactory.Create(); if (taxRepository.LookupTax(state).Any(tax => tax.StateAbbreviation == state)) { Console.WriteLine("Enter Product Type (" + order.ProductType + "):"); productType = Console.ReadLine(); if (productType == "") { productType = order.ProductType; } Console.WriteLine("Enter Area (" + order.Area + "):"); areaAsString = Console.ReadLine(); if (areaAsString == "") { area = order.Area; } else { area = decimal.Parse(areaAsString); } editedOrder = order; editedOrder.MaterialCost = SubLogic.GetCostMaterials(area, productType); editedOrder.CostPerSquareFoot = (SubLogic.GetCostMaterials(area, productType)) / area; editedOrder.TaxRate = SubLogic.GetTaxRate(state); editedOrder.LaborCostPerSquareFoot = SubLogic.GetCostLaborPerSquareFoot(productType); editedOrder.LaborCost = SubLogic.GetCostLaborPerSquareFoot(productType) * area; editedOrder.Area = area; editedOrder.CustomerName = customerName; editedOrder.ProductType = productType; editedOrder.State = state; editedOrder.Tax = (editedOrder.MaterialCost + editedOrder.LaborCost) * (editedOrder.TaxRate / 100); editedOrder.Total = (editedOrder.Tax + editedOrder.MaterialCost + editedOrder.LaborCost); Console.WriteLine("Are you sure you would like to Edit This Order?"); Console.WriteLine("Enter Y to save changes: "); if (Console.ReadLine() == "Y") { orderManager.SaveEditedOrder(editedOrder); Console.Clear(); Console.WriteLine("Changes have been Saved. press any key to continue"); Console.ReadKey(); } else { Console.Clear(); Console.WriteLine("Changes were not Saved. press any key to continue"); Console.ReadKey(); } } else { Console.WriteLine("State is not supported"); Console.WriteLine("press any key to exit"); Console.ReadKey(); } } } } } else { Console.WriteLine("File for Date Does not Exist"); Console.Write("Press any Key to Continue"); Console.ReadKey(); } }
public ConnectionSwitchModLogic(Widget widget, OrderManager orderManager, Action onAbort, Action <string> onRetry) { var panel = widget; var abortButton = panel.Get <ButtonWidget>("ABORT_BUTTON"); var switchButton = panel.Get <ButtonWidget>("SWITCH_BUTTON"); var mod = orderManager.ServerExternalMod; var modTitle = mod.Title; var modVersion = mod.Version; switchButton.OnClick = () => { var launchCommand = "Launch.URI={0}".F(new UriBuilder("tcp", orderManager.Connection.EndPoint.Address.ToString(), orderManager.Connection.EndPoint.Port)); Game.SwitchToExternalMod(orderManager.ServerExternalMod, new[] { launchCommand }, () => { orderManager.ServerError = "Failed to switch mod."; Ui.CloseWindow(); Ui.OpenWindow("CONNECTIONFAILED_PANEL", new WidgetArgs() { { "orderManager", orderManager }, { "onAbort", onAbort }, { "onRetry", onRetry } }); }); }; abortButton.Visible = onAbort != null; abortButton.OnClick = () => { Ui.CloseWindow(); onAbort(); }; var width = 0; var title = panel.GetOrNull <LabelWidget>("MOD_TITLE"); if (title != null) { var font = Game.Renderer.Fonts[title.Font]; var label = WidgetUtils.TruncateText(modTitle, title.Bounds.Width, font); var labelWidth = font.Measure(label).X; width = Math.Max(width, title.Bounds.X + labelWidth); title.Bounds.Width = labelWidth; title.GetText = () => label; } var version = panel.GetOrNull <LabelWidget>("MOD_VERSION"); if (version != null) { var font = Game.Renderer.Fonts[version.Font]; var label = WidgetUtils.TruncateText(modVersion, version.Bounds.Width, font); var labelWidth = font.Measure(label).X; width = Math.Max(width, version.Bounds.X + labelWidth); version.Bounds.Width = labelWidth; version.GetText = () => label; } var logo = panel.GetOrNull <RGBASpriteWidget>("MOD_ICON"); if (logo != null) { logo.GetSprite = () => { var ws = Game.Renderer.WindowScale; if (ws > 2 && mod.Icon3x != null) { return(mod.Icon3x); } if (ws > 1 && mod.Icon2x != null) { return(mod.Icon2x); } return(mod.Icon); }; if (mod.Icon == null) { // Hide the logo and center just the text if (title != null) { title.Bounds.X = logo.Bounds.X; } if (version != null) { version.Bounds.X = logo.Bounds.X; } width -= logo.Bounds.Width; } else { // Add an equal logo margin on the right of the text width += logo.Bounds.Width; } } var container = panel.GetOrNull("MOD_CONTAINER"); if (container != null) { container.Bounds.X += (container.Bounds.Width - width) / 2; container.Bounds.Width = width; } }
public CustomerController() { CManager = new CustomerManager(new UnitOfWork(new DataContext("test"))); OManager = new OrderManager(new UnitOfWork(new DataContext("test"))); }
//Since there is a static method below, the constructor does not run. // Therefore, define key (global) variables/objects after the class definition. //private List<Order> _orders; public ConsoleIO() { _manager = OrderManagerFactory.Create(); //_orders = _manager.LoadOrders(DateTime.Now); }
static void InnerLogicTick(OrderManager orderManager) { var tick = RunTime; var world = orderManager.World; var uiTickDelta = tick - Ui.LastTickTime; if (uiTickDelta >= Timestep) { // Explained below for the world tick calculation var integralTickTimestep = (uiTickDelta / Timestep) * Timestep; Ui.LastTickTime += integralTickTimestep >= TimestepJankThreshold ? integralTickTimestep : Timestep; Viewport.TicksSinceLastMove += uiTickDelta / Timestep; Sync.CheckSyncUnchanged(world, Ui.Tick); Cursor.Tick(); } var worldTimestep = world == null ? Timestep : world.Timestep; var worldTickDelta = tick - orderManager.LastTickTime; if (worldTimestep != 0 && worldTickDelta >= worldTimestep) { using (new PerfSample("tick_time")) { // Tick the world to advance the world time to match real time: // If dt < TickJankThreshold then we should try and catch up by repeatedly ticking // If dt >= TickJankThreshold then we should accept the jank and progress at the normal rate // dt is rounded down to an integer tick count in order to preserve fractional tick components. var integralTickTimestep = (worldTickDelta / worldTimestep) * worldTimestep; orderManager.LastTickTime += integralTickTimestep >= TimestepJankThreshold ? integralTickTimestep : worldTimestep; Sound.Tick(); Sync.CheckSyncUnchanged(world, orderManager.TickImmediate); if (world == null) { return; } // Don't tick when the shellmap is disabled if (world.ShouldTick) { var isNetTick = LocalTick % NetTickScale == 0; if (!isNetTick || orderManager.IsReadyForNextFrame) { ++orderManager.LocalFrameNumber; Log.Write("debug", "--Tick: {0} ({1})", LocalTick, isNetTick ? "net" : "local"); if (BenchmarkMode) { Log.Write("cpu", "{0};{1}".F(LocalTick, PerfHistory.Items["tick_time"].LastValue)); } if (isNetTick) { orderManager.Tick(); } Sync.CheckSyncUnchanged(world, () => { world.OrderGenerator.Tick(world); world.Selection.Tick(world); }); world.Tick(); PerfHistory.Tick(); } else if (orderManager.NetFrameNumber == 0) { orderManager.LastTickTime = RunTime; } } else { PerfHistory.Tick(); } Sync.CheckSyncUnchanged(world, () => world.TickRender(worldRenderer)); } } }
private void GetTemplateSelections(ref Dictionary <int, int> skusAndQuantities) { #region Sample XML /* * <TemplateDetails> * <SelectionParameters> * <FixedSkuEntryFields useCondition="cond1" type="onepay"> * <Sku Id="36"> * <Field what="quantity" name="SKU36QTY" /> * </Sku> * <Sku Id="39"> * <Field what="quantity" name="SKU39QTY" defaultValue /> * </Sku> * </FixedSkuEntryFields> * <FixedSkuEntryFields useCondition="cond2"> * <Sku Id="40"> * <Field what="quantity" name="SKU40QTY" /> * </Sku> * </FixedSkuEntryFields> * <Conditions> * <Condition key="cond1"> * <FieldMatch name="userSelection" isRegex="false">one</FieldMatch> * </Condition> * <Condition key="cond2"> * <FieldMatch name="userSelection" isRegex="false">two</FieldMatch> * </Condition> * </Conditions> * </SelectionParameters> * </TemplateDetails> * */ #endregion XElement templateTags = XElement.Parse(((Template)(new PathManager().GetTemplate(AllTemplates[CurrentTemplateIndex]))).Tag); // search "sku and select fields" information foreach (var r in templateTags.XPathSelectElements("//selectionparameters/fixedskuentryfields")) { if (r.Attribute("type") != null && r.Attribute("type").Value.Equals("onepay")) { Order orderItem = new OrderManager().GetBatchProcessOrders(CartContext.OrderId); foreach (Sku s in orderItem.SkuItems) { s.LoadAttributeValues(); try { if (s.AttributeValues["relatedonepaysku"] != null && !s.AttributeValues["relatedonepaysku"].Value.Equals("")) { int skuId = Convert.ToInt32(s.AttributeValues["relatedonepaysku"].Value); skusAndQuantities.Add(skuId, 1); } } catch { } } foreach (Sku s in CartContext.CartInfo.CartItems) { s.LoadAttributeValues(); try { if (s.AttributeValues["relatedonepaysku"] != null && !s.AttributeValues["relatedonepaysku"].Value.Equals("")) { int skuId = Convert.ToInt32(s.AttributeValues["relatedonepaysku"].Value); skusAndQuantities.Add(skuId, 1); } } catch { } } } else { if (r.Attribute("usecondition") == null || MatchesCondition(templateTags.XPathSelectElement("//selectionparameters/conditions"), r.Attribute("usecondition").Value)) { foreach (var s in r.XPathSelectElements("sku")) { int skuId = Convert.ToInt32(s.Attribute("id").Value); string fieldName = null; // read quantity int quantity = 0; XElement quantField = s.XPathSelectElement("field[@what = 'quantity']"); if (quantField != null) { if (quantField.Attribute("name") != null) { fieldName = quantField.Attribute("name").Value; if (int.TryParse(Request.Form[fieldName], out quantity)) { skusAndQuantities.Add(skuId, quantity); } } else if (quantField.Attribute("skuid") != null) { Sku matchSku = CartContext.CartInfo.CartItems.FirstOrDefault(x => { return(x.SkuId == int.Parse(quantField.Attribute("skuid").Value)); }); if (matchSku != null) { skusAndQuantities.Add(skuId, matchSku.Quantity); } else { skusAndQuantities.Add(skuId, Convert.ToInt32((quantField.Attribute("defaultvalue") ?? new XAttribute("0", "0")).Value)); } } else { skusAndQuantities.Add(skuId, Convert.ToInt32((quantField.Attribute("defaultvalue") ?? new XAttribute("0", "0")).Value)); } } } } } } }
public ClientTooltipLogic(Widget widget, TooltipContainerWidget tooltipContainer, OrderManager orderManager, int clientIndex) { var admin = widget.Get <LabelWidget>("ADMIN"); var adminFont = Game.Renderer.Fonts[admin.Font]; var latency = widget.Get <LabelWidget>("LATENCY"); var latencyFont = Game.Renderer.Fonts[latency.Font]; var latencyPrefix = widget.Get <LabelWidget>("LATENCY_PREFIX"); var latencyPrefixFont = Game.Renderer.Fonts[latencyPrefix.Font]; var ip = widget.Get <LabelWidget>("IP"); var addressFont = Game.Renderer.Fonts[ip.Font]; var location = widget.Get <LabelWidget>("LOCATION"); var locationFont = Game.Renderer.Fonts[location.Font]; var locationOffset = location.Bounds.Y; var addressOffset = ip.Bounds.Y; var latencyOffset = latency.Bounds.Y; var tooltipHeight = widget.Bounds.Height; var margin = widget.Bounds.Width; tooltipContainer.IsVisible = () => (orderManager.LobbyInfo.ClientWithIndex(clientIndex) != null); tooltipContainer.BeforeRender = () => { var latencyPrefixSize = latencyPrefix.Bounds.X + latencyPrefixFont.Measure(latencyPrefix.GetText() + " ").X; var width = Math.Max(locationFont.Measure(location.GetText()).X, Math.Max(adminFont.Measure(admin.GetText()).X, Math.Max(addressFont.Measure(ip.GetText()).X, latencyPrefixSize + latencyFont.Measure(latency.GetText()).X))); widget.Bounds.Width = width + 2 * margin; latency.Bounds.Width = widget.Bounds.Width; ip.Bounds.Width = widget.Bounds.Width; admin.Bounds.Width = widget.Bounds.Width; location.Bounds.Width = widget.Bounds.Width; ip.Bounds.Y = addressOffset; latency.Bounds.Y = latencyOffset; location.Bounds.Y = locationOffset; widget.Bounds.Height = tooltipHeight; if (admin.IsVisible()) { ip.Bounds.Y += admin.Bounds.Height; latency.Bounds.Y += admin.Bounds.Height; location.Bounds.Y += admin.Bounds.Height; widget.Bounds.Height += admin.Bounds.Height; } latencyPrefix.Bounds.Y = latency.Bounds.Y; latency.Bounds.X = latencyPrefixSize; }; admin.IsVisible = () => orderManager.LobbyInfo.ClientWithIndex(clientIndex).IsAdmin; var client = orderManager.LobbyInfo.ClientWithIndex(clientIndex); var ping = orderManager.LobbyInfo.PingFromClient(client); latency.GetText = () => LobbyUtils.LatencyDescription(ping); latency.GetColor = () => LobbyUtils.LatencyColor(ping); var address = orderManager.LobbyInfo.ClientWithIndex(clientIndex).IpAddress; if (address == "127.0.0.1" && UPnP.NatDevice != null) { address = UPnP.NatDevice.GetExternalIP().ToString(); } var cachedDescriptiveIP = LobbyUtils.DescriptiveIpAddress(address); ip.GetText = () => cachedDescriptiveIP; var cachedCountryLookup = LobbyUtils.LookupCountry(address); location.GetText = () => cachedCountryLookup; }
public OrderManagerShould() { _db = new DatabaseInterface("BAGOLOOT_TEST_DB"); _orderManager = new OrderManager(_db); }
/// <summary> /// Serves the next order retrieved from the manager /// </summary> public void MoveToFloor(OrderManager manager) { m_stopped = false; Order dest = manager.NextOrder; if (dest.destFloor > LastFloor) { ChangeDirection(Direction.Up); } else if (dest.destFloor < LastFloor) { ChangeDirection(Direction.Down); } else { if (m_lastDirn == Direction.Up) { ChangeDirection(Direction.Down); } else // LastDirection == Direction.Down (also after initialization) { ChangeDirection(Direction.Up); } } int tmpFloor, prevFloor = -1; try { Console.WriteLine("Moving to floor..."); while ((tmpFloor = m_car.FloorSensorSignal) != dest.destFloor) { if (tmpFloor != -1 && tmpFloor != prevFloor) { prevFloor = tmpFloor; var receivers = PassedByFloor.GetInvocationList(); foreach (Action <FloorEventArgs> receiver in receivers) { receiver.BeginInvoke(tmpFloor, null, null); } } CheckStopped(); if (manager.OrdersAvailable) { dest = manager.NextOrder; } } ChangeDirection(Direction.Stop); var recvs = PassedByFloor.GetInvocationList(); foreach (Action <FloorEventArgs> receiver in recvs) { receiver.BeginInvoke(tmpFloor, null, null); } m_car.DoorOpen(); ArrivedAtFloor(dest); Thread.Sleep(2000); m_car.DoorClose(); } catch (ElevatorStoppedException) { m_car.MotorDirection = Direction.Stop; EmergencyStopped(new EmergencyStopEventArgs(LastFloor, m_car.FloorSensorSignal, m_lastDirn)); } }
public void PrcessData(MarketData marketData) { if (!isStart) { return; } InstrumentStrategy instrumentStrategy = dictStrategies[marketData.InstrumentId]; if (!instrumentStrategy.StartTrade) { return; } foreach (UserStrategy strategy in instrumentStrategy.Strategies) { if (!strategy.AutoTrade) { continue; } if (needWait) { tick++; if (tick >= 240) { needWait = false; tick = 0; } return; } var sc = (StringCollection)InstrumentType.Default[marketData.Code]; var today = DateTime.Today; if (sc != null) { foreach (var time in sc) { int hour = Convert.ToInt32(time.Split(':')[0]); int minute = Convert.ToInt32(time.Split(':')[1]); var endTime = new DateTime(today.Year, today.Month, today.Day, hour, minute, 0); if (endTime > DateTime.Now && DateTime.Now > endTime.AddMinutes(-1)) { OrderManager.CancelAllOrder(); needWait = true; log.Info("canceling order"); return; } } } List <Order> orders = strategy.Match(marketData); foreach (Order order in orders) { order.Unit = instrumentStrategy.VolumeMultiple; if (order.Direction == TThostFtdcDirectionType.Buy) { order.UseMargin = order.Price * order.Unit * order.Volume * instrumentStrategy.LongMarginRatio; } else { order.UseMargin = order.Price * order.Unit * order.Volume * instrumentStrategy.ShortMarginRatio; } log.Info(order); OrderManager.OrderInsert(order); } } }
internal LobbyLogic(Widget widget, WorldRenderer worldRenderer, OrderManager orderManager, Action onExit, Action onStart, bool skirmishMode, Ruleset modRules) { lobby = widget; this.orderManager = orderManager; this.onStart = onStart; this.onExit = onExit; this.skirmishMode = skirmishMode; this.modRules = modRules; shellmapWorld = worldRenderer.World; orderManager.AddChatLine += AddChatLine; Game.LobbyInfoChanged += UpdateCurrentMap; Game.LobbyInfoChanged += UpdatePlayerList; Game.BeforeGameStart += OnGameStart; Game.ConnectionStateChanged += ConnectionStateChanged; var name = lobby.GetOrNull <LabelWidget>("SERVER_NAME"); if (name != null) { name.GetText = () => orderManager.LobbyInfo.GlobalSettings.ServerName; } Ui.LoadWidget("LOBBY_MAP_PREVIEW", lobby.Get("MAP_PREVIEW_ROOT"), new WidgetArgs { { "orderManager", orderManager }, { "lobby", this } }); UpdateCurrentMap(); players = Ui.LoadWidget <ScrollPanelWidget>("LOBBY_PLAYER_BIN", lobby.Get("PLAYER_BIN_ROOT"), new WidgetArgs()); players.IsVisible = () => panel == PanelType.Players; var playerBinHeaders = lobby.GetOrNull <ContainerWidget>("LABEL_CONTAINER"); if (playerBinHeaders != null) { playerBinHeaders.IsVisible = () => panel == PanelType.Players; } editablePlayerTemplate = players.Get("TEMPLATE_EDITABLE_PLAYER"); nonEditablePlayerTemplate = players.Get("TEMPLATE_NONEDITABLE_PLAYER"); emptySlotTemplate = players.Get("TEMPLATE_EMPTY"); editableSpectatorTemplate = players.Get("TEMPLATE_EDITABLE_SPECTATOR"); nonEditableSpectatorTemplate = players.Get("TEMPLATE_NONEDITABLE_SPECTATOR"); newSpectatorTemplate = players.Get("TEMPLATE_NEW_SPECTATOR"); colorPreview = lobby.Get <ColorPreviewManagerWidget>("COLOR_MANAGER"); colorPreview.Color = Game.Settings.Player.Color; foreach (var f in modRules.Actors["world"].Traits.WithInterface <FactionInfo>()) { factions.Add(f.InternalName, new LobbyFaction { Selectable = f.Selectable, Name = f.Name, Side = f.Side, Description = f.Description }); } var gameStarting = false; Func <bool> configurationDisabled = () => !Game.IsHost || gameStarting || panel == PanelType.Kick || panel == PanelType.ForceStart || orderManager.LocalClient == null || orderManager.LocalClient.IsReady; var mapButton = lobby.GetOrNull <ButtonWidget>("CHANGEMAP_BUTTON"); if (mapButton != null) { mapButton.IsDisabled = () => gameStarting || panel == PanelType.Kick || panel == PanelType.ForceStart || orderManager.LocalClient == null || orderManager.LocalClient.IsReady; mapButton.OnClick = () => { var onSelect = new Action <string>(uid => { // Don't select the same map again if (uid == Map.Uid) { return; } orderManager.IssueOrder(Order.Command("map " + uid)); Game.Settings.Server.Map = uid; Game.Settings.Save(); }); Ui.OpenWindow("MAPCHOOSER_PANEL", new WidgetArgs() { { "initialMap", Map.Uid }, { "initialTab", MapClassification.System }, { "onExit", DoNothing }, { "onSelect", Game.IsHost ? onSelect : null }, { "filter", MapVisibility.Lobby }, }); }; } var slotsButton = lobby.GetOrNull <DropDownButtonWidget>("SLOTS_DROPDOWNBUTTON"); if (slotsButton != null) { slotsButton.IsDisabled = () => configurationDisabled() || panel != PanelType.Players || Map.RuleStatus != MapRuleStatus.Cached || !orderManager.LobbyInfo.Slots.Values.Any(s => s.AllowBots || !s.LockTeam); var botNames = modRules.Actors["player"].Traits.WithInterface <IBotInfo>().Select(t => t.Name); slotsButton.OnMouseDown = _ => { var options = new Dictionary <string, IEnumerable <DropDownOption> >(); var botController = orderManager.LobbyInfo.Clients.FirstOrDefault(c => c.IsAdmin); if (orderManager.LobbyInfo.Slots.Values.Any(s => s.AllowBots)) { var botOptions = new List <DropDownOption>() { new DropDownOption() { Title = "Add", IsSelected = () => false, OnClick = () => { foreach (var slot in orderManager.LobbyInfo.Slots) { var bot = botNames.Random(Game.CosmeticRandom); var c = orderManager.LobbyInfo.ClientInSlot(slot.Key); if (slot.Value.AllowBots == true && (c == null || c.Bot != null)) { orderManager.IssueOrder(Order.Command("slot_bot {0} {1} {2}".F(slot.Key, botController.Index, bot))); } } } } }; if (orderManager.LobbyInfo.Clients.Any(c => c.Bot != null)) { botOptions.Add(new DropDownOption() { Title = "Remove", IsSelected = () => false, OnClick = () => { foreach (var slot in orderManager.LobbyInfo.Slots) { var c = orderManager.LobbyInfo.ClientInSlot(slot.Key); if (c != null && c.Bot != null) { orderManager.IssueOrder(Order.Command("slot_open " + slot.Value.PlayerReference)); } } } }); } options.Add("Configure Bots", botOptions); } var teamCount = (orderManager.LobbyInfo.Slots.Count(s => !s.Value.LockTeam && orderManager.LobbyInfo.ClientInSlot(s.Key) != null) + 1) / 2; if (teamCount >= 1) { var teamOptions = Enumerable.Range(2, teamCount - 1).Reverse().Select(d => new DropDownOption { Title = "{0} Teams".F(d), IsSelected = () => false, OnClick = () => orderManager.IssueOrder(Order.Command("assignteams {0}".F(d.ToString()))) }).ToList(); if (orderManager.LobbyInfo.Slots.Any(s => s.Value.AllowBots)) { teamOptions.Add(new DropDownOption { Title = "Humans vs Bots", IsSelected = () => false, OnClick = () => orderManager.IssueOrder(Order.Command("assignteams 1")) }); } teamOptions.Add(new DropDownOption { Title = "Free for all", IsSelected = () => false, OnClick = () => orderManager.IssueOrder(Order.Command("assignteams 0")) }); options.Add("Configure Teams", teamOptions); } Func <DropDownOption, ScrollItemWidget, ScrollItemWidget> setupItem = (option, template) => { var item = ScrollItemWidget.Setup(template, option.IsSelected, option.OnClick); item.Get <LabelWidget>("LABEL").GetText = () => option.Title; return(item); }; slotsButton.ShowDropDown("LABEL_DROPDOWN_TEMPLATE", 175, options, setupItem); }; } var optionsBin = Ui.LoadWidget("LOBBY_OPTIONS_BIN", lobby, new WidgetArgs()); optionsBin.IsVisible = () => panel == PanelType.Options; var optionsButton = lobby.Get <ButtonWidget>("OPTIONS_BUTTON"); optionsButton.IsDisabled = () => Map.RuleStatus != MapRuleStatus.Cached || panel == PanelType.Kick || panel == PanelType.ForceStart; optionsButton.GetText = () => panel == PanelType.Options ? "Players" : "Options"; optionsButton.OnClick = () => panel = (panel == PanelType.Options) ? PanelType.Players : PanelType.Options; // Force start panel Action startGame = () => { gameStarting = true; orderManager.IssueOrder(Order.Command("startgame")); }; var startGameButton = lobby.GetOrNull <ButtonWidget>("START_GAME_BUTTON"); if (startGameButton != null) { startGameButton.IsDisabled = () => configurationDisabled() || Map.RuleStatus != MapRuleStatus.Cached || orderManager.LobbyInfo.Slots.Any(sl => sl.Value.Required && orderManager.LobbyInfo.ClientInSlot(sl.Key) == null); startGameButton.OnClick = () => { Func <KeyValuePair <string, Session.Slot>, bool> notReady = sl => { var cl = orderManager.LobbyInfo.ClientInSlot(sl.Key); // Bots and admins don't count return(cl != null && !cl.IsAdmin && cl.Bot == null && !cl.IsReady); }; if (orderManager.LobbyInfo.Slots.Any(notReady)) { panel = PanelType.ForceStart; } else { startGame(); } }; } var forceStartBin = Ui.LoadWidget("FORCE_START_DIALOG", lobby, new WidgetArgs()); forceStartBin.IsVisible = () => panel == PanelType.ForceStart; forceStartBin.Get("KICK_WARNING").IsVisible = () => orderManager.LobbyInfo.Clients.Any(c => c.IsInvalid); forceStartBin.Get <ButtonWidget>("OK_BUTTON").OnClick = startGame; forceStartBin.Get <ButtonWidget>("CANCEL_BUTTON").OnClick = () => panel = PanelType.Players; // Options panel var allowCheats = optionsBin.GetOrNull <CheckboxWidget>("ALLOWCHEATS_CHECKBOX"); if (allowCheats != null) { allowCheats.IsChecked = () => orderManager.LobbyInfo.GlobalSettings.AllowCheats; allowCheats.IsDisabled = () => Map.Status != MapStatus.Available || Map.Map.Options.Cheats.HasValue || configurationDisabled(); allowCheats.OnClick = () => orderManager.IssueOrder(Order.Command( "allowcheats {0}".F(!orderManager.LobbyInfo.GlobalSettings.AllowCheats))); } var crates = optionsBin.GetOrNull <CheckboxWidget>("CRATES_CHECKBOX"); if (crates != null) { crates.IsChecked = () => orderManager.LobbyInfo.GlobalSettings.Crates; crates.IsDisabled = () => Map.Status != MapStatus.Available || Map.Map.Options.Crates.HasValue || configurationDisabled(); crates.OnClick = () => orderManager.IssueOrder(Order.Command( "crates {0}".F(!orderManager.LobbyInfo.GlobalSettings.Crates))); } var creeps = optionsBin.GetOrNull <CheckboxWidget>("CREEPS_CHECKBOX"); if (creeps != null) { creeps.IsChecked = () => orderManager.LobbyInfo.GlobalSettings.Creeps; creeps.IsDisabled = () => Map.Status != MapStatus.Available || Map.Map.Options.Creeps.HasValue || configurationDisabled(); creeps.OnClick = () => orderManager.IssueOrder(Order.Command( "creeps {0}".F(!orderManager.LobbyInfo.GlobalSettings.Creeps))); } var allybuildradius = optionsBin.GetOrNull <CheckboxWidget>("ALLYBUILDRADIUS_CHECKBOX"); if (allybuildradius != null) { allybuildradius.IsChecked = () => orderManager.LobbyInfo.GlobalSettings.AllyBuildRadius; allybuildradius.IsDisabled = () => Map.Status != MapStatus.Available || Map.Map.Options.AllyBuildRadius.HasValue || configurationDisabled(); allybuildradius.OnClick = () => orderManager.IssueOrder(Order.Command( "allybuildradius {0}".F(!orderManager.LobbyInfo.GlobalSettings.AllyBuildRadius))); } var fragileAlliance = optionsBin.GetOrNull <CheckboxWidget>("FRAGILEALLIANCES_CHECKBOX"); if (fragileAlliance != null) { fragileAlliance.IsChecked = () => orderManager.LobbyInfo.GlobalSettings.FragileAlliances; fragileAlliance.IsDisabled = () => Map.Status != MapStatus.Available || Map.Map.Options.FragileAlliances.HasValue || configurationDisabled(); fragileAlliance.OnClick = () => orderManager.IssueOrder(Order.Command( "fragilealliance {0}".F(!orderManager.LobbyInfo.GlobalSettings.FragileAlliances))); } var shortGame = optionsBin.GetOrNull <CheckboxWidget>("SHORTGAME_CHECKBOX"); if (shortGame != null) { shortGame.IsChecked = () => orderManager.LobbyInfo.GlobalSettings.ShortGame; shortGame.IsDisabled = () => Map.Status != MapStatus.Available || Map.Map.Options.ShortGame.HasValue || configurationDisabled(); shortGame.OnClick = () => orderManager.IssueOrder(Order.Command( "shortgame {0}".F(!orderManager.LobbyInfo.GlobalSettings.ShortGame))); } var difficulty = optionsBin.GetOrNull <DropDownButtonWidget>("DIFFICULTY_DROPDOWNBUTTON"); if (difficulty != null) { difficulty.IsVisible = () => Map.Status == MapStatus.Available && Map.Map.Options.Difficulties.Any(); difficulty.IsDisabled = () => Map.Status != MapStatus.Available || configurationDisabled(); difficulty.GetText = () => orderManager.LobbyInfo.GlobalSettings.Difficulty; difficulty.OnMouseDown = _ => { var options = Map.Map.Options.Difficulties.Select(d => new DropDownOption { Title = d, IsSelected = () => orderManager.LobbyInfo.GlobalSettings.Difficulty == d, OnClick = () => orderManager.IssueOrder(Order.Command("difficulty {0}".F(d))) }); Func <DropDownOption, ScrollItemWidget, ScrollItemWidget> setupItem = (option, template) => { var item = ScrollItemWidget.Setup(template, option.IsSelected, option.OnClick); item.Get <LabelWidget>("LABEL").GetText = () => option.Title; return(item); }; difficulty.ShowDropDown("LABEL_DROPDOWN_TEMPLATE", options.Count() * 30, options, setupItem); }; optionsBin.Get <LabelWidget>("DIFFICULTY_DESC").IsVisible = difficulty.IsVisible; } var startingUnits = optionsBin.GetOrNull <DropDownButtonWidget>("STARTINGUNITS_DROPDOWNBUTTON"); if (startingUnits != null) { var startUnitsInfo = modRules.Actors["world"].Traits.WithInterface <MPStartUnitsInfo>(); var classes = startUnitsInfo.Select(a => a.Class).Distinct(); Func <string, string> className = c => { var selectedClass = startUnitsInfo.Where(s => s.Class == c).Select(u => u.ClassName).FirstOrDefault(); return(selectedClass != null ? selectedClass : c); }; startingUnits.IsDisabled = () => Map.Status != MapStatus.Available || !Map.Map.Options.ConfigurableStartingUnits || configurationDisabled(); startingUnits.GetText = () => Map.Status != MapStatus.Available || !Map.Map.Options.ConfigurableStartingUnits ? "Not Available" : className(orderManager.LobbyInfo.GlobalSettings.StartingUnitsClass); startingUnits.OnMouseDown = _ => { var options = classes.Select(c => new DropDownOption { Title = className(c), IsSelected = () => orderManager.LobbyInfo.GlobalSettings.StartingUnitsClass == c, OnClick = () => orderManager.IssueOrder(Order.Command("startingunits {0}".F(c))) }); Func <DropDownOption, ScrollItemWidget, ScrollItemWidget> setupItem = (option, template) => { var item = ScrollItemWidget.Setup(template, option.IsSelected, option.OnClick); item.Get <LabelWidget>("LABEL").GetText = () => option.Title; return(item); }; startingUnits.ShowDropDown("LABEL_DROPDOWN_TEMPLATE", options.Count() * 30, options, setupItem); }; optionsBin.Get <LabelWidget>("STARTINGUNITS_DESC").IsVisible = startingUnits.IsVisible; } var startingCash = optionsBin.GetOrNull <DropDownButtonWidget>("STARTINGCASH_DROPDOWNBUTTON"); if (startingCash != null) { startingCash.IsDisabled = () => Map.Status != MapStatus.Available || Map.Map.Options.StartingCash.HasValue || configurationDisabled(); startingCash.GetText = () => Map.Status != MapStatus.Available || Map.Map.Options.StartingCash.HasValue ? "Not Available" : "${0}".F(orderManager.LobbyInfo.GlobalSettings.StartingCash); startingCash.OnMouseDown = _ => { var options = modRules.Actors["player"].Traits.Get <PlayerResourcesInfo>().SelectableCash.Select(c => new DropDownOption { Title = "${0}".F(c), IsSelected = () => orderManager.LobbyInfo.GlobalSettings.StartingCash == c, OnClick = () => orderManager.IssueOrder(Order.Command("startingcash {0}".F(c))) }); Func <DropDownOption, ScrollItemWidget, ScrollItemWidget> setupItem = (option, template) => { var item = ScrollItemWidget.Setup(template, option.IsSelected, option.OnClick); item.Get <LabelWidget>("LABEL").GetText = () => option.Title; return(item); }; startingCash.ShowDropDown("LABEL_DROPDOWN_TEMPLATE", options.Count() * 30, options, setupItem); }; } var techLevel = optionsBin.GetOrNull <DropDownButtonWidget>("TECHLEVEL_DROPDOWNBUTTON"); if (techLevel != null) { var techTraits = modRules.Actors["player"].Traits.WithInterface <ProvidesTechPrerequisiteInfo>().ToList(); techLevel.IsVisible = () => techTraits.Count > 0; var techLevelDescription = optionsBin.GetOrNull <LabelWidget>("TECHLEVEL_DESC"); if (techLevelDescription != null) { techLevelDescription.IsVisible = () => techTraits.Count > 0; } techLevel.IsDisabled = () => Map.Status != MapStatus.Available || Map.Map.Options.TechLevel != null || configurationDisabled() || techTraits.Count <= 1; techLevel.GetText = () => Map.Status != MapStatus.Available || Map.Map.Options.TechLevel != null ? "Not Available" : "{0}".F(orderManager.LobbyInfo.GlobalSettings.TechLevel); techLevel.OnMouseDown = _ => { var options = techTraits.Select(c => new DropDownOption { Title = "{0}".F(c.Name), IsSelected = () => orderManager.LobbyInfo.GlobalSettings.TechLevel == c.Name, OnClick = () => orderManager.IssueOrder(Order.Command("techlevel {0}".F(c.Name))) }); Func <DropDownOption, ScrollItemWidget, ScrollItemWidget> setupItem = (option, template) => { var item = ScrollItemWidget.Setup(template, option.IsSelected, option.OnClick); item.Get <LabelWidget>("LABEL").GetText = () => option.Title; return(item); }; techLevel.ShowDropDown("LABEL_DROPDOWN_TEMPLATE", options.Count() * 30, options, setupItem); }; } var enableShroud = optionsBin.GetOrNull <CheckboxWidget>("SHROUD_CHECKBOX"); if (enableShroud != null) { enableShroud.IsChecked = () => orderManager.LobbyInfo.GlobalSettings.Shroud; enableShroud.IsDisabled = () => Map.Status != MapStatus.Available || Map.Map.Options.Shroud.HasValue || configurationDisabled(); enableShroud.OnClick = () => orderManager.IssueOrder(Order.Command( "shroud {0}".F(!orderManager.LobbyInfo.GlobalSettings.Shroud))); } var enableFog = optionsBin.GetOrNull <CheckboxWidget>("FOG_CHECKBOX"); if (enableFog != null) { enableFog.IsChecked = () => orderManager.LobbyInfo.GlobalSettings.Fog; enableFog.IsDisabled = () => Map.Status != MapStatus.Available || Map.Map.Options.Fog.HasValue || configurationDisabled(); enableFog.OnClick = () => orderManager.IssueOrder(Order.Command( "fog {0}".F(!orderManager.LobbyInfo.GlobalSettings.Fog))); } var disconnectButton = lobby.Get <ButtonWidget>("DISCONNECT_BUTTON"); disconnectButton.OnClick = () => { CloseWindow(); onExit(); }; if (skirmishMode) { disconnectButton.Text = "Back"; } chatLabel = lobby.Get <LabelWidget>("LABEL_CHATTYPE"); var chatTextField = lobby.Get <TextFieldWidget>("CHAT_TEXTFIELD"); chatTextField.TakeKeyboardFocus(); chatTextField.OnEnterKey = () => { if (chatTextField.Text.Length == 0) { return(true); } // Always scroll to bottom when we've typed something chatPanel.ScrollToBottom(); orderManager.IssueOrder(Order.Chat(teamChat, chatTextField.Text)); chatTextField.Text = ""; return(true); }; chatTextField.OnTabKey = () => { var previousText = chatTextField.Text; chatTextField.Text = tabCompletion.Complete(chatTextField.Text); chatTextField.CursorPosition = chatTextField.Text.Length; if (chatTextField.Text == previousText) { return(SwitchTeamChat()); } else { return(true); } }; chatTextField.OnEscKey = () => { chatTextField.Text = ""; return(true); }; chatPanel = lobby.Get <ScrollPanelWidget>("CHAT_DISPLAY"); chatTemplate = chatPanel.Get("CHAT_TEMPLATE"); chatPanel.RemoveChildren(); var musicButton = lobby.GetOrNull <ButtonWidget>("MUSIC_BUTTON"); if (musicButton != null) { musicButton.OnClick = () => Ui.OpenWindow("MUSIC_PANEL", new WidgetArgs { { "onExit", DoNothing }, { "world", worldRenderer.World } }); } var settingsButton = lobby.GetOrNull <ButtonWidget>("SETTINGS_BUTTON"); if (settingsButton != null) { settingsButton.OnClick = () => Ui.OpenWindow("SETTINGS_PANEL", new WidgetArgs { { "onExit", DoNothing }, { "worldRenderer", worldRenderer } }); } // Add a bot on the first lobbyinfo update if (skirmishMode) { Game.LobbyInfoChanged += WidgetUtils.Once(() => { var slot = orderManager.LobbyInfo.FirstEmptyBotSlot(); var bot = modRules.Actors["player"].Traits.WithInterface <IBotInfo>().Select(t => t.Name).FirstOrDefault(); var botController = orderManager.LobbyInfo.Clients.FirstOrDefault(c => c.IsAdmin); if (slot != null && bot != null) { orderManager.IssueOrder(Order.Command("slot_bot {0} {1} {2}".F(slot, botController.Index, bot))); } }); } }
public void FrmOrder_Load(object sender, EventArgs e) { decimal sumPay = 0; Transmit.FrmOrder = this; flpPayMain.Controls.Clear(); string OrderId = Transmit.FrmFoodMain.lbOrderId.Text; List <Order> od = OrderManager.SelectOrderInfo(OrderId); if (Transmit.FrmFoodMain.llbVIP.Text == "未登录") { lbviphj.Visible = false; lbVIPSum.Visible = false; lbsumhj.Visible = true; lbSumRmb.Visible = true; } else { lbviphj.Visible = true; lbVIPSum.Visible = true; lbsumhj.Visible = false; lbSumRmb.Visible = false; } if (Transmit.FrmFoodMain.IsPays) { lbSumRmb.Text = "0"; #region 加载订单 for (int i = 0; i < od.Count; i++) { FrmOrderInfo2 foi2 = new FrmOrderInfo2(); foi2.BackgroundImage = Image.FromFile(Application.StartupPath + @"\Images\主界面\小已结账框.png"); foi2.pbxAdd.Enabled = false; foi2.pbxMinus.Enabled = false; foi2.pbxImage.Image = Image.FromFile(Application.StartupPath + @"\Images\食物\" + od[i].FName + ".jpg"); foi2.lbFName.Text = od[i].FName; foi2.lbFNumber.Text = od[i].FNumber.ToString(); foi2.lbRMB.Text = od[i].FPrice.ToString().Substring(0, 5); double vipsum = Convert.ToDouble(foi2.lbRMB.Text); foi2.lbVIP.Text = (vipsum * 0.8).ToString(); flpPayMain.Controls.Add(foi2); } #endregion } else { #region 判断是否有订单 if (od.Count == 0) { lbSumRmb.Text = "0"; FrmImage fi = new FrmImage(); flpPayMain.Controls.Add(fi); } #endregion #region 加载订单 for (int i = 0; i < od.Count; i++) { sumPay += od[i].FPrice * od[i].FNumber; lbSumRmb.Text = sumPay.ToString().Substring(0, 5); double Vipsum = Convert.ToDouble(lbSumRmb.Text); lbVIPSum.Text = (Vipsum * 0.8).ToString(); FrmOrderInfo2 foi2 = new FrmOrderInfo2(); foi2.pbxImage.Image = Image.FromFile(Application.StartupPath + @"\Images\食物\" + od[i].FName + ".jpg"); foi2.lbFName.Text = od[i].FName; foi2.lbFNumber.Text = od[i].FNumber.ToString(); foi2.lbRMB.Text = od[i].FPrice.ToString().Substring(0, 5); double vipsum = Convert.ToDouble(foi2.lbRMB.Text); foi2.lbVIP.Text = (vipsum * 0.8).ToString(); flpPayMain.Controls.Add(foi2); } #endregion } }
public OrdersDetailViewModel() { SearchCommand = new Command(SearchCustomerWithOrders); _orderManager = new OrderManager(); CustomerOrders = new ObservableCollection <CustomerOrderViewModel>(); }
public override bool GetOrderManager(string requestData, ref OrderManager orderManger) { try { if (orderManger == null) { m_lastError = "获得预约订单管理信息失败:预约订单管理对象为null"; Logger.WriteError(m_lastError); return(false); } m_httpItem.URL = requestData; m_httpItem.ResultType = ResultType.String; m_httpItem.Method = "GET"; m_httpItem.Postdata = string.Empty; m_httpItem.ContentType = "text/html"; m_httpItem.Allowautoredirect = false; HttpResult html = m_httpHelper.GetHtml(m_httpItem); if (html.RedirectUrl.Length == 0) { m_htmlDocument.LoadHtml(html.Html); HtmlNode htmlNode = m_htmlDocument.DocumentNode.SelectSingleNode(ORDER_INFO_XPATH); if (htmlNode != null) { HtmlNodeCollection htmlNodeCollection = htmlNode.SelectNodes("div[@class='m_l']/div[@class='m_l_1']/div[@class='con_r']/p"); if (htmlNodeCollection != null && htmlNodeCollection.Count == 3) { orderManger.Doctor.Name = htmlNodeCollection[0].InnerHtml.Trim(); orderManger.Doctor.HospitalName = htmlNodeCollection[2].InnerHtml.Trim(); } HtmlNode htmlNode2 = htmlNode.SelectSingleNode("input[@name='hosId']"); if (htmlNode2 != null) { orderManger.Doctor.HospitalId = htmlNode2.GetAttributeValue("value", ""); } HtmlNodeCollection htmlNodeCollection2 = htmlNode.SelectNodes("input"); if (htmlNodeCollection2 != null && htmlNodeCollection2.Count == 14) { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append("numId={0}&resTime={1}&resNumber={2}&"); for (int i = 3; i < 14; i++) { stringBuilder.Append(htmlNodeCollection2[i].GetAttributeValue("name", "")); stringBuilder.Append("="); stringBuilder.Append(htmlNodeCollection2[i].GetAttributeValue("value", "")); stringBuilder.Append("&"); } stringBuilder.Append("num={3}"); orderManger.CheckOrderPostUrlFormat = stringBuilder.ToString(); } HtmlNodeCollection htmlNodeCollection3 = htmlNode.SelectNodes("div[@class='m_l']/div[@class='m_l_2']/p/span"); if (htmlNodeCollection3 != null && htmlNodeCollection3.Count == 3) { orderManger.RegisterFee = htmlNodeCollection3[0].InnerHtml.Trim(); orderManger.Doctor.Department = htmlNodeCollection3[1].InnerHtml.Trim(); orderManger.RegisterDate = htmlNodeCollection3[2].InnerHtml.Trim().Replace(" ", " "); } HtmlNodeCollection htmlNodeCollection4 = htmlNode.SelectNodes("div[@class='m_r']/div[@class='m_r_1']/table/tr/td/input"); if (htmlNodeCollection4 == null) { m_lastError = "获得预约订单管理信息失败:预约订单信息解析失败"; Logger.WriteError(m_lastError); return(false); } using (IEnumerator <HtmlNode> enumerator = ((IEnumerable <HtmlNode>)htmlNodeCollection4).GetEnumerator()) { while (enumerator.MoveNext()) { HtmlNode current = enumerator.Current; string[] array = current.GetAttributeValue("value", "").Split(new char[] { ',' }); if (array != null && array.Length == 3) { OrderInfo orderInfo = new OrderInfo(); orderInfo.OrderNum = array[2]; orderInfo.OrderId = array[0]; orderInfo.OrderTime = array[1]; orderManger.OrderInfos.Add(orderInfo); } } } } } else { m_lastError = "获得预约订单管理信息失败:用户未登录"; Logger.WriteError(m_lastError); return(false); } } catch (Exception err) { m_lastError = "获得预约订单管理信息失败:" + err.Message; Logger.WriteError("获得预约订单管理信息失败", err); return(false); } return(true); }
/// <summary> /// Change encryption private key /// </summary> /// <param name="NewEncryptionPrivateKey">New encryption private key</param> public static void ChangeEncryptionPrivateKey(string NewEncryptionPrivateKey) { if (String.IsNullOrEmpty(NewEncryptionPrivateKey) || NewEncryptionPrivateKey.Length != 16) { throw new NopException("Encryption private key must be 16 characters long"); } string oldEncryptionPrivateKey = SettingManager.GetSettingValue("Security.EncryptionPrivateKey"); if (oldEncryptionPrivateKey == NewEncryptionPrivateKey) { return; } OrderCollection orders = OrderManager.LoadAllOrders(); foreach (Order order in orders) { string decryptedCardType = Decrypt(order.CardType, oldEncryptionPrivateKey); string decryptedCardName = Decrypt(order.CardName, oldEncryptionPrivateKey); string decryptedCardNumber = Decrypt(order.CardNumber, oldEncryptionPrivateKey); string decryptedMaskedCreditCardNumber = Decrypt(order.MaskedCreditCardNumber, oldEncryptionPrivateKey); string decryptedCardCVV2 = Decrypt(order.CardCVV2, oldEncryptionPrivateKey); string decryptedCardExpirationMonth = Decrypt(order.CardExpirationMonth, oldEncryptionPrivateKey); string decryptedCardExpirationYear = Decrypt(order.CardExpirationYear, oldEncryptionPrivateKey); string encryptedCardType = Encrypt(decryptedCardType, NewEncryptionPrivateKey); string encryptedCardName = Encrypt(decryptedCardName, NewEncryptionPrivateKey); string encryptedCardNumber = Encrypt(decryptedCardNumber, NewEncryptionPrivateKey); string encryptedMaskedCreditCardNumber = Encrypt(decryptedMaskedCreditCardNumber, NewEncryptionPrivateKey); string encryptedCardCVV2 = Encrypt(decryptedCardCVV2, NewEncryptionPrivateKey); string encryptedCardExpirationMonth = Encrypt(decryptedCardExpirationMonth, NewEncryptionPrivateKey); string encryptedCardExpirationYear = Encrypt(decryptedCardExpirationYear, NewEncryptionPrivateKey); OrderManager.UpdateOrder(order.OrderID, order.OrderGUID, order.CustomerID, order.CustomerLanguageID, order.CustomerTaxDisplayType, order.OrderSubtotalInclTax, order.OrderSubtotalExclTax, order.OrderShippingInclTax, order.OrderShippingExclTax, order.PaymentMethodAdditionalFeeInclTax, order.PaymentMethodAdditionalFeeExclTax, order.OrderTax, order.OrderTotal, order.OrderDiscount, order.OrderSubtotalInclTaxInCustomerCurrency, order.OrderSubtotalExclTaxInCustomerCurrency, order.OrderShippingInclTaxInCustomerCurrency, order.OrderShippingExclTaxInCustomerCurrency, order.PaymentMethodAdditionalFeeInclTaxInCustomerCurrency, order.PaymentMethodAdditionalFeeExclTaxInCustomerCurrency, order.OrderTaxInCustomerCurrency, order.OrderTotalInCustomerCurrency, order.CustomerCurrencyCode, order.OrderWeight, order.AffiliateID, order.OrderStatus, order.AllowStoringCreditCardNumber, encryptedCardType, encryptedCardName, encryptedCardNumber, encryptedMaskedCreditCardNumber, encryptedCardCVV2, encryptedCardExpirationMonth, encryptedCardExpirationYear, order.PaymentMethodID, order.PaymentMethodName, order.AuthorizationTransactionID, order.AuthorizationTransactionCode, order.AuthorizationTransactionResult, order.CaptureTransactionID, order.CaptureTransactionResult, order.PurchaseOrderNumber, order.PaymentStatus, order.BillingFirstName, order.BillingLastName, order.BillingPhoneNumber, order.BillingEmail, order.BillingFaxNumber, order.BillingCompany, order.BillingAddress1, order.BillingAddress2, order.BillingCity, order.BillingStateProvince, order.BillingStateProvinceID, order.BillingZipPostalCode, order.BillingCountry, order.BillingCountryID, order.ShippingStatus, order.ShippingFirstName, order.ShippingLastName, order.ShippingPhoneNumber, order.ShippingEmail, order.ShippingFaxNumber, order.ShippingCompany, order.ShippingAddress1, order.ShippingAddress2, order.ShippingCity, order.ShippingStateProvince, order.ShippingStateProvinceID, order.ShippingZipPostalCode, order.ShippingCountry, order.ShippingCountryID, order.ShippingMethod, order.ShippingRateComputationMethodID, order.ShippedDate, order.Deleted, order.CreatedOn); } SettingManager.SetParam("Security.EncryptionPrivateKey", NewEncryptionPrivateKey); }
static void InnerLogicTick(OrderManager orderManager) { var tick = RunTime; var world = orderManager.World; var uiTickDelta = tick - Ui.LastTickTime; if (uiTickDelta >= Timestep) { // Explained below for the world tick calculation var integralTickTimestep = (uiTickDelta / Timestep) * Timestep; Ui.LastTickTime += integralTickTimestep >= TimestepJankThreshold ? integralTickTimestep : Timestep; Sync.RunUnsynced(Settings.Debug.SyncCheckUnsyncedCode, world, Ui.Tick); Cursor.Tick(); } var worldTimestep = world == null ? Timestep : world.IsLoadingGameSave ? 1 : world.Timestep; var worldTickDelta = tick - orderManager.LastTickTime; if (worldTimestep != 0 && worldTickDelta >= worldTimestep) { using (new PerfSample("tick_time")) { // Tick the world to advance the world time to match real time: // If dt < TickJankThreshold then we should try and catch up by repeatedly ticking // If dt >= TickJankThreshold then we should accept the jank and progress at the normal rate // dt is rounded down to an integer tick count in order to preserve fractional tick components. var integralTickTimestep = (worldTickDelta / worldTimestep) * worldTimestep; orderManager.LastTickTime += integralTickTimestep >= TimestepJankThreshold ? integralTickTimestep : worldTimestep; Sound.Tick(); Sync.RunUnsynced(Settings.Debug.SyncCheckUnsyncedCode, world, orderManager.TickImmediate); if (world == null) { return; } var isNetTick = LocalTick % NetTickScale == 0; if (!isNetTick || orderManager.IsReadyForNextFrame) { ++orderManager.LocalFrameNumber; Log.Write("debug", "--Tick: {0} ({1})", LocalTick, isNetTick ? "net" : "local"); if (isNetTick) { orderManager.Tick(); } Sync.RunUnsynced(Settings.Debug.SyncCheckUnsyncedCode, world, () => { world.OrderGenerator.Tick(world); }); world.Tick(); PerfHistory.Tick(); } else if (orderManager.NetFrameNumber == 0) { orderManager.LastTickTime = RunTime; } // Wait until we have done our first world Tick before TickRendering if (orderManager.LocalFrameNumber > 0) { Sync.RunUnsynced(Settings.Debug.SyncCheckUnsyncedCode, world, () => world.TickRender(worldRenderer)); } } benchmark?.Tick(LocalTick); } }
public void ImportFisReceptie(string filepath) { Ferme_CCL ferma = new Ferme_CCL(); bool error = false; string strcodbare; string strConn; int posOfSlash = filepath.LastIndexOf(@"\"); string dirServer = StaticDataHelper.SettingsManager.CaleFizicaServer; string saveDir = dirServer + @"Downloads\FisiereImportateAutomat"; if (!Directory.Exists(saveDir)) Directory.CreateDirectory(saveDir); saveDir = saveDir + @"\"; // DataTable schemaTable; strConn = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + filepath + ";" + "Extended Properties='Excel 8.0;HDR=No;IMEX=1'"; //You must use the $ after the object you reference in the spreadsheet"+numesheet+" // OleDbDataAdapter myCommand = new OleDbDataAdapter("SELECT * FROM [Sheet1$]",strConn); OleDbConnection cn; DataTable dtTables; cn = new OleDbConnection(strConn); cn.Open(); dtTables = cn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" }); string tblstr = dtTables.Rows[dtTables.Rows.Count - 1]["TABLE_NAME"].ToString(); // OleDbCommand myCommand = new OleDbCommand ("SELECT * FROM [" + tblstr+ " $]", cn); // make log files string tbldate = tblstr.Substring(4, 8); loggerReceptie.Info("Data: " + DateTime.Now.ToString() + " nume sheet:" + tblstr); loggerReceptie.Info("*****************************************************************************"); loggerReceptie.Info("*****************************************************************************"); loggerReceptie.Info("Data: " + DateTime.Now.ToString() + " nume sheet:" + tblstr); // end log files filepath = filepath.Replace(@"\", @"\\"); OleDbDataAdapter myCommand = new OleDbDataAdapter(); myCommand.SelectCommand = new OleDbCommand("SELECT * FROM [" + tblstr + "]", cn); DataSet myDataSet = new DataSet(); myCommand.Fill(myDataSet); DataTable table; table = myDataSet.Tables[0]; cn.Close(); // For each row, print the values of each column. string strDataPrelevare; string ferma_ccl_cod = ""; int ferma_ccl_id = 0; int fabricaID = 0; int header = 0; string prelevator = ""; string datat_testare = ""; double prelid; bool isNum; string prelevatorini = table.Rows[0][1].ToString(); List<Order> orders = new List<Order>(); OrderManager oManager = new OrderManager(ctx); foreach (DataRow row in table.Rows) { header++; if (header > 2 && row[4].ToString().Trim() != "") { error = false; strcodbare = row[4].ToString().Trim(); if (ExistaCodBare(strcodbare) != 0) { loggerReceptie.Info("Codul de bare:" + strcodbare + " exista deja"); error = true; } else { datat_testare = tblstr.Substring(4); datat_testare = datat_testare.Substring(0, 2) + "/" + datat_testare.Substring(2, 2) + "/" + datat_testare.Substring(4, 4); // strDataPrelevare = row[5].ToString().Trim().Replace(@".", @"\"); strDataPrelevare = row[7].ToString().Trim(); prelevator = row[1].ToString().Trim(); /* if (prelevator == "") prelevator = prelevatorini; else prelevatorini = prelevator; */ isNum = double.TryParse(prelevator, NumberStyles.Integer, CultureInfo.CurrentCulture, out prelid); loggerReceptie.Info("Codul de bare: " + strcodbare + " are inhibitor:" + row[5].ToString().Trim()); string nrComanda = row[0].ToString().Trim(); string strDataPrimirii = row[8].ToString().Trim(); string numeFerma = string.Empty; if (!isNum) { numeFerma = row[9].ToString().Trim(); AddMostraFCB(0, Convert.ToInt32(row[3].ToString().Trim()), strcodbare, nrComanda, prelevator, row[2].ToString().Trim(), strDataPrelevare, strDataPrimirii, datat_testare, datat_testare, numeFerma, row[10].ToString().Trim(), row[11].ToString().Trim(), row[12].ToString().Trim(), 0, 0, "0", "0", "0", "0", "0", "0", row[5].ToString().Trim(), "0", "0", "0"); } else { if (Convert.ToInt32(prelevator) == 0) prelevator = strcodbare.Substring(0, 5); ferma_ccl_cod = strcodbare.Substring(0, 5); ferma_ccl_id = GetFermeCCL_ID(ferma_ccl_cod); if (ferma_ccl_id == 0) { loggerReceptie.Info("La id Zilnic : " + row[3].ToString().Trim() + " Codul de ferma :" + ferma_ccl_cod + " nu exista !!! Mostra nu a fost importata"); error = true; } else { fabricaID = ferma.GetFerma(ferma_ccl_id, out numeFerma); loggerReceptie.Info("Gasit Ferma id: {0}; nume: {1}", ferma_ccl_id, numeFerma); } if (!error) try { AddMostra(0, Convert.ToInt32(row[3].ToString().Trim()), strcodbare, nrComanda, ferma_ccl_cod, ferma_ccl_id, fabricaID , row[5].ToString().Trim(), "0", "0", "0", "0", "0", strDataPrelevare, "0", strDataPrimirii, "0", datat_testare, "0", Convert.ToInt32(prelevator), 0, 0, datat_testare, "0", "0", "0"); } catch (Exception ex) { loggerReceptie.Info("Adaugare mostra esuata:" + strcodbare + " " + ex.Message); } } Order currentOrder = orders.FirstOrDefault(o => o.FullOrderNumber == nrComanda); if (currentOrder != null) { currentOrder.SampleCount++; currentOrder.AnalyzedSampleCount++; } else { string[] arr = nrComanda.Split('-', '/'); int orderNumber; if (arr.Length == 2 && int.TryParse(arr[0], out orderNumber)) { DateTime dataPrimirii; if (!DateTime.TryParseExact(strDataPrimirii, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out dataPrimirii)) { dataPrimirii = DateTime.Now; } DateTime dataPrelevare; if (!DateTime.TryParseExact(strDataPrelevare, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out dataPrelevare)) { dataPrelevare = DateTime.Now; } currentOrder = new Order { AnalyzedSampleCount = 1, ClientId = fabricaID > 0 ? fabricaID : -1, ClientName = numeFerma + " (" + fabricaID + ")", FullOrderNumber = nrComanda, Imported = true, OrderNumber = orderNumber, ReceivedDate = dataPrimirii, SampleCount = 1, SampleDate = dataPrelevare }; orders.Add(currentOrder); } else { loggerReceptie.Info("Adaugare comanda esuata: " + nrComanda); } } } } } oManager.Save(orders); ctx.SaveChanges(); loggerReceptie.Info("Importarea fisierului de receptie a fost efectuata!"); }
protected void btnSubmit_Click(object sender, EventArgs e) { Boolean proceed = true; String[] items = SessionVariableManager.getOrderItems(); List<InventoryItem> orderInventory = new List<InventoryItem>(); List<TextBox> textboxes = new List<TextBox>(); OrderManager orderManager = new OrderManager(); foreach (String item in items) { if (item != "") { orderInventory.Add(InventoryManager.getSingleItem(Convert.ToInt32(item))); } } foreach (RepeaterItem rptItem in rptOrderItem.Items) { textboxes.Add((TextBox)rptItem.FindControl("txtCount")); } if (orderInventory.Count == textboxes.Count) { for (int i = 0; i < orderInventory.Count; i++) { bool success = orderManager.addItemToOrder(orderInventory[i], Convert.ToInt32(textboxes[i].Text)); if (!success) { lblMessage.Text = "You cannot order more than we have in inventory. Please try again! (" + orderInventory[i].getProductName() + ")"; proceed = false; return; } } } PaymentInformation userCreditCard = PaymentManager.getUserCreditCard(Convert.ToInt32(ddlPaymentMethod.SelectedValue)); orderManager.addPaymentInfo(userCreditCard); orderManager.setIsCollectOnDelivery(cbCollectOnDelivery.Checked); orderManager.setPaymentAmount(Convert.ToDouble(txtPaymentAmount.Text)); if (proceed) { int orderNumber = orderManager.submitOrder(); if (orderNumber > 0) { lblMessage.Text = "Thank you for your order. Your order number is " + orderNumber + ". Keep this number for reference."; btnCalculateOrder.Enabled = false; btnSubmit.Enabled = false; paymentAmountValidator.Enabled = false; paymentAmountRequiredValidator.Enabled = false; foreach (InventoryItem item in orderInventory) { SessionVariableManager.removeItemFromCart(item.getInventoryId()); } } else { lblMessage.Text = "Sorry, there was an error with your order. Please review your selection and try again."; } } }
public void VerificareBV(string filepath, string filescan) { string strConn; int posOfSlash = filepath.LastIndexOf(@"\"); string dirServer = StaticDataHelper.SettingsManager.CaleFizicaServer; loggerReceptie.Info("*************************************************************************************************"); loggerReceptie.Info("*************************************************************************************************"); loggerReceptie.Info("Verificare BV start pentru fisierul {0}", filescan); SqlConnection cnn = new SqlConnection(CopConnectionString); filepath = filepath.Replace(@"\", @"\\"); strConn = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + filepath + ";" + "Extended Properties='Excel 8.0;HDR=No;IMEX=1;READONLY=FALSE;'"; OleDbConnection cn; DataTable dtTables; cn = new OleDbConnection(strConn); cn.Open(); dtTables = cn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" }); string tblstr = dtTables.Rows[dtTables.Rows.Count - 1]["TABLE_NAME"].ToString(); OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT * FROM [" + tblstr + "]", cn); OleDbCommandBuilder cb = new OleDbCommandBuilder(adapter); DataSet dataset = new DataSet(); adapter.Fill(dataset); adapter.FillSchema(dataset, SchemaType.Source); DataTable table; table = dataset.Tables[0]; cn.Close(); filescan = filescan.Replace(@"\", @"\\"); string strConns = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + filescan + ";" + "Extended Properties='Excel 8.0;HDR=No;IMEX=1;READONLY=FALSE'"; OleDbConnection cns; DataTable dtScanTables; cns = new OleDbConnection(strConns); cns.Open(); dtScanTables = cns.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" }); string tblscan = dtScanTables.Rows[0]["TABLE_NAME"].ToString(); OleDbDataAdapter secCommand = new OleDbDataAdapter(); secCommand.SelectCommand = new OleDbCommand("SELECT * FROM [" + tblscan + "]", cns); DataSet secDataSet = new DataSet(); secCommand.Fill(secDataSet); DataTable scan; scan = secDataSet.Tables[0]; cns.Close(); try { // For each row, print the values of each column. string dataprelevare = ""; double litri = 0.0; bool isNum; string nrmatricol = ""; string codbare = ""; string prelevator = ""; string serieanaliza = ""; Ferme_CCL ferma = new Ferme_CCL(); string filename = Path.GetFileNameWithoutExtension(filescan); string[] tokens = filename.Split('_'); string codexpl = string.Empty; if (tokens.Count() > 2) { codexpl = tokens[2].Replace(" ", "").Replace("-", ""); } if (string.IsNullOrEmpty(codexpl)) { throw new Exception(string.Format("Nu am putut extrage cod de exploatatie din numele fisierului: {0}", filename)); } loggerReceptie.Info("Am obtinut codul de exploatatie: {0} din numele fisierului: {1}", codexpl, filename); string numeFerma; int fermaid = ferma.GetFermeExpl(codexpl, out numeFerma); if (fermaid <= 0) { throw new Exception(string.Format("Nu am gasit ID pentru codul de exploatatie: {0}", codexpl)); } loggerReceptie.Info("Am gasit ID-ul de ferma: {0} cu numele {1} pentrul codul de exploatatie: {2}", fermaid, numeFerma, codexpl); List<Order> orders = new List<Order>(); OrderManager oManager = new OrderManager(ctx); for (int j = 1; j < scan.Rows.Count; j++) { DataRow row = scan.Rows[j]; serieanaliza = row[0].ToString().Trim(); nrmatricol = row[1].ToString().Trim(); codbare = row[2].ToString().Trim(); dataprelevare = row[3].ToString().Trim(); string cant = row[4].ToString().Trim(); prelevator = row[5].ToString().Trim(); if (cant.Length > 0) { isNum = double.TryParse(cant, NumberStyles.Integer, CultureInfo.CreateSpecificCulture("en-GB"), out litri); } bool found = false; if (codbare.Length > 0 && nrmatricol.Length > 0) { for (int i = 2; i < dataset.Tables[0].Rows.Count; i++) { if (codbare.Equals(dataset.Tables[0].Rows[i][4].ToString().Trim())) { found = true; dataset.Tables[0].Rows[i][0] = serieanaliza; dataset.Tables[0].Rows[i][3] = nrmatricol; dataset.Tables[0].Rows[i][1] = prelevator; dataset.Tables[0].Rows[i][5] = cant; dataset.Tables[0].Rows[i][7] = dataprelevare; dataset.Tables[0].Rows[i].AcceptChanges(); break; } } if (!found) { loggerReceptie.Info("Codul de bare: {0} - {1} nu exista!", codbare, nrmatricol); } } } // adapter.Update(dataset.Tables[0]); dataset.Tables[0].AcceptChanges(); dataset.AcceptChanges(); if (false) { WriteMergedFileForDebug(dataset); } table = dataset.Tables[0]; // // For each row, print the values of each column. DateTime dataPrelevare = DateTime.Now; string ferma_ccl_cod = ""; string crot = ""; string rasa = ""; int ferma_ccl_id = 0; int fabricaID = 0; int header = 0; bool error = false; string strcodbare = ""; string prelevatorini = table.Rows[0][1].ToString(); DateTime datat_testare = new DateTime(int.Parse(tblstr.Substring(8, 4)), int.Parse(tblstr.Substring(6, 2)), int.Parse(tblstr.Substring(4, 2))); error = !VerificareFisierReceptie(table, 8, 7); if (error) { loggerReceptie.Error("Eroare la verificare fisierului, oprire import"); return; } foreach (DataRow row in table.Rows) { header++; if (header > 2 && row[3].ToString().Trim() != "") { error = false; crot = row[3].ToString().Trim(); strcodbare = row[4].ToString().Trim(); if (ExistaCodBare(strcodbare) != 0) { loggerReceptie.Info("Codul de bare: {0} exista deja!", strcodbare); error = true; } else { // strDataPrelevare = row[5].ToString().Trim().Replace(@".", @"\"); //try //{ dataPrelevare = DateTime.ParseExact(row[7].ToString().Trim().Substring(0, 10), "dd/MM/yyyy", new CultureInfo("fr-FR")); //} //catch (Exception de) //{ // loggerReceptie.Error("Eroare la interpretarea date pentru crotalie: {0}, data: {1}, eroare: {2}", crot, dataPrelevare.ToShortDateString(), de.Message); //} prelevator = row[1].ToString().Trim(); string lit = row[5].ToString().Trim(); ferma_ccl_cod = crot; ferma_ccl_id = fermaid; if (ferma_ccl_id == 0) { error = true; loggerReceptie.Error("Nu exista ferma pt. codul de exploatatie:" + codexpl); } else { string crotalia = ferma.GetFermeCrot(crot, fermaid); if (crotalia == null || crotalia.Trim().Length == 0) loggerReceptie.Error("Nu exista crotalie pt. codul: {0}, crotalia: {1}", strcodbare, crot); } string farmName; fabricaID = ferma.GetFerma(ferma_ccl_id, out farmName); rasa = ferma.GetFermeRasa(crot, fermaid); if (!error) { try { string nrComanda = row[0].ToString().Trim(); DateTime dataPrimirii = DateTime.ParseExact(row[8].ToString().Trim(), "dd/MM/yyyy", new CultureInfo("fr-FR")); AddMostra(0, Convert.ToInt32(row[2].ToString().Trim()), strcodbare, nrComanda, ferma_ccl_cod, ferma_ccl_id, fabricaID, "", lit , "0", "0", "0", "0", dataPrelevare, "0", dataPrimirii, "0", datat_testare, "0", 0, prelevator, 0, 0, datat_testare, "0", "0", "0", rasa); //loggerReceptie.Info("Mostra cod bare {0} pentru ferma Id {1}, fabrica Id {2}, nr comanda {3} adaugata cu succes.", strcodbare, ferma_ccl_id, fabricaID, nrComanda); Order currentOrder = orders.FirstOrDefault(o => o.FullOrderNumber == nrComanda); if (currentOrder != null) { currentOrder.SampleCount++; currentOrder.AnalyzedSampleCount++; } else { string[] arr = nrComanda.Split('-', '/'); int orderNumber; if (arr.Length == 3 && int.TryParse(arr[1], out orderNumber)) { currentOrder = new Order { AnalyzedSampleCount = 1, ClientId = fabricaID > 0 ? fabricaID : -1, ClientName = farmName + " (" + fabricaID + ")", FullOrderNumber = nrComanda, Imported = true, OrderNumber = orderNumber, ReceivedDate = dataPrimirii, SampleCount = 1, SampleDate = dataPrelevare }; orders.Add(currentOrder); } else { loggerReceptie.Error("Adaugare comanda esuata: {0}", nrComanda); } } } catch (Exception ex) { loggerReceptie.Error("Adaugare mostra esuata: {0} , eroare: {1}", strcodbare, ex.Message); } } } } } oManager.Save(orders); ctx.SaveChanges(); loggerReceptie.Info("Importarea fisierului de receptie a fost efectuata!"); string filepath_ver = filepath.Replace(".xls", "_" + tblstr.Substring(1, tblstr.IndexOf("cop") - 5) + ".xls"); SqlCommand cmd = new SqlCommand(); cmd.Connection = cnn; cmd.CommandText = "SELECT NrComanda, NumePrelevator,IdZilnic,CodFerma,CodBare,CantitateLaPrelevare,DataPrelevare,DataPrimirii from MostreTancuri Where DataTestare = CONVERT(date, '" + datat_testare.ToShortDateString() + "', 103)"; cnn.Open(); SqlDataAdapter da = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); da.Fill(ds); table = ds.Tables[0]; CreateExcelFile(table, filepath_ver); } catch (Exception ex) { loggerReceptie.Error("Eroare receptie: {0}", ex.Message); } finally { cnn.Close(); cn.Close(); } }
public ReplayControlBarLogic(Widget widget, World world, OrderManager orderManager) { if (world.IsReplay) { var container = widget.Get("REPLAY_PLAYER"); var connection = (ReplayConnection)orderManager.Connection; var replayNetTicks = connection.TickCount; var background = widget.Parent.GetOrNull("OBSERVER_CONTROL_BG"); if (background != null) { background.Bounds.Height += container.Bounds.Height; } container.Visible = true; var speed = PlaybackSpeed.Regular; var originalTimestep = world.Timestep; var pauseButton = widget.Get <ButtonWidget>("BUTTON_PAUSE"); pauseButton.IsVisible = () => world.ReplayTimestep != 0 && orderManager.NetFrameNumber < replayNetTicks; pauseButton.OnClick = () => world.ReplayTimestep = 0; var playButton = widget.Get <ButtonWidget>("BUTTON_PLAY"); playButton.IsVisible = () => world.ReplayTimestep == 0 || orderManager.NetFrameNumber >= replayNetTicks; playButton.OnClick = () => world.ReplayTimestep = (int)Math.Ceiling(originalTimestep * multipliers[speed]); playButton.IsDisabled = () => orderManager.NetFrameNumber >= replayNetTicks; var slowButton = widget.Get <ButtonWidget>("BUTTON_SLOW"); slowButton.IsHighlighted = () => speed == PlaybackSpeed.Slow; slowButton.IsDisabled = () => orderManager.NetFrameNumber >= replayNetTicks; slowButton.OnClick = () => { speed = PlaybackSpeed.Slow; if (world.ReplayTimestep != 0) { world.ReplayTimestep = (int)Math.Ceiling(originalTimestep * multipliers[speed]); } }; var normalSpeedButton = widget.Get <ButtonWidget>("BUTTON_REGULAR"); normalSpeedButton.IsHighlighted = () => speed == PlaybackSpeed.Regular; normalSpeedButton.IsDisabled = () => orderManager.NetFrameNumber >= replayNetTicks; normalSpeedButton.OnClick = () => { speed = PlaybackSpeed.Regular; if (world.ReplayTimestep != 0) { world.ReplayTimestep = (int)Math.Ceiling(originalTimestep * multipliers[speed]); } }; var fastButton = widget.Get <ButtonWidget>("BUTTON_FAST"); fastButton.IsHighlighted = () => speed == PlaybackSpeed.Fast; fastButton.IsDisabled = () => orderManager.NetFrameNumber >= replayNetTicks; fastButton.OnClick = () => { speed = PlaybackSpeed.Fast; if (world.ReplayTimestep != 0) { world.ReplayTimestep = (int)Math.Ceiling(originalTimestep * multipliers[speed]); } }; var maximumButton = widget.Get <ButtonWidget>("BUTTON_MAXIMUM"); maximumButton.IsHighlighted = () => speed == PlaybackSpeed.Maximum; maximumButton.IsDisabled = () => orderManager.NetFrameNumber >= replayNetTicks; maximumButton.OnClick = () => { speed = PlaybackSpeed.Maximum; if (world.ReplayTimestep != 0) { world.ReplayTimestep = (int)Math.Ceiling(originalTimestep * multipliers[speed]); } }; } }
/// <summary> /// Sets up managers when a user is logged in /// </summary> /// <param name="user">User.</param> public static void UserLoggedIn(User user) { Log.WriteLine (Log.Layer.AL, typeof(Application), "User logged in: " + user); User = user; GameStatusManager = new GameStatusManager (user); InfoManager = new InfoManager (user); ItemManager = new ItemManager (user); OrderTypeManager = new OrderTypeManager (user); PositionManager = new PositionManager (user); StarSystemManager = new StarSystemManager (user); OrderManager = new OrderManager (user); NotificationManager = new NotificationManager (user); }
private List <Order> GetData(bool paged, out int count) { List <Order> orders = null; OrderManager oManager = new OrderManager(StaticDataHelper.FCCLDbContext); #region filter DateTime date; long no; DateTime?receiveDateStart = null; DateTime?receiveDateEnd = null; long? orderNoStart = null; long? orderNoEnd = null; if (!string.IsNullOrWhiteSpace(txtRDStart.Text)) { if (DateTime.TryParseExact(txtRDStart.Text, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out date)) { receiveDateStart = date; } else { receiveDateStart = null; } } if (!string.IsNullOrWhiteSpace(txtRDEnd.Text)) { if (DateTime.TryParseExact(txtRDEnd.Text, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out date)) { receiveDateEnd = date; } else { receiveDateEnd = null; } } if (!string.IsNullOrWhiteSpace(txtONStart.Text)) { if (long.TryParse(txtONStart.Text, out no)) { orderNoStart = no; } else { orderNoStart = null; } } if (!string.IsNullOrWhiteSpace(txtONEnd.Text)) { if (long.TryParse(txtONEnd.Text, out no)) { orderNoEnd = no; } else { orderNoEnd = null; } } #endregion if (paged) { orders = oManager.GetOrdersPaged(receiveDateStart, receiveDateEnd, orderNoStart, orderNoEnd, txtCN.Text, grdOrders.PageIndex, grdOrders.PageSize); count = oManager.GetOrdersCount(receiveDateStart, receiveDateEnd, orderNoStart, orderNoEnd, txtCN.Text); } else { orders = oManager.GetOrdersFiltered(receiveDateStart, receiveDateEnd, orderNoStart, orderNoEnd, txtCN.Text); count = orders.Count; } return(orders); }
protected void BindData(DateTime?startDate, DateTime?endDate) { DateTime?timezoneStartDate = DateTimeUtil.GetEastCoastStartDate(rangeDateControlCriteria.StartDateValueLocal); DateTime?timezoneEndDate = DateTimeUtil.GetEastCoastDate(rangeDateControlCriteria.EndDateValueLocal.Value); //Passsing custom field value as 1000 which is combination of mid and sid. Special case for dermwand.com only List <ReportFields> ItemList = new OrderManager().GetOrderCustomFieldReport(timezoneStartDate, timezoneEndDate, 1, false); Data rptData = new ReportWSSoapClient().GetDataFromTimeframe(hitsLinkUserName, hitsLinkPassword, ReportsEnum.eCommerceActivitySummary, TimeFrameEnum.Daily, Convert.ToDateTime(startDate), Convert.ToDateTime(endDate), 100000000, 0, 0); for (int i = 0; i <= rptData.Rows.GetUpperBound(0); i++) { HitLinkVisitor.Add(rptData.Rows[i].Columns[0].Value.ToLower(), rptData.Rows[i].Columns[3].Value); } List <string> keysAdded = new List <string>(); //Update Version List information foreach (ReportFields item in ItemList) { if (HitLinkVisitor.ContainsKey(item.Title)) { keysAdded.Add(item.Title); decimal visitor = Convert.ToDecimal(HitLinkVisitor[item.Title].ToString()); visitor = Math.Abs(visitor); item.UniqueVisitors = visitor; if (visitor > 0) { item.Conversion = Math.Round((Convert.ToDecimal(item.TotalOrders) * 100) / visitor, 1); item.RevenuePerVisit = Convert.ToDecimal(item.TotalRevenue) / visitor; } else { item.UniqueVisitors = 0; item.Conversion = 0; item.RevenuePerVisit = 0; } if (item.Title.ToUpper() == "NON-CAMPAIGN") { item.Title = "DIRECT TRAFFIC"; } } else { item.UniqueVisitors = 0; item.Conversion = 0; item.RevenuePerVisit = 0; } if (string.IsNullOrEmpty(item.Title)) { item.Title = "(none)"; } } // add keys not already list (visits but no orders) foreach (string key in HitLinkVisitor.Keys) { if (!keysAdded.Contains(key)) { ReportFields item = new ReportFields(); item.Title = key; decimal visitor = Convert.ToDecimal(HitLinkVisitor[item.Title].ToString()); visitor = Math.Abs(visitor); if (item.Title.ToUpper() == "NON-CAMPAIGN") { item.Title = "DIRECT TRAFFIC"; ReportFields dtField = ItemList.First(x => x.Title.ToUpper() == "NON-CAMPAIGN"); if (visitor > 0) { item.UniqueVisitors = visitor; item.Conversion = Math.Round((Convert.ToDecimal(dtField.TotalOrders) * 100) / visitor, 1); item.RevenuePerVisit = Convert.ToDecimal(dtField.TotalRevenue) / visitor; } } else { item.UniqueVisitors = visitor; item.Conversion = 0; item.RevenuePerVisit = 0; ItemList.Add(item); } } } ItemList = ItemList.OrderBy(o => o.Title).ToList(); dlVersionList.DataSource = ItemList; dlVersionList.DataBind(); //FCLiteral.Text = CreateCharts(dtCollectionList[1dtCollectionList }
internal LobbyLogic(Widget widget, ModData modData, WorldRenderer worldRenderer, OrderManager orderManager, Action onExit, Action onStart, bool skirmishMode, Dictionary <string, MiniYaml> logicArgs) { map = MapCache.UnknownMap; lobby = widget; this.modData = modData; this.orderManager = orderManager; this.worldRenderer = worldRenderer; this.onStart = onStart; this.onExit = onExit; this.skirmishMode = skirmishMode; // TODO: This needs to be reworked to support per-map tech levels, bots, etc. this.modRules = modData.DefaultRules; shellmapWorld = worldRenderer.World; services = modData.Manifest.Get <WebServices>(); orderManager.AddChatLine += AddChatLine; Game.LobbyInfoChanged += UpdateCurrentMap; Game.LobbyInfoChanged += UpdatePlayerList; Game.BeforeGameStart += OnGameStart; Game.ConnectionStateChanged += ConnectionStateChanged; var name = lobby.GetOrNull <LabelWidget>("SERVER_NAME"); if (name != null) { name.GetText = () => orderManager.LobbyInfo.GlobalSettings.ServerName; } var mapContainer = Ui.LoadWidget("MAP_PREVIEW", lobby.Get("MAP_PREVIEW_ROOT"), new WidgetArgs { { "orderManager", orderManager }, { "getMap", (Func <MapPreview>)(() => map) }, { "onMouseDown", (Action <MapPreviewWidget, MapPreview, MouseInput>)((preview, mapPreview, mi) => LobbyUtils.SelectSpawnPoint(orderManager, preview, mapPreview, mi)) }, { "getSpawnOccupants", (Func <MapPreview, Dictionary <CPos, SpawnOccupant> >)(mapPreview => LobbyUtils.GetSpawnOccupants(orderManager.LobbyInfo, mapPreview)) }, { "showUnoccupiedSpawnpoints", true }, }); mapContainer.IsVisible = () => panel != PanelType.Servers; UpdateCurrentMap(); var playerBin = Ui.LoadWidget("LOBBY_PLAYER_BIN", lobby.Get("TOP_PANELS_ROOT"), new WidgetArgs()); playerBin.IsVisible = () => panel == PanelType.Players; players = playerBin.Get <ScrollPanelWidget>("LOBBY_PLAYERS"); editablePlayerTemplate = players.Get("TEMPLATE_EDITABLE_PLAYER"); nonEditablePlayerTemplate = players.Get("TEMPLATE_NONEDITABLE_PLAYER"); emptySlotTemplate = players.Get("TEMPLATE_EMPTY"); editableSpectatorTemplate = players.Get("TEMPLATE_EDITABLE_SPECTATOR"); nonEditableSpectatorTemplate = players.Get("TEMPLATE_NONEDITABLE_SPECTATOR"); newSpectatorTemplate = players.Get("TEMPLATE_NEW_SPECTATOR"); colorPreview = lobby.Get <ColorPreviewManagerWidget>("COLOR_MANAGER"); colorPreview.Color = Game.Settings.Player.Color; foreach (var f in modRules.Actors["world"].TraitInfos <FactionInfo>()) { factions.Add(f.InternalName, new LobbyFaction { Selectable = f.Selectable, Name = f.Name, Side = f.Side, Description = f.Description }); } var gameStarting = false; Func <bool> configurationDisabled = () => !Game.IsHost || gameStarting || panel == PanelType.Kick || panel == PanelType.ForceStart || !map.RulesLoaded || map.InvalidCustomRules || orderManager.LocalClient == null || orderManager.LocalClient.IsReady; var mapButton = lobby.GetOrNull <ButtonWidget>("CHANGEMAP_BUTTON"); if (mapButton != null) { mapButton.IsVisible = () => panel != PanelType.Servers; mapButton.IsDisabled = () => gameStarting || panel == PanelType.Kick || panel == PanelType.ForceStart || orderManager.LocalClient == null || orderManager.LocalClient.IsReady; mapButton.OnClick = () => { var onSelect = new Action <string>(uid => { // Don't select the same map again if (uid == map.Uid) { return; } orderManager.IssueOrder(Order.Command("map " + uid)); Game.Settings.Server.Map = uid; Game.Settings.Save(); }); Ui.OpenWindow("MAPCHOOSER_PANEL", new WidgetArgs() { { "initialMap", map.Uid }, { "initialTab", MapClassification.System }, { "onExit", DoNothing }, { "onSelect", Game.IsHost ? onSelect : null }, { "filter", MapVisibility.Lobby }, }); }; } var slotsButton = lobby.GetOrNull <DropDownButtonWidget>("SLOTS_DROPDOWNBUTTON"); if (slotsButton != null) { slotsButton.IsVisible = () => panel != PanelType.Servers; slotsButton.IsDisabled = () => configurationDisabled() || panel != PanelType.Players || (orderManager.LobbyInfo.Slots.Values.All(s => !s.AllowBots) && orderManager.LobbyInfo.Slots.Count(s => !s.Value.LockTeam && orderManager.LobbyInfo.ClientInSlot(s.Key) != null) == 0); slotsButton.OnMouseDown = _ => { var botTypes = map.Rules.Actors["player"].TraitInfos <IBotInfo>().Select(t => t.Type); var options = new Dictionary <string, IEnumerable <DropDownOption> >(); var botController = orderManager.LobbyInfo.Clients.FirstOrDefault(c => c.IsAdmin); if (orderManager.LobbyInfo.Slots.Values.Any(s => s.AllowBots)) { var botOptions = new List <DropDownOption>() { new DropDownOption() { Title = "Add", IsSelected = () => false, OnClick = () => { foreach (var slot in orderManager.LobbyInfo.Slots) { var bot = botTypes.Random(Game.CosmeticRandom); var c = orderManager.LobbyInfo.ClientInSlot(slot.Key); if (slot.Value.AllowBots == true && (c == null || c.Bot != null)) { orderManager.IssueOrder(Order.Command("slot_bot {0} {1} {2}".F(slot.Key, botController.Index, bot))); } } } } }; if (orderManager.LobbyInfo.Clients.Any(c => c.Bot != null)) { botOptions.Add(new DropDownOption() { Title = "Remove", IsSelected = () => false, OnClick = () => { foreach (var slot in orderManager.LobbyInfo.Slots) { var c = orderManager.LobbyInfo.ClientInSlot(slot.Key); if (c != null && c.Bot != null) { orderManager.IssueOrder(Order.Command("slot_open " + slot.Value.PlayerReference)); } } } }); } options.Add("Configure Bots", botOptions); } var teamCount = (orderManager.LobbyInfo.Slots.Count(s => !s.Value.LockTeam && orderManager.LobbyInfo.ClientInSlot(s.Key) != null) + 1) / 2; if (teamCount >= 1) { var teamOptions = Enumerable.Range(2, teamCount - 1).Reverse().Select(d => new DropDownOption { Title = "{0} Teams".F(d), IsSelected = () => false, OnClick = () => orderManager.IssueOrder(Order.Command("assignteams {0}".F(d.ToString()))) }).ToList(); if (orderManager.LobbyInfo.Slots.Any(s => s.Value.AllowBots)) { teamOptions.Add(new DropDownOption { Title = "Humans vs Bots", IsSelected = () => false, OnClick = () => orderManager.IssueOrder(Order.Command("assignteams 1")) }); } teamOptions.Add(new DropDownOption { Title = "Free for all", IsSelected = () => false, OnClick = () => orderManager.IssueOrder(Order.Command("assignteams 0")) }); options.Add("Configure Teams", teamOptions); } Func <DropDownOption, ScrollItemWidget, ScrollItemWidget> setupItem = (option, template) => { var item = ScrollItemWidget.Setup(template, option.IsSelected, option.OnClick); item.Get <LabelWidget>("LABEL").GetText = () => option.Title; return(item); }; slotsButton.ShowDropDown("LABEL_DROPDOWN_TEMPLATE", 175, options, setupItem); }; } var optionsBin = Ui.LoadWidget("LOBBY_OPTIONS_BIN", lobby.Get("TOP_PANELS_ROOT"), new WidgetArgs() { { "orderManager", orderManager }, { "getMap", (Func <MapPreview>)(() => map) }, { "configurationDisabled", configurationDisabled } }); optionsBin.IsVisible = () => panel == PanelType.Options; var musicBin = Ui.LoadWidget("LOBBY_MUSIC_BIN", lobby.Get("TOP_PANELS_ROOT"), new WidgetArgs { { "onExit", DoNothing }, { "world", worldRenderer.World } }); musicBin.IsVisible = () => panel == PanelType.Music; ServerListLogic serverListLogic = null; if (!skirmishMode) { Action <GameServer> doNothingWithServer = _ => { }; var serversBin = Ui.LoadWidget("LOBBY_SERVERS_BIN", lobby.Get("TOP_PANELS_ROOT"), new WidgetArgs { { "onJoin", doNothingWithServer }, }); serverListLogic = serversBin.LogicObjects.Select(l => l as ServerListLogic).FirstOrDefault(l => l != null); serversBin.IsVisible = () => panel == PanelType.Servers; } var tabContainer = skirmishMode ? lobby.Get("SKIRMISH_TABS") : lobby.Get("MULTIPLAYER_TABS"); tabContainer.IsVisible = () => true; var optionsTab = tabContainer.Get <ButtonWidget>("OPTIONS_TAB"); optionsTab.IsHighlighted = () => panel == PanelType.Options; optionsTab.IsDisabled = OptionsTabDisabled; optionsTab.OnClick = () => panel = PanelType.Options; optionsTab.GetText = () => !map.RulesLoaded ? "Loading..." : optionsTab.Text; var playersTab = tabContainer.Get <ButtonWidget>("PLAYERS_TAB"); playersTab.IsHighlighted = () => panel == PanelType.Players; playersTab.IsDisabled = () => panel == PanelType.Kick || panel == PanelType.ForceStart; playersTab.OnClick = () => panel = PanelType.Players; var musicTab = tabContainer.Get <ButtonWidget>("MUSIC_TAB"); musicTab.IsHighlighted = () => panel == PanelType.Music; musicTab.IsDisabled = () => panel == PanelType.Kick || panel == PanelType.ForceStart; musicTab.OnClick = () => panel = PanelType.Music; var serversTab = tabContainer.GetOrNull <ButtonWidget>("SERVERS_TAB"); if (serversTab != null) { serversTab.IsHighlighted = () => panel == PanelType.Servers; serversTab.IsDisabled = () => panel == PanelType.Kick || panel == PanelType.ForceStart; serversTab.OnClick = () => { // Refresh the list when switching to the servers tab if (serverListLogic != null && panel != PanelType.Servers) { serverListLogic.RefreshServerList(); } panel = PanelType.Servers; }; } // Force start panel Action startGame = () => { gameStarting = true; orderManager.IssueOrder(Order.Command("startgame")); }; var startGameButton = lobby.GetOrNull <ButtonWidget>("START_GAME_BUTTON"); if (startGameButton != null) { startGameButton.IsDisabled = () => configurationDisabled() || map.Status != MapStatus.Available || orderManager.LobbyInfo.Slots.Any(sl => sl.Value.Required && orderManager.LobbyInfo.ClientInSlot(sl.Key) == null) || (!orderManager.LobbyInfo.GlobalSettings.EnableSingleplayer && orderManager.LobbyInfo.NonBotPlayers.Count() < 2); startGameButton.OnClick = () => { // Bots and admins don't count if (orderManager.LobbyInfo.Clients.Any(c => c.Slot != null && !c.IsAdmin && c.Bot == null && !c.IsReady)) { panel = PanelType.ForceStart; } else { startGame(); } }; } var forceStartBin = Ui.LoadWidget("FORCE_START_DIALOG", lobby.Get("TOP_PANELS_ROOT"), new WidgetArgs()); forceStartBin.IsVisible = () => panel == PanelType.ForceStart; forceStartBin.Get("KICK_WARNING").IsVisible = () => orderManager.LobbyInfo.Clients.Any(c => c.IsInvalid); forceStartBin.Get <ButtonWidget>("OK_BUTTON").OnClick = startGame; forceStartBin.Get <ButtonWidget>("CANCEL_BUTTON").OnClick = () => panel = PanelType.Players; var disconnectButton = lobby.Get <ButtonWidget>("DISCONNECT_BUTTON"); disconnectButton.OnClick = () => { Ui.CloseWindow(); onExit(); }; if (skirmishMode) { disconnectButton.Text = "Back"; } chatLabel = lobby.Get <LabelWidget>("LABEL_CHATTYPE"); var chatTextField = lobby.Get <TextFieldWidget>("CHAT_TEXTFIELD"); chatTextField.MaxLength = UnitOrders.ChatMessageMaxLength; chatTextField.TakeKeyboardFocus(); chatTextField.OnEnterKey = () => { if (chatTextField.Text.Length == 0) { return(true); } // Always scroll to bottom when we've typed something lobbyChatPanel.ScrollToBottom(); orderManager.IssueOrder(Order.Chat(teamChat, chatTextField.Text)); chatTextField.Text = ""; return(true); }; chatTextField.OnTabKey = () => { var previousText = chatTextField.Text; chatTextField.Text = tabCompletion.Complete(chatTextField.Text); chatTextField.CursorPosition = chatTextField.Text.Length; if (chatTextField.Text == previousText) { return(SwitchTeamChat()); } else { return(true); } }; chatTextField.OnEscKey = () => { chatTextField.Text = ""; return(true); }; lobbyChatPanel = lobby.Get <ScrollPanelWidget>("CHAT_DISPLAY"); chatTemplate = lobbyChatPanel.Get("CHAT_TEMPLATE"); lobbyChatPanel.RemoveChildren(); var settingsButton = lobby.GetOrNull <ButtonWidget>("SETTINGS_BUTTON"); if (settingsButton != null) { settingsButton.OnClick = () => Ui.OpenWindow("SETTINGS_PANEL", new WidgetArgs { { "onExit", DoNothing }, { "worldRenderer", worldRenderer } }); } // Add a bot on the first lobbyinfo update if (skirmishMode) { addBotOnMapLoad = true; } MiniYaml yaml; if (logicArgs.TryGetValue("ChatLineSound", out yaml)) { chatLineSound = yaml.Value; } }
static void Main(string[] args) { Gamer gamer1 = new Gamer(); gamer1.Id = 1; gamer1.FirstName = "Nizes"; Gamer gamer2 = new Gamer(); gamer1.Id = 2; gamer1.FirstName = "Lore"; GameManager gameManager = new GameManager(); gameManager.Add(new Game { Id = 1, Name = "Saklambaç", Price = 50 }); gameManager.Add(new Game { Id = 2, Name = "Köşe kapmaca", Price = 60 }); gameManager.Add(new Game { Id = 3, Name = "Mendil kapmaca", Price = 70 }); GamerManager gamerManager = new GamerManager(); gamerManager.Add(new Gamer { Id = 1, FirstName = "Nizes" }); gamerManager.Add(new Gamer { Id = 2, FirstName = "Lore" }); CampaignManager campaignManager = new CampaignManager(); campaignManager.Add(new Campaign { Id = 1, Name = "1 alana % 10" }); campaignManager.Add(new Campaign { Id = 2, Name = "2 alana % 20" }); campaignManager.Add(new Campaign { Id = 3, Name = "3 alana % 30" }); OrderManager orderManager = new OrderManager(); orderManager.Add(new Order { Id = 1, CampaignName = 1 }); orderManager.Add(new Order { Id = 2, CampaignName = 2 }); orderManager.Add(new Order { Id = 3, CampaignName = 3 }); Console.WriteLine(); }
public void Bind(OrderManager orderManager, WorldRenderer worldRenderer, Session.Client client) { this.orderManager = orderManager; this.worldRenderer = worldRenderer; this.client = client; }
static void Main(string[] args) { OrderManager manager = new OrderManager(); User CurrentUser = new User("789", "YYZ"); Order NewOrder = new Order("001", CurrentUser); manager.AddOrder(NewOrder); OrderItem NewItem = new OrderItem("10001", "精品蔬菜", 5, 5); manager.AddItemToOrder("001", NewItem); NewItem = new OrderItem("10002", "精品水果", 10, 2); manager.AddItemToOrder("001", NewItem); CurrentUser = new User("987", "AAA"); NewOrder = new Order("002", CurrentUser); manager.AddOrder(NewOrder); NewItem = new OrderItem("10001", "精品蔬菜", 5, 10); manager.AddItemToOrder("002", NewItem); NewItem = new OrderItem("10003", "精品猪肉", 50, 1); manager.AddItemToOrder("002", NewItem); string str1, str2, str3; double price; int count; while (true) { Console.WriteLine("---------------------------------"); Console.WriteLine("欢迎使用YYZ的订单查询系统!\n操作码:(a)添加订单 (b)向指定订单添加商品 (c)删除订单 (d)删除商品\n(e)查询订单号 (f)查询含有某商品的订单 (g)查询某用户的订单\n(h)显示所有订单 (i)对所有订单按编号排序 (j)导出订单 (k)导入xml文件(x)退出"); Console.Write("请输入操作码:"); string str = Console.ReadLine(); char op; while (!char.TryParse(str, out op)) { Console.WriteLine("非法字符!请重新输入!"); str = Console.ReadLine(); } try { switch (op) { case 'a': Console.WriteLine("请输入订单号:"); str1 = Console.ReadLine(); Console.WriteLine("请输入用户ID:"); str2 = Console.ReadLine(); Console.WriteLine("请输入用户名称:"); str3 = Console.ReadLine(); Console.WriteLine("---------------------------------"); CurrentUser = new User(str2, str3); NewOrder = new Order(str1, CurrentUser); manager.AddOrder(NewOrder); break; case 'b': Console.WriteLine("请输入订单号:"); str1 = Console.ReadLine(); Console.WriteLine("请输入商品编号:"); str2 = Console.ReadLine(); Console.WriteLine("请输入商品名称:"); str3 = Console.ReadLine(); Console.WriteLine("请输入商品单价:"); price = double.Parse(Console.ReadLine()); Console.WriteLine("请输入商品数量:"); count = int.Parse(Console.ReadLine()); Console.WriteLine("---------------------------------"); NewItem = new OrderItem(str2, str3, price, count); manager.AddItemToOrder(str1, NewItem); break; case 'c': Console.WriteLine("请输入订单号:"); str1 = Console.ReadLine(); Console.WriteLine("---------------------------------"); manager.DeleteOrder(str1); break; case 'd': Console.WriteLine("请输入订单号:"); str1 = Console.ReadLine(); Console.WriteLine("请输入商品编号:"); str2 = Console.ReadLine(); Console.WriteLine("---------------------------------"); NewItem = new OrderItem(str2); manager.DeleteItemInOrder(str1, NewItem); break; case 'e': Console.WriteLine("请输入订单号:"); str1 = Console.ReadLine(); Console.WriteLine("---------------------------------"); manager.FindOrderNumber(str1); break; case 'f': Console.WriteLine("请输入商品编号:"); str2 = Console.ReadLine(); Console.WriteLine("---------------------------------"); NewItem = new OrderItem(str2); manager.FindItem(NewItem); break; case 'g': Console.WriteLine("请输入用户ID:"); str2 = Console.ReadLine(); Console.WriteLine("---------------------------------"); CurrentUser = new User(str2, null); manager.FindCustomer(CurrentUser); break; case 'h': Console.WriteLine("---------------------------------"); manager.GetAll(); break; case 'i': Console.WriteLine("---------------------------------"); manager.SortOrder(); break; case 'j': Console.WriteLine("---------------------------------"); manager.Export(null); break; case 'k': Console.WriteLine("---------------------------------"); manager.Import(null); break; case 'x': break; default: Console.WriteLine("无效操作符!"); break; } } catch (EditFailException e) { Console.WriteLine("操作失败,原因:" + e.message); } if (op == 'x') { break; } } }
internal LobbySSLogic(Widget widget, ModData modData, WorldRenderer worldRenderer, OrderManager orderManager, Action onExit, Action onStart, bool skirmishMode, Dictionary <string, MiniYaml> logicArgs) { map = MapCache.UnknownMap; lobby = widget; this.modData = modData; this.orderManager = orderManager; this.worldRenderer = worldRenderer; this.onStart = onStart; this.onExit = onExit; this.skirmishMode = skirmishMode; // TODO: This needs to be reworked to support per-map tech levels, bots, etc. modRules = modData.DefaultRules; services = modData.Manifest.Get <WebServices>(); orderManager.AddTextNotification += AddChatLine; Game.LobbyInfoChanged += UpdateCurrentMap; Game.LobbyInfoChanged += UpdatePlayerList; Game.LobbyInfoChanged += UpdateDiscordStatus; Game.LobbyInfoChanged += UpdateSpawnOccupants; Game.BeforeGameStart += OnGameStart; Game.ConnectionStateChanged += ConnectionStateChanged; var name = lobby.GetOrNull <LabelWidget>("SERVER_NAME"); if (name != null) { name.GetText = () => orderManager.LobbyInfo.GlobalSettings.ServerName; } var mapContainer = Ui.LoadWidget("MAP_PREVIEW", lobby.Get("MAP_PREVIEW_ROOT"), new WidgetArgs { { "orderManager", orderManager },