Ejemplo n.º 1
0
        public override void OnAdded(DebtModel model, Debt entity)
        {
            base.OnAdded(model, entity);

            // update Id, because it would be used for record
            model.Id = entity.Id;

            // add new penalties
            foreach (var newPenalty in model.Penalties.Where(e => !entity.DebtPenalties.Any(p => p.Id == e.Id)))
            {
                var debtPenalty = new DebtPenalty()
                {
                    Date        = newPenalty.Date,
                    Description = newPenalty.Description,
                    Value       = newPenalty.Value,
                    DebtId      = entity.Id
                };

                _context.DebtPenalties.Add(debtPenalty);
                _historyService.WriteHistory(debtPenalty, Data.Enums.ActionType.Add, entity.UserId);
            }

            // create record for debt if storage is provided
            if (model.StorageId.HasValue && model.StorageId > 0)
            {
                _recordService.CreateForDebt(model);
            }

            // save changes
            SaveChanges();
        }