Exemple #1
0
        /// <summary>
        /// Reduce ingradient weight from database.
        /// </summary>
        /// <param name="ingradientName">Name ingradient.</param>
        /// <param name="reduceWeight">Reduce weight shawarma ingradients.</param>

        public static void ReduceIngradient(string ingradientName, int reduceWeight)
        {
            if (IsNullOrEmpty(ingradientName))
            {
                throw new ArgumentException();
            }

            using (var ctx = new ShawarmaEntities())
            {
                Ingradient ingradient = ctx.Ingradients
                                        .FirstOrDefault(ingr => ingr.IngradientName == ingradientName);


                if (ingradient?.TotalWeight < reduceWeight)
                {
                    throw new ArgumentException();
                }

                Debug.Assert(ingradient != null, "ingradient != null");
                ingradient.TotalWeight -= reduceWeight;

                ctx.Ingradients.AddOrUpdate(ingradient);
                ctx.SaveChanges();
            }
        }
Exemple #2
0
        /// <summary>
        /// Add new ingradient in database.
        /// </summary>
        /// <param name="ingradientName">Name new ingradient.</param>
        /// <param name="totalWeight">Total weight shawarma ingradients.</param>
        /// <param name="idIngradientCategory">Id ingradient category name.</param>
        public static void AddIngradient(string ingradientName, int totalWeight, int idIngradientCategory)
        {
            if (IsNullOrEmpty(ingradientName))
            {
                throw new ArgumentException();
            }

            using (var ctx = new ShawarmaEntities())
            {
                int maxId = ctx.IngradientCategories.Select(s => s.CategoryId).Max();

                if (idIngradientCategory <= 0 || idIngradientCategory > maxId)
                {
                    idIngradientCategory = 1;
                }

                Ingradient ingradient = new Ingradient {
                    IngradientName = ingradientName, TotalWeight = totalWeight, CategoryId = idIngradientCategory
                };
                ctx.Ingradients.Add(ingradient);
                ctx.SaveChanges();
            }
        }