Пример #1
0
        public JsonResult SnimiIstorijuPredmeta(long idPredmeta, short vrstaKretanja, string napomena, string datumRokaJ)
        {
            var korisnik = RuntimeDataHelpers.GetRuntimeData(Request);
            var res      = new MyResponse();

            try
            {
                var      ser       = new JavaScriptSerializer();
                DateTime?datumRoka = null;

                if (!string.IsNullOrEmpty(datumRokaJ))
                {
                    datumRoka = ser.Deserialize <DateTime>(datumRokaJ);
                }

                res.Data = PredmetiData.SnimiIstorijuPredmeta(korisnik, idPredmeta, vrstaKretanja, napomena, datumRoka);
            }
            catch (Exception ex)
            {
                res.Greska = true;
                res.Poruka = ExceptionParser.Parsiraj(korisnik, ex);
            }

            return(Json(res, JsonRequestBehavior.DenyGet));
        }
Пример #2
0
        public HtmlString VratiInfoOPredmetu(long idPredmeta)
        {
            var korisnik = RuntimeDataHelpers.GetRuntimeData(Request);
            var info     = PredmetiData.VratiInfoOPredmetu(korisnik, idPredmeta);

            return(new HtmlString(MyHelpers.NapraviHoverPopupPredmeti(info, korisnik)));
        }
Пример #3
0
        public JsonResult SnimiPredmet(short tipDokumenta, string predmetJ, short?kolicina, bool?bezStampe)
        {
            var korisnik = RuntimeDataHelpers.GetRuntimeData(Request);
            var res      = new MyResponse();

            try
            {
                var ser     = new JavaScriptSerializer();
                var predmet = ser.Deserialize <Predmet>(predmetJ);

                if (korisnik.IdOkruga != null)
                {
                    predmet.IdOkruga = (short)korisnik.IdOkruga;
                }

                var zaglavlje = PredmetiData.SnimiPredmet(korisnik, tipDokumenta, predmet, kolicina);
                if (bezStampe != true)
                {
                    if (tipDokumenta == 2)
                    {
                        zaglavlje.Stampa = IzvestajiData.VratiStampeRezervisanihBrojevaPredmeta(korisnik, zaglavlje);
                    }
                    res.Data = zaglavlje;
                }
            }
            catch (Exception ex)
            {
                res.Greska = true;
                res.Poruka = ExceptionParser.Parsiraj(korisnik, ex);
            }

            return(Json(res, JsonRequestBehavior.DenyGet));
        }
Пример #4
0
        public JsonResult PrijaviGresku(string greska, string url, string slika)
        {
            var korisnik = RuntimeDataHelpers.GetRuntimeData(Request);
            var res      = new MyResponse();

            try
            {
                var msg = greska;

                try
                {
                    var urlSlike = slika.Split(',')[1];
                    var imgByte  = Convert.FromBase64String(urlSlike);
                    var guid     = Guid.NewGuid().ToString();
                    var fileName = Path.GetFileName(guid + ".jpg");

                    Directory.CreateDirectory(Server.MapPath("~/Content/DMS/GreskeslikeGresaka/"));
                    string putanjaFajla = Path.Combine(Server.MapPath("~/Content/DMS/GreskeslikeGresaka/"), fileName);

                    using (var file = new FileStream(putanjaFajla, FileMode.CreateNew))
                    {
                        file.Write(imgByte, 0, imgByte.Length);
                    }

                    var rek  = Request.UrlReferrer.AbsoluteUri;
                    var put2 = putanjaFajla.Replace(Path.Combine(Server.MapPath("~")), rek);
                    var bss  = "\\";
                    put2 = put2.Replace(bss, "/");
                    msg  = string.Format("{0}\n\nSlika: {1}", msg, put2);
                }
                catch (Exception e) { }

                var descBuilder = new StringBuilder(msg);
                descBuilder.AppendLine();

                var description = descBuilder.ToString();

                PredmetiData.PrijaviGresku(korisnik, description, url);//description je umesto greska
            }
            catch (Exception ex)
            {
                res.Greska = true;
                res.Poruka = ExceptionParser.Parsiraj(korisnik, ex);
            }

            return(Json(res, JsonRequestBehavior.DenyGet));
        }
Пример #5
0
        public JsonResult AktivirajPredmet(long idPredmeta)
        {
            var korisnik = RuntimeDataHelpers.GetRuntimeData(Request);
            var res      = new MyResponse();

            try
            {
                PredmetiData.AktivirajPredmet(korisnik, idPredmeta);
            }
            catch (Exception ex)
            {
                res.Greska = true;
                res.Poruka = ExceptionParser.Parsiraj(korisnik, ex);
            }

            return(Json(res, JsonRequestBehavior.DenyGet));
        }
Пример #6
0
        public JsonResult VratiSledeciSlobodanBrojPredmeta(short idOrgana, short idKlase)
        {
            var korisnik = RuntimeDataHelpers.GetRuntimeData(Request);
            var res      = new MyResponse();

            try
            {
                res.Data = PredmetiData.VratiSledeciSlobodanBrojPredmeta(korisnik, idOrgana, idKlase);
            }
            catch (Exception ex)
            {
                res.Greska = true;
                res.Poruka = ExceptionParser.Parsiraj(korisnik, ex);
            }

            return(Json(res, JsonRequestBehavior.AllowGet));
        }
Пример #7
0
        public JsonResult VratiIstorijuPredmeta(long idPredmeta, bool?kretanje)
        {
            var korisnik = RuntimeDataHelpers.GetRuntimeData(Request);
            var res      = new MyResponse();

            try
            {
                res.Data = PredmetiData.VratiIstorijuPredmeta(korisnik, idPredmeta, kretanje);
            }
            catch (Exception ex)
            {
                res.Greska = true;
                res.Poruka = ExceptionParser.Parsiraj(korisnik, ex);
            }

            return(Json(res, JsonRequestBehavior.AllowGet));
        }
Пример #8
0
        public JsonNetResult VratiIdPredmetaPrekoBroja(string brojPredmeta)
        {
            var korisnik = RuntimeDataHelpers.GetRuntimeData(Request);
            var res      = new MyResponse();

            try
            {
                res.Data = PredmetiData.VratiIdPredmetaPrekoBroja(korisnik, brojPredmeta);
            }
            catch (Exception ex)
            {
                res.Greska = true;
                res.Poruka = ExceptionParser.Parsiraj(korisnik, ex);
            }

            return(new JsonNetResult {
                Data = res, JsonRequestBehavior = JsonRequestBehavior.AllowGet
            });
        }
Пример #9
0
        public JsonNetResult VratiMestaOpstine(short idOpstine)
        {
            var korisnik = RuntimeDataHelpers.GetRuntimeData(Request);
            var res      = new MyResponse();

            try
            {
                res.Data = PredmetiData.VratiMestaOpstine(korisnik, idOpstine);
            }
            catch (Exception ex)
            {
                res.Greska = true;
                res.Poruka = ExceptionParser.Parsiraj(korisnik, ex);
            }

            return(new JsonNetResult {
                Data = res, JsonRequestBehavior = JsonRequestBehavior.AllowGet
            });
        }
Пример #10
0
        public JsonResult ObrisiPredmete(string predmetiJ, string razlogBrisanja)
        {
            var korisnik = RuntimeDataHelpers.GetRuntimeData(Request);
            var res      = new MyResponse();

            try
            {
                var ser      = new JavaScriptSerializer();
                var predmeti = ser.Deserialize <List <long> >(predmetiJ);
                PredmetiData.ObrisiPredmete(korisnik, predmeti, razlogBrisanja);
            }
            catch (Exception ex)
            {
                res.Greska = true;
                res.Poruka = ExceptionParser.Parsiraj(korisnik, ex);
            }

            return(Json(res, JsonRequestBehavior.DenyGet));
        }
Пример #11
0
        public JsonResult ArhiviranjePredmeta(string predmetiJ, string aktoviJ, string napomena)
        {
            var korisnik = RuntimeDataHelpers.GetRuntimeData(Request);
            var res      = new MyResponse();

            try
            {
                var ser      = new JavaScriptSerializer();
                var predmeti = ser.Deserialize <List <long> >(predmetiJ);
                var aktovi   = ser.Deserialize <List <Element> >(aktoviJ);
                res.Data = PredmetiData.ArhivirajPredmete(korisnik, predmeti, aktovi, napomena);
            }
            catch (Exception ex)
            {
                res.Greska = true;
                res.Poruka = ExceptionParser.Parsiraj(korisnik, ex);
            }

            return(Json(res, JsonRequestBehavior.DenyGet));
        }
Пример #12
0
        public static List <DefinisanaStampa> VratiStampePretrazenihPredmeta(UlogovaniKorisnik korisnik, List <long> listaIdPredmeta)
        {
            var zaglavlje = new PregledPretrazenihPredmetaZaglavlje();

            using (var context = DmsData.GetContext())
            {
                if (listaIdPredmeta != null && listaIdPredmeta.Count > 0)
                {
                    var inspektori = context.korisnik_VratiInspektore(korisnik.IdOkruga, null).ToDictionary(d => d.IdKorisnika, r => r.ImeIPrezime);

                    foreach (var idPredmeta in listaIdPredmeta)
                    {
                        //godina je vreme rezervacije
                        var predmet = context.predmet_VratiPredmet(idPredmeta).Select(p => new Predmet
                        {
                            IdPredmeta                  = p.IdPredmeta,
                            BrojPredmeta                = p.BrojPredmeta,
                            IdJedinice                  = p.IdJedinice,
                            IdKlase                     = p.IdKlase,
                            IdKreator                   = p.IdKreatora,
                            IdOkruga                    = p.IdOkruga,
                            IdOpstine                   = p.IdOpstine,
                            NazivOpstine                = p.NazivOpstine,
                            IdOrgana                    = p.IdOrgana,
                            IdTakse                     = p.IdTakse,
                            IdVrstePredmeta             = p.IdVrstePredmeta,
                            IdInspektora                = p.IdInspektora,
                            Podnosilac                  = p.Podnosilac,
                            PodnosilacJedinstveniBroj   = p.PodnosilacJedinstveniBroj,
                            LiceKontrole                = p.LiceKontrole,
                            LiceKontroleJedinstveniBroj = p.LiceKontroleJedinstveniBroj,
                            Napomena                    = p.Napomena,
                            PodnosilacJeInspektor       = p.PodnosilacJeInspektor,
                            Prilog = p.Prilog,
                            PutanjaArhiviranjaDokumenata = p.PutanjaArhiviranjaDokumenata,
                            Sadrzaj               = p.Sadrzaj,
                            Status                = p.Status,
                            NazivStatusa          = PredmetiData.VratiNazivStatusa(korisnik.Jezik, p.Status, p.IdNadredjenogPredmeta.HasValue),
                            StraniBroj            = p.StraniBroj,
                            VremeRezervacije      = p.VremeRezervacije,
                            StvarnoVremeKreiranja = p.StvarnoVremeKreiranja,
                            VremeKreiranja        = p.VremeKreiranja,
                            NazivOkruga           = string.Format(@"{0}-{1}", p.OznakaOkruga, p.NazivOkruga),
                            OznakaOkruga          = p.OznakaOkruga,
                            OznakaKlase           = p.OznakaKlase,
                            OznakaOrgana          = p.OznakaOrgana,
                            OznakaJedinice        = p.OznakaJedinice,
                            NazivKreatora         = p.NazivKreatora,
                            Godina                = p.Godina.GetValueOrDefault(),
                            NazivPredmeta         =
                                string.Format(@"{0}-{1}-{2}-{3}/{4}-{5}", p.OznakaOkruga, p.OznakaOrgana,
                                              p.OznakaKlase, string.Format(@"{0}", p.BrojPredmeta).PadLeft(6, '0'), p.Godina, p.OznakaJedinice),



                            NazivInspektora = null,
                            Mesec           = p.VremeKreiranja.Month,
                            SifraPredmeta   = string.Format(@"{0}-{1}-{2}-{3}/{4}-{5}", p.OznakaOkruga, p.OznakaOrgana,
                                                            p.OznakaKlase, string.Format(@"{0}", p.BrojPredmeta).PadLeft(6, '0'), p.Godina, p.OznakaJedinice),
                        }).Single();

                        if (predmet.IdInspektora.HasValue && inspektori.ContainsKey(predmet.IdInspektora.Value))
                        {
                            predmet.NazivInspektora = inspektori[predmet.IdInspektora.Value];
                        }

                        zaglavlje.Predmeti.Add(predmet);
                    }
                }
            }

            var dir    = Directory.CreateDirectory(PutanjaAplikacije.PutanjaReportPregledPretrazenih);
            var stampe = new List <DefinisanaStampa>();
            var guid   = Guid.NewGuid().ToString();

            foreach (var file in dir.GetFiles())
            {
                var stampa = new DefinisanaStampa {
                    Naziv = file.Name.TrimEnd(".repx".ToArray())
                };
                stampa.Link = string.Format("{0}/{1}/{2}.pdf", PutanjaAplikacije.PutanjaStampeWeb, guid, stampa.Naziv);
                var report = new PregledPretrazenihPredmetaReport();
                report.LoadLayout(file.FullName);
                report.PostaviPodatke(zaglavlje);
                report.CreateDocument();
                if (!Directory.Exists(string.Format("{0}{1}", PutanjaAplikacije.PutanjaStampe, guid)))
                {
                    Directory.CreateDirectory(string.Format("{0}{1}", PutanjaAplikacije.PutanjaStampe, guid));
                }
                report.ExportToPdf(string.Format("{0}{1}\\{2}.pdf", PutanjaAplikacije.PutanjaStampe, guid, stampa.Naziv));
                var opt = new XlsExportOptions {
                    ShowGridLines = true
                };
                report.ExportToXls(string.Format("{0}{1}\\{2}.xls", PutanjaAplikacije.PutanjaStampe, guid, stampa.Naziv), opt);
                stampe.Add(stampa);
            }

            return(stampe);
        }
Пример #13
0
        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);
            }
        }
Пример #14
0
        public ActionResult Index(short tipDokumenta, long?idPredmeta, bool?dms, bool?close, bool?stampa)
        {
            var korisnik = RuntimeDataHelpers.GetRuntimeData(Request);

            var poruka = string.Empty;

            try
            {
                switch (tipDokumenta)
                {
                case 1:
                    if (korisnik.IdOkruga == null || !korisnik.UnosNovogPredmeta)
                    {
                        Response.StatusCode = 903;
                        Response.End();
                    }
                    else
                    {
                        ViewData["vm"] = PredmetiData.VratiPredmetViewModel(korisnik, null);
                    }
                    break;

                case 2:
                    if (korisnik.IdOkruga == null || !korisnik.DozvolaRezervisanja)
                    {
                        return(RedirectToAction("Index", "Predmeti", new { tipDokumenta = 1 }));
                    }
                    ViewData["vm"] = PredmetiData.VratiPredmetViewModel(korisnik, null);
                    break;

                case 3:
                    if (idPredmeta != null)
                    {
                        var predmetViewModel = PredmetiData.VratiPredmetViewModel(korisnik, idPredmeta);

                        if (korisnik.SamoSvojePredmete)
                        {
                            if (predmetViewModel.Predmet.IdKreator != korisnik.IdKorisnika &&
                                predmetViewModel.Predmet.IdInspektora != korisnik.IdKorisnika &&
                                (!PredmetiData.PredmetPripadaKlasiInspektora(idPredmeta, korisnik)))
                            {
                                Response.StatusCode = 903;
                                Response.End();
                            }
                            else
                            {
                                ViewData["vm"] = predmetViewModel;
                            }
                        }
                        else
                        {
                            if (!PredmetiData.PredmetPripadaKlasiInspektora(idPredmeta, korisnik))
                            {
                                Response.StatusCode = 903;
                                Response.End();
                            }
                            else
                            {
                                ViewData["vm"] = predmetViewModel;
                            }
                        }
                    }
                    else
                    {
                        Response.StatusCode = 903;
                        Response.End();
                    }

                    break;

                case 4:
                    if (korisnik.IdOkruga == null || !korisnik.IzmenaPredmeta || korisnik.Inspektor)
                    {
                        if (idPredmeta != null)
                        {
                            return(RedirectToAction("Index", "Predmeti",
                                                    new { tipDokumenta = 3, idPredmeta = idPredmeta }));
                        }
                        Response.StatusCode = 903;
                        Response.End();
                    }
                    else
                    {
                        var predmetViewModel = PredmetiData.VratiPredmetViewModel(korisnik, idPredmeta);

                        if (korisnik.SamoSvojePredmete)
                        {
                            if (predmetViewModel.Predmet.IdKreator != korisnik.IdKorisnika &&
                                predmetViewModel.Predmet.IdInspektora != korisnik.IdKorisnika)
                            {
                                Response.StatusCode = 903;
                                Response.End();
                            }
                            else
                            {
                                ViewData["vm"] = predmetViewModel;
                            }
                        }
                        else
                        {
                            ViewData["vm"] = predmetViewModel;
                        }
                    }
                    break;
                }
            }
            catch (Exception ex)
            {
                poruka = ExceptionParser.Parsiraj(korisnik, ex);
            }

            ViewData["tipDokumenta"] = tipDokumenta;

            ViewData["korisnik"] = korisnik;

            ViewData["dms"] = dms;

            ViewData["stampa"] = stampa;

            ViewData["close"] = close;

            ViewData["poruka"] = poruka;

            return(View());
        }