Пример #1
0
        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));
        }
Пример #2
0
        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));
        }