public void CreateDividend(DividendViewModel dividendVm)
        {
            Guard.AgainstNull(() => dividendVm);

            var dividend = _viewModelToModelMapper.MapToDividend(dividendVm);
            _dividendService.CreateDividend(dividend);
            dividendVm.Id = dividend.Id;
            dividendVm.IsCreated = true;
        }
 public Dividend MapToDividend(DividendViewModel dividendVm) => GetDividend(dividendVm);
        private Dividend GetDividend(DividendViewModel dividendVm)
        {
            var dividend = new Dividend(
                dividendVm.Id, 
                dividendVm.Quantity, 
                dividendVm.GeneralMeeting.Id, 
                dividendVm.Deposit.Id, 
                GetGeneralMeeting(dividendVm.GeneralMeeting),
                false,
                false
            );

            return dividend;
        }
        private void DeleteDividend(DividendViewModel dividendVm)
        {
            _depositGateway.DeleteDividend(dividendVm.Id);
            Deposit.Dividends.Remove(dividendVm);

            // If the deleted dividend is shown in the calculated view, make it possible to add it again.
            var calculated = CalculatedDividends.SingleOrDefault(p => p.GeneralMeeting.Id == dividendVm.GeneralMeeting.Id);

            if (calculated != null)
            {
                calculated.IsDifferent = false;
                calculated.IsCreated = false;
            }
        }
 private void AddDividend(DividendViewModel dividendVm)
 {
     _depositGateway.CreateDividend(dividendVm);
     dividendVm.ShowCreatedInfo = false;
     Deposit.Dividends.Add(dividendVm);
     CalculatedDividends.Remove(dividendVm);
 }
        private DividendViewModel GetDividendViewModel(Dividend dividend)
        {
            var vm = new DividendViewModel
            {
                Id = dividend.Id,
                Quantity = dividend.Quantity,
                DividendPayment = dividend.DividendPayment,
                IsCreated = dividend.IsCreated,
                IsDifferent = dividend.IsDifferent
            };

            if (dividend.GeneralMeeting != null)
                vm.GeneralMeeting = GetGeneralMeetingViewModel(dividend.GeneralMeeting);

            return vm;
        }