public void DodajGodisnjicu20(vRadnik radnik) { RadnikService rs = new RadnikService(); int label = (int)Settings.KalendarLabele.Godisnjica20; DeleteIfExist(radnik.ID, label); DateTime datum = (DateTime)radnik.DatumZaposJubilej; datum = datum.AddYears(20); Appointments godisnjica = new Appointments(); godisnjica.Type = 0; godisnjica.StartDate = SharedService.StartOfDay(datum); godisnjica.EndDate = SharedService.EndOfDay(datum); godisnjica.AllDay = false; godisnjica.Subject = string.Format("20. godišnjica zaposlenja - {0} {1}", radnik.Prezime, radnik.Ime); godisnjica.Location = string.Empty; godisnjica.Description = string.Empty; godisnjica.Status = 0; godisnjica.Label = label; godisnjica.ResourceID = null; godisnjica.ResourceIDs = null; godisnjica.ReminderInfo = null; // string.Format("< Reminders >< Reminder AlertTime = '{0}' /></ Reminders >", datum); godisnjica.RecurrenceInfo = null; // string.Format(@"<RecurrenceInfo Start=""{0}/{1}/{2} 00:00:00"" DayNumber=""{1}"" WeekOfMonth=""0"" WeekDays=""0"" Id =""{3}"" Month=""{0}"" Range=""1"" Type=""3"" Version =""1"" />", datum.Month, datum.Day, datum.Year, Guid.NewGuid()); godisnjica.TimeZoneId = "Central European Standard Time"; godisnjica.CustomField1 = radnik.ID.ToString(); Create(godisnjica); //return godisnjica; }
public void DodajRodjendan(vRadnik radnik) { RadnikService rs = new RadnikService(); int label = (int)Settings.KalendarLabele.Rodjendan; DeleteIfExist(radnik.ID, label); DateTime datum = (DateTime)radnik.DatumRodjenja; Appointments rodjendan = new Appointments(); rodjendan.Type = 1; rodjendan.StartDate = SharedService.StartOfDay(datum); rodjendan.EndDate = SharedService.EndOfDay(datum); rodjendan.AllDay = false; rodjendan.Subject = string.Format("Rođendan - {0} {1}", radnik.Prezime, radnik.Ime); rodjendan.Location = string.Empty; rodjendan.Description = string.Empty; rodjendan.Status = 0; rodjendan.Label = label; rodjendan.ResourceID = null; rodjendan.ResourceIDs = null; rodjendan.ReminderInfo = null;// string.Format("< Reminders >< Reminder AlertTime = '{0}' /></ Reminders >", datum); rodjendan.RecurrenceInfo = string.Format(@"<RecurrenceInfo Start=""{0}/{1}/{2} 00:00:00"" DayNumber=""{1}"" WeekOfMonth=""0"" WeekDays=""0"" Id =""{3}"" Month=""{0}"" Range=""1"" Type=""3"" Version =""1"" />", datum.Month, datum.Day, datum.Year, Guid.NewGuid()); rodjendan.TimeZoneId = "Central European Standard Time"; rodjendan.CustomField1 = radnik.ID.ToString(); Create(rodjendan); //return rodjendan; }
public void DodajIstekUgovora(vRadnik radnik) { DateTime datum; try { datum = (DateTime)radnik.DatumZapos; RadnikService rs = new RadnikService(); int label = (int)Settings.KalendarLabele.IstekUgovora; DeleteIfExist(radnik.ID, label); Appointments istek = new Appointments(); istek.Type = 0; istek.StartDate = SharedService.StartOfDay((DateTime)radnik.DatumIstekaUgovora); istek.EndDate = SharedService.EndOfDay((DateTime)radnik.DatumIstekaUgovora); istek.AllDay = false; istek.Subject = string.Format("Istek ugovora - {0} {1}", radnik.Prezime, radnik.Ime); istek.Location = string.Empty; istek.Description = string.Empty; istek.Status = 0; istek.Label = label; istek.ResourceID = null; istek.ResourceIDs = null; istek.ReminderInfo = null; // string.Format("< Reminders >< Reminder AlertTime = '{0}' /></ Reminders >", datum); istek.RecurrenceInfo = null; // string.Format(@"<RecurrenceInfo Start=""{0}/{1}/{2} 00:00:00"" DayNumber=""{1}"" WeekOfMonth=""0"" WeekDays=""0"" Id =""{3}"" Month=""{0}"" Range=""1"" Type=""3"" Version =""1"" />", datum.Month, datum.Day, datum.Year, Guid.NewGuid()); istek.TimeZoneId = "Central European Standard Time"; istek.CustomField1 = radnik.ID.ToString(); Create(istek); //return istek; } catch (Exception) { } }
private void gridView_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e) { if (gridView.FocusedRowHandle > -1) { trenutni = dataSource.First(x => x.ID == (int)gridView.GetFocusedRowCellValue("ID")); } else { trenutni = new vRadnik(); } }
[HttpPost]//promjeniti naziv metode public JsonResult SlanjeMejlaZaOdobravanjeNabavke(bool odobreno, int nabavka, string napomena) { var narucilacSifra = trebovanjeNabavkeContext.Nabavkes.FirstOrDefault(t => t.NabavkaId == nabavka).SifraRadnika; var narucilac = trebovanjeNabavkeContext.vRadniks.FirstOrDefault(k => k.RadnikSifra == narucilacSifra); var provjerivac = trebovanjeNabavkeContext.vRadniks.FirstOrDefault(k => k.KorisnickoIme == User.Identity.Name); var nabavkaDB = trebovanjeNabavkeContext.Nabavkes.FirstOrDefault(tr => tr.NabavkaId == nabavka); nabavkaDB.NapomenaSefa = napomena; if (nabavkaDB == null)//dodati jos i ako je nabavka odobrena da je ne moze vise otvoriti pod "odobravanjem" { return(Json(new { succses = false, message = "Nabavka je nepostojeca!" })); } if (provjerivac.RadnikSifra == narucilac.Nivo1OdobravanjaSifra)//provjera ako je tim lider { // ako nema nadredjenog viseg nivoa a odobreno je, salji u skladiste ili marketing if (narucilac.Nivo2OdobravanjaSifra == null && narucilac.Nivo3OdobravanjaSifra == null && odobreno) { nabavkaDB.DatumiOdobravanjaNabavke.DatumOdobravanjaNivoa1 = DateTime.Now; nabavkaDB.StatusNabavkeId = (int)Enum.Status.Odobreno;//status odobreno poslano = PosaljiMejlMarketinguZaNovuNabavku(nabavkaDB.SerijskiBroj); nabavkaDB.StatusNabavkeId = (int)Enum.Status.U_procesu_nabavke; // status "u procesu nabavke" //salje mejl i naruciocu da je narudzba odobrena i da je otisla u marketing radi narudžbe artikala if (poslano) { poslano = false; naslov_Mejla = "Odgovor na zahtjev za nabavku"; sadrzaj_Mejla = "<p>Poštovani, <br/><br/> Vaše <a href=" + adresaHosta + "Nabavke/DetaljiNabavke?nabavka=" + nabavka + ">nabavka </a> je odobrena, zahtjev je proslijeđen Timu prodaje i nabavki.<br/>" + "Naknadno ćete biti obavješteni kada artikl/i budu spremni za preuzimanje.</p><br/><br/> "; sadrzaj_Mejla += "<span>Srdačan pozdrav,<br/><br/> Lanaco trebovanje i nabavke</span>"; na_Mejl = narucilac.Email; poslano = email.PosaljiMejl(naslov_Mejla, na_Mejl, sadrzaj_Mejla); if (poslano) //AKO JE USPJESNO POSLALO REDIREKTUJ NA POCETNU STRANICU { trebovanjeNabavkeContext.SaveChanges(); return(Json(new { succses = true })); } else // AKO JE DOSLO DO GRESKE I NIJE POSLALO VRATI VIEW { return(Json(new { succses = false, message = "Neuspješno slanje mejla" })); } } else // AKO JE DOSLO DO GRESKE I NIJE POSLALO VRATI VIEW { return(Json(new { succses = false, message = "Neuspješno slanje mejla" })); } } else { if (odobreno) { vRadnik nadredjeni = new vRadnik(); //salje menadzeru (sefu) dalje if (narucilac.Nivo2OdobravanjaSifra != null) { var timLider = trebovanjeNabavkeContext.vRadniks.ToList().FirstOrDefault(ko => ko.RadnikSifra == narucilac.Nivo1OdobravanjaSifra); nadredjeni = trebovanjeNabavkeContext.vRadniks.ToList().FirstOrDefault(ko => ko.RadnikSifra == narucilac.Nivo2OdobravanjaSifra); naslov_Mejla = "Zahtjev za odobravanje nabavke"; sadrzaj_Mejla = "<p>Poštovani, <br/><br/> Na sistemu LANACO trebovanje i nabavke je novi zahtjev za <a href=" + adresaHosta + "OdobravanjeNabavke/OdobravanjeNabavke?nabavka=" + nabavkaDB.NabavkaId + ">odobravanje nabavke</a>. <br/>" + "Podnosilac zahtjeva: " + narucilac.Ime + " " + narucilac.Prezime + "<br/>" + "Broj zahtjeva: " + nabavkaDB.SerijskiBroj; sadrzaj_Mejla += "<br/><br/><span>Srdačan pozdrav,<br/><br/> Lanaco trebovanje i nabavke</span>"; na_Mejl = nadredjeni.Email; nabavkaDB.StatusNabavkeId = 2; // status U procesu odobravanja nabavkaDB.DatumiOdobravanjaNabavke.DatumOdobravanjaNivoa1 = DateTime.Now; } else if (narucilac.Nivo3OdobravanjaSifra != null) { nadredjeni = trebovanjeNabavkeContext.vRadniks.ToList().FirstOrDefault(ko => ko.RadnikSifra == narucilac.Nivo3OdobravanjaSifra); naslov_Mejla = "Zahtjev za odobravanje nabavke"; sadrzaj_Mejla = "<p>Poštovani, <br/><br/> Na sistemu LANACO trebovanje i nabavke je novi zahtjev za <a href=" + adresaHosta + "OdobravanjeNabavke/OdobravanjeNabavke?nabavka=" + nabavkaDB.NabavkaId + " >odobravanje nabavke </a>. <br/>" + "Podnosilac zahtjeva: " + narucilac.Ime + " " + narucilac.Prezime + "<br/>" + "Broj zahtjeva: " + nabavkaDB.SerijskiBroj; sadrzaj_Mejla += "<br/><br/><span>Srdačan pozdrav,<br/><br/> Lanaco trebovanje i nabavke</span>"; na_Mejl = nadredjeni.Email; nabavkaDB.StatusNabavkeId = (int)Enum.Status.U_procesu_odobravanja; // status U procesu odobravanja nabavkaDB.DatumiOdobravanjaNabavke.DatumOdobravanjaNivoa1 = DateTime.Now; }// else je nepotreban jer je slucaj kad nema ni nivoa 2 ni 3 obradjen u if-u iznad } else// nabavka odbijena od strane tim lidela { sadrzaj_Mejla = "<p>Poštovani, <br/><br/> Vaša <a href=" + adresaHosta + "Nabavke/DetaljiNabavke?nabavka=" + nabavka + ">nabavka </a> je odbijena</p><br/> <br/>"; sadrzaj_Mejla += "<span>Srdačan pozdrav,<br/><br/> Lanaco trebovanje i nabavke</span>"; naslov_Mejla = "Odgovor na zahtjev za nabavku"; na_Mejl = narucilac.Email; nabavkaDB.StatusNabavkeId = (int)Enum.Status.Odbijeno; nabavkaDB.DatumiOdobravanjaNabavke.DatumOdobravanjaNivoa1 = DateTime.Now; } poslano = email.PosaljiMejl(naslov_Mejla, na_Mejl, sadrzaj_Mejla); if (poslano) //AKO JE USPJESNO POSLALO REDIREKTUJ NA POCETNU STRANICU { trebovanjeNabavkeContext.SaveChanges(); return(Json(new { succses = true })); } else // AKO JE DOSLO DO GRESKE I NIJE POSLALO VRATI VIEW { return(Json(new { succses = false, message = "Neuspješno slanje mejla" })); } } } else if (provjerivac.RadnikSifra == narucilac.Nivo2OdobravanjaSifra) { if (odobreno) { nabavkaDB.DatumiOdobravanjaNabavke.DatumOdobravanjaNivoa2 = DateTime.Now; if (narucilac.Nivo3OdobravanjaSifra != null) // ako postoji nivo 3 odobravanja salji njemu mejl i redirektuj { nabavkaDB.StatusNabavkeId = (int)Enum.Status.U_procesu_odobravanja_viseg_nivoa; //status u procesu odobravanja viseg nivoa var nadredjeni = trebovanjeNabavkeContext.vRadniks.ToList().FirstOrDefault(ko => ko.RadnikSifra == narucilac.Nivo3OdobravanjaSifra); naslov_Mejla = "Zahtjev za odobravanje nabavke"; sadrzaj_Mejla = "<p>Poštovani, <br/><br/> Na sistemu LANACO trebovanje i nabavke je novi zahtjev za <a href=" + adresaHosta + "OdobravanjeNabavke/OdobravanjeNabavke?nabavka=" + nabavkaDB.NabavkaId + ">odobravanje nabavke</a>. <br/>" + "Podnosilac zahtjeva: " + narucilac.Ime + " " + narucilac.Prezime + "<br/>" + "Broj zahtjeva: " + nabavkaDB.SerijskiBroj; sadrzaj_Mejla += "<br/><br/><span>Srdačan pozdrav,<br/><br/> Lanaco trebovanje i nabavke</span>"; na_Mejl = nadredjeni.Email; poslano = email.PosaljiMejl(naslov_Mejla, na_Mejl, sadrzaj_Mejla); if (poslano) //AKO JE USPJESNO POSLALO REDIREKTUJ NA POCETNU STRANICU { trebovanjeNabavkeContext.SaveChanges(); return(Json(new { succses = true })); } else // AKO JE DOSLO DO GRESKE I NIJE POSLALO VRATI VIEW { return(Json(new { succses = false, message = "Neuspjesno slanje mejla" })); } } else if (narucilac.Nivo3OdobravanjaSifra == null) { poslano = PosaljiMejlMarketinguZaNovuNabavku(nabavkaDB.SerijskiBroj); nabavkaDB.StatusNabavkeId = (int)Enum.Status.U_procesu_nabavke; // status "u procesu nabavke" if (poslano) { //salje mejl i naruciocu da je narudzba odobrena poslano = false; naslov_Mejla = "Odgovor na zahtjev za nabavku"; sadrzaj_Mejla = "<p>Poštovani, <br/><br/> Vaša <a href=" + adresaHosta + "Nabavka/DetaljiNabavke?nabavka=" + nabavka + ">nabavka </a> je odobrena, zahtjev je proslijeđena Timu prodaje i nabavke.<br/>" + "Naknadno ćete biti obavješteni kada nabavka budu spremna za preuzimanje.</p><br/><br/> "; sadrzaj_Mejla += "<span>Srdačan pozdrav,<br/><br/> Lanaco trebovanje i nabavke</span>"; na_Mejl = narucilac.Email; poslano = email.PosaljiMejl(naslov_Mejla, na_Mejl, sadrzaj_Mejla); if (poslano) //AKO JE USPJESNO POSLALO REDIREKTUJ NA POCETNU STRANICU { trebovanjeNabavkeContext.SaveChanges(); return(Json(new { succses = true })); } else // AKO JE DOSLO DO GRESKE I NIJE POSLALO VRATI VIEW { return(Json(new { succses = false, message = "Neuspješno slanje mejla" })); } } else // AKO JE DOSLO DO GRESKE I NIJE POSLALO VRATI VIEW { return(Json(new { succses = false, message = "Neuspješno slanje mejla" })); } } } else // nabavka odbijena od strane sefa ili gen. menadzera { sadrzaj_Mejla = "<p>Poštovani, <br/><br/> Vaša <a href=" + adresaHosta + "Nabavke/DetaljiNabavke?nabavka=" + nabavka + ">nabavka </a> je odbijena</p><br/> <br/>"; sadrzaj_Mejla += "<span>Srdačan pozdrav,<br/><br/> Lanaco trebovanje i nabavke</span>"; naslov_Mejla = "Odgovor na zahtjev za nabavku"; na_Mejl = narucilac.Email; nabavkaDB.StatusNabavkeId = (int)Enum.Status.Odbijeno; nabavkaDB.DatumiOdobravanjaNabavke.DatumOdobravanjaNivoa2 = DateTime.Now; } poslano = email.PosaljiMejl(naslov_Mejla, na_Mejl, sadrzaj_Mejla); if (poslano) //AKO JE USPJESNO POSLALO REDIREKTUJ NA POCETNU STRANICU { trebovanjeNabavkeContext.SaveChanges(); return(Json(new { succses = true })); } else // AKO JE DOSLO DO GRESKE I NIJE POSLALO VRATI VIEW { return(Json(new { succses = false, message = "Neuspješno slanje mejla" })); } } else if (provjerivac.RadnikSifra == narucilac.Nivo3OdobravanjaSifra) { if (odobreno) { nabavkaDB.DatumiOdobravanjaNabavke.DatumOdobravanjaNivoa3 = DateTime.Now; nabavkaDB.StatusNabavkeId = (int)Enum.Status.U_procesu_nabavke; poslano = PosaljiMejlMarketinguZaNovuNabavku(nabavkaDB.SerijskiBroj); if (poslano) {// salje mejl naruciocu da je nabavka odobrena poslano = false; naslov_Mejla = "Odgovor na zahtjev za nabavku"; sadrzaj_Mejla = "<p>Poštovani, <br/><br/> Vaša <a href=" + adresaHosta + "Nabavka/DetaljiNabavke?nabavka=" + nabavka + ">nabavka </a> je odobrena, zahtjev je proslijeđena Timu prodaje i nabavke.<br/>" + "Naknadno ćete biti obavješteni kada nabavka budu spremna za preuzimanje.</p><br/><br/> "; sadrzaj_Mejla += "<span>Srdačan pozdrav,<br/><br/> Lanaco trebovanje i nabavke</span>"; na_Mejl = narucilac.Email; poslano = email.PosaljiMejl(naslov_Mejla, na_Mejl, sadrzaj_Mejla); if (poslano) //AKO JE USPJESNO POSLALO REDIREKTUJ NA POCETNU STRANICU { trebovanjeNabavkeContext.SaveChanges(); return(Json(new { succses = true })); } else // AKO JE DOSLO DO GRESKE I NIJE POSLALO VRATI VIEW { return(Json(new { succses = false, message = "Neuspješno slanje mejla" })); } } else { Json(new { succses = false, message = "Neuspješno slanje mejla" }); } } } else // nabavka odbijena od strane sefa ili gazde { sadrzaj_Mejla = "<p>Poštovani, <br/><br/> Vaša <a href=" + adresaHosta + "Nabavke/DetaljiNabavke?nabavka=" + nabavka + ">nabavka </a> je odbijena</p><br/> <br/>"; sadrzaj_Mejla += "<span>Srdačan pozdrav,<br/><br/> Lanaco trebovanje i nabavke</span>"; naslov_Mejla = "Odgovor na zahtjev za nabavku"; na_Mejl = narucilac.Email; nabavkaDB.StatusNabavkeId = (int)Enum.Status.Odbijeno; //zamjeniti sa datumom razmatranja nabavkaDB.DatumiOdobravanjaNabavke.DatumOdobravanjaNivoa3 = DateTime.Now; } poslano = email.PosaljiMejl(naslov_Mejla, na_Mejl, sadrzaj_Mejla); if (poslano) //AKO JE USPJESNO POSLALO REDIREKTUJ NA POCETNU STRANICU { trebovanjeNabavkeContext.SaveChanges(); return(Json(new { succses = true })); } else // AKO JE DOSLO DO GRESKE I NIJE POSLALO VRATI VIEW { return(Json(new { succses = false, message = "Neuspješno slanje mejla" })); } }
public JsonResult SlanjeMejlaZaOdobravanjeTrebovanja(bool odobreno, int trebovanje, string napomena) { var narucilacSifra = trebovanjeNabavkeContext.Trebovanjes.FirstOrDefault(t => t.TrebovanjeId == trebovanje).SifraRadnika; var narucilac = trebovanjeNabavkeContext.vRadniks.FirstOrDefault(k => k.RadnikSifra == narucilacSifra); var provjerivac = trebovanjeNabavkeContext.vRadniks.FirstOrDefault(k => k.KorisnickoIme == User.Identity.Name); var trebovanjeDB = trebovanjeNabavkeContext.Trebovanjes.FirstOrDefault(tr => tr.TrebovanjeId == trebovanje); trebovanjeDB.NapomenaNadredjenog = napomena; if (trebovanjeDB == null)//dodati jos i ako je trebovanje odobreno da ga ne moze vise otvorit pod "odobravanjem" { return(Json(new { succses = false, message = "Trebovanje ne postoji!" })); } if (provjerivac.RadnikSifra == narucilac.Nivo1OdobravanjaSifra)//provjera da li je logovani prvi nivo za odobravnja { // ako nema nadredjenog viseg nivoa, a odobreno je, salji u skladiste ili marketing if (narucilac.Nivo2OdobravanjaSifra == null && narucilac.Nivo3OdobravanjaSifra == null && odobreno) { trebovanjeDB.DatumiOdobravanjaTrebovanje.DatumOdobravanjaNivoa1 = DateTime.Now; trebovanjeDB.StatusTrebovanjaId = (int)Enum.Status.Odobreno;//status odobreno var rezervisaniArtikli = trebovanjeNabavkeContext.RezervisaniArtiklis; //dodaje trebovane artikle i njihovu kolicinu na rezervaciju na rezervaciju foreach (var artiklRezervisanDB in rezervisaniArtikli) { foreach (var trebovaniArtikl in trebovanjeDB.TrebovanjeVeznas) { if (artiklRezervisanDB.ArtikalId == trebovaniArtikl.ArtikalId) { artiklRezervisanDB.RezervisanaKolicina += trebovaniArtikl.TrebovanaKolicina; } } } if (SlatiUSkladiste(trebovanje)) { poslano = PosaljiMejlSkladistaruZaTrebvanje(narucilacSifra, trebovanjeDB.TrebovanjeId); //salje mejl i naruciocu da je narudzba odobrena i da su artikli u pripremi if (poslano) { poslano = false; naslov_Mejla = "Odgovor na zahtjev za trebovanje"; sadrzaj_Mejla = "<p>Poštovani, <br/><br/> Vaše <a href=" + adresaHosta + "Trebovanje/DetaljiTrebovanja?trebovanje=" + trebovanje + ">trebovanje </a> je odobreno, zahtjev je proslijeđen u skladište. Naknadno ćete biti obavješteni kada artikl/i budu spremni za preuzimanje </p><br/><br/> "; sadrzaj_Mejla += "<span>Srdačan pozdrav, <br/><br/>Lanaco trebovanje i nabavke</span>"; na_Mejl = narucilac.Email; poslano = PosaljiMejl(naslov_Mejla, na_Mejl, sadrzaj_Mejla); if (poslano) //AKO JE USPJESNO POSLALO REDIREKTUJ NA POCETNU STRANICU { foreach (var trebovaniArtikl in trebovanjeDB.TrebovanjeVeznas) { trebovaniArtikl.StatusArtiklaId = (int)Enum.Status.Artikl_u_pripremi; // status artikl u pripremi } trebovanjeNabavkeContext.SaveChanges(); return(Json(new { succses = true })); } else // AKO JE DOSLO DO GRESKE I NIJE POSLALO VRATI VIEW { return(Json(new { succses = false, message = "Neuspješno slanje mejla" })); } } else // AKO JE DOSLO DO GRESKE I NIJE POSLALO VRATI VIEW { return(Json(new { succses = false, message = "Neuspješno slanje mejla" })); } } // nema na stanju nekog artikla salji trebovanje mejlom u marketing da se naruci else { poslano = PosaljiMejlReferentuSkladistaUMarketingu(trebovanje); trebovanjeDB.StatusTrebovanjaId = (int)Enum.Status.U_procesu_nabavke; // status "u procesu nabavke" //salje mejl i naruciocu da je narudzba odobrena i da je otisla u marketing radi narudžbe artikala if (poslano) { poslano = false; naslov_Mejla = "Odgovor na zahtjev za trebovanje"; sadrzaj_Mejla = "<p>Poštovani, <br/><br/> Vaše <a href=" + adresaHosta + "Trebovanje/DetaljiTrebovanja?trebovanje=" + trebovanje + ">trebovanje </a> je odobreno, zahtjev je proslijeđen Timu prodaje i nabavke, radi nabavke nekih od stavki kojih nema na stanju.<br/>" + "Naknadno ćete biti obavješteni kada artikl/i budu spremni za preuzimanje.</p><br/><br/> "; sadrzaj_Mejla += "<span>Srdačan pozdrav,<br/><br/> Lanaco trebovanje i nabavke</span>"; na_Mejl = narucilac.Email; poslano = PosaljiMejl(naslov_Mejla, na_Mejl, sadrzaj_Mejla); if (poslano) //AKO JE USPJESNO POSLALO REDIREKTUJ NA POCETNU STRANICU { trebovanjeNabavkeContext.SaveChanges(); return(Json(new { succses = true })); } else // AKO JE DOSLO DO GRESKE I NIJE POSLALO VRATI VIEW { return(Json(new { succses = false, message = "Neuspješno slanje mejla" })); } } else // AKO JE DOSLO DO GRESKE I NIJE POSLALO VRATI VIEW { return(Json(new { succses = false, message = "Neuspješno slanje mejla" })); } } } else { if (odobreno) { vRadnik nadredjeni = new vRadnik(); //salje menadzeru (sefu) dalje if (narucilac.Nivo2OdobravanjaSifra != null) { var timLider = trebovanjeNabavkeContext.vRadniks.ToList().FirstOrDefault(ko => ko.RadnikSifra == narucilac.Nivo1OdobravanjaSifra); nadredjeni = trebovanjeNabavkeContext.vRadniks.ToList().FirstOrDefault(ko => ko.RadnikSifra == narucilac.Nivo2OdobravanjaSifra); naslov_Mejla = "Zahtjev za odobravanje trebovanja"; sadrzaj_Mejla = "<p>Poštovani, <br/><br/> Na sistemu LANACO trebovanje i nabavke je novi zahtjev za <a href=" + adresaHosta + "Email/OdobravanjeTrebovanja?trebovanje=" + trebovanjeDB.TrebovanjeId + ">odobravanje trebovanja</a>. <br/>" + "Podnosilac zahtjeva: " + narucilac.Ime + " " + narucilac.Prezime + "<br/>" + "Broj zahtjeva: " + trebovanjeDB.SerijskiBroj; sadrzaj_Mejla += "<br/><br/><span>Srdačan pozdrav,<br/><br/> Lanaco trebovanje i nabavke</span>"; na_Mejl = nadredjeni.Email; trebovanjeDB.StatusTrebovanjaId = (int)Enum.Status.U_procesu_odobravanja; // status U procesu odobravanja trebovanjeDB.DatumiOdobravanjaTrebovanje.DatumOdobravanjaNivoa1 = DateTime.Now; } else if (narucilac.Nivo3OdobravanjaSifra != null) { nadredjeni = trebovanjeNabavkeContext.vRadniks.ToList().FirstOrDefault(ko => ko.RadnikSifra == narucilac.Nivo3OdobravanjaSifra); naslov_Mejla = "Zahtjev za odobravanje trebovanja"; sadrzaj_Mejla = "<p>Poštovani, <br/><br/> Na sistemu LANACO trebovanje i nabavke je novi zahtjev za <a href=" + adresaHosta + "Email/OdobravanjeTrebovanja?trebovanje=" + trebovanjeDB.TrebovanjeId + ">odobravanje trebovanja</a>. <br/>" + "Podnosilac zahtjeva: " + narucilac.Ime + " " + narucilac.Prezime + "<br/>" + "Broj zahtjeva: " + trebovanjeDB.SerijskiBroj; sadrzaj_Mejla += "<br/><br/><span>Srdačan pozdrav,<br/><br/> Lanaco trebovanje i nabavke</span>"; na_Mejl = nadredjeni.Email; trebovanjeDB.StatusTrebovanjaId = (int)Enum.Status.U_procesu_odobravanja_viseg_nivoa; trebovanjeDB.DatumiOdobravanjaTrebovanje.DatumOdobravanjaNivoa1 = DateTime.Now; } else { //nema nadredjenog salji u skladiste trebovanjeDB.StatusTrebovanjaId = (int)Enum.Status.Odobreno; //status odobreno //Pregledati dodjelu statusa 3 i 1007 na zadnjem testiranju nije upisalo u bazu //dodaje trebovane artikle i njihovu kolicinu na rezervaciju na rezervaciju trebovanjeDB.TrebovanjeVeznas.Select(t => t.RezervisaniArtikli.RezervisanaKolicina += t.TrebovanaKolicina); if (SlatiUSkladiste(trebovanje)) { poslano = PosaljiMejlSkladistaruZaTrebvanje(narucilacSifra, trebovanjeDB.TrebovanjeId); if (poslano) { trebovanjeDB.StatusTrebovanjaId = (int)Enum.Status.Odobreno;// status odobreno //salje mejl i naruciocu da je narudzba odobrena poslano = false; naslov_Mejla = "Odgovor na zahtjev za trebovanje"; sadrzaj_Mejla = "<p>Poštovani, <br/><br/> Vaše <a href=" + adresaHosta + "Trebovanje/DetaljiTrebovanja?trebovanje=" + trebovanje + ">trebovanje </a> je odobreno, zahtjev je proslijeđen u skladište. Naknadno ćete biti obavješteni kada artikl/i budu spremni za preuzimanje </p><br/><br/> "; sadrzaj_Mejla += "<span>Srdačan pozdrav,<br/><br/> Lanaco trebovanje i nabavke</span>"; na_Mejl = narucilac.Email; poslano = PosaljiMejl(naslov_Mejla, na_Mejl, sadrzaj_Mejla); if (poslano) //AKO JE USPJESNO POSLALO REDIREKTUJ NA POCETNU STRANICU { foreach (var trebovaniArtikl in trebovanjeDB.TrebovanjeVeznas) { trebovaniArtikl.StatusArtiklaId = (int)Enum.Status.Artikl_u_pripremi; // status artikl u pripremi } trebovanjeNabavkeContext.SaveChanges(); return(Json(new { succses = true })); } else // AKO JE DOSLO DO GRESKE I NIJE POSLALO VRATI VIEW { return(Json(new { succses = false, message = "Neuspješno slanje mejla" })); } } else // AKO JE DOSLO DO GRESKE I NIJE POSLALO VRATI VIEW { return(Json(new { succses = false, message = "Neuspješno slanje mejla" })); } } else// nema na stanju nekog artikla salji trebovanje mejlom u marketing da se naruci { poslano = PosaljiMejlReferentuSkladistaUMarketingu(trebovanje); trebovanjeDB.StatusTrebovanjaId = (int)Enum.Status.U_procesu_nabavke; // status "u procesu nabavke" if (poslano) { //salje mejl i naruciocu da je narudzba odobrena poslano = false; naslov_Mejla = "Odgovor na zahtjev za trebovanje"; sadrzaj_Mejla = "<p>Poštovani, <br/><br/> Vaše <a href=" + adresaHosta + "Trebovanje/DetaljiTrebovanja?trebovanje=" + trebovanje + ">trebovanje </a> je odobreno, zahtjev je proslijeđen Timu prodaje i nabavke, radi nabavke nekih od stavki kojih nema na stanju.<br/>" + "Naknadno ćete biti obavješteni kada artikl/i budu spremni za preuzimanje.</p><br/><br/> "; sadrzaj_Mejla += "<span>Srdačan pozdrav,<br/><br/> Lanaco trebovanje i nabavke</span>"; na_Mejl = narucilac.Email; poslano = PosaljiMejl(naslov_Mejla, na_Mejl, sadrzaj_Mejla); if (poslano) //AKO JE USPJESNO POSLALO REDIREKTUJ NA POCETNU STRANICU { trebovanjeNabavkeContext.SaveChanges(); return(Json(new { succses = true })); } else // AKO JE DOSLO DO GRESKE I NIJE POSLALO VRATI VIEW { return(Json(new { succses = false, message = "Neuspješno slanje mejla" })); } } else // AKO JE DOSLO DO GRESKE I NIJE POSLALO VRATI VIEW { return(Json(new { succses = false, message = "Neuspješno slanje mejla" })); } } } } else// trebovanje odbijeno od strane tim lidela { sadrzaj_Mejla = "<p>Poštovani, <br/><br/> Vaše <a href=" + adresaHosta + "Trebovanje/DetaljiTrebovanja?trebovanje=" + trebovanje + ">trebovanje </a> je odbijeno</p><br/> <br/>"; sadrzaj_Mejla += "<span>Srdačan pozdrav,<br/><br/> Lanaco trebovanje i nabavke</span>"; naslov_Mejla = "Odgovor na zahtjev za trebovanje"; na_Mejl = narucilac.Email; trebovanjeDB.StatusTrebovanjaId = (int)Enum.Status.Odbijeno; trebovanjeDB.DatumiOdobravanjaTrebovanje.DatumOdobravanjaNivoa1 = DateTime.Now; } poslano = PosaljiMejl(naslov_Mejla, na_Mejl, sadrzaj_Mejla); // salje za slucaj da je odbijeno trebovanje if (poslano) //AKO JE USPJESNO POSLALO REDIREKTUJ NA POCETNU STRANICU { trebovanjeNabavkeContext.SaveChanges(); return(Json(new { succses = true })); } else // AKO JE DOSLO DO GRESKE I NIJE POSLALO VRATI VIEW { return(Json(new { succses = false, message = "Neuspješno slanje mejla" })); } } } else if (provjerivac.RadnikSifra == narucilac.Nivo2OdobravanjaSifra) { if (odobreno) { trebovanjeDB.DatumiOdobravanjaTrebovanje.DatumOdobravanjaNivoa2 = DateTime.Now; if (narucilac.Nivo3OdobravanjaSifra != null)// ako postoji nivo 3 odobravanja salji njemu mejl i redirektuj { var nadredjeni = trebovanjeNabavkeContext.vRadniks.ToList().FirstOrDefault(ko => ko.RadnikSifra == narucilac.Nivo3OdobravanjaSifra); naslov_Mejla = "Zahtjev za odobravanje trebovanja"; sadrzaj_Mejla = "<p>Poštovani, <br/><br/> Na sistemu LANACO trebovanje i nabavke je novi zahtjev za <a href=" + adresaHosta + "Email/OdobravanjeTrebovanja?trebovanje=" + trebovanjeDB.TrebovanjeId + ">odobrabanje trebovanja</a>. <br/>" + "Podnosilac zahtjeva: " + narucilac.Ime + " " + narucilac.Prezime + "<br/>" + "Broj zahtjeva: " + trebovanjeDB.SerijskiBroj; sadrzaj_Mejla += "<br/><br/><span>Srdačan pozdrav,<br/><br/> Lanaco trebovanje i nabavke</span>"; na_Mejl = nadredjeni.Email; poslano = PosaljiMejl(naslov_Mejla, na_Mejl, sadrzaj_Mejla); if (poslano) //AKO JE USPJESNO POSLALO REDIREKTUJ NA POCETNU STRANICU { trebovanjeDB.StatusTrebovanjaId = (int)Enum.Status.U_procesu_odobravanja_viseg_nivoa; trebovanjeNabavkeContext.SaveChanges(); return(Json(new { succses = true })); } else // AKO JE DOSLO DO GRESKE I NIJE POSLALO VRATI VIEW { return(Json(new { succses = false, message = "Neuspješno slanje mejla" })); } } else if (narucilac.Nivo3OdobravanjaSifra == null) { trebovanjeDB.StatusTrebovanjaId = (int)Enum.Status.Odobreno; //status odobreno var rezervisaniArtikli = trebovanjeNabavkeContext.RezervisaniArtiklis; //.Where(a=> trebovanje.TrebovanjeVeznas.Where(tv=>tv.ArtikalId==a.ArtikalId)) foreach (var artiklRezervisanDB in rezervisaniArtikli) { foreach (var trebovaniArtikl in trebovanjeDB.TrebovanjeVeznas) { if (artiklRezervisanDB.ArtikalId == trebovaniArtikl.ArtikalId) { artiklRezervisanDB.RezervisanaKolicina += trebovaniArtikl.TrebovanaKolicina;//dodaje trebovane artikle i njihovu kolicinu na rezervaciju } } } if (SlatiUSkladiste(trebovanje)) { poslano = PosaljiMejlSkladistaruZaTrebvanje(narucilacSifra, trebovanjeDB.TrebovanjeId); if (poslano) { //salje mejl i naruciocu da je narudzba odobrena i da je u skladistu poslano = false; naslov_Mejla = "Odgovor na zahtjev za trebovanje"; sadrzaj_Mejla = "<p>Poštovani, <br/><br/> Vaše <a href=" + adresaHosta + "Trebovanje/DetaljiTrebovanja?trebovanje=" + trebovanje + ">trebovanje </a> je odobreno, zahtjev je proslijeđen u skladište. Naknadno ćete biti obavješteni kada artikl/i budu spremni za preuzimanje.</p><br/><br/> "; sadrzaj_Mejla += "<span>Srdačan pozdrav,<br/><br/> Lanaco trebovanje i nabavke</span>"; na_Mejl = narucilac.Email; poslano = PosaljiMejl(naslov_Mejla, na_Mejl, sadrzaj_Mejla); if (poslano) //AKO JE USPJESNO POSLALO dodjeljuje trebovanim artiklima status da su u pripremi { foreach (var trebovaniArtikl in trebovanjeDB.TrebovanjeVeznas) { trebovaniArtikl.StatusArtiklaId = (int)Enum.Status.Artikl_u_pripremi; // status artikl u pripremi } trebovanjeNabavkeContext.SaveChanges(); return(Json(new { succses = true })); } else // AKO JE DOSLO DO GRESKE I NIJE POSLALO VRATI VIEW { return(Json(new { succses = false, message = "Neuspješno slanje mejla" })); } } else // AKO JE DOSLO DO GRESKE I NIJE POSLALO VRATI VIEW { return(Json(new { succses = false, message = "Neuspješno slanje mejla" })); } } else// nema na stanju nekog artikla salji trebovanje mejlom u marketing da se naruci { poslano = PosaljiMejlReferentuSkladistaUMarketingu(trebovanje); trebovanjeDB.StatusTrebovanjaId = (int)Enum.Status.U_procesu_nabavke; // status "u procesu nabavke" if (poslano) { //salje mejl i naruciocu da je narudzba odobrena poslano = false; naslov_Mejla = "Odgovor na zahtjev za trebovanje"; sadrzaj_Mejla = "<p>Poštovani, <br/><br/> Vaše <a href=" + adresaHosta + "Trebovanje/DetaljiTrebovanja?trebovanje=" + trebovanje + ">trebovanje </a> je odobreno, zahtjev je proslijeđen Timu prodaje i nabavke, radi nabavke nekih od stavki kojih nema na stanju.<br/>" + "Naknadno ćete biti obavješteni kada artikl/i budu spremni za preuzimanje.</p><br/><br/> "; sadrzaj_Mejla += "<span>Srdačan pozdrav,<br/><br/> Lanaco trebovanje i nabavke</span>"; na_Mejl = narucilac.Email; poslano = PosaljiMejl(naslov_Mejla, na_Mejl, sadrzaj_Mejla); if (poslano) //AKO JE USPJESNO POSLALO REDIREKTUJ NA POCETNU STRANICU { trebovanjeNabavkeContext.SaveChanges(); return(Json(new { succses = true })); } else // AKO JE DOSLO DO GRESKE I NIJE POSLALO VRATI VIEW { return(Json(new { succses = false, message = "Neuspješno slanje mejla" })); } } else // AKO JE DOSLO DO GRESKE I NIJE POSLALO VRATI VIEW { return(Json(new { succses = false, message = "Neuspješno slanje mejla" })); } } } } else // trebovanje odbijeno od strane sefa ili gen.men. { sadrzaj_Mejla = "<p>Poštovani, <br/><br/> Vaše <a href=" + adresaHosta + "Trebovanje/DetaljiTrebovanja?trebovanje=" + trebovanje + ">trebovanje </a> je odbijeno</p><br/> <br/>"; sadrzaj_Mejla += "<span>Srdačan pozdrav,<br/><br/> Lanaco trebovanje i nabavke</span>"; naslov_Mejla = "Odgovor na zahtjev za trebovanje"; na_Mejl = narucilac.Email; trebovanjeDB.StatusTrebovanjaId = (int)Enum.Status.Odbijeno; trebovanjeDB.DatumiOdobravanjaTrebovanje.DatumOdobravanjaNivoa2 = DateTime.Now; } poslano = PosaljiMejl(naslov_Mejla, na_Mejl, sadrzaj_Mejla); // salje za slucaj da je odbijeno trebovanje if (poslano) //AKO JE USPJESNO POSLALO REDIREKTUJ NA POCETNU STRANICU { trebovanjeNabavkeContext.SaveChanges(); return(Json(new { succses = true })); } else // AKO JE DOSLO DO GRESKE I NIJE POSLALO VRATI VIEW { return(Json(new { succses = false, message = "Neuspješno slanje mejla" })); } } else if (provjerivac.RadnikSifra == narucilac.Nivo3OdobravanjaSifra) { if (odobreno) { trebovanjeDB.DatumiOdobravanjaTrebovanje.DatumOdobravanjaNivoa3 = DateTime.Now; trebovanjeDB.StatusTrebovanjaId = (int)Enum.Status.Odobreno; var artikli = trebovanjeNabavkeContext.RezervisaniArtiklis; foreach (var artiklRezervisanDB in artikli) { foreach (var trebovaniArtikl in trebovanjeDB.TrebovanjeVeznas) { if (artiklRezervisanDB.ArtikalId == trebovaniArtikl.ArtikalId) { artiklRezervisanDB.RezervisanaKolicina += trebovaniArtikl.TrebovanaKolicina; } } } if (SlatiUSkladiste(trebovanje)) { poslano = PosaljiMejlSkladistaruZaTrebvanje(narucilacSifra, trebovanjeDB.TrebovanjeId); if (poslano) {// salje mejl naruciocu da je trebovanje odobreno i da je yahtjev poslan u skladiste poslano = false; naslov_Mejla = "Odgovor na zahtjev za trebovanje"; sadrzaj_Mejla = "<p>Poštovani, <br/><br/> Vaše <a href=" + adresaHosta + "Trebovanje/DetaljiTrebovanja?trebovanje=" + trebovanje + ">trebovanje </a> je odobreno, zahtjev je proslijeđen u skladište. Naknadno ćete biti obavješteni kada artikl/i budu spremni za preuzimanje </p> <br/><br/>"; sadrzaj_Mejla += "<span>Srdačan pozdrav,<br/><br/> Lanaco trebovanje i nabavke</span>"; na_Mejl = narucilac.Email; poslano = PosaljiMejl(naslov_Mejla, na_Mejl, sadrzaj_Mejla); if (poslano) //AKO JE USPJESNO POSLALO REDIREKTUJ NA POCETNU STRANICU { foreach (var trebovaniArtikl in trebovanjeDB.TrebovanjeVeznas) { trebovaniArtikl.StatusArtiklaId = (int)Enum.Status.Artikl_u_pripremi; // status artikl u pripremi } trebovanjeNabavkeContext.SaveChanges(); return(Json(new { succses = true })); } else // AKO JE DOSLO DO GRESKE I NIJE POSLALO VRATI VIEW { return(Json(new { succses = false, message = "Neuspješno slanje mejla" })); } } else { Json(new { succses = false, message = "Neuspješno slanje mejla" }); } } else { // nema na skladistu dovoljno salji u marketing poslano = PosaljiMejlReferentuSkladistaUMarketingu(trebovanje); trebovanjeDB.StatusTrebovanjaId = (int)Enum.Status.U_procesu_nabavke; // status "u procesu nabavke" if (poslano) { //salje mejl i naruciocu da je narudzba odobrena i da je otisla u marketing radi narudžbe nekih artikala poslano = false; naslov_Mejla = "Odgovor na zahtjev za trebovanje"; sadrzaj_Mejla = "<p>Poštovani, <br/><br/> Vaše <a href=" + adresaHosta + "Trebovanje/DetaljiTrebovanja?trebovanje=" + trebovanje + ">trebovanje </a> je odobreno, zahtjev je proslijeđen u Timu prodaje i nabavki zbog nabavke nekih od stavki kojih nema na stanju.<br/>" + "Naknadno ćete biti obavješteni kada artikl/i budu spremni za preuzimanje.</p> <br/><br/>"; sadrzaj_Mejla += "<span>Srdačan pozdrav,<br/><br/> Lanaco trebovanje i nabavke</span>"; na_Mejl = narucilac.Email; poslano = PosaljiMejl(naslov_Mejla, na_Mejl, sadrzaj_Mejla); if (poslano) //AKO JE USPJESNO POSLALO REDIREKTUJ NA POCETNU STRANICU { trebovanjeNabavkeContext.SaveChanges(); return(Json(new { succses = true })); } else // AKO JE DOSLO DO GRESKE I NIJE POSLALO VRATI VIEW { return(Json(new { succses = false, message = "Neuspješno slanje mejla" })); } } else // AKO JE DOSLO DO GRESKE I NIJE POSLALO VRATI VIEW { return(Json(new { succses = false, message = "Neuspješno slanje mejla" })); } } } else // trebovanje odbijeno od strane sefa ili gen.men. { sadrzaj_Mejla = "<p>Poštovani, <br/><br/> Vaše <a href=" + adresaHosta + "Trebovanje/DetaljiTrebovanja?trebovanje=" + trebovanje + ">trebovanje </a> je odbijeno</p><br/> <br/>"; sadrzaj_Mejla += "<span>Srdačan pozdrav,<br/><br/> Lanaco trebovanje i nabavke</span>"; naslov_Mejla = "Odgovor na zahtjev za trebovanje"; na_Mejl = narucilac.Email; trebovanjeDB.StatusTrebovanjaId = (int)Enum.Status.Odbijeno; trebovanjeDB.DatumiOdobravanjaTrebovanje.DatumOdobravanjaNivoa3 = DateTime.Now; } poslano = PosaljiMejl(naslov_Mejla, na_Mejl, sadrzaj_Mejla); // salje za slucaj da je odbijeno trebovanje if (poslano) //AKO JE USPJESNO POSLALO REDIREKTUJ NA POCETNU STRANICU { trebovanjeNabavkeContext.SaveChanges(); return(Json(new { succses = true })); } else // AKO JE DOSLO DO GRESKE I NIJE POSLALO VRATI VIEW { return(Json(new { succses = false, message = "Neuspješno slanje mejla" })); } } else { return(Json(new { succses = false, message = "Logovana osoba nema ovlaštenja da odobrava ovo trebovanje!" })); } }