コード例 #1
0
        public IActionResult Inventar()
        {
            var model = new IzvjestajInventarVM
            {
                Lokacije = db.Lokacija
                           .Where(x => x.IsDeleted == false).Select(x => new SelectListItem
                {
                    Value = x.LokacijaId.ToString(),
                    Text  = x.Naziv
                }).ToList(),
                DostupneOpcije = new List <SelectListItem>
                {
                    new SelectListItem {
                        Value = "NoviBicikli", Text = "Novi bicikli"
                    },
                    new SelectListItem {
                        Value = "PolovniBicikli", Text = "Polovni bicikli"
                    },
                    new SelectListItem {
                        Value = "KorišteniBicikli", Text = "Korišteni bicikli"
                    },
                    new SelectListItem {
                        Value = "Dijelovi", Text = "Dijelovi"
                    },
                    new SelectListItem {
                        Value = "Oprema", Text = "Oprema"
                    },
                },
                NaciniPrikaza = new List <SelectListItem>
                {
                    new SelectListItem {
                        Value = "1", Text = "Šifra proizvoda"
                    },
                    new SelectListItem {
                        Value = "2", Text = "Serijski broj"
                    }
                }
            };

            return(View(model));
        }
コード例 #2
0
        public IActionResult InventarPrikaz(IzvjestajInventarVM request)
        {
            var  stavke  = new List <InventarStavka>();
            bool showAll = request.OdabraneOpcije is null;

            if (showAll || request.OdabraneOpcije.Contains("NoviBicikli"))
            {
                if (request.NacinPrikaza == 1)
                {
                    stavke.AddRange(db.Bicikl.Where(x => x.Stanje == Stanje.Novo).Select(x => new InventarStavka
                    {
                        Šifra            = "B-" + x.BiciklId.ToString(),
                        Cijena           = x.Cijena.Value,
                        Naziv            = x.Model.Proizvodjac.Naziv + " " + x.Model.Naziv,
                        VrstaStavke      = "Novo biciklo",
                        KolicinaNaStanju = x.BiciklStanje.Where(y => y.LokacijaId == request.LokacijaId && y.Aktivan).Sum(y => y.Kolicina)
                    }).Where(x => x.KolicinaNaStanju > 0).ToList());
                }
                else
                {
                    stavke.AddRange(db.BiciklStanje.Where(x => x.Bicikl.Stanje == Stanje.Novo)
                                    .Where(x => x.LokacijaId == request.LokacijaId && x.Aktivan)
                                    .Select(x => new InventarStavka
                    {
                        Cijena           = x.Bicikl.Cijena.Value,
                        Naziv            = x.Bicikl.Model.Proizvodjac.Naziv + " " + x.Bicikl.Model.Naziv,
                        VrstaStavke      = "Novo biciklo",
                        KolicinaNaStanju = x.Kolicina
                    }).ToList());
                }
            }
            if (showAll || request.OdabraneOpcije.Contains("PolovniBicikli"))
            {
                if (request.NacinPrikaza == 1)
                {
                    stavke.AddRange(db.Bicikl.Where(x => x.Stanje == Stanje.Polovno).Select(x => new InventarStavka
                    {
                        Šifra            = "B-" + x.BiciklId.ToString(),
                        Cijena           = x.Cijena.Value,
                        Naziv            = x.Model.Proizvodjac.Naziv + " " + x.Model.Naziv,
                        VrstaStavke      = "Polovno biciklo",
                        KolicinaNaStanju = x.BiciklStanje.Count(y => y.LokacijaId == request.LokacijaId && y.Aktivan)
                    }).Where(x => x.KolicinaNaStanju > 0).ToList());
                }
                else
                {
                    stavke.AddRange(db.BiciklStanje.Where(x => x.Bicikl.Stanje == Stanje.Polovno)
                                    .Where(x => x.LokacijaId == request.LokacijaId && x.Aktivan)
                                    .Select(x => new InventarStavka
                    {
                        Cijena           = x.Bicikl.Cijena.Value,
                        Naziv            = x.Bicikl.Model.Proizvodjac.Naziv + " " + x.Bicikl.Model.Naziv,
                        VrstaStavke      = "Polovno biciklo",
                        KolicinaNaStanju = x.Kolicina
                    }).ToList());
                }
            }
            if (showAll || request.OdabraneOpcije.Contains("KorišteniBicikli"))
            {
                if (request.NacinPrikaza == 1)
                {
                    stavke.AddRange(db.Bicikl.Where(x => x.Stanje == Stanje.Korišteno).Select(x => new InventarStavka
                    {
                        Šifra            = "B-" + x.BiciklId.ToString(),
                        Cijena           = x.CijenaPoDanu.Value,
                        Naziv            = x.Model.Proizvodjac.Naziv + " " + x.Model.Naziv,
                        VrstaStavke      = "Korišteno biciklo",
                        KolicinaNaStanju = x.BiciklStanje.Count(y => y.LokacijaId == request.LokacijaId && y.Aktivan)
                    }).Where(x => x.KolicinaNaStanju > 0).ToList());
                }
                else
                {
                    stavke.AddRange(db.BiciklStanje.Where(x => x.Bicikl.Stanje == Stanje.Korišteno)
                                    .Where(x => x.LokacijaId == request.LokacijaId && x.Aktivan)
                                    .Select(x => new InventarStavka
                    {
                        Cijena           = x.Bicikl.CijenaPoDanu.Value,
                        Naziv            = x.Bicikl.Model.Proizvodjac.Naziv + " " + x.Bicikl.Model.Naziv,
                        VrstaStavke      = "Korišteno biciklo",
                        KolicinaNaStanju = x.Kolicina
                    }).ToList());
                }
            }
            if (showAll || request.OdabraneOpcije.Contains("Dijelovi"))
            {
                if (request.NacinPrikaza == 1)
                {
                    stavke.AddRange(db.Dio.Where(x => x.IsDeleted == false).Select(x => new InventarStavka
                    {
                        Šifra            = "D-" + x.DioId.ToString(),
                        Cijena           = x.Cijena,
                        Naziv            = x.Naziv,
                        VrstaStavke      = "Dio",
                        KolicinaNaStanju = x.DioStanje.Count(y => y.LokacijaId == request.LokacijaId && y.KupacId == null && y.Aktivan)
                    }).Where(x => x.KolicinaNaStanju > 0).ToList());
                }
                else
                {
                    stavke.AddRange(db.DioStanje
                                    .Where(x => x.LokacijaId == request.LokacijaId && x.KupacId == null && x.Aktivan)
                                    .Select(x => new InventarStavka
                    {
                        Šifra            = x.Sifra,
                        Cijena           = x.Dio.Cijena,
                        Naziv            = x.Dio.Naziv,
                        VrstaStavke      = "Dio",
                        KolicinaNaStanju = 1
                    }).ToList());
                }
            }
            if (showAll || request.OdabraneOpcije.Contains("Oprema"))
            {
                if (request.NacinPrikaza == 1)
                {
                    stavke.AddRange(db.Oprema.Where(x => x.IsDeleted == false).Select(x => new InventarStavka
                    {
                        Šifra            = "O-" + x.OpremaId.ToString(),
                        Cijena           = x.Cijena,
                        Naziv            = x.Naziv,
                        VrstaStavke      = "Oprema",
                        KolicinaNaStanju = x.OpremaStanje.Count(y => y.LokacijaId == request.LokacijaId && y.KupacId == null && y.Aktivan)
                    }).Where(x => x.KolicinaNaStanju > 0).ToList());
                }
                else
                {
                    stavke.AddRange(db.OpremaStanje
                                    .Where(x => x.LokacijaId == request.LokacijaId && x.KupacId == null && x.Aktivan)
                                    .Select(x => new InventarStavka
                    {
                        Šifra            = x.Sifra,
                        Cijena           = x.Oprema.Cijena,
                        Naziv            = x.Oprema.Naziv,
                        VrstaStavke      = "Oprema",
                        KolicinaNaStanju = 1
                    }).ToList());
                }
            }

            var vm = new IzvjestajInventarPrikazVM
            {
                Stavke       = stavke,
                NacinPrikaza = request.NacinPrikaza
            };

            return(PartialView(vm));
        }