Esempio n. 1
0
        private int SaveGiftCertificate()
        {
            if (Page.IsValid)
            {
                IGiftCertKeyProvider gckProvider = AbleContext.Container.Resolve <IGiftCertKeyProvider>();
                _GiftCertificate.Name = Name.Text;
                decimal newBalance = AlwaysConvert.ToDecimal(Balance.Text);

                if (newBalance != _GiftCertificate.Balance)
                {
                    _GiftCertificate.AddBalanceUpdatedTransaction(_GiftCertificate.Balance, newBalance);
                    _GiftCertificate.Balance = newBalance;
                }

                DateTime newDate = ExpireDate.SelectedEndDate;
                DateTime oldDate = _GiftCertificate.ExpirationDate.HasValue ? _GiftCertificate.ExpirationDate.Value : DateTime.MinValue;
                if (!oldDate.Equals(newDate))
                {
                    _GiftCertificate.AddExpiryUpdatedTransaction(oldDate, newDate);
                    _GiftCertificate.ExpirationDate = ExpireDate.NullableSelectedEndDate;
                }

                if (GenerateSerialNumber.Checked)
                {
                    if (string.IsNullOrEmpty(_GiftCertificate.SerialNumber))
                    {
                        _GiftCertificate.AddActivatedTransaction();
                    }
                    _GiftCertificate.SerialNumber = gckProvider.GenerateGiftCertificateKey();
                }
                _GiftCertificate.Save();
                return(_GiftCertificate.Id);
            }
            return(0);
        }