private EnterCurrentQuote GetCurrentQuote_Model(EWS.Domain.Data.DataModel.Quote entity) { EnterCurrentQuote model = new EnterCurrentQuote(); model.QuoteID = entity.ID; model.TenderNumber = entity.TenderNo; model.VAT = entity.VAT; model.SellingPriceExclVAT = entity.SellingPrice; model.SellingPriceInclVAT = Math.Round(entity.SellingPrice * Convert.ToDecimal(entity.VAT / 100 + 1), 2); model.NoOfMonths = entity.ContractTerm; model.Customer = GetCustomer_Model(entity.CustomerID); DeviceQuery dqry = new Domain.Data.Queries.DeviceQuery() { DeviceID = entity.DeviceID }; model.Device = _queryProcessor.Execute(dqry); model.ExchangeRate = new ExchangeRate() { Rate = entity.ROE, Date = entity.ROEDate }; model.ContractCalculations = GetNewContractCalculationModels(model.SellingPriceExclVAT); UpdateModelFromSavedValues(model.ContractCalculations, model.QuoteID); return(model); }
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
private EWS.Domain.Model.Quote GetQuote_Model(EWS.Domain.Data.DataModel.Quote entity) { EWS.Domain.Model.Quote model = new EWS.Domain.Model.Quote(); model.QuoteID = entity.ID; model.QuoteRef = entity.QuoteRef; model.ContractID = entity.BaseContractID; model.TenderNumber = entity.TenderNo; model.VAT = entity.VAT; model.SellingPriceExclVAT = entity.SellingPrice; model.SellingPriceInclVAT = Math.Round(entity.SellingPrice * Convert.ToDecimal(entity.VAT / 100 + 1), 2); model.NoOfMonths = entity.ContractTerm; model.Customer = GetCustomer_Model(entity.CustomerID); DeviceQuery dqry = new Domain.Data.Queries.DeviceQuery() { DeviceID = entity.DeviceID }; model.Device = _queryProcessor.Execute(dqry); model.ExchangeRate = new ExchangeRate() { Rate = entity.ROE, Date = entity.ROEDate }; QuoteCalculationsQuery qcqry = new QuoteCalculationsQuery() { QuoteID = entity.ID }; IEnumerable <Domain.Data.DataModel.QuoteCalculation> listofQuoteCalcs = _queryProcessor.Execute(qcqry); model.ContractCalculations = new List <QuoteCalculation>(); foreach (Domain.Data.DataModel.QuoteCalculation calc in listofQuoteCalcs) { QuoteCalculation calcmodel = new QuoteCalculation(); MapEntityToModel(calc, calcmodel); model.ContractCalculations.Add(calcmodel); QuoteCalculationItem[] years = GetQuoteCalculationItemsStructure(calc, (short)(model.NoOfMonths / 12), model.StartDate); calcmodel.QuoteCalculationItems = Recalculate(calcmodel, years, model.StartDate); } return(model); }
private EnterCurrentQuote GetCurrentQuote_Model(string ContractID) { if (string.IsNullOrEmpty(ContractID)) { return(null); } else { int contractID = Convert.ToInt32(ContractID); EWS.Domain.Data.DataModel.Quote quote = GetExistingQuote(contractID); if (quote != null) { return(GetCurrentQuote_Model(quote)); } else { EWS.Domain.Data.DataModel.Contract sourcecontract = GetContract(contractID); if (sourcecontract == null) { return(null); } else { EnterCurrentQuote model = new EnterCurrentQuote(); DeviceQuery query = new Domain.Data.Queries.DeviceQuery() { DeviceID = sourcecontract.DeviceID }; model.Device = _queryProcessor.Execute(query); model.TenderNumber = sourcecontract.TenderNo; model.VAT = sourcecontract.VAT; model.SellingPriceExclVAT = 0; model.SellingPriceInclVAT = 0; List <EWS.Domain.Data.DataModel.ContractItem> contractitems = GetContractItems(contractID); model.ContractCalculations = new List <QuoteCalculation>(); foreach (EWS.Domain.Data.DataModel.ContractItem contractitem in contractitems) { model.ContractCalculations.Add(new QuoteCalculation() { Selected = true, BasePrice = contractitem.BasePrice, ContractTypeID = contractitem.ContractTypeID, ContractType = contractitem.ContractType.ContractTypeName, ROEPortion = contractitem.ROEPortion, ROEPortionAmount = contractitem.ROEPortionAmount, ZARPortion = contractitem.ZARPortion, ZARPortionAmount = contractitem.ZARPortionAmount }); } CustomerQuery customerquery = new CustomerQuery() { ID = sourcecontract.CustomerID }; Domain.Data.DataModel.Customer customer = _queryProcessor.Execute(customerquery); model.Customer = new Customer() { Id = sourcecontract.CustomerID, CustomerName = customer.CustomerNameFriendly, Locality = customer.CustomerLocality.CustomerLocalityName, RegistrationNo = customer.RegistrationNo }; model.ExchangeRate = new ExchangeRate() { Rate = sourcecontract.ROE, Date = sourcecontract.ROEDate }; return(model); } } } } //GetCurrentQuote_Model