Beispiel #1
0
        private EnterEquipmentQuote GetEquipmentQuote_Model(string QuoteRef)
        {
            if (string.IsNullOrEmpty(QuoteRef))
            {
                return(null);
            }
            else
            {
                EWS.Domain.Data.DataModel.Quote quote = GetExistingQuote(QuoteRef);
                if (quote != null)
                {
                    return(GetEquipmentQuote_Model(quote));
                }
                else
                {
                    Domain.Model.SourceQuote sourcequote = GetSourceQuote(QuoteRef);
                    if (sourcequote == null)
                    {
                        return(null);
                    }
                    else
                    {
                        EnterEquipmentQuote model = new EnterEquipmentQuote();

                        model.QuoteRef = QuoteRef;

                        DeviceQuery query = new Domain.Data.Queries.DeviceQuery()
                        {
                            DeviceID = sourcequote.DeviceID
                        };
                        model.Device = _queryProcessor.Execute(query);

                        model.TenderNumber        = sourcequote.TenderNumber;
                        model.VAT                 = sourcequote.VAT;
                        model.SellingPriceExclVAT = sourcequote.SellingPriceInclVAT / Convert.ToDecimal(1 + sourcequote.VAT / 100);
                        model.SellingPriceInclVAT = sourcequote.SellingPriceInclVAT;

                        model.ContractCalculations = GetNewEquipmentContractCalculationModels(model.SellingPriceExclVAT);


                        if (quote == null)   // fill in from source quote:
                        {
                            // Exchange Rate
                            CurrencyQuery cquery = new CurrencyQuery()
                            {
                                ID = "USD"
                            };
                            Domain.Data.DataModel.Currency usd = _queryProcessor.Execute(cquery);

                            model.ExchangeRate = new ExchangeRate()
                            {
                                Rate = Convert.ToDecimal(usd.DefaultRateOfExchange),
                                Date = DateTime.Today
                            };
                        }
                        return(model);
                    }
                }
            }
        } //GetEquipmentQuote_Model
        public IEnumerable <EWS.Domain.Model.SourceQuote> Handle(SourceQuotesQuery query)
        {
            IEnumerable <SourceQuote> dataList =
                _entities.Query <SourceQuote>()
                .Where(p => query.QuoteRef == null || p.Ref.ToLower().Contains(query.QuoteRef.ToLower())
                       ).AsEnumerable();

            List <Domain.Model.SourceQuote> models = new List <Domain.Model.SourceQuote>();


            foreach (SourceQuote item in dataList)
            {
                Domain.Model.SourceQuote model = new Domain.Model.SourceQuote()
                {
                    Date              = item.Date,
                    DeviceID          = item.DeviceID,
                    DeviceDescription = item.Device.DisplayName,
                    QuoteRef          = item.Ref,
                    Supplier          = item.Supplier.SupplierName,
                    VAT = item.VAT,
                    SellingPriceInclVAT = item.SellingPriceInclVAT,
                    TenderNumber        = item.TenderNumber
                };
                models.Add(model);
            }

            return(models);
        }