public Expense MapExpenseEmailXmlToDomain(Expense expenseFromEmail, XmlElement emailXml)
        {
            var costCentreNode    = _extractor.GetXmlNodeFromElement(emailXml, DomainConstants.CostCentre);
            var totalNode         = _extractor.GetXmlNodeFromElement(emailXml, DomainConstants.Total);
            var paymentMethodNode = _extractor.GetXmlNodeFromElement(emailXml, DomainConstants.PaymentMethod);

            expenseFromEmail.CostCentre    = costCentreNode != null ? costCentreNode.InnerText : "UNKNOWN";
            expenseFromEmail.Total         = Convert.ToDouble(totalNode.InnerText);
            expenseFromEmail.PaymentMethod = paymentMethodNode.InnerText;
            expenseFromEmail.Gst           = _taxCalculator.CalculateGstFromNetPrice(expenseFromEmail.Total, 0.15);
            expenseFromEmail.GrossTotal    = expenseFromEmail.Total - expenseFromEmail.Gst;

            return(expenseFromEmail);
        }
Esempio n. 2
0
        public Response <Reservation> ProcessReservationEmailText(string emailText)
        {
            var emailXml = _extractor.ExtractXmlFromEmailText(emailText);

            var reservationFromEmail = new Reservation
            {
                Vendor      = _extractor.GetXmlNodeFromElement(emailXml, DomainConstants.Vendor).InnerText,
                Description = _extractor.GetXmlNodeFromElement(emailXml, DomainConstants.Description).InnerText,
                Date        = Convert.ToDateTime(_extractor.GetXmlNodeFromElement(emailXml, DomainConstants.Date).InnerText)
            };

            return(new Response <Reservation>
            {
                Payload = reservationFromEmail
            });
        }
Esempio n. 3
0
        public void ValidateTotalCostInExpenseEmail(Response <Expense> response, XmlElement emailXml)
        {
            var totalNode = _extractor.GetXmlNodeFromElement(emailXml, DomainConstants.Total);

            if (totalNode == null)
            {
                var validation = new Validation(Domain.ValidationType.Error)
                {
                    Message = "Total Field Missing"
                };

                response.Validation = validation;
                response.Payload    = null;
            }
        }