Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > ASP.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.07.2019, 19:59   #1
Lucky63
Новичок
Джуниор
 
Регистрация: 07.07.2019
Сообщений: 2
По умолчанию [В закладки] [Окно ответа] 1 (permalink) Добавить метод, который пополняет список одной модели экземплярами второй

Приветствую вас дорогие форумчане, не хотел я создавать этой темы, но уже нет ни сил, ни нервов. 3-и сутки сижу...
в общем ситуация с одной стороны простая, с другой упираюсь в тупик.
Задача такова: Есть 2 модели "Customer" и "Product", суть в том, что у кастомера есть лист типа продукт, и нужно пополнить этот лист моделями продукт. Что то типа корзины в интернет магазинах, ток примитивное.
В чем проблема у меня: создал метод, в ГЕТ он вычисляет нужного пользователя из бд, вычисляет нужные продукты из бд. в ПОСТ методе обновляется бд и добавляются нужные продукты в список. Казалось бы все готово, но вечно упираюсь в представление(View), дело в том, что там можно использовать только одну модель, но метод работает с 2 моделями, и как создать представление, которое будет принимать 2 модели и отправлять их в ПОСТ я копаю уже 3и сутки.
Ну а теперь код который у меня написан:
Модель Кастомера

Код:
public class Customer
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public int NumberPhone { get; set; }
        public string Address { get; set; }
        public List<Product> CustomerProduct { get; set; }
    }
Модель Продукта

Код:
public class Product
    {
        public int Id { get; set; }
        public string NameProduct { get; set; }
        public string Description { get; set; }
        public int Price { get; set; }
    }
Контекст БД

Код:
public class CustomerContext : DbContext
    {
        public DbSet<Customer> Customers { get; set; }
        public DbSet<Product> ListProducts { get; set; }
        public CustomerContext(DbContextOptions<CustomerContext> options)
            :base(options)
        {
            Database.EnsureCreated();
        }
    }
и непосредственно сам метод

Код:
[ActionName("Edit")]
        [HttpGet]
        public async Task<IActionResult> EditProductsCustom(int? id)
        {
            if (id != null)
            {
 
                Product product = await db.ListProducts.FirstOrDefaultAsync(p => p.Id == id);
                if (product != null)
                    return View(product);
 
            }
            return NotFound();
        }
        
        public async Task<IActionResult> Edit(int? id)
        {
            if (id != null)
            {
                Customer customer = await db.Customers.FirstOrDefaultAsync(p => p.Id == id);
                if (customer != null)
                    return View(customer);
            }
            return NotFound();
        }
        [HttpPost]
        public async Task<IActionResult> Edit(Customer customer, Product product)
        {
            customer.CustomerProduct.Add(product);
            db.Customers.Update(customer);
            await db.SaveChangesAsync();
            return RedirectToAction("Index");
        }
Весь проект есть на гитхабе, вот ссылка если кому интересно ВОТ
Буду бесконечно признателен любой помощи!
Lucky63 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[В закладки] [Окно ответа] #1 Какие ЯП нужно освоить что бы написать игровую рулетку? PoUiLy JavaScript, Ajax 3 31.05.2018 12:42
Разработать метод f(x1, y1, x2, y2), который вычисляет длину отрезка по координатам вершин (x1, y1) и (x2, y2), и метод d(a, b, c), который вычисляет периметр треугольника по длина scarecrow_1 C# (си шарп) 3 14.10.2016 19:56
Метод, который возвращает второй по величине за минимальным элементом или null Alexey Smirnov C# (си шарп) 6 02.11.2014 22:03
Как добавить Метод в класс Список с++ lirikoff Помощь студентам 5 26.08.2010 20:08