public ActionResult PrikazNabavke(int nabavka)
        {
            List <Nabavke> DbNabavke = trebovanjeNabavkeContext.Nabavkes.Where(t => t.NabavkaId == nabavka).ToList();
            OdobravanjeNabavkeController odobravanjeNabavke = new OdobravanjeNabavkeController();
            NabavkaViewModel             VmNabavke          = odobravanjeNabavke.PopunjavanjeAtributa(DbNabavke).FirstOrDefault();

            return(View(VmNabavke));
        }
        public List <NabavkaViewModel> ListaZavrsenihNabavki()
        {
            List <Nabavke> DbNabavke = trebovanjeNabavkeContext.Nabavkes.Where(t => t.StatusNabavkeId == (int)Enum.Status.Preuzeto).ToList();

            OdobravanjeNabavkeController odobravanjeNabavke = new OdobravanjeNabavkeController();

            List <NabavkaViewModel> VmNabavke = odobravanjeNabavke.PopunjavanjeAtributa(DbNabavke);

            return(VmNabavke);
        }
        public List <NabavkaViewModel> VratiAktivneNabavke()
        {
            List <Nabavke> DbNabavke = trebovanjeNabavkeContext.Nabavkes.Where(t => t.StatusNabavkeId == (int)Enum.Status.Odobreno ||
                                                                               t.StatusNabavkeId == (int)Enum.Status.Spremno_za_preuzimanje || t.StatusNabavkeId == (int)Enum.Status.Naruceno).ToList();

            OdobravanjeNabavkeController odobravanjeNabavke = new OdobravanjeNabavkeController();
            List <NabavkaViewModel>      VmNabavke          = odobravanjeNabavke.PopunjavanjeAtributa(DbNabavke);

            return(VmNabavke);
        }
        public bool NabavkaNarucivanje(int nabavka, string napomena)
        {
            Nabavke nabavke = trebovanjeNabavkeContext.Nabavkes.FirstOrDefault(x => x.NabavkaId == nabavka);

            nabavke.StatusNabavkeId          = (int)Enum.Status.Naruceno; //status trebovanja "naruceno"
            nabavke.NapomenaReferentaNabavke = napomena;
            OdobravanjeNabavkeController email = new OdobravanjeNabavkeController();

            if (email.PosaljiMejlSkladistaruZaNovuNabavku(nabavke.SifraRadnika, nabavka))
            {
                trebovanjeNabavkeContext.SaveChanges();
                return(true);
            }
            else
            {
                return(false);
            }
        }
        public ActionResult NovaNabavkaZaOsnovnaSredstva(NabavkaViewModel viewModel)
        {
            //if (!ModelState.IsValid)
            //    return View(viewModel);

            string serijskiBroj = NoviSerijskiBroj();

            List <DokumentViewModel> dokumenti = new List <DokumentViewModel>();

            if (viewModel.Files != null)
            {
                foreach (HttpPostedFileBase file in viewModel.Files)
                {
                    //Checking file is available to save.
                    if (file != null)
                    {
                        byte[] uploadedFile = new byte[file.ContentLength];
                        file.InputStream.Read(uploadedFile, 0, uploadedFile.Length);

                        dokumenti.Add(new DokumentViewModel(uploadedFile, file.FileName));
                    }
                }
            }

            var logovaniRadnik = trebovanjeNabavkeContext.vRadniks.FirstOrDefault(r => r.KorisnickoIme == User.Identity.Name);

            Nabavke novaNabavka = new Nabavke
            {
                SifraRadnika          = logovaniRadnik.RadnikSifra,
                SifraReferentaNabavke = viewModel.SifraReferentaNabavke,
                TipId                   = viewModel.TipId,
                StatusNabavkeId         = (int)Status.Na_čekanju,
                SerijskiBroj            = serijskiBroj,
                DatumPodnosenjaZahtjeva = DateTime.Now,
                Obrazlozenja            = viewModel.Obrazlozenja,
                Odgovoran               = viewModel.Odgovoran,
                VezanaNabavkaId         = viewModel.VezanaNabavkaId,
                Dokuments               = dokumenti.Select(d => new Dokument
                {
                    Naziv     = d.FileName,
                    Dokument1 = d.fileBytes
                }).ToList(),
                NabavkaVeznas = viewModel.Stavke.Select(s => new NabavkaVezna
                {
                    Opis      = s.Opis,
                    Kolicina  = s.Kolicina,
                    ArtiklId  = s.ArtiklId,
                    StatusId  = (int)Status.Na_čekanju,
                    Cijena    = s.Cijena,
                    Dobavljac = s.Dobavljac
                }).ToList(),
                DatumiOdobravanjaNabavke = new DatumiOdobravanjaNabavke()
            };//nova nabavka

            trebovanjeNabavkeContext.Nabavkes.Add(novaNabavka);
            trebovanjeNabavkeContext.SaveChanges();

            var narucilac = trebovanjeNabavkeContext.vRadniks.FirstOrDefault(x => x.KorisnickoIme == User.Identity.Name);
            OdobravanjeNabavkeController email = new OdobravanjeNabavkeController();

            if (narucilac.SektorSifra.ToLower() == "m" && viewModel.TipId == 2)
            {
                if (email.PosaljiMejlMarketinguZaNovuNabavku(novaNabavka.SerijskiBroj))
                {
                    novaNabavka.StatusNabavkeId = (int)Status.U_procesu_nabavke;
                    trebovanjeNabavkeContext.SaveChanges();
                    return(Json(new { success = true }));
                }
                else
                {
                    return(Json(new { success = false }));
                }
            }
            else
            {
                //Poziv metode koja salje meil marketingu sa linkom do nove nabavke
                string sadrzajMejla = "<p>Poštovani, <br/><br/>  Na sistemu LANACO trebovanje i nabavke je novi zahtjev za <a href=" +
                                      adresaHosta + "OdobravanjeNabavke/OdobravanjeNabavke?nabavka=" + novaNabavka.NabavkaId + ">odobravanje nabavke</a>.<br/>" +
                                      "Podnosilac zahtjeva: " + narucilac.Ime + " " + narucilac.Prezime + "<br/>" +
                                      "Broj zahtjeva: " + novaNabavka.SerijskiBroj;

                sadrzajMejla += "<br/><br/><span>Srdačan pozdrav,<br/><br/> Lanaco trebovanje i nabavke</span>";


                //mejl za novu nabavku ce poslati nadredjenom ako ga ima, ako ga nema poslat ce mejl direktno Timu prodaje i nabavki da imaju novu narudzbu
                //false vraca samo u slucaju da mejl nije poslat
                if (email.SlanjeMejlaZaNovuNabavku("Zahtjev za odobravanje nabavke", sadrzajMejla, narucilac.KorisnickoIme, serijskiBroj))
                {
                    return(Json(new { success = true }));
                }
                else
                {
                    return(Json(new { success = false }));
                }
            }
        }