public void Save() { var entities = this.GetMarketContext(); var contract = entities.S_SP_SupplierContract.SingleOrDefault(d => d.ID == this.Contract); if (contract == null) { throw new Formula.Exceptions.BusinessException("未能找到ID为【" + this.ContractName + "】的分包合同信息,无法进行开票操作"); } if (String.IsNullOrEmpty(this.Supplier)) { this.Supplier = contract.Supplier; this.SupplierName = contract.SupplierName; } if (this.PaymentDate.HasValue) { var date = Convert.ToDateTime(this.PaymentDate); this.BelongYear = date.Year; this.BelongMonth = date.Month; this.BelongQuarter = MarketHelper.GetQuarter(date); } contract.SummaryData(); this.SychorToCostInfo(); // this.SychorToSEPCostInfo(); }
public override async Task <TaskRes> Execute(HtmlDocument htmlDoc, ChromeDriver wb, Files.Models.AccModels.Account acc) { var building = vill.Build.Buildings.FirstOrDefault(x => x.Type == Classificator.BuildingEnum.Marketplace); if (building == null) { //update dorg, no buildingId found? TaskExecutor.AddTask(acc, new UpdateDorf2() { ExecuteAt = DateTime.Now, vill = vill }); Console.WriteLine($"There is no {building} in this village!"); return(TaskRes.Executed); } await acc.Wb.Navigate($"{acc.AccInfo.ServerUrl}/build.php?id={building.Id}&t=5"); this.PostTaskCheck.Add(RepeatTask); var mainVill = AccountHelper.GetMainVillage(acc); var res = MarketHelper.GetResToMainVillage(vill); var ret = await MarketHelper.MarketSendResource(acc, res, mainVill, this); return(TaskRes.Executed); }
public ItemSearchFiltersDTO GetDto() { return(new ItemSearchFiltersDTO() { Keywords = Keywords, StyleId = StyleId, StyleName = StyleName, DropShipperId = DropShipperId, Market = (int)Market, MarketplaceId = MarketplaceId, MarketCode = MarketHelper.GetShortName((int)Market, MarketplaceId), MinPrice = MinPrice, MaxPrice = MaxPrice, PublishedStatus = PublishedStatus, Brand = Brand, Genders = Genders, Availability = (int)Availability, StartIndex = StartIndex, LimitCount = LimitCount, }); }
public MarketCreateBuyOrder(MarketHandler marketHandler, MarketHelper marketHelper, IMarketInfoService marketInfoService, IMarketOrderRepository marketOrderRepository) { _marketHandler = marketHandler; _marketHelper = marketHelper; _marketInfoService = marketInfoService; _marketOrderRepository = marketOrderRepository; }
} //once / twice / 3 times public override async Task <TaskRes> Execute(Account acc) { if (!await VillageHelper.EnterBuilding(acc, Vill, Classificator.BuildingEnum.Marketplace, "&t=5")) { return(TaskRes.Executed); } if (this.Resources == null) { this.Resources = Vill.Res.Stored.Resources; } // Check if we have enough resources in main village var resToSend = MarketHelper.SendResCapToStorage(acc, this.Resources); var targetVillage = acc.Villages.FirstOrDefault(x => x.Coordinates == this.Coordinates); var duration = await MarketHelper.MarketSendResource(acc, resToSend, targetVillage, this); var targetVill = acc.Villages.FirstOrDefault(x => x.Coordinates == Coordinates); targetVill.Market.Settings.Configuration.TransitArrival = DateTime.Now.Add(duration); if (this.Configuration != null && duration != null) { this.Configuration.TransitArrival = DateTime.Now.Add(duration); } // When you send resources there actually isn't a page load return(TaskRes.Executed); }
protected override void AfterSave(Dictionary <string, string> dic, Base.Logic.Domain.S_UI_Form formInfo, bool isNew) { var entity = this.GetEntityByID <S_C_ManageContract_Supplementary>(dic.GetValue("ID")); SyncContract(entity); if (entity.SignDate.HasValue) { var date = Convert.ToDateTime(entity.SignDate); entity.BelongQuarter = MarketHelper.GetQuarter(date); entity.BelongYear = date.Year; entity.BelongMonth = date.Month; } Action action = () => { this.BusinessEntities.SaveChanges(); #region 修改补充协议需要同步业财的合同信息 if (entity.S_C_ManageContract != null) { var contractInfoDic = FormulaHelper.ModelToDic <S_C_ManageContract>(entity.S_C_ManageContract); Expenses.Logic.CBSInfoFO.SynCBSInfo(contractInfoDic, Expenses.Logic.SetCBSOpportunity.Contract); } #endregion }; this.ExecuteAction(action); }
public CharacterCleaner(MarketHelper marketHelper, SparkHelper sparkHelper, ProductionManager productionManager, MissionProcessor missionProcessor) { _marketHelper = marketHelper; _sparkHelper = sparkHelper; _productionManager = productionManager; _missionProcessor = missionProcessor; }
public override ActionResult List() { var tab = new Tab(); var planStateCategory = CategoryFactory.GetCategory(typeof(PlanReceiptState), "State"); planStateCategory.SetDefaultItem(PlanReceiptState.UnReceipt.ToString()); tab.Categories.Add(planStateCategory); var yearCategory = CategoryFactory.GetYearCategory("BelongYear", 10, 2); yearCategory.SetDefaultItem(DateTime.Now.Year.ToString()); tab.Categories.Add(yearCategory); var quarterCategory = CategoryFactory.GetQuarterCategory("BelongQuarter"); quarterCategory.SetDefaultItem(MarketHelper.GetQuarter(DateTime.Now).ToString()); tab.Categories.Add(quarterCategory); var monthCategory = CategoryFactory.GetMonthCategory("BelongMonth"); tab.Categories.Add(monthCategory); tab.IsDisplay = true; ViewBag.Tab = tab; ViewBag.DefaultState = PlanReceiptState.UnReceipt.ToString(); ViewBag.DefaultYear = DateTime.Now.Year.ToString(); ViewBag.DefaultQuarter = MarketHelper.GetQuarter(DateTime.Now).ToString(); ViewBag.DefaultMonth = DateTime.Now.Month.ToString(); return(View()); }
public void Check() { var warningPeriod = DateTime.Now.Subtract(TimeSpan.FromHours(48)); var minDate = DateTime.Now.AddMonths(-3); var messages = new List <string>(); using (var db = _dbFactory.GetRWDb()) { var actions = db.SystemActions.GetAllAsDto() .Where(a => a.Type == (int)SystemActionType.UpdateOnMarketReturnOrder //&& (a.Status == (int) SystemActionStatus.Fail //NOTE: all statuses, in case some of action isn't process && a.Status != (int)SystemActionStatus.Done && a.CreateDate <warningPeriod && a.CreateDate> minDate) .ToList(); foreach (var action in actions) { var data = JsonConvert.DeserializeObject <ReturnOrderInput>(action.InputData); DTOOrder order = null; if (data.OrderId > 0) { order = db.Orders.GetAllAsDto().FirstOrDefault(o => o.Id == data.OrderId); } if (order == null) { order = db.Orders.GetAllAsDto().FirstOrDefault(o => o.OrderId == data.OrderNumber); } if (order == null) { _log.Info("Unable to find order: orderId=" + data.OrderId + ", orderNumber=" + data.OrderNumber); continue; } var requestedAmount = data.Items.Sum(i => i.RefundItemPrice + (data.IncludeShipping ? i.RefundShippingPrice : 0) - (data.DeductShipping ? i.DeductShippingPrice : 0) - (data.IsDeductPrepaidLabelCost ? i.DeductPrepaidLabelCost : 0)); messages.Add("Order #: " + order.OrderId + ", market: " + MarketHelper.GetMarketName(order.Market, order.MarketplaceId) + ", status: " + SystemActionHelper.GetName((SystemActionStatus)action.Status) + ", amount: " + requestedAmount + ", create date: " + action.CreateDate); } } if (messages.Any()) { _log.Info(String.Join("\r\n", messages)); _emailService.SendSystemEmailToAdmin("Support Notification: " + Name + " - To Review (" + messages.Count() + ")", "Unprocessed refunds:<br/>" + String.Join("<br/>", messages)); } else { _emailService.SendSystemEmailToAdmin("Support Notification: " + Name + " - Success", ""); } }
public void Init(IUnitOfWork db) { GenderList = new SelectList(db.FeatureValues.GetValuesByFeatureId(StyleFeatureHelper.GENDER).ToList(), "Id", "Value"); ItemStyleList = new SelectList(db.FeatureValues.GetValuesByFeatureId(StyleFeatureHelper.ITEMSTYLE).ToList(), "Id", "Value"); var marketplaceList = db.Marketplaces.GetAllAsDto().Where(m => m.IsActive).Select(m => new SelectListItem() { Text = MarketHelper.GetMarketName(m.Market, m.MarketplaceId), Value = m.Market + "_" + m.MarketplaceId }); MarketplaceList = new SelectList(marketplaceList, "Value", "Text"); MainLicenseList = db.FeatureValues.GetValuesByFeatureId(StyleFeatureHelper.MAIN_LICENSE).OrderBy(l => l.Value).Select(fv => new SelectListItemEx { Text = fv.Value, Value = fv.Id.ToString(), ParentValue = fv.Id.ToString() }).ToList(); MainLicenseList.Insert(0, new SelectListItemEx() { Text = "No License", Value = "0", ParentValue = "0", }); SubLicenseList = db.FeatureValues.GetValuesByFeatureId(StyleFeatureHelper.SUB_LICENSE1).OrderBy(l => l.Value).Select(fv => new SelectListItemEx { Text = fv.Value, Value = fv.Id.ToString(), ParentValue = fv.ExtendedValue.ToString() }).ToList(); }
public override async Task <TaskRes> Execute(HtmlDocument htmlDoc, ChromeDriver wb, Files.Models.AccModels.Account acc) { var building = vill.Build.Buildings.FirstOrDefault(x => x.Type == Classificator.BuildingEnum.Marketplace); if (building == null) { //update dorg, no buildingId found? TaskExecutor.AddTask(acc, new UpdateDorf2() { ExecuteAt = DateTime.Now, vill = vill }); Console.WriteLine($"There is no {building} in this village!"); return(TaskRes.Executed); } await acc.Wb.Navigate($"{acc.AccInfo.ServerUrl}/build.php?id={building.Id}&t=5"); //get troop resource/time cost var troopCost = TroopCost.GetResourceCost(TrainTask.Troop, TrainTask.Great); var trainNum = TroopsHelper.TroopsToFill(acc, TargetVill, TrainTask.Troop, TrainTask.Great); //how many troops we can train with resources that we have var mainVillResStored = ResourcesHelper.ResourcesToArray(vill.Res.Stored.Resources); var targetVillStoredRes = ResourcesHelper.ResourcesToArray(TargetVill.Res.Stored.Resources); // Max troops we can train with resources that we have var maxTroopsToTrain = ResourcesHelper.MaxTroopsToTrain(mainVillResStored, targetVillStoredRes, troopCost); // If we don't have enough rsoruces to train the number of troops that we want, we will train max number of troops that we can if (maxTroopsToTrain < trainNum) { trainNum = maxTroopsToTrain; } //calculate how many resources we need to train trainNum of troops long[] neededRes = troopCost.Select(x => x * trainNum).ToArray(); //if we have already enough resources in the target village, no need to send anything if (ResourcesHelper.EnoughRes(targetVillStoredRes, neededRes)) { this.TrainTask.ExecuteAt = DateTime.Now; TaskExecutor.ReorderTaskList(acc); return(TaskRes.Executed); } //amount of resources we want to transit to target village var sendRes = ResourcesHelper.SendAmount(targetVillStoredRes, neededRes); // Check how many merchants we have. If we have 0, wait till some come back. var transitTimespan = await MarketHelper.MarketSendResource(acc, sendRes, TargetVill, this); //train the troops in the target village after we send the needed this.TrainTask.ExecuteAt = DateTime.Now.Add(transitTimespan).AddSeconds(5); TaskExecutor.ReorderTaskList(acc); //TODO: Update marketplace sending return(TaskRes.Executed); }
public void Init(IUnitOfWork db) { GenderList = new SelectList(db.FeatureValues.GetValuesByFeatureId(StyleFeatureHelper.GENDER).ToList(), "Id", "Value"); ItemStyleList = new SelectList(db.FeatureValues.GetValuesByFeatureId(StyleFeatureHelper.ITEMSTYLE).ToList(), "Id", "Value"); SleeveList = new SelectList(db.FeatureValues.GetValuesByFeatureId(StyleFeatureHelper.SLEEVE).ToList(), "Id", "Value"); DropShipperList = OptionsHelper.DropShipperList; HolidayList = new SelectList(db.FeatureValues.GetValuesByFeatureId(StyleFeatureHelper.HOLIDAY).ToList(), "Id", "Value"); var marketplaceList = db.Marketplaces.GetAllAsDto().Select(m => new SelectListItem() { Text = MarketHelper.GetMarketName(m.Market, m.MarketplaceId), Value = m.Market + ";" + m.MarketplaceId }); MarketplaceList = new SelectList(marketplaceList, "Value", "Text"); OnlineStatusList = new SelectList(new List <SelectListItem>() { new SelectListItem() { Text = "Online", Value = "Online", }, new SelectListItem() { Text = "Offline", Value = "Offline" } }, "Value", "Text"); MainLicenseList = db.FeatureValues.GetValuesByFeatureId(StyleFeatureHelper.MAIN_LICENSE).OrderBy(l => l.Value).Select(fv => new SelectListItemEx { Text = fv.Value, Value = fv.Id.ToString(), ParentValue = fv.Id.ToString() }).ToList(); MainLicenseList.Insert(0, new SelectListItemEx() { Text = "No License", Value = "0", ParentValue = "0", }); SubLicenseList = db.FeatureValues.GetValuesByFeatureId(StyleFeatureHelper.SUB_LICENSE1).OrderBy(l => l.Value).Select(fv => new SelectListItemEx { Text = fv.Value, Value = fv.Id.ToString(), ParentValue = fv.ExtendedValue.ToString() }).ToList(); }
private void LoadMarketWorkertranactionDoWork(object sender, DoWorkEventArgs e) { var vehicle = new VehicleViewModel() { Mileage = _manheimVehicle.Odometer, Year = _manheimVehicle.Year, Make = _manheimVehicle.Make, Model = _manheimVehicle.Model, Trim = _manheimVehicle.Trim, Vin = _manheimVehicle.Vin, Mmr = _manheimVehicle.Price, DealerId = _dealer.DealerId }; try { using (var context = new VincontrolEntities()) { var queryDealer = context.Dealers.FirstOrDefault(d => d.DealerId == vehicle.DealerId); var dealer = new DealershipViewModel(queryDealer); if (!String.IsNullOrEmpty(vehicle.Vin)) { var autoService = new ChromeAutoService(); var vehicleInfo = autoService.GetVehicleInformationFromVin(vehicle.Vin); if (vehicleInfo != null) { vehicle.Make = vehicleInfo.bestMakeName; vehicle.Year = vehicleInfo.modelYear; vehicle.Model = vehicleInfo.bestModelName; if (!String.IsNullOrEmpty(vehicleInfo.bestTrimName) && !vehicleInfo.bestTrimName.Contains("/")) { vehicle.Trim = vehicleInfo.bestTrimName; } if (!String.IsNullOrEmpty(vehicleInfo.vinDescription.bodyType)) { vehicle.BodyStyle = vehicleInfo.vinDescription.bodyType; } } } _marketData = MarketHelper.GetMarketCarsForNationwideMarketOnVinsell(vehicle, dealer); } } catch (Exception ex) { _marketData.Error = ex.Message; } }
public PBSDockingBase(MarketHelper marketHelper, ICorporationManager corporationManager, IChannelManager channelManager, ICentralBank centralBank, IRobotTemplateRelations robotTemplateRelations, DockingBaseHelper dockingBaseHelper, SparkTeleportHelper sparkTeleportHelper, PBSObjectHelper <PBSDockingBase> .Factory pbsObjectHelperFactory) : base(channelManager, centralBank, robotTemplateRelations, dockingBaseHelper) { _marketHelper = marketHelper; _corporationManager = corporationManager; _sparkTeleportHelper = sparkTeleportHelper; _pbsObjectHelper = pbsObjectHelperFactory(this); _pbsReinforceHandler = new PBSReinforceHandler <PBSDockingBase>(this); _standingController = new PBSStandingController <PBSDockingBase>(this); _pbsTerritorialVisibilityHelper = new PBSTerritorialVisibilityHelper(this); }
/// <summary> /// 拆分计划收款 /// </summary> /// <param name="splitValue">拆分金额</param> /// <param name="planDate">计划日期</param> /// <param name="IsPartReceipt">是否部分到款自动拆分</param> public S_C_PlanReceipt Split(decimal splitValue, DateTime?planDate = null, bool PartReceiptAutoSplit = false) { if (this.State != PlanReceiptState.UnReceipt.ToString() && !PartReceiptAutoSplit) { throw new Formula.Exceptions.BusinessException("只能拆分未到款的记录,操作失败"); } if (splitValue < 0) { throw new Formula.Exceptions.BusinessException("拆分金额不能小于0"); } if (splitValue >= this.PlanReceiptValue) { throw new Formula.Exceptions.BusinessException("拆分金额【" + splitValue + "】必须小于原计划收款金额【" + this.PlanReceiptValue + "】"); } var marketEntities = this.GetMarketContext(); var plan = this.Clone <S_C_PlanReceipt>(); plan.ID = FormulaHelper.CreateGuid(); if (String.IsNullOrEmpty(this.RelateParentID)) { plan.RelateParentID = this.ID; } if (!PartReceiptAutoSplit) { this.PlanReceiptValue = this.PlanReceiptValue - splitValue; } if (!PartReceiptAutoSplit) { plan.RelateParentID = plan.ID; } plan.PlanReceiptValue = splitValue; plan.FactReceiptValue = 0; plan.PlanReceiptDate = planDate; plan.ReceiptDate = null; plan.ContractInfoID = this.ContractInfoID; plan.ContractName = this.ContractName; if (planDate.HasValue) { var date = Convert.ToDateTime(planDate); plan.BelongMonth = date.Month; plan.BelongQuarter = MarketHelper.GetQuarter(date); plan.BelongYear = date.Year; if (date.Month >= 10) { plan.PlanReceiptYearMonth = date.Year.ToString() + date.Month.ToString(); } else { plan.PlanReceiptYearMonth = date.Year.ToString() + "0" + date.Month.ToString(); } } marketEntities.S_C_PlanReceipt.Add(plan); return(plan); }
/// <summary> /// PostTask. Repeats sending resources and training troops. Needs to fill up training above X hours. /// </summary> /// <param name="htmlDoc">html of the page</param> /// <param name="acc">Account</param> public void RepeatTrainingCycle(HtmlDocument htmlDoc, Account acc) { var trainingEnds = TroopsHelper.GetTrainingTimeForBuilding(building, vill); // If sendRes is activated and there are some resources left to send if (vill.Settings.SendRes && MarketHelper.GetResToMainVillage(this.vill).Sum() > 0) { // Check If all troops are filled in this vill before sending resources back to main village if (TroopsHelper.EverythingFilled(acc, vill)) { TaskExecutor.AddTask(acc, new SendResToMain() { vill = this.vill, ExecuteAt = DateTime.MinValue.AddHours(1) }); } } if (vill.Settings.GetRes) { var nextCycle = trainingEnds.AddHours(-acc.Settings.FillInAdvance); if (nextCycle < DateTime.Now) { // Send resources asap. nextCycle = DateTime.MinValue.AddHours(3); } else { TaskExecutor.AddTask(acc, new UpdateDorf1() { ExecuteAt = nextCycle, vill = this.vill }); } TaskExecutor.AddTask(acc, new SendResFillTroops() { ExecuteAt = nextCycle.AddMilliseconds(1), vill = AccountHelper.GetMainVillage(acc), TargetVill = this.vill, TrainTask = this }); this.NextExecute = nextCycle.AddMinutes(30); //will get overwritten in sendResFillTroops TaskExecutor.ReorderTaskList(acc); } else { var later = DateTime.Now.AddMinutes(1); // Don't training again sooner than after 10min if (later > trainingEnds) { trainingEnds = later; } this.NextExecute = trainingEnds; } }
public async Task SellEmoji([Summary("Which market to sell emoji in, either \"global\" or the \"local\" server market")] Market market, [Summary("Which emoji you want to sell")] string emoji, [Summary("How much you want to sell the emoji for")] long price) { if (!EmojiHelper.IsValidEmoji(emoji)) { throw new DiscordCommandException("Bad emoji", $"{emoji} cannot be bought or sold"); } var inventory = Context.GetInventory(Context.CallerProfile); if (price <= 0) { throw new DiscordCommandException("Number too low", $"{Context.User.Mention}, you can't sell things for {(price == 0 ? "" : "less than ")}no money"); } if (!inventory.HasEmoji(emoji)) { throw new DiscordCommandException("Nothing to sell", $"{Context.User.Mention}, you don't have any {emoji} to sell"); } var message = await ReplyAsync($"{Context.User.Mention}, are you sure you want to sell {emoji} for {Context.Money(price)}?"); ReactionMessageHelper.CreateConfirmReactionMessage(Context, message, async r => { Context.ClearCachedValues(); inventory = Context.GetInventory(Context.User); if (!inventory.HasEmoji(emoji)) { await message.ModifyAsync(mod => { mod.Content = ""; EmbedBuilder builder = new EmbedBuilder(); builder.WithColor(Color.Red); builder.WithTitle(Strings.SomethingChanged); builder.WithDescription($"{Context.User.Mention}, you no longer have any {emoji} to sell"); mod.Embed = builder.Build(); }); return; } var(toSell, index) = inventory.Enumerate(emoji).Select((e, i) => (e, i)).OrderBy(e => e.e.Transactions.Count).First(); inventory.RemoveEmoji(emoji, index); MarketHelper.AddListing(Context, MarketId(market), toSell, price); inventory.Save(); await message.ModifyAsync(m => m.Content = $"{Context.WhatDoICall(Context.User)} listed their {emoji} for {Context.Money(price)} in {Context.GetMarketName(MarketId(market))}"); }, async r => { await message.ModifyAsync(m => m.Content = $"Cancelled listing of {emoji}"); }); }
public void AddPoints() { using (var db = _dbFactory.GetRWDb()) { var marketList = new MarketplaceKeeper(_dbFactory, false).GetAll(); var today = _time.GetAppNowTime().Date; foreach (var market in marketList) { var listingErrorCount = (from i in db.Items.GetAll() join l in db.Listings.GetAll() on i.Id equals l.ItemId where l.RealQuantity > 0 && !l.IsRemoved && (i.ItemPublishedStatus == (int)PublishedStatuses.PublishingErrors || i.ItemPublishedStatus == (int)PublishedStatuses.PublishedInProgress) && i.Market == market.Market && (i.MarketplaceId == market.MarketplaceId || String.IsNullOrEmpty(market.MarketplaceId)) select i.Id ).Count(); var marketTag = market.Market + "_" + market.MarketplaceId; var chart = db.Charts.GetAll().FirstOrDefault(ch => ch.ChartName == ChartHelper.ListingErrorChartName && ch.ChartTag == marketTag); if (chart == null) { chart = new Chart() { ChartName = ChartHelper.ListingErrorChartName, ChartSubGroup = MarketHelper.GetMarketName(market.Market, market.MarketplaceId), ChartTag = marketTag, CreateDate = _time.GetAppNowTime() }; db.Charts.Add(chart); db.Commit(); } var existPoint = db.ChartPoints.GetAll().FirstOrDefault(p => p.ChartId == chart.Id && p.Date == today); if (existPoint == null) { existPoint = new ChartPoint() { ChartId = chart.Id, Date = today, }; db.ChartPoints.Add(existPoint); } existPoint.Value = listingErrorCount; } db.Commit(); } }
public override async Task <TaskRes> Execute(Account acc) { await base.Execute(acc); if (!await VillageHelper.EnterBuilding(acc, Vill, Classificator.BuildingEnum.Marketplace, "&t=5")) { return(TaskRes.Executed); } //get troop resource/time cost var troopCost = TroopCost.GetResourceCost(TrainTask.Troop, TrainTask.Great); var trainNum = TroopsHelper.TroopsToFill(acc, TargetVill, TrainTask.Troop, TrainTask.Great); //how many troops we can train with resources that we have var mainVillResStored = Vill.Res.Stored.Resources.ToArray(); var targetVillStoredRes = TargetVill.Res.Stored.Resources.ToArray(); // Max troops we can train with resources that we have var maxTroopsToTrain = ResourcesHelper.MaxTroopsToTrain(mainVillResStored, targetVillStoredRes, troopCost); // If we don't have enough rsoruces to train the number of troops that we want, we will train max number of troops that we can if (maxTroopsToTrain < trainNum) { trainNum = maxTroopsToTrain; } //calculate how many resources we need to train trainNum of troops long[] neededRes = troopCost.Select(x => x * trainNum).ToArray(); //if we have already enough resources in the target village, no need to send anything if (ResourcesHelper.IsEnoughRes(targetVillStoredRes, neededRes)) { this.TrainTask.ExecuteAt = DateTime.Now; TaskExecutor.ReorderTaskList(acc); return(TaskRes.Executed); } //amount of resources we want to transit to target village var sendRes = ResourcesHelper.SendAmount(targetVillStoredRes, neededRes); // Check how many merchants we have. If we have 0, wait till some come back. var transitTimespan = await MarketHelper.MarketSendResource(acc, sendRes, TargetVill, this); //train the troops in the target village after we send the needed this.TrainTask.ExecuteAt = DateTime.Now.Add(transitTimespan).AddSeconds(5); TaskExecutor.ReorderTaskList(acc); //TODO: Update marketplace sending return(TaskRes.Executed); }
public MarketPriceViewViewModel(StyleItemSaleToMarketDTO saleToMarket) { SaleId = saleToMarket.SaleId; Market = (MarketType)saleToMarket.Market; MarketplaceId = saleToMarket.MarketplaceId; MarketName = MarketHelper.GetShortName(saleToMarket.Market, saleToMarket.MarketplaceId); MarketCurrency = PriceHelper.GetCurrencySymbol(Market, MarketplaceId); SalePrice = saleToMarket.SalePrice; SFPSalePrice = saleToMarket.SFPSalePrice; SalePercent = saleToMarket.SalePercent; ApplyToNewListings = saleToMarket.ApplyToNewListings; }
public void updateCell(Schemas.Category.CategoryInfo entity) { // Establecemos el texto del label dentro del collectionview lblName.Text = entity.Name; // Establecemos la imagen dentro del collectionview CategoryImage.Image = MarketHelper.FromUrl(entity.Image); // Aqui comprobamos que la imagen del modulo NUBE viene rara //if (entity.Id == 6) //{ // btnCategoryImage.SetImage(MarketHelper.FromUrl("https://sitioinstitucional.blob.core.windows.net/contenido-sitio/Aplicativos-internos/mktp/categories/contables.png"), UIControlState.Normal); //} }
public void Save() { var marketDBContext = this.GetDbContext <MarketEntities>(); //this.ValidateContractInfo(); this.SynchContractProperties(); if (this.SignDate.HasValue) { var date = Convert.ToDateTime(this.SignDate); this.BelongQuarter = MarketHelper.GetQuarter(date); this.BelongYear = date.Year; this.BelongMonth = date.Month; this.IsSigned = ContractIsSigned.Signed.ToString(); if (this.ContractState == "WaitSign" || this.ContractState == "Regist") { //如果有签约日期,且合同状态为待签约或起草登记状态的,则修订合同状态为履行 this.ContractState = "Sign"; } } else { this.IsSigned = ContractIsSigned.UnSigned.ToString(); } this.SummaryContractData(); if (!String.IsNullOrEmpty(this.PartyA)) { var customer = marketDBContext.S_F_Customer.Find(this.PartyA); if (customer == null) { throw new Formula.Exceptions.BusinessException("指定的客户信息不存在,保存合同信息失败"); } if (customer.BusinessDate == null) { customer.BusinessDate = DateTime.Now; } if (this.SignDate.HasValue) { customer.IsCooperated = YesOrNo.Yes.ToString(); } else if (marketDBContext.S_C_ManageContract.Count(d => d.SignDate.HasValue && d.PartyA == customer.ID && d.ID != this.ID) == 0) { customer.IsCooperated = YesOrNo.No.ToString(); } else { customer.IsCooperated = YesOrNo.Yes.ToString(); } } }
// Use this for initialization void Start() { endGameMessage.SetActive(false); TradeResults.SetActive(false); map = WMSK.instance; turnButton.onClick.AddListener(delegate { Turn_Button(); }); endGameContinueButton.onClick.AddListener(delegate { endDemo(); }); RectTransform tradeResultsRect = TradeResults.GetComponent<RectTransform>(); tradeResultsEnter = UIAnimator.Move(tradeResultsRect, new Vector2(0.5f, 0f), new Vector2(0.5f, 0.48f), 1f).SetModifier(Modifier.Linear); MarketHelper.resetBidsAndOffers(); }
private string GetMarketName(string marketValue) { try { var parts = marketValue.Split(":".ToCharArray()); var market = Int32.Parse(parts[0]); var marketplace = parts[1]; return(MarketHelper.GetMarketName(market, marketplace)); } catch { return("n/a"); } }
private DataTable GetDefaultTable(int startYear, int endYear) { var data = new DataTable(); data.Columns.Add("Title", typeof(string)); data.Columns.Add("Year", typeof(int)); data.Columns.Add("Quater", typeof(int)); data.Columns.Add("ReceiptValue", typeof(decimal)); data.Columns.Add("PlanReceiptValue", typeof(decimal)); data.Columns.Add("InvoiceValue", typeof(decimal)); if (startYear > endYear) { throw new Formula.Exceptions.BusinessException("起始年份不能大于结束年份!"); } for (int i = startYear; i < endYear; i++) { for (int j = 1; j <= 4; j++) { var row = data.NewRow(); row["Year"] = i; row["Quater"] = j; row["Title"] = i.ToString() + "年" + j + "季度"; row["ReceiptValue"] = 0; row["PlanReceiptValue"] = 0; row["InvoiceValue"] = 0; data.Rows.Add(row); } } var currentQuarter = MarketHelper.GetQuarter(DateTime.Now); if (endYear != DateTime.Now.Year) { currentQuarter = 4; } for (int j = 1; j <= currentQuarter; j++) { var row = data.NewRow(); row["Year"] = endYear; row["Quater"] = j; row["Title"] = endYear.ToString() + "年" + j + "季度"; row["ReceiptValue"] = 0; row["PlanReceiptValue"] = 0; row["InvoiceValue"] = 0; data.Rows.Add(row); } return(data); }
public static SalesByDateGraphViewModel Build(IUnitOfWork db, PeriodType periodType, ValueType valueType) { var result = new SalesByDateGraphViewModel(); var items = db.Items.GetSalesInfoByDayAndMarket().ToList(); var labels = new List <string>(); IList <int> unitSeries = new List <int>(); IList <decimal> priceSeries = new List <decimal>(); var startDate = DateHelper.GetAppNowTime().Date; if (periodType == PeriodType.Day) { startDate = DateHelper.GetAppNowTime().Date; } if (periodType == PeriodType.Week) { startDate = startDate.AddDays(-7); } if (periodType == PeriodType.Month) { startDate = startDate.AddDays(-31); } var periodItems = items.Where(it => it.Date >= startDate).ToList(); periodItems.Where(pi => pi.Market == (int)MarketType.eBay).ToList().ForEach(pi => pi.MarketplaceId = null); var byMarket = periodItems.GroupBy(i => new { i.Market, i.MarketplaceId }) .Select(i => new { Market = i.Key.Market, MarketplaceId = i.Key.MarketplaceId, Price = i.Sum(j => j.Price), Quantity = i.Sum(j => j.Quantity) }); foreach (var item in byMarket) { labels.Add(MarketHelper.GetMarketName(item.Market, item.MarketplaceId)); unitSeries.Add(item.Quantity); priceSeries.Add(item.Price); } result.PriceSeries = new [] { priceSeries }; result.UnitSeries = new [] { unitSeries }; result.Labels = new[] { labels }; return(result); }
public async Task RaritiesMessage() { string message; var emotes = MarketHelper.GetRarities(Context.Bot, 0); foreach (var rarity in Rarity.Rarities) { message = $"```\n{rarity.Label}:\n"; foreach (var e in emotes[rarity]) { message += new Discord.Emoji(e); } message += "\n```"; await ReplyAsync(message); } }
/// <summary> /// 保存分包合同信息 /// </summary> public void Save() { if (this.SignDate.HasValue) { var date = Convert.ToDateTime(this.SignDate); this.BelongYear = date.Year; this.BelongMonth = date.Month; this.BelongQuarter = MarketHelper.GetQuarter(date); if (this.State == "WaitSign" || this.State == "Regist") { this.State = "Sign"; } } this.SychProperties(); this.SummaryData(); }
public override async Task <TaskRes> Execute(Account acc) { var wb = acc.Wb.Driver; if (!await VillageHelper.EnterBuilding(acc, Vill, Classificator.BuildingEnum.Marketplace)) { return(TaskRes.Executed); } var npcMerchant = acc.Wb.Html.DocumentNode.Descendants("div").FirstOrDefault(x => x.HasClass("npcMerchant")); var npcButton = npcMerchant.Descendants("button").FirstOrDefault(x => x.HasClass("gold")); // Exchange resources button await DriverHelper.ClickById(acc, npcButton.Id); var resSum = Parser.RemoveNonNumeric(acc.Wb.Html.GetElementbyId("remain").InnerText); var targetRes = MarketHelper.NpcTargetResources(Vill, resSum); if (!Vill.Market.Npc.NpcIfOverflow && MarketHelper.NpcWillOverflow(Vill, targetRes)) { return(TaskRes.Executed); } for (int i = 0; i < 4; i++) { //await acc.Wb.Driver.FindElementById($"m2[{i}]").Write(targetRes[i]); switch (acc.AccInfo.ServerVersion) { case Classificator.ServerVersionEnum.T4_4: await DriverHelper.ExecuteScript(acc, $"document.getElementById('m2[{i}]').value='{targetRes[i]}'"); break; case Classificator.ServerVersionEnum.T4_5: await DriverHelper.ExecuteScript(acc, $"document.getElementsByName('desired{i}')[0].value='{targetRes[i]}'"); break; } } var submit = acc.Wb.Html.GetElementbyId("submitText"); var distribute = submit.Descendants("button").FirstOrDefault(); await DriverHelper.ExecuteScript(acc, $"document.getElementById('{distribute.Id}').click()"); wb.ExecuteScript($"document.getElementById('npc_market_button').click()"); //Exchange resources button return(TaskRes.Executed); }
public static IList <MarketplaceName> GetSalesMarketplaces() { var marketplaces = new List <MarketplaceName>() { new MarketplaceName() { Market = MarketType.Amazon, MarketplaceId = MarketplaceKeeper.AmazonComMarketplaceId }, new MarketplaceName() { Market = MarketType.Walmart, MarketplaceId = "" }, new MarketplaceName() { Market = MarketType.WalmartCA, MarketplaceId = "" }, new MarketplaceName() { Market = MarketType.Amazon, MarketplaceId = MarketplaceKeeper.AmazonCaMarketplaceId }, new MarketplaceName() { Market = MarketType.AmazonEU, MarketplaceId = "" }, new MarketplaceName() { Market = MarketType.AmazonAU, MarketplaceId = "" }, new MarketplaceName() { Market = MarketType.eBay, MarketplaceId = "" }, new MarketplaceName() { Market = MarketType.Jet, MarketplaceId = "" } }; foreach (var m in marketplaces) { m.ShortName = MarketHelper.GetShortName((int)m.Market, m.MarketplaceId); m.DotName = MarketHelper.GetDotShortName((int)m.Market, m.MarketplaceId); } return(marketplaces); }