示例#1
0
        /// <summary>
        /// Updates the specified BeverageStyle
        /// </summary>
        /// <param name="id">The BeverageStyle identifier.</param>
        /// <param name="beverageStyle">The beverageStyle.</param>
        /// <param name="updateGraph">if set to <c>true</c> any child objects of the entity will also be persisted.</param>
        /// <returns>
        /// A HttpResponseMessage containing the result of the PUT
        /// </returns>
        /// <remarks>
        /// PUT: api/beveragestyles/{id}
        /// </remarks>
        public HttpResponseMessage Put(int id, BeverageStyle beverageStyle, bool updateGraph = false)
        {
            this.beverageStyleService.UpdateBeverageStyle(id, beverageStyle, updateGraph);

            // Success
            return(new HttpResponseMessage(HttpStatusCode.OK));
        }
示例#2
0
        /// <summary>
        /// Adds a new BeverageStyle
        /// </summary>
        /// <param name="beverageStyle">The BeverageStyle.</param>
        /// <param name="updateGraph">if set to <c>true</c> any child objects of the entity will also be persisted.</param>
        /// <returns>
        /// A HttpResponseMessage containing the result of the POST
        /// </returns>
        /// <remarks>
        /// POST: api/BeverageStyles
        /// </remarks>
        public HttpResponseMessage Post(BeverageStyle beverageStyle, bool updateGraph = false)
        {
            int beverageStyleId = this.beverageStyleService.InsertBeverageStyle(beverageStyle, updateGraph);

            // Success, return a uri to the created resource in the response header
            var response = new HttpResponseMessage(HttpStatusCode.Created);

            response.Headers.Location = new Uri(this.Request.RequestUri.AbsoluteUri + "/" + beverageStyleId.ToString());

            return(response);
        }
示例#3
0
        private BeverageStyle CreateBeverageStyle(string[] column, string[] headers, Dictionary <String, int> beverageTypeIdLookup)
        {
            GuardColumnHeaders(column, headers);

            string beverageTypeName = column[Array.IndexOf(headers, "beveragetypename")].Trim('"').Trim();

            if (!beverageTypeIdLookup.ContainsKey(beverageTypeName))
            {
                throw new Exception($"type={beverageTypeName} does not exist in beverageTypes");
            }

            var beverageStyle = new BeverageStyle
            {
                Description    = column[Array.IndexOf(headers, "description")].Trim('"').Trim(),
                Name           = column[Array.IndexOf(headers, "name")].Trim('"').Trim(),
                BeverageTypeId = beverageTypeIdLookup[beverageTypeName],
            };

            return(beverageStyle);
        }
示例#4
0
        /// <summary>
        /// Updates the specified BeverageStyle.
        /// </summary>
        /// <param name="id">The identifier.</param>
        /// <param name="beverageStyle">The BeverageStyle.</param>
        /// <param name="updateGraph">if set to <c>true</c> any child objects of the entity will also be persisted.</param>
        public void UpdateBeverageStyle(int id, BeverageStyle beverageStyle, bool updateGraph)
        {
            using (var unitOfWork = this.unitOfWorkFactory.Create())
            {
                // Get the entity repository
                IEntityRepository <BeverageStyle> entityRepository = unitOfWork.GetRepository <BeverageStyle, int>();

                // Update the entity
                if (updateGraph)
                {
                    entityRepository.InsertOrUpdateGraph(beverageStyle);
                }
                else
                {
                    entityRepository.Update(beverageStyle);
                }

                // Persist the changes
                unitOfWork.Save();
            }
        }
示例#5
0
        /// <summary>
        /// Adds the BeverageStyle to the database.
        /// </summary>
        /// <param name="beverageStyle">The BeverageStyle.</param>
        /// <param name="updateGraph">if set to <c>true</c> any child objects of the entity will also be persisted.</param>
        /// <returns>The identifier of the beverageStyle added to database</returns>
        public int InsertBeverageStyle(BeverageStyle beverageStyle, bool updateGraph)
        {
            using (var unitOfWork = this.unitOfWorkFactory.Create())
            {
                // Get the entity repository
                IEntityRepository <BeverageStyle> entityRepository = unitOfWork.GetRepository <BeverageStyle, int>();

                // Insert the entity
                if (updateGraph)
                {
                    // Update any entities in the graph
                    entityRepository.InsertOrUpdateGraph(beverageStyle);
                }
                else
                {
                    // Update just the root entity
                    entityRepository.Insert(beverageStyle);
                }

                // Persist the changes and return Id
                return(unitOfWork.Save().GetInsertedEntityKey <int>("BeverageStyles"));
            }
        }