public ProductForTradeViewModel(TradeProduct product, TradeStatusEnum tradeStatus) : base(product.EntityID, product.DateAdded, product.TradeID, tradeStatus) { ProductID = product.ProductID; var productType = (ProductTypeEnum)product.ProductID; Image = Images.GetProductImage(productType).VM; Name = productType.ToHumanReadable().FirstUpper(); Quality = product.Quality; Amount = product.Amount; }
public TradeDummyCreator AddProduct(ProductTypeEnum productType, int quality, int amount, bool isSource) { var tp = new TradeProduct() { Amount = amount, Quality = quality, ProductID = (int)productType, Entity = isSource ? trade.Source : trade.Destination, EntityID = isSource ? trade.SourceEntityID.Value : trade.DestinationEntityID.Value, Trade = trade, TradeID = trade.ID }; trade.TradeProducts.Add(tp); return(this); }
public MethodResult CanRemoveProduct(TradeProduct product, Entity entity, Trade trade) { if (trade == null) { return(new MethodResult("Trade does not exist!")); } if (product == null) { return(new MethodResult("Product does not exist!")); } if (product.EntityID != entity.EntityID) { return(new MethodResult("It is not your product!")); } if (trade.Is(TradeStatusEnum.Ongoing) == false) { return(new MethodResult("Trade is not active!")); } return(CanHaveAccess(entity, trade)); }
public void RemoveProduct(TradeProduct product, Trade trade) { returnTradeProductFromTrade(trade, product); ConditionalSaveChanges(tradeRepository); }
private void returnTradeProductFromTrade(Trade trade, TradeProduct item) { equipmentService.GiveItem((ProductTypeEnum)item.ProductID, item.Amount, item.Quality, item.Entity.Equipment); trade.TradeProducts.Remove(item); }
internal static ProductInformation ToProductInfo(TradeProduct product) { ProductInformation info = new ProductInformation(); info.AllowMaxPrice = product.Maxprice; info.AllowMaxTimeDeviation = product.Maxtime; info.AllowMinPrice = product.Minprice; info.CutDownPrice = product.Lowerprice; info.DepositFormula = product.Ordemoneyfee; info.LossProfitSpread = product.SetBase; info.OrderStorageFeeFormula = product.Buystoragefee; info.PendingOrderSpread = product.Holdbase; info.PercentageOfDeposit = product.Ordemoney; info.PointValue = product.Valuedot; info.ProductCode = product.Productcode; info.ProductName = product.ProductName; info.RecovertyStorageFeeFormula = product.Sellstoragefee; info.RecoveryFeeFormula = product.Sellfee; info.Spread = product.Pricedot; info.SpreadBaseValue = product.Adjustbase; info.SpreadDigit = product.Adjustcount; info.State = (PRODUCT_STATE)Enum.Parse(typeof(PRODUCT_STATE), product.State); info.StockCode = product.Pricecode; info.RawMaterialsCode = product.Goodscode; info.TransactionFeeFormula = product.Expressionfee; info.WeightUnit = product.Unit; info.StartTradeTime = product.Starttime; info.EndTradeTime = product.Endtime; info.RealTimePrice = product.realprice; info.RealTimeTime = DateTimeHelper.GetDateTimeFromTimeKey(product.weektime); return info; }