public ActionResult Put(int id, [FromBody] Ponuda obj) { try { if (obj.Id == 0) { var kn = Tuv.Helper.Helper.GetIso8601WeekOfYear(obj.DatumPonude); var ks = _session.QueryOver <KursnaLista>() .Where(x => x.Godina == obj.DatumPonude.Year) .And(x => x.Nedelja == kn) .SingleOrDefault <KursnaLista>(); if (ks == null) { return(Json(new { Success = false, Message = _localizer["Nije definisana kursna lista za nedelju"] + " " + kn.ToString(), Obj = obj })); } var limit = _session.QueryOver <Parametar>() .Where(x => x.Vrsta == "LimitOdobrenjaDirektora") .SingleOrDefault <Parametar>() .Vredpar1; obj.LimitOdobrenjaDirektora = limit; obj.Rbr = Helper.RedniBroj(_session, "ponuda", obj.DatumPonude); var broj = obj.Rbr.ToString().PadLeft(4, '0') + "/" + obj.DatumPonude.Year.ToString().Substring(2, 2); obj.Broj = broj; obj.Status = 1; var korisnik = _session.QueryOver <Korisnik>() .Where(x => x.KorisnickoIme == User.Identity.Name) .SingleOrDefault <Korisnik>(); var poruka = _localizer["Kreirana ponuda"]; var tip = "Kreiranje"; var wf = new PonudaWf() { Ponuda = obj, Datum = DateTime.Now, Korisnik = korisnik, Opis = poruka, Tip = tip, TimelineIkona = "timeline_icon_primary", Ikona = "assignment" }; obj.Wfs.Add(wf); } ObradaStavki(obj); _session.SaveOrUpdate(obj); _session.Flush(); } catch (Exception ex) { _logger.LogError(ex.Message); return(Json(new { Success = false, Message = ex.Message, Obj = obj })); } return(Json(new { Success = true, Message = "", Obj = obj })); }
public ActionResult Odobrenje([FromQuery] bool ishod, string komentar, [FromBody] Ponuda obj) { try { ObradaStavki(obj); var korisnik = _session.QueryOver <Korisnik>() .Where(x => x.KorisnickoIme == User.Identity.Name) .SingleOrDefault <Korisnik>(); //var kn = Tuv.Helper.Helper.GetIso8601WeekOfYear(obj.DatumPonude); //var kurs = _session.QueryOver<KursnaLista>() // .Where(x => x.Godina == obj.DatumPonude.Year) // .And(x => x.Nedelja == kn) // .SingleOrDefault<KursnaLista>() // .Kurs; if (komentar.ToLower() == "undefined") { komentar = null; } if (korisnik.Uloge.Contains("Rukovodilac") || korisnik.Uloge.Contains("Administrator")) { obj.OdobrenaR = ishod; if (ishod) { obj.DatumOdobrenjaR = DateTime.Now; obj.PonuduOdobrio = korisnik; } } if (korisnik.Uloge.Contains("Direktor")) { obj.OdobrenaD = ishod; if (ishod) { obj.DatumOdobrenjaD = DateTime.Now; } else { obj.OdobrenaR = false; obj.DatumOdobrenjaR = null; } } if (obj.OdobrenaR.GetValueOrDefault() && !obj.PotrebnoOdobrenjeDirektora) { obj.Status = 2; } if (obj.OdobrenaR.GetValueOrDefault() && obj.OdobrenaD.GetValueOrDefault() && obj.PotrebnoOdobrenjeDirektora) { obj.Status = 2; } var poruka = ishod ? _localizer["Ponuda je odobrena"] : _localizer["Ponuda nije odobrena"]; var tip = "Odobravanje"; var wf = new PonudaWf() { Ponuda = obj, Datum = DateTime.Now, Korisnik = korisnik, Opis = poruka, Tip = tip, Ishod = ishod ? 1 : 0, Komentar = komentar, TimelineIkona = ishod ? "timeline_icon_success" : "timeline_icon_danger", Ikona = ishod ? "done" : "cancel" }; obj.Wfs.Add(wf); _session.SaveOrUpdate(obj); //_session.SaveOrUpdate(wf); _session.Flush(); return(Json(new { Success = true, Message = "", Obj = obj })); } catch (Exception ex) { _logger.LogError(ex.Message); return(Json(new { Success = false, Message = ex.Message })); } }
public ActionResult Prihvatanje([FromQuery] string ishod, [FromBody] Ponuda obj) { try { ObradaStavki(obj); var korisnik = _session.QueryOver <Korisnik>() .Where(x => x.KorisnickoIme == User.Identity.Name) .SingleOrDefault <Korisnik>(); var poruka = ""; var ikonaTimeline = ""; var ikona = ""; var ish = 0; if (ishod == "Da") { obj.Prihvacena = true; obj.DatumPrihvatanja = DateTime.Now; obj.Status = 3; ikonaTimeline = "timeline_icon_primary"; ikona = "done_outline"; poruka = _localizer["Ponuda je prihvaćena"]; ish = 1; } else if (ishod == "Da") { obj.Prihvacena = false; obj.DatumPrihvatanja = DateTime.Now; obj.Status = 3; ikonaTimeline = "timeline_icon_danger"; ikona = "error"; poruka = _localizer["Ponuda nije prihvaćena"]; ish = 0; } else //revizija { obj.Prihvacena = null; obj.DatumPrihvatanja = null; obj.OdobrenaD = null; obj.OdobrenaR = null; obj.DatumOdobrenjaD = null; obj.DatumOdobrenjaR = null; obj.Status = 1; obj.Revizija = obj.Revizija + 1; obj.Broj = obj.Broj + " rev " + obj.Revizija.ToString(); ikonaTimeline = "timeline_icon_warning"; ikona = "edit"; poruka = _localizer["Potrebna je revizija ponude"]; ish = 3; } var tip = "Prihvatanje"; var wf = new PonudaWf() { Ponuda = obj, Datum = DateTime.Now, Korisnik = korisnik, Opis = poruka, Tip = tip, Ishod = ish, Komentar = null, TimelineIkona = ikonaTimeline, Ikona = ikona }; obj.Wfs.Add(wf); _session.SaveOrUpdate(obj); _session.Flush(); return(Json(new { Success = true, Message = "", Obj = obj })); } catch (Exception ex) { _logger.LogError(ex.Message); return(Json(new { Success = false, Message = ex.Message })); } }
public ActionResult Put(int id, [FromBody] RadniNalog obj) { try { if (obj.Id == 0) { obj.Rbr = Helper.RedniBroj(_session, "nalog", DateTime.Now); var broj = "RN " + obj.Rbr.ToString().PadLeft(4, '0') + "/" + obj.DatumKreiranja.Year.ToString().Substring(2, 2); obj.Broj = broj; obj.Status = 1; obj.DatumKreiranja = DateTime.Now; var korisnik = _session.QueryOver <Korisnik>() .Where(x => x.KorisnickoIme == User.Identity.Name) .SingleOrDefault <Korisnik>(); var poruka = _localizer["Kreiran radni nalog"]; var zaduzen = _session.Load <Korisnik>(obj.ZaduzenZaRealizaciju.Id); var poruka2 = _localizer["Kreiran radni nalog - izvršitelj"] + " " + zaduzen.Naziv ?? ""; var tip = "Kreiranje"; var wf = new RadniNalogWf() { RadniNalog = obj, Datum = DateTime.Now, Korisnik = korisnik, Opis = poruka, Tip = tip, TimelineIkona = "timeline_icon_primary", Ikona = "assignment" }; var wfp = new PonudaWf() { Ponuda = obj.Ponuda, Datum = DateTime.Now, Korisnik = korisnik, Opis = poruka2, Tip = tip, TimelineIkona = "timeline_icon_default", Ikona = "build" }; _session.Save(wfp); obj.Wfs.Add(wf); } if (obj.Id != 0) { var nalog = _session.Load <RadniNalog>(obj.Id); if (nalog.Zatvoren != obj.Zatvoren) { string poruka; string tip; string ikona; if (obj.Zatvoren) { poruka = _localizer["Zatvoren radni nalog"]; tip = "Zatvaranje"; ikona = "lock"; } else { poruka = _localizer["Otvoren radni nalog"]; tip = "Otvaranje"; ikona = "lock_open"; } var korisnik = _session.QueryOver <Korisnik>() .Where(x => x.KorisnickoIme == User.Identity.Name) .SingleOrDefault <Korisnik>(); var wf = new RadniNalogWf() { RadniNalog = obj, Datum = DateTime.Now, Korisnik = korisnik, Opis = poruka, Tip = tip, TimelineIkona = "timeline_icon_primary", Ikona = ikona }; _session.Save(wf); } var status = _session.CreateSQLQuery("exec StatusNaloga :id") .SetParameter("id", obj.Id) .UniqueResult <int>(); obj.Status = status; } ObradaStavki(obj); _session.Clear(); _session.SaveOrUpdate(obj); _session.Flush(); return(Json(new { Success = true, Message = "", Obj = obj })); } catch (Exception ex) { _logger.LogError(ex.Message); return(Json(new { Success = false, Message = ex.Message, Obj = obj })); } }