internal void MailUpdateChange(UpdateChange change, IDataManager dataManager, SecurityRepository securityRepository, List <String> mailMessage, String username, DateTime date, String ttName, BasketRepository basketRepository)
        {
            StringBuilder bodyAppendix = new StringBuilder("\n");

            bodyAppendix.AppendLine("---" + date + ", Approved by: " + username + "---");
            var    basket     = basketRepository.GetBasket(change.BasketId);
            string basketName = "";

            if (basket.TryAsCountryBasket() != null)
            {
                basketName = basket.AsCountryBasket().Country.Name;
            }
            else
            {
                basketName = basket.AsRegionBasket().Name;
            }
            bodyAppendix.AppendLine("BASE Adjustment in " + basketName + " for " + ttName + " from " + MailSender.TransformTargetToString(change.BaseValueBefore) + " to " + MailSender.TransformTargetToString(change.BaseValueAfter));
            bodyAppendix.AppendLine("COMMENT: " + change.Comment);
            mailMessage.Add(bodyAppendix.ToString());
        }
        public void ApplyUpdateChange(UpdateChange change, Changeset changeset, Int32 changeId, Int32 changesetId, IDataManager manager)
        {
            var changeInfo = new TargetingTypeBasketBaseValueChangeInfo
                             (
                changeId,
                changeset.TargetingTypeId,
                change.BasketId,
                change.BaseValueBefore,
                change.BaseValueAfter,
                changesetId,
                change.Comment
                             );

            manager.InsertTargetingTypeBasketBaseValueChange(changeInfo);

            var info = new TargetingTypeBasketBaseValueInfo(
                changeset.TargetingTypeId,
                change.BasketId,
                change.BaseValueAfter,
                changeId
                );

            manager.UpdateTargetingTypeBasketBaseValue(info);
        }
 public void Resolve(UpdateChange change)
 {
     this.applier.ApplyUpdateChange(change, this.changeset, this.changeId, this.changesetId, this.manager);
 }
 public void Resolve(UpdateChange change)
 {
     this.applier.MailUpdateChange(change, this.manager, this.securityRepository, this.mail, this.username, this.date, this.ttName, this.basketRepository);
 }