public IHttpActionResult UpdatePricelist(UpdatePricelistBindingModel bindingModel)
        {
            HttpStatusCode response = unitOfWork.Pricelists.UpdatePricelist(bindingModel);

            if (response == HttpStatusCode.OK)
            {
                return(Ok());
            }
            if (response == HttpStatusCode.Conflict)
            {
                return(Conflict());
            }

            return(NotFound());
        }
        public HttpStatusCode UpdatePricelist(UpdatePricelistBindingModel bindingModel)
        {
            try
            {
                var pricelist = AppDbContext.Pricelists.Where(p => p.PricelistId == bindingModel.Id).FirstOrDefault();
                if (pricelist != null)
                {
                    for (int i = 0; i < pricelist.RowVersion.Count(); i++)
                    {
                        if (pricelist.RowVersion[i] != bindingModel.RowVersion[i])
                        {
                            return(HttpStatusCode.Conflict);
                        }
                    }

                    pricelist.ValidFrom  = bindingModel.ValidFrom;
                    pricelist.ValidUntil = bindingModel.ValidUntil;

                    foreach (var item in bindingModel.PricelistItems)
                    {
                        var pricelistItem = AppDbContext.PricelistItems.Where(pi => pi.PricelistItemId == item.PricelistItemId).FirstOrDefault();
                        pricelistItem.Price = item.Price;
                    }

                    AppDbContext.SaveChanges();
                    return(HttpStatusCode.OK);
                }
                return(HttpStatusCode.NotFound);
            }
            catch (DbUpdateConcurrencyException ex)
            {
                Trace.WriteLine("DbUpdateConcurrencyException Message: {0}", ex.Message);
                return(HttpStatusCode.Conflict);
            }
            catch (Exception ex)
            {
                Trace.WriteLine("NormalException Message: {0}", ex.Message);
                return(HttpStatusCode.Conflict);
            }
        }