public JsonResult UlogujKorisnika(string korisnickoIme, string lozinka) { HttpCookie langCookie = Request.Cookies["_lang"]; var jezik = langCookie != null ? langCookie.Value : "0"; var res = new MyResponse(); try { var guid = LogovanjeData.UlogujKorisnika(Konverzija.KonvertujULatinicu(korisnickoIme), Konverzija.KonvertujULatinicu(lozinka), jezik); var cookie = new HttpCookie(RuntimeDataHelpers.LogKey, guid) { Expires = DateTime.Now.AddHours(4) }; HttpContext.Response.Cookies.Add(cookie); } catch (Exception ex) { res.Greska = true; res.Poruka = ExceptionParser.Parsiraj(jezik, ex); } return(Json(res, JsonRequestBehavior.AllowGet)); }
public JsonResult PromeniLozinku(string staraSifra, string novaSifra) { var korisnik = RuntimeDataHelpers.GetRuntimeData(Request); var res = new MyResponse(); try { LogovanjeData.PromeniLozinkuKorisnika(korisnik, Konverzija.KonvertujULatinicu(staraSifra), Konverzija.KonvertujULatinicu(novaSifra)); } catch (Exception ex) { res.Greska = true; res.Poruka = ExceptionParser.Parsiraj(korisnik, ex); } return(Json(res, JsonRequestBehavior.DenyGet)); }
public static List <Predmet> VratiPredmetePretrage(UlogovaniKorisnik korisnik, ElementPretrage pretraga) { using (var context = DmsData.GetContext()) { return(context.pretraga_VratiPredmete(pretraga.IdOkruga, pretraga.IdOrgana, pretraga.IdKlase, pretraga.BrojPredmeta, pretraga.Godina, pretraga.OdDatuma, pretraga.DoDatuma, pretraga.IdJedinice, pretraga.Status, pretraga.IdVrstePredmeta, pretraga.IdInspektora, Konverzija.KonvertujULatinicu(pretraga.Podnosilac.SrediZaPretragu()), Konverzija.KonvertujULatinicu(pretraga.LiceKontrole.SrediZaPretragu()), Konverzija.KonvertujULatinicu(pretraga.Sadrzaj.SrediZaPretragu()), pretraga.IdTakse, Konverzija.KonvertujULatinicu(pretraga.StraniBroj.SrediZaPretragu()), pretraga.Rok, pretraga.PreRoka, pretraga.DatumKretanja, pretraga.IdKretanjaPredmeta, Konverzija.KonvertujULatinicu(pretraga.OpisKretanja.SrediZaPretragu()), korisnik.IdKorisnika, pretraga.IdOpstine, pretraga.OznakaOrgana.SrediZaPretragu(3), pretraga.OznakaKlase.SrediZaPretragu(3), pretraga.OznakaJedinice.SrediZaPretragu(3), pretraga.GledanjeDatumaKreiranja, pretraga.IdMestaOpstine, pretraga.RokCuvanja.SrediZaPretragu()). Select(pred => new Predmet { IdVrstePredmeta = pred.IdVrstePredmeta, IdPredmeta = pred.IdPredmeta, Podnosilac = Konverzija.VratiString(korisnik.Jezik, pred.Podnosilac), NazivInspektora = Konverzija.VratiString(korisnik.Jezik, pred.NazivInspektora), Sadrzaj = Konverzija.VratiString(korisnik.Jezik, pred.Sadrzaj), LiceKontrole = Konverzija.VratiString(korisnik.Jezik, pred.LiceKontrole), SifraPredmeta = string.Format(@"{0}-{1}-{2}-{3}/{4}-{5}", pred.OznakaOkruga, pred.OznakaOrgana, pred.OznakaKlase, string.Format(@"{0}", pred.BrojPredmeta).PadLeft(6, '0'), pred.Godina.GetValueOrDefault(), pred.OznakaJedinice) }).ToList()); } }
public ElementSifarnika SnimiPodatkeElementa(string idElementa, List <PodatakElementaSifarnika> podaci, UlogovaniKorisnik korisnik) { using (var context = DmsData.GetContextWithTransaction()) { var noviElement = new ElementSifarnika(); short?idOkruga = null; short?idOrgana = null; short?idKlase = null; if (!string.IsNullOrEmpty(idElementa)) { var kljucevi = idElementa.Split('-'); if (kljucevi.Length == 3) { idOkruga = Int16.Parse(kljucevi[0]); idOrgana = Int16.Parse(kljucevi[1]); idKlase = Int16.Parse(kljucevi[2]); } } try { string naziv = null; string oznaka = null; string napomena = null; var aktivan = false; string nadleznost = null; short? idInspekcije = null; bool izuzmiIzProvere = false; foreach (PodatakElementaSifarnika element in podaci) { switch (element.Id) { case 0: naziv = element.Vrednost; break; case 1: oznaka = element.Vrednost; break; case 2: aktivan = bool.Parse(element.Vrednost); break; case 3: napomena = element.Vrednost; break; case 4: if (!string.IsNullOrEmpty(element.Vrednost)) { idInspekcije = short.Parse(element.Vrednost); } break; case 5: idOkruga = short.Parse(element.Vrednost); break; case 6: idOrgana = short.Parse(element.Vrednost); break; case 7: nadleznost = element.Vrednost; break; case 8: izuzmiIzProvere = bool.Parse(element.Vrednost); break; } } if (string.IsNullOrEmpty(naziv)) { throw new ApplicationException("Naziv klase nije unet."); } if (naziv != null && naziv.Length > 200) { throw new ApplicationException("Naziv klase ima više od 200 karaktera."); } if (string.IsNullOrEmpty(oznaka)) { throw new ApplicationException("Oznaka klase nije uneta."); } if (oznaka != null && oznaka.Length > 3) { throw new ApplicationException("Oznaka klase ima više od 3 karaktera."); } if (!string.IsNullOrEmpty(napomena) && napomena.Length > 2000) { throw new ApplicationException("Napomena klase ima više od 2000 karaktera."); } if (!string.IsNullOrEmpty(nadleznost) && nadleznost.Length > 4000) { throw new ApplicationException("Nadležnost klase ima više od 4000 karaktera."); } context.klasa_SnimiKlasu(idOkruga, idOrgana, ref idKlase, Konverzija.KonvertujULatinicu(oznaka).SrediZaSnimanje(3), Konverzija.KonvertujULatinicu(naziv).SrediZaSnimanje(200), Konverzija.KonvertujULatinicu(napomena).SrediZaSnimanje(2000), aktivan, korisnik.IdKorisnika, Konverzija.KonvertujULatinicu(nadleznost).SrediZaSnimanje(4000), idInspekcije, izuzmiIzProvere); noviElement.IdElementa = string.Format(@"{0}-{1}-{2}", idOkruga, idOrgana, idKlase); noviElement.Naziv = Konverzija.VratiString(korisnik.Jezik, string.Format(@"{0}-{1}", oznaka, naziv)); noviElement.Aktivan = aktivan; noviElement.DozvoljenoBrisanje = true; noviElement.DozvoljenoDodavanje = false; noviElement.DozvoljenaIzmena = true; noviElement.IdNadredjenogElementa = null; context.Transaction.Commit(); } catch (Exception) { context.Transaction.Rollback(); throw; } finally { context.Connection.Close(); } return(noviElement); } }
public static IstorijaPredmeta SnimiIstorijuPredmeta(UlogovaniKorisnik korisnik, long idPredmeta, short vrstaKretanja, string napomena, DateTime?datumRoka) { using (var context = DmsData.GetContextWithTransaction()) { short?idKretanja = null; var istorija = new IstorijaPredmeta(); try { if (!string.IsNullOrEmpty(napomena) && napomena.Length > 2000) { throw new ApplicationException("Napomena kretanja predmeta ima više od 2000 karaktera."); } if (korisnik.IzmenaPredmeta && korisnik.IdOkruga != null) { idKretanja = context.istorija_SnimiKretanjePredmeta(idPredmeta, korisnik.IdKorisnika, vrstaKretanja, Konverzija.KonvertujULatinicu(napomena), datumRoka).Single().IdKretanja; } istorija.Korisnik = Konverzija.VratiString(korisnik.Jezik, string.Format(@"{0} ({1})", korisnik.KorisnickoIme, korisnik.ImeIPrezime)); istorija.Napomena = napomena; istorija.Vreme = DateTime.Now; istorija.IdKretanja = idKretanja.GetValueOrDefault(); istorija.DatumRoka = datumRoka; context.Transaction.Commit(); } catch (Exception) { context.Transaction.Rollback(); throw; } finally { context.Connection.Close(); } istorija.Status = VratiPredmet(korisnik, idPredmeta).NazivStatusa; return(istorija); } }
public static PregledRezervacijaZaglavlje SnimiPredmet(UlogovaniKorisnik korisnik, short tipDokumenta, Predmet predmet, short?kolicina) { var zaglavlje = new PregledRezervacijaZaglavlje { RezervisaniBrojevi = new List <Element>() }; long?idPredmetaZaUcitavanje = null; using (var context = DmsData.GetContextWithTransaction()) { try { if (tipDokumenta == 2) { if (kolicina != null) { if (kolicina > 100) { throw new ApplicationException("Maksimalni broj predmeta za rezervaciju je 100."); } if (korisnik.DozvolaRezervisanja) { long?idPredmeta = null; var elementi = context.predmet_RezervacijaPredmeta(ref idPredmeta, predmet.IdOkruga, predmet.IdOrgana, predmet.IdKlase, predmet.IdJedinice, predmet.PodnosilacJeInspektor, predmet.IdVrstePredmeta, predmet.IdInspektora, Konverzija.KonvertujULatinicu(predmet.Prilog.SrediZaSnimanje(200)), Konverzija.KonvertujULatinicu(predmet.Sadrzaj.SrediZaSnimanje(2000)), predmet.IdTakse, Konverzija.KonvertujULatinicu(predmet.StraniBroj), null, korisnik.IdKorisnika, Konverzija.KonvertujULatinicu(predmet.Podnosilac.SrediZaSnimanje(300)), Konverzija.KonvertujULatinicu(predmet.PodnosilacJedinstveniBroj.SrediZaSnimanje(30)), Konverzija.KonvertujULatinicu(predmet.LiceKontroleJedinstveniBroj.SrediZaSnimanje(30)), Konverzija.KonvertujULatinicu(predmet.LiceKontrole.SrediZaSnimanje(300)), predmet.IdOpstine, predmet.IdMesta, predmet.VremeKreiranja, kolicina).Select(x => new Element { IdElementa = string.Format(@"{0}", x.IdPredmeta), Naziv = x.BrojPredmeta }).ToList(); if (elementi.Count > 0) { idPredmetaZaUcitavanje = idPredmeta; zaglavlje.RezervisaniBrojevi.AddRange(elementi); } } } } else { if ((predmet.IdPredmeta != null && korisnik.IzmenaPredmeta) || (predmet.IdPredmeta == null && korisnik.UnosNovogPredmeta)) { idPredmetaZaUcitavanje = predmet.IdPredmeta; var brojPredmeta = context.predmet_SnimiPredmet(ref idPredmetaZaUcitavanje, predmet.IdOkruga, predmet.IdOrgana, predmet.IdKlase, predmet.IdJedinice, predmet.PodnosilacJeInspektor, predmet.IdVrstePredmeta, predmet.IdInspektora, Konverzija.KonvertujULatinicu(predmet.Prilog.SrediZaSnimanje(200)), Konverzija.KonvertujULatinicu(predmet.Sadrzaj.SrediZaSnimanje(2000)), predmet.IdTakse, Konverzija.KonvertujULatinicu(predmet.StraniBroj), null, false, korisnik.IdKorisnika, Konverzija.KonvertujULatinicu(predmet.Podnosilac.SrediZaSnimanje(300)), Konverzija.KonvertujULatinicu(predmet.PodnosilacJedinstveniBroj.SrediZaSnimanje(30)), Konverzija.KonvertujULatinicu(predmet.LiceKontroleJedinstveniBroj.SrediZaSnimanje(30)), Konverzija.KonvertujULatinicu(predmet.LiceKontrole.SrediZaSnimanje(300)), predmet.IdOpstine, predmet.IdNadredjenogPredmeta, predmet.IdMesta, predmet.VremeKreiranja, korisnik.StrogoPoverljivi && predmet.StrogoPoverljiv) .Select(a => a.BrojPredmeta) .Single(); var element = new Element { IdElementa = string.Format(@"{0}", idPredmetaZaUcitavanje), Naziv = string.Format(@"{0}", brojPredmeta) }; zaglavlje.RezervisaniBrojevi.Add(element); } } context.Transaction.Commit(); } catch (Exception) { context.Transaction.Rollback(); throw; } finally { context.Connection.Close(); } } if (zaglavlje.Predmet == null && idPredmetaZaUcitavanje != null) { zaglavlje.Predmet = VratiPredmet(korisnik, idPredmetaZaUcitavanje.GetValueOrDefault()); } return(zaglavlje); }
public static List <StavkaPretrage> VratiPredmetePretrage(UlogovaniKorisnik korisnik, byte tipIzvestaja, bool sintetika, ElementPretrage pretraga) { using (var context = DmsData.GetContext()) { if (sintetika) { var stavkeSintetike = context.izvestaji_VratiSintetikaPredmeta(tipIzvestaja, pretraga.IdOkruga, pretraga.IdOrgana, pretraga.IdKlase, pretraga.BrojPredmeta, pretraga.Godina, pretraga.OdDatuma, pretraga.DoDatuma, pretraga.IdJedinice, pretraga.Status, pretraga.IdVrstePredmeta, pretraga.IdInspektora, Konverzija.KonvertujULatinicu(pretraga.Podnosilac.SrediZaPretragu()), Konverzija.KonvertujULatinicu(pretraga.LiceKontrole.SrediZaPretragu()), Konverzija.KonvertujULatinicu(pretraga.Sadrzaj.SrediZaPretragu()), pretraga.IdTakse, Konverzija.KonvertujULatinicu(pretraga.StraniBroj.SrediZaPretragu()), pretraga.Rok, pretraga.PreRoka, pretraga.DatumKretanja, pretraga.IdKretanjaPredmeta, Konverzija.KonvertujULatinicu(pretraga.OpisKretanja.SrediZaPretragu()), pretraga.IdKreatora, korisnik.IdKorisnika, pretraga.IdOpstine, pretraga.OznakaOrgana.SrediZaPretragu(3), pretraga.OznakaKlase.SrediZaPretragu(3), pretraga.OznakaJedinice.SrediZaPretragu(3), korisnik.IdKorisnika, pretraga.GledanjeDatumaKreiranja, pretraga.IdMestaOpstine) .Select(s => new StavkaPretrage { Grupisanje = tipIzvestaja == 6 ? IzvestajPredmetaViewModel.VratiStatuse(korisnik).Where(ss => ss.IdElementa == s.IdGrupisanja).Select(ss => ss.Naziv).Single() : s.Grupisanje, IdGrupisanja = s.IdGrupisanja, UkupanBrojPredmeta = s.UkupanBrojPredmeta.GetValueOrDefault(), BrojAktivnihPredmeta = s.BrojAktivnihPredmeta.GetValueOrDefault(), BrojObrisanihhPredmeta = s.BrojObrisanihhPredmeta.GetValueOrDefault(), BrojRezervisanihPredmeta = s.BrojRezervisanihPredmeta.GetValueOrDefault(), BrojPrezavedenihPredmeta = s.BrojPrezavedenihPredmeta.GetValueOrDefault() + s.BrojPrezavedenihArhiviranihPredmeta.GetValueOrDefault(), BrojPredmetaURokovniku = s.BrojURokovnikuPredmeta.GetValueOrDefault(), BrojZatvorenihPredmeta = s.BrojZatvorenihPredmeta.GetValueOrDefault(), BrojRezervisanihPredmetaPrekoRoka = s.BrojRezervisanihPredmetaPrekoRoka.GetValueOrDefault(), BrojOtvorenihPredmetaPrekoRoka = s.BrojOtvorenihPredmetaPrekoRoka.GetValueOrDefault(), }).ToList(); return(stavkeSintetike.GroupBy(x => x.IdGrupisanja).Select(xx => new StavkaPretrage { Grupisanje = tipIzvestaja == 6 ? IzvestajPredmetaViewModel.VratiStatuse(korisnik) .Where(ss => ss.IdElementa == xx.Key) .Select(ss => ss.Naziv) .Single() : xx.First().Grupisanje, IdGrupisanja = xx.Key, UkupanBrojPredmeta = xx.Sum(xxx => xxx.UkupanBrojPredmeta), BrojAktivnihPredmeta = xx.Sum(xxx => xxx.BrojAktivnihPredmeta), BrojObrisanihhPredmeta = xx.Sum(xxx => xxx.BrojObrisanihhPredmeta), BrojRezervisanihPredmeta = xx.Sum(xxx => xxx.BrojRezervisanihPredmeta), BrojPrezavedenihPredmeta = xx.Sum(xxx => xxx.BrojPrezavedenihPredmeta), BrojPredmetaURokovniku = xx.Sum(xxx => xxx.BrojPredmetaURokovniku), BrojZatvorenihPredmeta = xx.Sum(xxx => xxx.BrojZatvorenihPredmeta), BrojRezervisanihPredmetaPrekoRoka = xx.Sum(xxx => xxx.BrojRezervisanihPredmetaPrekoRoka), BrojOtvorenihPredmetaPrekoRoka = xx.Sum(xxx => xxx.BrojOtvorenihPredmetaPrekoRoka), }).ToList()); } //Godina je sa vremena rezervacije return(context.izvestaji_VratiAnalitikuPredmeta(tipIzvestaja, pretraga.IdOkruga, pretraga.IdOrgana, pretraga.IdKlase, pretraga.BrojPredmeta, pretraga.Godina, pretraga.OdDatuma, pretraga.DoDatuma, pretraga.IdJedinice, pretraga.Status, pretraga.IdVrstePredmeta, pretraga.IdInspektora, Konverzija.KonvertujULatinicu(pretraga.Podnosilac.SrediZaPretragu()), Konverzija.KonvertujULatinicu(pretraga.LiceKontrole.SrediZaPretragu()), Konverzija.KonvertujULatinicu(pretraga.Sadrzaj.SrediZaPretragu()), pretraga.IdTakse, Konverzija.KonvertujULatinicu(pretraga.StraniBroj.SrediZaPretragu()), pretraga.Rok, pretraga.PreRoka, pretraga.DatumKretanja, pretraga.IdKretanjaPredmeta, Konverzija.KonvertujULatinicu(pretraga.OpisKretanja.SrediZaPretragu()), pretraga.IdKreatora, korisnik.IdKorisnika, pretraga.IdOpstine, pretraga.OznakaOrgana.SrediZaPretragu(3), pretraga.OznakaKlase.SrediZaPretragu(3), pretraga.OznakaJedinice.SrediZaPretragu(3), korisnik.IdKorisnika, pretraga.GledanjeDatumaKreiranja, pretraga.IdMestaOpstine) .Select(s => new StavkaPretrage { Grupisanje = s.Grupisanje, IdPredmeta = s.IdPredmeta, Podnosilac = Konverzija.VratiString(korisnik.Jezik, s.Podnosilac), NazivInspektora = Konverzija.VratiString(korisnik.Jezik, s.NazivInspektora), Sadrzaj = Konverzija.VratiString(korisnik.Jezik, s.Sadrzaj), SifraPredmeta = string.Format(@"{0}-{1}-{2}-{3}/{4}-{5}", s.OznakaOkruga, s.OznakaOrgana, s.OznakaKlase, string.Format(@"{0}", s.BrojPredmeta).PadLeft(6, '0'), s.Godina.GetValueOrDefault(), s.OznakaJedinice), LiceKontrole = Konverzija.VratiString(korisnik.Jezik, s.LiceKontrole), }).ToList()); } }
public ElementSifarnika SnimiPodatkeElementa(string idElementa, List <PodatakElementaSifarnika> podaci, UlogovaniKorisnik korisnik) { using (var context = DmsData.GetContextWithTransaction()) { var noviElement = new ElementSifarnika(); short?idOkruga = null; short?idOpstine = null; int? idMesta = null; if (!string.IsNullOrEmpty(idElementa)) { var kljucevi = idElementa.Split('-'); if (kljucevi.Length == 3) { idOkruga = Int16.Parse(kljucevi[0]); idOpstine = Int16.Parse(kljucevi[1]); idMesta = Int32.Parse(kljucevi[2]); } } try { string naziv = null; bool aktivan = false; foreach (var element in podaci) { switch (element.Id) { case 0: naziv = element.Vrednost; break; case 1: aktivan = Boolean.Parse(element.Vrednost); break; case 2: idOkruga = Int16.Parse(element.Vrednost); break; case 3: idOpstine = Int16.Parse(element.Vrednost); break; } } if (string.IsNullOrEmpty(naziv)) { throw new ApplicationException("Naziv mesta nije unet."); } if (naziv != null && naziv.Length > 200) { throw new ApplicationException("Naziv mesta ima više od 200 karaktera."); } context.mesta_SnimiMesto(idOkruga, idOpstine, ref idMesta, Konverzija.KonvertujULatinicu(naziv).SrediZaSnimanje(200), aktivan, korisnik.IdKorisnika); noviElement.IdElementa = string.Format(@"{0}-{1}-{2}", idOkruga, idOpstine, idMesta); noviElement.Naziv = Konverzija.VratiString(korisnik.Jezik, naziv); noviElement.Aktivan = aktivan; noviElement.DozvoljenoBrisanje = true; noviElement.DozvoljenoDodavanje = false; noviElement.DozvoljenaIzmena = true; noviElement.IdNadredjenogElementa = null; context.Transaction.Commit(); } catch (Exception) { context.Transaction.Rollback(); throw; } finally { context.Connection.Close(); } return(noviElement); } }
public ElementSifarnika SnimiPodatkeElementa(string idElementa, List <PodatakElementaSifarnika> podaci, UlogovaniKorisnik korisnik) { using (var context = DmsData.GetContextWithTransaction()) { var noviElement = new ElementSifarnika(); short?idVrstePredmeta = null; if (!string.IsNullOrEmpty(idElementa)) { idVrstePredmeta = Int16.Parse(idElementa); } try { string naziv = null; string napomena = null; string oznaka = null; bool aktivan = false; short? rok = null; string oznakaZaStampu = null; foreach (PodatakElementaSifarnika element in podaci) { switch (element.Id) { case 0: naziv = element.Vrednost; break; case 1: oznaka = element.Vrednost; break; case 2: aktivan = Boolean.Parse(element.Vrednost); break; case 3: napomena = element.Vrednost; break; case 4: if (!string.IsNullOrEmpty(element.Vrednost)) { rok = Int16.Parse(element.Vrednost); } break; case 5: oznakaZaStampu = element.Vrednost; break; } } if (string.IsNullOrEmpty(naziv)) { throw new ApplicationException("Naziv vrste predmeta nije unet."); } if (naziv != null && naziv.Length > 200) { throw new ApplicationException("Naziv vrste predmeta ima više od 200 karaktera."); } if (string.IsNullOrEmpty(oznaka)) { throw new ApplicationException("Oznaka vrste predmeta nije uneta."); } if (oznaka != null && oznaka.Length > 3) { throw new ApplicationException("Oznaka vrste predmeta ima više od 3 karaktera."); } if (!string.IsNullOrEmpty(napomena) && napomena.Length > 2000) { throw new ApplicationException("Napomena vrste predmeta ima više od 2000 karaktera."); } if (rok == null) { throw new ApplicationException("Rok vrste predmeta nije unet."); } context.vrsta_pred_SnimiVrstuPredmeta(ref idVrstePredmeta, Konverzija.KonvertujULatinicu(naziv).SrediZaSnimanje(200), Konverzija.KonvertujULatinicu(oznaka).SrediZaSnimanje(3), Konverzija.KonvertujULatinicu(napomena).SrediZaSnimanje(2000), aktivan, korisnik.IdKorisnika, rok, Konverzija.KonvertujULatinicu(oznakaZaStampu).SrediZaSnimanje(30)); noviElement.IdElementa = string.Format(@"{0}", idVrstePredmeta); noviElement.Naziv = Konverzija.VratiString(korisnik.Jezik, naziv); noviElement.Aktivan = aktivan; noviElement.DozvoljenoBrisanje = true; noviElement.DozvoljenoDodavanje = false; noviElement.DozvoljenaIzmena = true; noviElement.IdNadredjenogElementa = null; context.Transaction.Commit(); } catch (Exception) { context.Transaction.Rollback(); throw; } finally { context.Connection.Close(); } return(noviElement); } }
public ElementSifarnika SnimiPodatkeElementa(string idElementa, List <PodatakElementaSifarnika> podaci, UlogovaniKorisnik korisnik) { using (var context = DmsData.GetContextWithTransaction()) { var noviElement = new ElementSifarnika(); short?idOkruga = null; if (!string.IsNullOrEmpty(idElementa)) { idOkruga = Int16.Parse(idElementa); } try { string naziv = null; string oznaka = null; string napomena = null; bool aktivan = false; string mesto = null; foreach (PodatakElementaSifarnika element in podaci) { switch (element.Id) { case 0: naziv = element.Vrednost; break; case 1: oznaka = element.Vrednost; break; case 2: aktivan = Boolean.Parse(element.Vrednost); break; case 3: napomena = element.Vrednost; break; case 5: mesto = element.Vrednost; break; } } if (string.IsNullOrEmpty(naziv)) { throw new ApplicationException("Naziv okruga nije unet."); } if (naziv != null && naziv.Length > 200) { throw new ApplicationException("Naziv okruga ima više od 200 karaktera."); } if (string.IsNullOrEmpty(oznaka)) { throw new ApplicationException("Oznaka okruga nije uneta."); } if (oznaka != null && oznaka.Length > 3) { throw new ApplicationException("Oznaka okruga ima više od 3 karaktera."); } if (!string.IsNullOrEmpty(napomena) && napomena.Length > 2000) { throw new ApplicationException("Napomena okruga ima više od 2000 karaktera."); } if (string.IsNullOrEmpty(mesto)) { throw new ApplicationException("MEsto okruga nije uneta."); } if (mesto != null && mesto.Length > 200) { throw new ApplicationException("Mesto okruga ima više od 200 karaktera."); } context.okrug_SnimiOkrug(ref idOkruga, Konverzija.KonvertujULatinicu(oznaka).SrediZaSnimanje(3), Konverzija.KonvertujULatinicu(naziv).SrediZaSnimanje(200), Konverzija.KonvertujULatinicu(mesto).SrediZaSnimanje(200), Konverzija.KonvertujULatinicu(napomena).SrediZaSnimanje(2000), aktivan, korisnik.IdKorisnika); noviElement.IdElementa = string.Format(@"{0}", idOkruga); noviElement.Naziv = Konverzija.VratiString(korisnik.Jezik, string.Format(@"{0}-{1}", oznaka, naziv)); noviElement.Aktivan = aktivan; noviElement.DozvoljenoBrisanje = true; noviElement.DozvoljenoDodavanje = false; noviElement.DozvoljenaIzmena = true; noviElement.IdNadredjenogElementa = null; LogovanjeData.PromeniNapomenuOkrugaUlogovanihKorisnika(napomena); context.Transaction.Commit(); } catch (Exception) { context.Transaction.Rollback(); throw; } finally { context.Connection.Close(); } return(noviElement); } }
public ElementSifarnika SnimiPodatkeElementa(string idElementa, List <PodatakElementaSifarnika> podaci, UlogovaniKorisnik korisnik) { using (var context = DmsData.GetContextWithTransaction()) { var noviElement = new ElementSifarnika(); short?idKretanjaPredmeta = null; if (!string.IsNullOrEmpty(idElementa)) { idKretanjaPredmeta = Int16.Parse(idElementa); } try { string naziv = null; string napomena = null; var aktivan = false; char? status = null; var zapisnik = false; string primedba = null; var unosRoka = false; string oznaka = null; string nazivZaIstoriju = null; foreach (var element in podaci) { switch (element.Id) { case 0: naziv = element.Vrednost; break; case 1: aktivan = Boolean.Parse(element.Vrednost); break; case 2: if (!string.IsNullOrEmpty(element.Vrednost)) { status = Char.Parse(element.Vrednost); } break; case 3: napomena = element.Vrednost; break; case 4: zapisnik = Boolean.Parse(element.Vrednost); break; case 5: primedba = element.Vrednost; break; case 6: unosRoka = Boolean.Parse(element.Vrednost); break; case 7: oznaka = element.Vrednost; break; case 8: nazivZaIstoriju = element.Vrednost; break; } } if (string.IsNullOrEmpty(naziv)) { throw new ApplicationException("Naziv kretanja predmeta nije unet."); } if (!string.IsNullOrEmpty(naziv) && naziv.Length > 200) { throw new ApplicationException("Naziv kretanja predmeta ima više od 200 karaktera."); } if (string.IsNullOrEmpty(oznaka)) { throw new ApplicationException("Oznaka kretanja predmeta nije unet."); } if (!string.IsNullOrEmpty(oznaka) && oznaka.Length > 3) { throw new ApplicationException("Oznaka kretanja predmeta ima više od 3 karaktera."); } if (string.IsNullOrEmpty(nazivZaIstoriju)) { throw new ApplicationException("Naziv za istoriju kretanja predmeta nije unet."); } if (!string.IsNullOrEmpty(nazivZaIstoriju) && nazivZaIstoriju.Length > 200) { throw new ApplicationException("Naziv za istoriju kretanja predmeta ima više od 200 karaktera."); } if (!string.IsNullOrEmpty(napomena) && napomena.Length > 2000) { throw new ApplicationException("Napomena kretanja predmeta ima više od 2000 karaktera."); } if (!string.IsNullOrEmpty(primedba) && primedba.Length > 100) { throw new ApplicationException("Primedba kretanja predmeta ima više od 100 karaktera."); } if (status == null) { throw new ApplicationException("Status kretanja predmeta nije izabran."); } context.kret_pred_SnimiKretanjePredmeta(ref idKretanjaPredmeta, Konverzija.KonvertujULatinicu(naziv).SrediZaSnimanje(200), Konverzija.KonvertujULatinicu(napomena).SrediZaSnimanje(2000), aktivan, korisnik.IdKorisnika, status, zapisnik, primedba.SrediZaSnimanje(100), unosRoka, oznaka, nazivZaIstoriju); noviElement.IdElementa = string.Format(@"{0}", idKretanjaPredmeta); noviElement.Naziv = Konverzija.VratiString(korisnik.Jezik, naziv); noviElement.Aktivan = aktivan; noviElement.DozvoljenoBrisanje = true; noviElement.DozvoljenoDodavanje = false; noviElement.DozvoljenaIzmena = true; noviElement.IdNadredjenogElementa = null; context.Transaction.Commit(); } catch (Exception) { context.Transaction.Rollback(); throw; } finally { context.Connection.Close(); } return(noviElement); } }
public ElementSifarnika SnimiPodatkeElementa(string idElementa, List <PodatakElementaSifarnika> podaci, UlogovaniKorisnik korisnik) { using (var context = DmsData.GetContextWithTransaction()) { var noviElement = new ElementSifarnika(); int?idKorisnikaZaUnos = null; if (!string.IsNullOrEmpty(idElementa)) { idKorisnikaZaUnos = int.Parse(idElementa); } try { string korisnickoIme = null; var inspektor = false; short? idOkruga = null; var unosNovogPredmeta = false; var dozvolaRezervisanja = false; var izmenaPredmeta = false; var brisanjePredmeta = false; var administracija = false; var pregledIzvestaja = false; string email = null; string telefon = null; string jmbg = null; string imeIPrezime = null; string napomena = null; var aktivan = true; string lozinka = null; string novaLozinka = null; var samoSvojePredmete = false; short? idOrgana = null; short? maksimalniBrojPredmeta = null; short? maxBrojRezervisanihPredmeta = null; short? maksimalniBrojPredmetaGodine = null; var strogoPoverljivi = false; PodatakElementaSifarnika klase = null; foreach (PodatakElementaSifarnika element in podaci) { switch (element.Id) { case 0: korisnickoIme = element.Vrednost; break; case 1: imeIPrezime = element.Vrednost; break; case 2: email = element.Vrednost; break; case 3: jmbg = element.Vrednost; break; case 4: telefon = element.Vrednost; break; case 5: aktivan = bool.Parse(element.Vrednost); break; case 6: if (!string.IsNullOrEmpty(element.Vrednost)) { idOkruga = short.Parse(element.Vrednost); } break; case 7: if (!string.IsNullOrEmpty(element.Vrednost)) { inspektor = bool.Parse(element.Vrednost); } break; case 8: if (!string.IsNullOrEmpty(element.Vrednost)) { unosNovogPredmeta = bool.Parse(element.Vrednost); } break; case 9: if (!string.IsNullOrEmpty(element.Vrednost)) { dozvolaRezervisanja = bool.Parse(element.Vrednost); } break; case 10: if (!string.IsNullOrEmpty(element.Vrednost)) { izmenaPredmeta = bool.Parse(element.Vrednost); } break; case 11: if (!string.IsNullOrEmpty(element.Vrednost)) { brisanjePredmeta = bool.Parse(element.Vrednost); } break; case 12: if (!string.IsNullOrEmpty(element.Vrednost)) { administracija = bool.Parse(element.Vrednost); } break; case 13: if (!string.IsNullOrEmpty(element.Vrednost)) { pregledIzvestaja = bool.Parse(element.Vrednost); } break; case 14: napomena = element.Vrednost; break; case 15: lozinka = element.Vrednost; break; case 16: novaLozinka = element.Vrednost; break; case 17: if (!string.IsNullOrEmpty(element.Vrednost)) { samoSvojePredmete = bool.Parse(element.Vrednost); } break; case 18: if (!string.IsNullOrEmpty(element.Vrednost)) { idOrgana = short.Parse(element.Vrednost); } break; case 19: klase = element; break; case 20: if (!string.IsNullOrEmpty(element.Vrednost)) { maksimalniBrojPredmeta = short.Parse(element.Vrednost); } break; case 21: if (!string.IsNullOrEmpty(element.Vrednost)) { maxBrojRezervisanihPredmeta = short.Parse(element.Vrednost); } break; case 22: if (!string.IsNullOrEmpty(element.Vrednost)) { maksimalniBrojPredmetaGodine = short.Parse(element.Vrednost); } break; case 23: if (!string.IsNullOrEmpty(element.Vrednost)) { strogoPoverljivi = bool.Parse(element.Vrednost); } break; } } if (string.IsNullOrEmpty(korisnickoIme)) { throw new ApplicationException("Korisničko ime korisnika nije uneto."); } if (!string.IsNullOrEmpty(korisnickoIme) && korisnickoIme.Length > 50) { throw new ApplicationException("Korisničko ime korisnika ima više od 50 karaktera."); } if (string.IsNullOrEmpty(email)) { throw new ApplicationException("Email korisnika nije unet."); } if (!string.IsNullOrEmpty(email) && email.Length > 200) { throw new ApplicationException("Email korisnika ima više od 200 karaktera."); } if (string.IsNullOrEmpty(telefon)) { throw new ApplicationException("Telefon korisnika nije unet."); } if (!string.IsNullOrEmpty(telefon) && telefon.Length > 200) { throw new ApplicationException("Telefon korisnika ima više od 200 karaktera."); } if (string.IsNullOrEmpty(jmbg)) { throw new ApplicationException("JMBG korisnika nije unet."); } if (!string.IsNullOrEmpty(jmbg) && jmbg.Length != 13) { throw new ApplicationException("Jmbg korisnika nema 13 karaktera."); } if (string.IsNullOrEmpty(imeIPrezime)) { throw new ApplicationException("Ime i prezime korisnika nisu uneti."); } if (!string.IsNullOrEmpty(imeIPrezime) && imeIPrezime.Length > 200) { throw new ApplicationException("Ime i prezime korisnika ima više od 200 karaktera."); } if (!string.IsNullOrEmpty(napomena) && napomena.Length > 2000) { throw new ApplicationException("Napomena kretanja predmeta ima više od 2000 karaktera."); } if (klase != null && klase.IzborniPodaci != null && idOkruga == null) { throw new ApplicationException("Okrug korisnika nije izabran."); } if (idElementa == null && string.IsNullOrEmpty(lozinka)) { throw new ApplicationException("Lozinka korisnika nije uneta."); } if (string.IsNullOrEmpty(idElementa) && !string.IsNullOrEmpty(lozinka)) { if (!(lozinka.Any(char.IsUpper) && lozinka.Any(char.IsLower) && lozinka.Any(char.IsDigit))) { throw new ApplicationException("Lozinka ne zadovoljava postavljena pravila kreiranja lozinke.<br> Lozinka korisnika mora sadržati bar jedno veliko slovo, jedno malo slovo i jedan broj."); } } if (!string.IsNullOrEmpty(idElementa) && !string.IsNullOrEmpty(novaLozinka)) { if (!(novaLozinka.Any(char.IsUpper) && novaLozinka.Any(char.IsLower) && novaLozinka.Any(char.IsDigit))) { throw new ApplicationException("Lozinka ne zadovoljava postavljena pravila kreiranja lozinke.<br> Lozinka korisnika mora sadržati bar jedno veliko slovo, jedno malo slovo i jedan broj."); } } byte[] novaLozinkaZaSnimanje = null; byte[] lozinkaZaSnimanje = null; if (idKorisnikaZaUnos != null) { novaLozinkaZaSnimanje = string.IsNullOrEmpty(novaLozinka) ? null : Konverzija.KonvertujULatinicu(novaLozinka).CalculateMd5Hash(); } else { lozinkaZaSnimanje = string.IsNullOrEmpty(lozinka) ? null : Konverzija.KonvertujULatinicu(lozinka).CalculateMd5Hash(); } context.korisnik_SnimiKorisnika(ref idKorisnikaZaUnos, Konverzija.KonvertujULatinicu(korisnickoIme).SrediZaSnimanje(50), inspektor, idOkruga, unosNovogPredmeta, dozvolaRezervisanja, izmenaPredmeta, brisanjePredmeta, administracija, pregledIzvestaja, Konverzija.KonvertujULatinicu(email).SrediZaSnimanje(200), telefon.SrediZaSnimanje(200), jmbg.SrediZaSnimanje(13), Konverzija.KonvertujULatinicu(imeIPrezime).SrediZaSnimanje(200), Konverzija.KonvertujULatinicu(napomena).SrediZaSnimanje(2000), aktivan, korisnik.IdKorisnika, lozinkaZaSnimanje, novaLozinkaZaSnimanje, samoSvojePredmete, idOrgana, maksimalniBrojPredmeta, maxBrojRezervisanihPredmeta, maksimalniBrojPredmetaGodine, strogoPoverljivi); noviElement.IdElementa = string.Format(@"{0}", idKorisnikaZaUnos); noviElement.Naziv = Konverzija.VratiString(korisnik.Jezik, korisnickoIme); noviElement.Aktivan = aktivan; noviElement.DozvoljenoDodavanje = false; noviElement.DozvoljenaIzmena = true; noviElement.IdNadredjenogElementa = null; //if (inspektor) //{ // context.klase_insp_ObrisiKlaseInspektora(idKorisnikaZaUnos); // if (idOkruga != null && idOrgana != null) // { // if (klase.Count > 0) // { // foreach (var klasaInspektora in klase) // { // context.klase_insp_SnimiKlasuInspektora(idKorisnikaZaUnos, idOkruga, idOrgana, Int16.Parse(klasaInspektora.IdPodatka)); // } // } // } //} // tipovi dokumenata context.klase_insp_ObrisiKlaseInspektora(idKorisnikaZaUnos); if (klase != null && klase.IzborniPodaci != null) { foreach (var izabran in klase.IzborniPodaci) { if (izabran != null && izabran.Izabran) { var kljucevi = izabran.IdPodatka.Split('-'); if (kljucevi.Length == 2) { var idOrganaKlase = short.Parse(kljucevi[0]); var idKlaseZaSnimanje = short.Parse(kljucevi[1]); context.klase_insp_SnimiKlasuInspektora(idKorisnikaZaUnos, idOkruga, idOrganaKlase, idKlaseZaSnimanje); } } } } context.Transaction.Commit(); } catch (Exception) { context.Transaction.Rollback(); throw; } finally { context.Connection.Close(); } return(noviElement); } }