public IActionResult Put([FromBody] DiscountsModify discount) { if (ModelState.IsValid) { var check = true; foreach (int id in discount.IdsCommerce) { if (context.Commerce.Count(x => x.Id == id) == 0) { check = false; } } if (check == true) { var objD = context.Discounts.FirstOrDefault(y => y.Id == discount.Id); objD.Name = discount.Name; objD.Description = discount.Description; //objD.Discount_Type = discount.Discount_Type; //objD.Discount_value = discount.Discount_value; objD.Date_start = discount.Date_start; objD.Date_end = discount.Date_end; context.Entry(objD).State = EntityState.Modified; context.SaveChanges(); var objCD = new CommerceDiscounts(); objCD.DiscountsID = objD.Id; var listaABorrar = context.CommerceDiscounts.Where(z => z.DiscountsID == objD.Id).ToList(); var listaABorrarInterest = context.DiscountsInterests.Where(c => c.DiscountsID == objD.Id).ToList(); foreach (CommerceDiscounts id in listaABorrar) { objCD.CommerceID = id.CommerceID; context.CommerceDiscounts.Remove(context.CommerceDiscounts.FirstOrDefault(z => z.CommerceID == id.CommerceID && z.DiscountsID == objD.Id)); context.SaveChanges(); } var objID = new DiscountsInterests(); objID.DiscountsID = objD.Id; foreach (DiscountsInterests id2 in listaABorrarInterest) { objID.InterestsId = id2.InterestsId; if (id2.InterestsId != 22) { context.DiscountsInterests.Remove(context.DiscountsInterests.FirstOrDefault(z => z.DiscountsID == objD.Id && z.InterestsId == id2.InterestsId)); context.SaveChanges(); } } foreach (int id in discount.IdsCommerce) { objCD.CommerceID = id; context.CommerceDiscounts.Add(objCD); context.SaveChanges(); } foreach (int id in discount.IdsIntereses) { objID = new DiscountsInterests(); objID.DiscountsID = objD.Id; objID.InterestsId = id; if (id != 22) { context.DiscountsInterests.Add(objID); context.SaveChanges(); } } return(Ok()); } else { return(BadRequest("Uno de los comercios asociados no existe.")); } } return(BadRequest(ModelState)); }
public IActionResult Post([FromBody] DiscountsCreate discount) { if (ModelState.IsValid) { var check = true; foreach (int id in discount.IdsCommerce) { if (context.Commerce.Count(x => x.Id == id) == 0) { check = false; } } if (check == true) { var objD = new Discounts(); objD.Name = discount.Name; objD.Description = discount.Description; if (discount.Discount_Type.ToUpper() == "PERCENTAGE") { objD.Discount_Type = "Percentage"; } else { objD.Discount_Type = "Value"; } objD.Discount_value = discount.Discount_value; objD.Date_start = discount.Date_start; objD.Date_end = discount.Date_end; context.Discounts.Add(objD); context.SaveChanges(); var objCD = new CommerceDiscounts(); objCD.DiscountsID = objD.Id; foreach (int id in discount.IdsCommerce) { objCD.CommerceID = id; context.CommerceDiscounts.Add(objCD); context.SaveChanges(); } var objID = new DiscountsInterests(); objID.DiscountsID = objD.Id; foreach (int id in discount.IdsIntereses) { objID.InterestsId = id; context.DiscountsInterests.Add(objID); context.SaveChanges(); } return(Ok()); } else { return(BadRequest("Uno de los comercios asociados no existe.")); } } return(BadRequest(ModelState)); }