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;
        }
Пример #2
0
        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);
        }
Пример #3
0
        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));
        }
Пример #4
0
 public void RemoveProduct(TradeProduct product, Trade trade)
 {
     returnTradeProductFromTrade(trade, product);
     ConditionalSaveChanges(tradeRepository);
 }
Пример #5
0
 private void returnTradeProductFromTrade(Trade trade, TradeProduct item)
 {
     equipmentService.GiveItem((ProductTypeEnum)item.ProductID, item.Amount, item.Quality, item.Entity.Equipment);
     trade.TradeProducts.Remove(item);
 }
Пример #6
0
        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;

        }