public static void ObrisiPredmete(UlogovaniKorisnik korisnik, List <long> predmeti, string razlogBrisanja) { using (var context = DmsData.GetContextWithTransaction()) { try { if (korisnik.BrisanjePredmeta && (predmeti != null && predmeti.Count > 0)) { foreach (var idPredmeta in predmeti) { context.predmet_ObrisiPredmet(idPredmeta, korisnik.IdKorisnika, razlogBrisanja.SrediZaSnimanje(2000)); } } context.Transaction.Commit(); } catch (Exception) { context.Transaction.Rollback(); throw; } finally { context.Connection.Close(); } } }
public static List <ArhiviranPredmet> ArhivirajPredmete(UlogovaniKorisnik korisnik, List <long> predmeti, List <Element> aktovi, string napomena) { //listu predmeta Id, Broj, Napomena var arhiviraniPredmeti = new List <ArhiviranPredmet>(); if (predmeti != null && predmeti.Count > 0) { var aktoviNapomena = string.Empty; if (aktovi != null && aktovi.Count > 0) { aktoviNapomena = aktovi.Aggregate(aktoviNapomena, (current, akt) => current + (akt.IdElementa + ",")); } var novaNapomena = string.Format(@"{0} {1}", aktoviNapomena.TrimEnd(','), napomena); foreach (var idPredmeta in predmeti) { using (var context = DmsData.GetContextWithTransaction()) { try { var predmet = context.predmet_ArhivirajPredmet(idPredmeta, korisnik.IdKorisnika, novaNapomena.SrediZaSnimanje(2000)).Single(); context.Transaction.Commit(); //dodati u listu uspesnih (bez napomene, null) arhiviraniPredmeti.Add(new ArhiviranPredmet { IdPredmeta = idPredmeta, BrojPredmeta = string.Format(@"{0}-{1}-{2}-{3}/{4}-{5}", predmet.OznakaOkruga, predmet.OznakaOrgana, predmet.OznakaKlase, string.Format(@"{0}", predmet.BrojPredmeta).PadLeft(6, '0'), predmet.Godina.GetValueOrDefault(), predmet.OznakaJedinice), Arhiviran = true, }); } catch (Exception exc) { context.Transaction.Rollback(); arhiviraniPredmeti.Add(new ArhiviranPredmet { IdPredmeta = idPredmeta, Napomena = exc.Message, Arhiviran = false, }); } finally { context.Connection.Close(); } } } } return(arhiviraniPredmeti); }
public static PodaciDokumenta SnimiDokumentPredmeta(UlogovaniKorisnik korisnik, long idPredmeta, string naziv, string putanja) { using (var context = DmsData.GetContextWithTransaction()) { var noviFajl = new PodaciDokumenta(); try { short?idDokumenta = null; putanja = DmsFileManager.SacuvajFajl(putanja); var hashcode = DmsFileManager.GetMD5(putanja); var novNaziv = Path.GetFileNameWithoutExtension(naziv); var ekstenzija = Path.GetExtension(naziv); if (ekstenzija != null) { ekstenzija = ekstenzija.Substring(1).ToLower(); context.dokument_DodajDokument(idPredmeta, ref idDokumenta, korisnik.IdKorisnika, novNaziv, putanja, null, hashcode, ekstenzija); context.predmet_SnimiAktivnostPredmeta(idPredmeta, korisnik.IdKorisnika, string.Format(@"Dodat dokument {0} na predmet.", naziv)); noviFajl.IdDokumenta = idDokumenta.GetValueOrDefault(); noviFajl.Naziv = novNaziv; noviFajl.Ekstenzija = ekstenzija; noviFajl.Obrisan = false; } context.Transaction.Commit(); } catch (Exception) { context.Transaction.Rollback(); throw; } finally { context.Connection.Close(); } return(noviFajl); } }
public static void AktivirajPredmet(UlogovaniKorisnik korisnik, long idPredmeta) { using (var context = DmsData.GetContextWithTransaction()) { try { context.predmet_AktivirajPredmet(idPredmeta, korisnik.IdKorisnika); context.Transaction.Commit(); } catch (Exception) { context.Transaction.Rollback(); throw; } finally { context.Connection.Close(); } } }
public static void SnimiAktivnostPredmeta(UlogovaniKorisnik korisnik, long idPredmeta, string naziv) { using (var context = DmsData.GetContextWithTransaction()) { try { context.predmet_SnimiAktivnostPredmeta(idPredmeta, korisnik.IdKorisnika, string.Format(@"Pregled dokumenta predmeta sa nazivom: {0}.", naziv)); context.Transaction.Commit(); } catch (Exception) { context.Transaction.Rollback(); throw; } finally { context.Connection.Close(); } } }
public static void ObrisiKretanjePredmeta(UlogovaniKorisnik korisnik, long idPredmeta, short idKretanja) { using (var context = DmsData.GetContextWithTransaction()) { try { context.istorija_ObrisiKretanjePredmeta(idPredmeta, idKretanja, korisnik.IdKorisnika); context.Transaction.Commit(); } catch (Exception) { context.Transaction.Rollback(); throw; } finally { context.Connection.Close(); } } }
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 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); } }
private static Predmet VratiPredmet(UlogovaniKorisnik korisnik, long idPredmeta) { // upisivanje loga - pregleda predmeta u aktivnosti using (var context = DmsData.GetContextWithTransaction()) { try { context.predmet_SnimiAktivnostPredmeta(idPredmeta, korisnik.IdKorisnika, "Pregled predmeta."); context.Transaction.Commit(); } catch (Exception) { context.Transaction.Rollback(); throw; } finally { context.Connection.Close(); } } using (var context = DmsData.GetContext()) { var p = context.predmet_VratiPredmet(idPredmeta).Select(predmet => new Predmet { IdPredmeta = predmet.IdPredmeta, BrojPredmeta = predmet.BrojPredmeta, IdJedinice = predmet.IdJedinice, IdKlase = predmet.IdKlase, IdKreator = predmet.IdKreatora, IdOkruga = predmet.IdOkruga, IdOrgana = predmet.IdOrgana, IdTakse = predmet.IdTakse, IdVrstePredmeta = predmet.IdVrstePredmeta, NazivVrstePredmeta = string.Format(@"{0}-{1}", predmet.OznakaVrstePredmeta, predmet.NazivVrstePredmeta), IdInspektora = predmet.IdInspektora, NazivInspektora = predmet.NazivInspektora, Podnosilac = predmet.Podnosilac, PodnosilacJedinstveniBroj = predmet.PodnosilacJedinstveniBroj, LiceKontrole = predmet.LiceKontrole, LiceKontroleJedinstveniBroj = predmet.LiceKontroleJedinstveniBroj, Napomena = predmet.Napomena, PodnosilacJeInspektor = predmet.PodnosilacJeInspektor, Prilog = predmet.Prilog, PutanjaArhiviranjaDokumenata = predmet.PutanjaArhiviranjaDokumenata, Sadrzaj = predmet.Sadrzaj, Status = predmet.Status, NazivStatusa = VratiNazivStatusa(korisnik.Jezik, predmet.Status, predmet.IdNadredjenogPredmeta.HasValue), StraniBroj = predmet.StraniBroj, VremeRezervacije = predmet.VremeRezervacije, VremeKreiranja = predmet.VremeKreiranja, StvarnoVremeKreiranja = predmet.StvarnoVremeKreiranja, NazivOkruga = string.Format(@"{0}-{1}", predmet.OznakaOkruga, predmet.NazivOkruga), OznakaOkruga = predmet.OznakaOkruga, OznakaKlase = predmet.OznakaKlase, OznakaOrgana = predmet.OznakaOrgana, OznakaJedinice = predmet.OznakaJedinice, NazivKreatora = predmet.NazivKreatora, Godina = predmet.Godina.GetValueOrDefault(), IdOpstine = predmet.IdOpstine, NazivOpstine = predmet.NazivOpstine, IdNadredjenogPredmeta = predmet.IdNadredjenogPredmeta, IdMesta = predmet.IdMesta, NazivMesta = predmet.NazivMesta, StrogoPoverljiv = predmet.StrogoPoverljiv.GetValueOrDefault(), }).SingleOrDefault(); if (p != null) { p.Istorija = context.istorija_VratiIstorijuPredmeta(idPredmeta, null, korisnik.IdKorisnika).Select(i => new IstorijaPredmeta { Vreme = i.Vreme, Korisnik = i.NazivKorisnika, Napomena = i.Napomena, Opis = i.Opis, Obrisao = i.Obrisao, DatumBrisanja = i.DatumBrisanja }).ToList(); p.Kretanje = context.istorija_VratiIstorijuPredmeta(idPredmeta, true, korisnik.IdKorisnika).Select(i => new IstorijaPredmeta { Vreme = i.Vreme, Korisnik = i.NazivKorisnika, Napomena = i.Napomena, Opis = i.Opis, IdKretanja = i.IdKretanja, DatumRoka = i.DatumRoka }).ToList(); p.DMS = new DMSPredmeta { IdPredmeta = idPredmeta, DozvoljeneEkstenzije = DMSData.ContentTypes.Keys.ToList(), // Dokumenti = DMSData.VratiDokumentePredmeta(korisnik, idPredmeta), ovo ce se pozivati svaki put kad se klikne na tab DozvoljenoVracanjeObrisanog = korisnik.Administracija, MaksimalnaVelicina = 1024 * 100 // 100 mb }; if (p.IdNadredjenogPredmeta.HasValue) { var pred = context.predmet_VratiBrojPredmeta(p.IdNadredjenogPredmeta).SingleOrDefault(); if (pred != null) { p.BrojNadredjenogPredmeta = 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); } } p.PovezaniPredmeti = context.predmet_VratiPovezanePredmete(p.IdPredmeta).Select(x => new PovezaniPredmet { IdPredmeta = x.IdPredmeta, BrojPredmeta = string.Format(@"{0}-{1}-{2}-{3}/{4}-{5}", x.OznakaOkruga, x.OznakaOrgana, x.OznakaKlase, string.Format(@"{0}", x.BrojPredmeta).PadLeft(6, '0'), x.Godina.GetValueOrDefault(), x.OznakaJedinice) }).ToList(); return(p); } return(null); } }
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); } }
private static PredmetiZaglavlje VratiPodatkePredmetaZaglavlja(UlogovaniKorisnik korisnik, long idPredmeta, bool cirilica) { // upisivanje loga - pregleda predmeta u aktivnosti using (var context = DmsData.GetContextWithTransaction()) { try { context.predmet_SnimiAktivnostPredmeta(idPredmeta, korisnik.IdKorisnika, "Štampanje predmeta."); context.Transaction.Commit(); } catch (Exception) { context.Transaction.Rollback(); throw; } finally { context.Connection.Close(); } } var jezik = "0"; if (cirilica) { jezik = "1"; } using (var context = DmsData.GetContext()) { var zaglavlje = context.izvestaj_VratiDetaljePredmeta(idPredmeta).Select(p => new PredmetiZaglavlje { IdPredmeta = p.IdPredmeta, IdNadredjenogPredmeta = p.IdNadredjenogPredmeta, OznakaOkruga = p.OznakaOkruga, NazivOkruga = Konverzija.VratiString(jezik, p.NazivOkruga), OznakaOrgana = p.OznakaOrgana, NazivOrgana = Konverzija.VratiString(jezik, p.NazivOrgana), OznakaKlase = p.OznakaKlase, NazivKlase = Konverzija.VratiString(jezik, p.NazivKlase), BrojPredmeta = p.BrojPredmeta, OznakaJedinice = p.OznakaJedinice, NazivJedinice = Konverzija.VratiString(jezik, p.NazivJedinice), ImeIPrezimeKreatora = Konverzija.VratiString(jezik, p.ImeIPrezimeKreatora), KorisnickoImeKreatora = Konverzija.VratiString(jezik, p.KorisnickoImeKreatora), PodnosilacJeInspektor = p.PodnosilacJeInspektor, Podnosilac = Konverzija.VratiString(jezik, p.Podnosilac), PodnosilacJedinstveniBroj = p.PodnosilacJedinstveniBroj, LiceKontrole = Konverzija.VratiString(jezik, p.LiceKontrole), LiceKontroleJedinstveniBroj = p.LiceKontroleJedinstveniBroj, VremeKreiranja = p.VremeKreiranja, VremeRezervacije = p.VremeRezervacije, OznakaVrstePredmeta = p.OznakaVrstePredmeta, NazivVrstePredmeta = Konverzija.VratiString(jezik, p.NazivVrstePredmeta), OznakaVrstePredmetaZaStampu = p.OznakaVrstePredmetaZaStampu, KorisnickoImeInspektora = p.KorisnickoImeInspektora, ImeIPrezimeInspektora = Konverzija.VratiString(jezik, p.ImeIPrezimeInspektora), Prilog = Konverzija.VratiString(jezik, p.Prilog), Sadrzaj = Konverzija.VratiString(jezik, p.Sadrzaj), NazivTakse = Konverzija.VratiString(jezik, p.NazivTakse), OznakaTakseZaStampu = p.OznakaTakseZaStampu, StraniBroj = p.StraniBroj, Napomena = Konverzija.VratiString(jezik, p.Napomena), Status = p.Status, NazivStatusa = PredmetiData.VratiNazivStatusa(korisnik.Jezik, p.Status, p.IdNadredjenogPredmeta.HasValue), Datum = DateTime.Now, DetaljanBrojPredmeta = string.Format(@"{0}-{1}-{2}-{3}/{4}-{5}", p.OznakaOkruga, p.OznakaOrgana, p.OznakaKlase, p.BrojPredmeta, p.VremeRezervacije.Year, p.OznakaJedinice), DetaljanBrojPredmetaSa000000 = string.Format(@"{0}-{1}-{2}-{3}/{4}-{5}", p.OznakaOkruga, p.OznakaOrgana, p.OznakaKlase, string.Format(@"{0}", p.BrojPredmeta).PadLeft(6, '0'), p.VremeRezervacije.Year, p.OznakaJedinice), DatumIstekaRoka = p.VremeIstekaRoka.GetValueOrDefault(), Rok = p.Rok.GetValueOrDefault(), Mesto = Konverzija.VratiString(jezik, p.Mesto), }).SingleOrDefault(); if (zaglavlje != null) { zaglavlje.StavkeIstorije = VratiStavkeIstorijePredmeta(idPredmeta, jezik); } return(zaglavlje); } }
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(); byte?idPrecice = null; if (!string.IsNullOrEmpty(idElementa)) { idPrecice = Byte.Parse(idElementa); } try { string tekst = null; foreach (PodatakElementaSifarnika element in podaci) { switch (element.Id) { case 0: tekst = element.Vrednost; break; } } if (string.IsNullOrEmpty(tekst)) { throw new ApplicationException("Tekst prečice nije unet."); } if (tekst != null && tekst.Length > 2000) { throw new ApplicationException("Tekst prečice ima više od 2000 karaktera."); } context.precica_SnimiPrecicu(korisnik.IdKorisnika, idPrecice, tekst.SrediZaSnimanje(2000)); noviElement.IdElementa = string.Format(@"{0}", idPrecice); noviElement.Naziv = Konverzija.VratiString(korisnik.Jezik, tekst.SrediZaSnimanje(50)); noviElement.Aktivan = true; noviElement.DozvoljenoBrisanje = false; 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) { var noviElement = new ElementSifarnika(); short?idInspekcije = null; if (!string.IsNullOrEmpty(idElementa)) { idInspekcije = short.Parse(idElementa); } List <Inspekcija> klaseIJedinice = new List <Inspekcija>(); string naziv = null; foreach (var podatak in podaci) { switch (podatak.Id) { case 0: naziv = podatak.Vrednost; break; case 4: if (podatak.IzborniPodaci != null && podatak.IzborniPodaci.Count > 0) { foreach (var podaciZaIzbor in podatak.IzborniPodaci) { if (podaciZaIzbor != null && !string.IsNullOrEmpty(podaciZaIzbor.IdPodatka)) { var kljucevi = podaciZaIzbor.IdPodatka.Split('-'); if (kljucevi.Length == 3) { if (!string.IsNullOrEmpty(kljucevi[0]) && !string.IsNullOrEmpty(kljucevi[1])) { var klasaIJedinica = new Inspekcija { IdOrgana = short.Parse(kljucevi[0]), IdKlase = short.Parse(kljucevi[1]), IdJedinice = string.IsNullOrEmpty(kljucevi[2]) ? (short)0 : short.Parse(kljucevi[2]), }; klaseIJedinice.Add(klasaIJedinica); } } } } } break; } } if (string.IsNullOrEmpty(naziv)) { throw new ApplicationException("Naziv inspekcije nije unet."); } if (naziv != null && naziv.Length > 100) { throw new ApplicationException("Naziv inspekcije ima više od 100 karaktera."); } using (var context = DmsData.GetContextWithTransaction()) { try { context.inspekcije_SnimiInspekciju(ref idInspekcije, naziv.SrediZaSnimanje(100), korisnik.IdKorisnika, korisnik.IdOkruga); context.inspekcija_ObrisiKlaseIJedinice(idInspekcije, korisnik.IdOkruga, korisnik.IdKorisnika); foreach (var klasaIJedinica in klaseIJedinice.GroupBy(x => new { x.IdOrgana, x.IdKlase, x.IdJedinice })) { context.inspekcija_SacuvajKlasuIJedinicu(idInspekcije, klasaIJedinica.Key.IdOrgana, klasaIJedinica.Key.IdKlase, klasaIJedinica.Key.IdJedinice, korisnik.IdOkruga, korisnik.IdKorisnika); } noviElement.IdElementa = string.Format(@"{0}", idInspekcije); noviElement.Naziv = Konverzija.VratiString(korisnik.Jezik, naziv.SrediZaSnimanje(100)); noviElement.Aktivan = true; 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 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 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 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); } }