public ActionResult OdobravanjeNabavke(int nabavka) { var logovaniRadnik = trebovanjeNabavkeContext.vRadniks.FirstOrDefault(k => k.KorisnickoIme == User.Identity.Name); var nabavkaDB = trebovanjeNabavkeContext.Nabavkes.FirstOrDefault(t => t.NabavkaId == nabavka); List <Nabavke> DbNabavke = trebovanjeNabavkeContext.Nabavkes.Where(t => t.NabavkaId == nabavka && (logovaniRadnik.RadnikSifra == nabavkaDB.vRadnik.Nivo1OdobravanjaSifra || logovaniRadnik.RadnikSifra == nabavkaDB.vRadnik.Nivo2OdobravanjaSifra || logovaniRadnik.RadnikSifra == nabavkaDB.vRadnik.Nivo3OdobravanjaSifra) ).ToList(); NabavkaViewModel nabavkaVM = PopunjavanjeAtributa(DbNabavke).FirstOrDefault(); if ((nabavkaDB.StatusNabavkeId == (int)Enum.Status.Na_čekanju && logovaniRadnik.RadnikSifra == nabavkaDB.vRadnik.Nivo1OdobravanjaSifra) || (nabavkaDB.StatusNabavkeId == (int)Enum.Status.U_procesu_odobravanja && logovaniRadnik.RadnikSifra == nabavkaDB.vRadnik.Nivo2OdobravanjaSifra) || (nabavkaDB.StatusNabavkeId == (int)Enum.Status.U_procesu_odobravanja_viseg_nivoa && logovaniRadnik.RadnikSifra == nabavkaDB.vRadnik.Nivo3OdobravanjaSifra)) { return(View(nabavkaVM)); } else if (nabavkaVM == null) { ViewBag.Greska = "Link nije dostupan!"; return(View()); } else { ViewBag.Greska = "Link nije aktivan!"; return(View()); } }
public ActionResult IzmeniDokument(int id) { var vm = new NabavkaViewModel(); vm.UcitajDokument(id); return(View("Nabavka", vm)); }
public ActionResult Aktiviraj(int id) { var vm = new NabavkaViewModel(); vm.AktivirajDokument(id); return(RedirectToAction("Index")); }
public ActionResult DetaljiNabavke(int nabavka) { var DbNabavka = trebovanjeNabavkeContext.Nabavkes.Where(t => t.NabavkaId == nabavka).ToList(); NabavkaViewModel zahtjev = PopunjvanjeAtributaNabavke(DbNabavka).FirstOrDefault(); return(View(zahtjev)); }
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 ActionResult NarucivanjeNabavke(int nabavka) { var DbNabavka = trebovanjeNabavkeContext.Nabavkes.Where(o => o.NabavkaId == nabavka).ToList(); NabavkaViewModel novaNabavka = PopunjvanjeAtributaNabavke(DbNabavka).FirstOrDefault(); return(View(novaNabavka)); }
public ActionResult NovaNabavka() { var vm = new NabavkaViewModel { Dokument = new Dokument(), StavkaDokumenta = new StavkaDokumenta() { }, }; return(View("Nabavka", vm)); }
public PartialViewResult VratiStavkeDokumenta(int?idDokumenta) { var vm = new NabavkaViewModel { Dokument = new Dokument() }; if (idDokumenta.HasValue && idDokumenta.Value > 0) { vm.Dokument = fRepository.VratiDokumentSaStavkama(idDokumenta.Value); } return(PartialView("_StavkeGrid", vm)); }
//public PartialViewResult AktivnaNabavkaPartial(string jsonNabavka) // za modal na click na red u datatable-u //{ // NabavkaViewModel viewModel = JsonConvert.DeserializeObject<NabavkaViewModel>(jsonNabavka); // return PartialView("_AktivnaNabavkaSkladiste", viewModel); //} public PartialViewResult AktivnaNabavkaPartial(string serijskiBroj) { var n = trebovanjeNabavkeContext.Nabavkes.FirstOrDefault(t => t.SerijskiBroj == serijskiBroj); NabavkaViewModel nabavkaViewModel = new NabavkaViewModel { NabavkaId = n.NabavkaId, SerijskiBroj = n.SerijskiBroj, NapomenaReferentaNabavke = n.NapomenaReferentaNabavke == null ? "" : n.NapomenaReferentaNabavke, NapomenaSefa = n.NapomenaSefa == null ? "" : n.NapomenaSefa, DatumPodnosenjaZahtjeva = n.DatumPodnosenjaZahtjeva, DatumPreuzimanja = n.DatumPreuzimanja, SifraRadnika = n.SifraRadnika, Obrazlozenja = n.Obrazlozenja == null ? "" : n.Obrazlozenja, Odgovoran = n.Odgovoran, SifraReferentaNabavke = n.SifraReferentaNabavke, StatusNabavkeId = n.StatusNabavkeId, NazivStatusa = n.Status.StatusNaziv, TipId = n.TipId, VezanaNabavkaId = n.VezanaNabavkaId, ImeIPrezimeRadnika = n.vRadnik.Ime + " " + n.vRadnik.Prezime, TipNabavke = n.TipNabavke.Naziv, //Kupljenje dokumenata iz baze za traženu nabavku Dokumenti = n.Dokuments.Select(d => new DokumentViewModel(d.Dokument1, d.Naziv, d.DokumentId)).ToList(), //Kupljenje stavki iz baze za traženu nabavku Stavke = n.NabavkaVeznas.Select(s => new NabavkaVeznaViewModel { NabavkaVeznaId = s.NabavkaVeznaId, Kolicina = s.Kolicina, Cijena = s.Cijena, Dobavljac = s.Dobavljac, Spremno = s.StatusId == (int)Enum.Status.Spremno_za_preuzimanje || s.StatusId == (int)Enum.Status.Preuzeto ? true : false, Preuzeto = s.StatusId == (int)Enum.Status.Preuzeto ? true : false, Opis = s.Opis }).ToList() }; return(PartialView("_AktivnaNabavkaSkladiste", nabavkaViewModel)); }
//Provjera da li su svi artikli isporuceni public bool NabavkaPreuzeta(NabavkaViewModel viewModel) { return(viewModel.Stavke.All(a => a.Preuzeto)); }
public JsonResult IzmjenaAktivneNabavke(NabavkaViewModel viewModel) { viewModel.Stavke = viewModel.Stavke.OrderBy(a => a.NabavkaVeznaId).ToList(); List <string> izmjenjeniArtikli = new List <string>(); var nabavkaVezna = trebovanjeNabavkeContext.NabavkaVeznas.Where(t => t.NabavkaId == viewModel.NabavkaId).OrderBy(a => a.NabavkaVeznaId).ToList(); for (int i = 0; i < viewModel.Stavke.Count; i++) { bool spremno = false; bool preuzeto = false; //stanje iz baze konvertujem u bool if (nabavkaVezna[i].StatusId == (int)Enum.Status.Spremno_za_preuzimanje) { spremno = true; preuzeto = false; } else if (nabavkaVezna[i].StatusId == (int)Enum.Status.Preuzeto) { spremno = true; preuzeto = true; } if (viewModel.Stavke[i].Spremno != spremno && viewModel.Stavke[i].Spremno) { int artikalId = viewModel.Stavke[i].NabavkaVeznaId; nabavkaVezna.Where(t => t.NabavkaId == viewModel.NabavkaId).ToList()[i].StatusId = (int)Enum.Status.Spremno_za_preuzimanje; izmjenjeniArtikli.Add(trebovanjeNabavkeContext.NabavkaVeznas.FirstOrDefault(t => t.NabavkaVeznaId == artikalId).Opis); } else if (viewModel.Stavke[i].Spremno != spremno && !viewModel.Stavke[i].Spremno) { nabavkaVezna.Where(t => t.NabavkaId == viewModel.NabavkaId).ToList()[i].StatusId = (int)Enum.Status.Artikl_u_pripremi; } if (viewModel.Stavke[i].Preuzeto != preuzeto && viewModel.Stavke[i].Preuzeto) { nabavkaVezna.Where(t => t.NabavkaId == viewModel.NabavkaId).ToList()[i].StatusId = (int)Enum.Status.Preuzeto; } else if (viewModel.Stavke[i].Preuzeto != preuzeto && !viewModel.Stavke[i].Preuzeto && viewModel.Stavke[i].Spremno) { nabavkaVezna.Where(t => t.NabavkaId == viewModel.NabavkaId).ToList()[i].StatusId = (int)Enum.Status.Spremno_za_preuzimanje; } else if (viewModel.Stavke[i].Preuzeto != preuzeto && !viewModel.Stavke[i].Preuzeto && !viewModel.Stavke[i].Spremno) { nabavkaVezna.Where(t => t.NabavkaId == viewModel.NabavkaId).ToList()[i].StatusId = (int)Enum.Status.Artikl_u_pripremi; } } trebovanjeNabavkeContext.SaveChanges(); if (izmjenjeniArtikli.Count > 0) { EmailController email = new EmailController(); string naslovEmaila = "Artikli iz nabavke su spremni za preuzimanje"; string naMejl = trebovanjeNabavkeContext.Nabavkes.FirstOrDefault(t => t.NabavkaId == viewModel.NabavkaId).vRadnik.Email; string sadrzajEmaila = "<p>Poštovani, <br/><br/>" + " <p>Sljedeći artikli koje ste <a href=" + email.adresaHosta + "Nabavke/DetaljiNabavke?nabavka=" + viewModel.NabavkaId + ">naručili </a>" + " su spremni za preuzimanje: </p> <ul>"; foreach (var artikal in izmjenjeniArtikli) { sadrzajEmaila += "<li>" + artikal + "</li>"; } sadrzajEmaila += "</ul><br/><span> Srdačan pozdrav,<br/><br/> Lanaco trebovanje i nabavke </span> "; email.PosaljiMejl(naslovEmaila, naMejl, sadrzajEmaila); //toster za uspjesno poslan mejl kad je artikl spreman } if (NabavkaPreuzeta(viewModel)) { var nabavka = trebovanjeNabavkeContext.Nabavkes.FirstOrDefault(t => viewModel.NabavkaId == t.NabavkaId); nabavka.StatusNabavkeId = (int)Enum.Status.Preuzeto; //nabavka.DatumZaduzenjaTrebovanja = DateTime.Now; // trenutno ne postoji u bazi trebovanjeNabavkeContext.SaveChanges(); EmailController email = new EmailController(); string naslovEmaila = "Potvrda o preuzimanju trebovanja"; string naMejl = nabavka.vRadnik.Email; string sadrzajEmaila = "<p>Poštovani, <br/><br/> Vaša <a href=" + email.adresaHosta + "Nabavke/DetaljiNabavke?nabavka=" + viewModel.NabavkaId + ">nabavka </a> je preuzeta. </p><br/><br/> "; sadrzajEmaila += "<span>Srdačan pozdrav, <br/><br/>Lanaco trebovanje i nabavke</span>"; email.PosaljiMejl(naslovEmaila, naMejl, sadrzajEmaila); return(Json(new { success = true }, JsonRequestBehavior.AllowGet)); } //ako je izmjenjeniArtikli.Count > 0 posalji mail return(Json(new { success = true }, JsonRequestBehavior.AllowGet)); }
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 })); } } }