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)); }
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); }
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) }); } }