コード例 #1
0
        public QuoteItem Edit(
            Guid id, decimal labour, decimal calibration, decimal parts, decimal carriage, decimal investigation, string report, int days, bool beyondEconomicRepair)
        {
            if (!CurrentUser.HasRole(UserRole.Admin | UserRole.Manager))
            {
                throw new DomainValidationException(Messages.InsufficientSecurity, "CurrentUser");
            }
            var quoteItem = GetById(id);

            quoteItem.Labour               = GetLabour(labour);
            quoteItem.Calibration          = GetCalibration(calibration);
            quoteItem.Parts                = GetParts(parts);
            quoteItem.Carriage             = GetCarriage(carriage);
            quoteItem.Investigation        = GetInvestigation(investigation);
            quoteItem.Report               = report;
            quoteItem.Days                 = GetDays(days);
            quoteItem.BeyondEconomicRepair = beyondEconomicRepair;
            ValidateAnnotatedObjectThrowOnFailure(quoteItem);
            var quote = _quoteRepository.GetById(quoteItem.Quote.Id);

            quote.Revision++;
            _quoteRepository.Update(quote);
            _quoteItemRepository.Update(quoteItem);
            return(quoteItem);
        }