Пример #1
0
        public static ItemOption Add(int itemOptionSetId, string optionValue,
                                     double?costForExtra, bool usesIngredient, int?productId,
                                     double?productAmount, MeasurementUnit?productMeasurementUnit)
        {
            ItemOption result         = null;
            bool       isDiscontinued = false;

            SqlConnection cn = GetConnection();

            using (SqlCommand sqlCmd = new SqlCommand("AddItemOption", cn))
            {
                sqlCmd.CommandType = CommandType.StoredProcedure;
                BuildSqlParameter(sqlCmd, "@ItemOptionItemOptionSetId", SqlDbType.Int, itemOptionSetId);
                BuildSqlParameter(sqlCmd, "@ItemOptionValue", SqlDbType.Text, optionValue);
                BuildSqlParameter(sqlCmd, "@ItemOptionCostForExtra", SqlDbType.Float, costForExtra);
                BuildSqlParameter(sqlCmd, "@ItemOptionUsesIngredient", SqlDbType.Bit, usesIngredient);
                BuildSqlParameter(sqlCmd, "@ItemOptionProductId", SqlDbType.Int, productId);
                BuildSqlParameter(sqlCmd, "@ItemOptionProductAmount", SqlDbType.Float, productAmount);
                BuildSqlParameter(sqlCmd, "@ItemOptionProductMeasurementUnit", SqlDbType.SmallInt, productMeasurementUnit);
                BuildSqlParameter(sqlCmd, "@ItemOptionIsDiscontinued", SqlDbType.Bit, isDiscontinued);
                BuildSqlParameter(sqlCmd, "@ItemOptionId", SqlDbType.Int, ParameterDirection.ReturnValue);
                if (sqlCmd.ExecuteNonQuery() > 0)
                {
                    result = new ItemOption(Convert.ToInt32(sqlCmd.Parameters["@ItemOptionId"].Value),
                                            itemOptionSetId, optionValue, costForExtra, usesIngredient,
                                            productId, productAmount, productMeasurementUnit,
                                            isDiscontinued);
                }
            }
            FinishedWithConnection(cn);
            return(result);
        }
Пример #2
0
 public IEnumerable <ItemOption> GetOptions()
 {
     if (options == null)
     {
         options = ItemOption.GetInSet(Id);
     }
     return(options);
 }
Пример #3
0
 public void Discontinue()
 {
     foreach (ItemOption itemOption in ItemOption.GetInSet(Id))
     {
         itemOption.Discontinue();
     }
     IsDiscontinued = true;
     Update(this);
 }
Пример #4
0
        /// <summary>
        /// Update an entry in the ItemOption table
        /// </summary>
        public static bool Update(ItemOption itemOption)
        {
            bool result = false;

            SqlConnection cn = GetConnection();

            result = Update(cn, itemOption);
            FinishedWithConnection(cn);
            return(result);
        }
Пример #5
0
        public static ItemOption Get(int itemOptionSetId, string optionName)
        {
            ItemOption result = null;

            SqlConnection cn = GetConnection();

            result = Get(cn, itemOptionSetId, optionName);
            FinishedWithConnection(cn);
            return(result);
        }
Пример #6
0
        public static ItemOption Get(int itemOptionId)
        {
            ItemOption result = null;

            SqlConnection cn = GetConnection();

            result = Get(cn, itemOptionId);
            FinishedWithConnection(cn);
            return(result);
        }
Пример #7
0
 public bool ContainsItemOptionUsingItem(int itemId)
 {
     foreach (ItemOption itemOption in ItemOption.GetInSet(Id))
     {
         if ((itemOption.UsesItem) && (itemOption.ProductId != null) &&
             (itemOption.ProductId.Value == itemId))
         {
             return(true);
         }
     }
     return(false);
 }
Пример #8
0
        private static ItemOption Get(SqlConnection cn, int itemOptionId)
        {
            ItemOption result = null;

            using (SqlCommand cmd = new SqlCommand("SELECT * FROM ItemOption WHERE ItemOptionId=" + itemOptionId, cn))
            {
                using (SqlDataReader rdr = cmd.ExecuteReader())
                {
                    if (rdr.Read())
                    {
                        result = BuildItemOption(rdr);
                    }
                }
            }
            return(result);
        }
Пример #9
0
        public static void AdjustInventory(TicketItemOption ticketItemOption,
                                           double portionSize,
                                           bool increaseInventory)
        {
            ItemOption itemOption = ItemOption.Get(ticketItemOption.ItemOptionId);

            if (itemOption.UsesItem && (itemOption.ProductId != null) &&
                (itemOption.ProductAmount != null))
            {
                PosModelHelper.AdjustInventoryByItem(
                    itemOption.ProductId.Value, itemOption.ProductAmount.Value * portionSize,
                    increaseInventory);
            }
            else if (itemOption.UsesIngredient && (itemOption.ProductId != null) &&
                     (itemOption.ProductAmount != null) && (itemOption.ProductMeasurementUnit != null))
            {
                PosModelHelper.AdjustInventoryByIngredient(
                    itemOption.ProductId.Value,
                    increaseInventory, itemOption.ProductAmount.Value * portionSize,
                    itemOption.ProductMeasurementUnit.Value);
            }
        }
Пример #10
0
        private static bool Update(SqlConnection cn, ItemOption itemOption)
        {
            Int32 rowsAffected = 0;

            using (SqlCommand sqlCmd = cn.CreateCommand())
            {
                sqlCmd.CommandText = "UPDATE ItemOption SET ItemOptionItemOptionSetId=@ItemOptionItemOptionSetId,ItemOptionValue=@ItemOptionValue,ItemOptionCostForExtra=@ItemOptionCostForExtra,ItemOptionUsesIngredient=@ItemOptionUsesIngredient,ItemOptionProductId=@ItemOptionProductId,ItemOptionProductAmount=@ItemOptionProductAmount,ItemOptionProductMeasurementUnit=@ItemOptionProductMeasurementUnit,ItemOptionIsDiscontinued=@ItemOptionIsDiscontinued WHERE ItemOptionId=@ItemOptionId";

                BuildSqlParameter(sqlCmd, "@ItemOptionId", SqlDbType.Int, itemOption.Id);
                BuildSqlParameter(sqlCmd, "@ItemOptionItemOptionSetId", SqlDbType.Int, itemOption.SetId);
                BuildSqlParameter(sqlCmd, "@ItemOptionValue", SqlDbType.Text, itemOption.Name);
                BuildSqlParameter(sqlCmd, "@ItemOptionCostForExtra", SqlDbType.Float, itemOption.CostForExtra);
                BuildSqlParameter(sqlCmd, "@ItemOptionUsesIngredient", SqlDbType.Bit, itemOption.UsesIngredient);
                BuildSqlParameter(sqlCmd, "@ItemOptionProductId", SqlDbType.Int, itemOption.ProductId);
                BuildSqlParameter(sqlCmd, "@ItemOptionProductAmount", SqlDbType.Float, itemOption.ProductAmount);
                BuildSqlParameter(sqlCmd, "@ItemOptionProductMeasurementUnit", SqlDbType.SmallInt, itemOption.ProductMeasurementUnit);
                BuildSqlParameter(sqlCmd, "@ItemOptionIsDiscontinued", SqlDbType.Bit, itemOption.IsDiscontinued);

                rowsAffected = sqlCmd.ExecuteNonQuery();
            }
            return(rowsAffected != 0);
        }
Пример #11
0
        private static ItemOption Get(SqlConnection cn, int itemOptionSetId, string optionName)
        {
            ItemOption result = null;

            using (SqlCommand cmd = new SqlCommand("SELECT * FROM ItemOption WHERE ItemOptionItemOptionSetId=" + itemOptionSetId + " AND ItemOptionIsDiscontinued=0", cn))
            {
                using (SqlDataReader rdr = cmd.ExecuteReader())
                {
                    while (rdr.Read())
                    {
                        //result = new Category();
                        string lineName = rdr[2].ToString();
                        if (optionName == lineName)
                        {
                            result = BuildItemOption(rdr);
                            break;
                        }
                    }
                }
            }
            return(result);
        }
Пример #12
0
 public bool Update()
 {
     return(ItemOption.Update(this));
 }