Пример #1
0
        protected override async Task <IProcessResult <ArcFlashLabelExpenditure> > Handle(UpdateArcFlashLabelExpenditureMessage msg)
        {
            var existing = await _repo.FindByExternalId(msg.arcFlashLabelExpenditureId);

            if (existing == null ||
                msg.arcFlashLabelExpenditureId == default(Guid))
            {
                existing              = new DataAccess.EF.ArcFlashLabelExpenditure();
                existing.ExternalId   = Guid.NewGuid();
                existing.Id           = 0;
                existing.LastModified = DateTimeOffset.Now;
                existing.WeekId       = WeekDTO.CreateWithWeekContaining(msg.model.DateOfInvoice.DateTime).WeekId.Value;
                var tester = WeekDTO.CreateWithWeekContaining(msg.model.DateOfInvoice).WeekId.Value;
            }
            var updateMsg = UpdateMessage.CreateFrom(msg, existing);
            var mapped    = _mapper.Map <DataAccess.EF.ArcFlashLabelExpenditure>(updateMsg);

            var saved = await _repo.SaveEntity(mapped);

            return(Success(_mapper.Map <ArcFlashLabelExpenditure>(saved)));
        }