public virtual GiftCardUsage InsertGiftCardUsage(GiftCardUsage entity)
        {
            GiftCardUsage other = new GiftCardUsage();

            other = entity;
            if (entity.IsTransient())
            {
                string         sql            = @"Insert into GiftCardUsage ( [GiftCardUsageGUID]
				,[GiftCardID]
				,[UsageTypeID]
				,[UsedByCustomerID]
				,[OrderNumber]
				,[Amount]
				,[ExtensionData]
				,[CreatedOn] )
				Values
				( @GiftCardUsageGUID
				, @GiftCardID
				, @UsageTypeID
				, @UsedByCustomerID
				, @OrderNumber
				, @Amount
				, @ExtensionData
				, @CreatedOn );
				Select scope_identity()"                ;
                SqlParameter[] parameterArray = new SqlParameter[] {
                    new SqlParameter("@GiftCardUsageID", entity.GiftCardUsageId)
                    , new SqlParameter("@GiftCardUsageGUID", entity.GiftCardUsageGuid)
                    , new SqlParameter("@GiftCardID", entity.GiftCardId)
                    , new SqlParameter("@UsageTypeID", entity.UsageTypeId)
                    , new SqlParameter("@UsedByCustomerID", entity.UsedByCustomerId)
                    , new SqlParameter("@OrderNumber", entity.OrderNumber)
                    , new SqlParameter("@Amount", entity.Amount)
                    , new SqlParameter("@ExtensionData", entity.ExtensionData ?? (object)DBNull.Value)
                    , new SqlParameter("@CreatedOn", entity.CreatedOn)
                };
                var identity = SqlHelper.ExecuteScalar(this.ConnectionString, CommandType.Text, sql, parameterArray);
                if (identity == DBNull.Value)
                {
                    throw new DataException("Identity column was null as a result of the insert operation.");
                }
                return(GetGiftCardUsage(Convert.ToInt32(identity)));
            }
            return(entity);
        }
        public virtual GiftCardUsage GiftCardUsageFromDataRow(DataRow dr)
        {
            if (dr == null)
            {
                return(null);
            }
            GiftCardUsage entity = new GiftCardUsage();

            entity.GiftCardUsageId   = (System.Int32)dr["GiftCardUsageID"];
            entity.GiftCardUsageGuid = (System.Guid)dr["GiftCardUsageGUID"];
            entity.GiftCardId        = (System.Int32)dr["GiftCardID"];
            entity.UsageTypeId       = (System.Int32)dr["UsageTypeID"];
            entity.UsedByCustomerId  = (System.Int32)dr["UsedByCustomerID"];
            entity.OrderNumber       = (System.Int32)dr["OrderNumber"];
            entity.Amount            = (System.Decimal)dr["Amount"];
            entity.ExtensionData     = dr["ExtensionData"].ToString();
            entity.CreatedOn         = (System.DateTime)dr["CreatedOn"];
            return(entity);
        }
        public Order Apply(List <GiftCard> appliedGiftCards, Order order)
        {
            if (!appliedGiftCards.Any())
            {
                return(order);
            }
            var totalToApply = order.Total;

            foreach (var card in appliedGiftCards)
            {
                bool    breakAfterThis  = false;
                var     availableAmount = card.AvailableAmount;
                decimal amount;
                if (availableAmount > totalToApply)
                {
                    breakAfterThis = true;
                    amount         = totalToApply;
                }
                else
                {
                    amount = availableAmount;
                }
                totalToApply -= amount;
                var giftCardUsage = new GiftCardUsage
                {
                    GiftCard = card,
                    Order    = order,
                    Amount   = amount
                };
                order.GiftCardUsages.Add(giftCardUsage);
                card.GiftCardUsages.Add(giftCardUsage);
                if (breakAfterThis)
                {
                    break;
                }
            }

            return(order);
        }
        public virtual GiftCardUsage UpdateGiftCardUsage(GiftCardUsage entity)
        {
            if (entity.IsTransient())
            {
                return(entity);
            }
            GiftCardUsage other = GetGiftCardUsage(entity.GiftCardUsageId);

            if (entity.Equals(other))
            {
                return(entity);
            }
            string sql = @"Update GiftCardUsage set  [GiftCardUsageGUID]=@GiftCardUsageGUID
							, [GiftCardID]=@GiftCardID
							, [UsageTypeID]=@UsageTypeID
							, [UsedByCustomerID]=@UsedByCustomerID
							, [OrderNumber]=@OrderNumber
							, [Amount]=@Amount
							, [ExtensionData]=@ExtensionData
							, [CreatedOn]=@CreatedOn 
							 where GiftCardUsageID=@GiftCardUsageID"                            ;

            SqlParameter[] parameterArray = new SqlParameter[] {
                new SqlParameter("@GiftCardUsageID", entity.GiftCardUsageId)
                , new SqlParameter("@GiftCardUsageGUID", entity.GiftCardUsageGuid)
                , new SqlParameter("@GiftCardID", entity.GiftCardId)
                , new SqlParameter("@UsageTypeID", entity.UsageTypeId)
                , new SqlParameter("@UsedByCustomerID", entity.UsedByCustomerId)
                , new SqlParameter("@OrderNumber", entity.OrderNumber)
                , new SqlParameter("@Amount", entity.Amount)
                , new SqlParameter("@ExtensionData", entity.ExtensionData ?? (object)DBNull.Value)
                , new SqlParameter("@CreatedOn", entity.CreatedOn)
            };
            SqlHelper.ExecuteNonQuery(this.ConnectionString, CommandType.Text, sql, parameterArray);
            return(GetGiftCardUsage(entity.GiftCardUsageId));
        }
Beispiel #5
0
 public GiftCardUsage InsertGiftCardUsage(GiftCardUsage entity)
 {
     return(_iGiftCardUsageRepository.InsertGiftCardUsage(entity));
 }
Beispiel #6
0
 public GiftCardUsage UpdateGiftCardUsage(GiftCardUsage entity)
 {
     return(_iGiftCardUsageRepository.UpdateGiftCardUsage(entity));
 }
 public virtual GiftCardUsage DeleteGiftCardUsage(GiftCardUsage entity)
 {
     this.DeleteGiftCardUsage(entity.GiftCardUsageId);
     return(entity);
 }