Ejemplo n.º 1
0
 public ShowTradeDocsModel(TradeBill bill)
 {
     TradeNumber   = bill.TradeId;
     DocCreaDate   = bill.CreateDate;
     Contract      = bill.Contractt.ContractNumber;
     AddContract   = bill.AddContractName;
     BillNumber    = bill.BillName;
     SellerName    = bill.Seller.LongName;
     SellerNameEng = bill.Seller.LongNameEng;
     BuyerName     = bill.Buyer.LongName;
     BuyerNameEng  = bill.Buyer.LongNameEng;
     Id            = bill.Id;
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Прикручиваем счета на оплату
        /// </summary>
        /// <param name="tradeId">с какого торга </param>
        /// <param name="buyerId">кому</param>
        public void CreateBill(int tradeId, int buyerId)
        {
            try
            {
                var trade = _context.Trades.Find(tradeId);
                if (trade == null)
                {
                    throw new ArgumentNullException("trade not found");
                }
                var buyer = trade.Buyers.FirstOrDefault(c => c.Id == buyerId);
                if (buyer == null)
                {
                    throw new ArgumentNullException("buyer");
                }
                if (!buyer.Bets.Where(c => c.TradeId == tradeId).Any(c => c.IsActual || c.IsRedemption))
                {
                    throw new ArgumentException("buyer dont have winned bets");
                }
                var contract = buyer?.BuyerContracts.FirstOrDefault(c => c.FromContragentId == trade.SellerId);
                if (contract == null)
                {
                    logger.Info($"Договор для покупателя {buyer?.LongName} от продавца {trade.Seller.LongName}");
                    contract = new Contract(trade, buyer, $"{trade.DateBegin.ToString("yyMM-dd")}0{_context.Contracts.Count() + 1}/PTP-T");
                    _context.Insert(contract);
                }
                logger.Info($"счет для покупателя {buyer?.LongName} от продавца {trade.Seller.LongName}");
                if (buyer.InBills.FirstOrDefault(c => c.TradeId == tradeId) == null)
                {
                    var bill = new TradeBill(trade, buyer, contract, $"{_context.TradeBills.Count(c => c.ContracttId == contract.Id) + 1}", $"{_context.TradeBills.Count(c => c.ContracttId == contract.Id) + 1}");
                    _context.Insert(bill);
                }
            }

            catch (Exception ex)
            {
                logger.Error(ex);
                // throw;
            }
        }