Ejemplo n.º 1
0
        public models.Programming findOrFail(String id)
        {
            int         programming_id = int.Parse(id);
            programming programming    = Context.programming.Include("movies").First(x => x.id == programming_id);

            return(Mapper.Map <programming, model.Programming>(programming));
        }
Ejemplo n.º 2
0
        protected Boolean updateOccupiedProperty(programming programming, int quantity)
        {
            int occupied = int.Parse(programming.occupied.ToString());

            programming.occupied = (short)(occupied + quantity);

            this.Context.Entry(programming).State = EntityState.Modified;

            return(this.Context.SaveChanges() > 0);
        }
Ejemplo n.º 3
0
        public Json store(string programming_id, string client, string quantity, String element)
        {
            int id = int.Parse(programming_id);

            String[] elements = element.Split('-');;

            programming programming = this.Context.programming.First(x => x.id == id);
            int         q           = int.Parse(quantity);

            // Todo: Validate quotas

            using (var transaction = Context.Database.BeginTransaction())
            {
                payments pay = this.Context.payments.Add(new payments()
                {
                    programming_id = programming.id,
                    price          = programming.movies.price,
                    client         = client,
                    headquarter_id = 1,
                    quantity       = q,
                    creator_by     = 1
                });

                Boolean isSuccess = this.Context.SaveChanges() > 0;

                if (isSuccess)
                {
                    List <products> products = this.Context.products.Where(x => elements.Contains(x.id.ToString())).ToList();

                    products.ForEach(x =>
                    {
                        pay.payment_detail.Add(new payment_detail()
                        {
                            price      = x.price,
                            product_id = x.id,
                            quantity   = Repository.quantity
                        });
                    });

                    isSuccess = this.Context.SaveChanges() > 0;
                }


                if (!isSuccess || !this.updateOccupiedProperty(programming, q))
                {
                    transaction.Rollback();
                    return(new Json()
                    {
                        success = false,
                        message = "Error registering"
                    });
                }


                transaction.Commit();

                return(new Json()
                {
                    success = true,
                    message = String.Format("was registered for {0}", client)
                });
            }
        }