Exemple #1
0
        public static string VratiLinkDokumentaPredmeta(UlogovaniKorisnik korisnik, long idPredmeta, short idDokumenta)
        {
            using (var context = DmsData.GetContext())
            {
                var putanjaDokumenta =
                    context.dokument_VratiDetaljeDokumenta(idPredmeta, idDokumenta)
                    .Select(dok => dok.Putanja)
                    .SingleOrDefault();

                return(DmsFileManager.VratiLink(putanjaDokumenta));
            }
        }
Exemple #2
0
        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);
            }
        }