예제 #1
0
        public IActionResult DodajZamowienie(NoweZamowienieDto newOrderDto, int idClient)
        {
            if (newOrderDto.Wyroby.Count() == 0)
            {
                return(new BadRequestObjectResult("Zamowienie musi miec conajmniej jedna pozycje"));
            }

            Klient client = _context.Clients.Find(idClient);

            if (client == null)
            {
                return(new NotFoundObjectResult("Nie ma klienta o takim id"));
            }

            Zamowienie order = new Zamowienie
            {
                IdClient       = idClient,
                IdEmployee     = idClient % 2,
                AcceptanceDate = newOrderDto.DataPrzyjecia,
                Comments       = newOrderDto.Uwagi
            };

            _context.Orders.Add(order);
            _context.SaveChanges();

            foreach (NoweZamowienieProduktDto newOrderItemDto in newOrderDto.Wyroby)
            {
                WyrobProdukt confectioneryProduct = _context.ConfectioneryProducts
                                                    .Where(p => p.Name == newOrderItemDto.Wyrob)
                                                    .FirstOrDefault();
                if (confectioneryProduct == null)
                {
                    return(new NotFoundObjectResult("Produkt o takiej nazwie nie istnieje"));
                }
                ZamowienieProdukt orderItem = new ZamowienieProdukt
                {
                    IdOrder = _context.Orders.Max(o => o.IdOrder),
                    IdConfectioneryProduct = confectioneryProduct.IdConfectioneryProduct,
                    Quantity = int.Parse(newOrderItemDto.Ilosc),
                    Comments = newOrderItemDto.Uwagi
                };
                _context.OrderItems.Add(orderItem);
            }
            _context.SaveChanges();


            return(new OkObjectResult("Ok"));
        }
예제 #2
0
        public List <Zamowienie> Zamowienie()
        {
            var p = _db.Produkty.Find(1);


            //var q = _db.Zamowienia
            //    .Include(z => z.ZamowienieProdukty)
            //        .ThenInclude(prod => prod.Produkt)
            //    .Include(z => z.Uzytkownik).
            //        FirstOrDefault();

            var q = _db.Zamowienia
                    //.Include(z => z.ZamowienieProdukty)
                    //.ThenInclude(za => za.Produkt)
                    //.Include(z => z.Uzytkownik)
                    //.Include(z => z.Lodowka)
                    .FirstOrDefault();

            ZamowienieProdukt zampro = new ZamowienieProdukt
            {
                Zamowienie = q,
                Produkt    = p
            };


            // przegladarka zwraca niepelnego jsona a Postman sie wysypuje i totalnie nic nie zwraca
            // dodatkowo jezeli chce sie zapytac przez postmana nie mozna dawac na localhost tylko konkretne ip np http://192.168.0.20:44371/home/zamowienie
            // trzeba skonfigurowac zeby mozna bylo z zewnatrz pytac na localhosta .vs/config/applicationhost.config
            // jeden z pierwszych commitow Added config to allow remote connection

            //var u = zam.Uzytkownik;

            var zamowienia = _db.Zamowienia
                             //.Include(e => e.Uzytkownik)
                             //.Include(l => l.Lodowka)
                             //.Include(e => e.ZamowienieProdukty)
                             //.ThenInclude(e => e.Produkt)
                             .ToList();

            var listProd = new List <Produkt>();

            foreach (var zamow in zamowienia)
            {
                //zamow.ZamowienieProdukty


                //foreach (var tag in post.ZamowienieProdukty.Select(e => e.Produkt))
                //{
                //    //Console.WriteLine($"    Tag {tag.RFIDTag}");
                //}
            }

            //var prod = _db.ZamowieniaProdukty
            //    .Where(z => )
            //    .wher
            //    .Include(p => p.Produkt)



            var zam = _db.Zamowienia.
                      Include("ZamowienieProdukty.Produkt")
                      .ToList();

            //_db.Entry(zam).Collection(b => b.)


            //_db.Zamowienia.FirstOrDefault(u => u.ZamowienieProdukty.FirstOrDefault(f => f.ZamowienieId == 1));

            return(zam);
            //return Json(zampro);
        }