Пример #1
0
        public EditDoc(ref SPage page, ref Document document)
        {
            viewModel   = new EditDocViewModel(page, document);
            DataContext = viewModel;
            InitializeComponent();
            this.document = document;

            viewModel.Closing += (s, e) => this.Close();
        }
Пример #2
0
 public ActionResult Edit1(int?id, HttpPostedFileBase File, [Bind(Include = "Documento_Id,RuoloId")] DocRuoli docRuoli, [Bind(Include = "Documento_Id,Categoria_Id,Evento_Id,Linea_Id,Sessione_Id,Oratore,Titolo,Descrizione,Data,Riferimento,Lingua,NomeFile")] EditDocViewModel editDoc, params string[] selectedRole)
 {
     if (ModelState.IsValid)
     {
         Documenti documenti = db.Documentis.Find(id);
         if (documenti == null)
         {
             return(HttpNotFound());
         }
         ViewBag.Categoria_Id = new SelectList(db.Categories, "Categoria_Id", "Categoria", documenti.Categoria_Id);
         ViewBag.Evento_Id    = new SelectList(db.Eventis, "Evento_Id", "Evento", documenti.Evento_Id);
         ViewBag.Linea_Id     = new SelectList(db.Linees, "Linea_Id", "Linea", documenti.Linea_Id);
         ViewBag.Sessione_Id  = new SelectList(db.Sessionis, "Sessione_Id", "Sessione", documenti.Sessione_Id);
         //Se è selezionato un file lo copio nella cartellla documenti e cancello quello esistente
         if (File != null)
         {
             var filename = Path.GetFileName(File.FileName);
             var path     = Path.Combine(Server.MapPath("~/Content/Documenti/"), documenti.Documento_Id + "_" + filename);
             var path1    = Path.Combine(Server.MapPath("~/Content/Documenti/"), documenti.Documento_Id + "_" + editDoc.NomeFile);
             System.IO.File.Delete(path1);
             File.SaveAs(path);
         }
         //Assegno i campi del modelview al db e li salvo
         documenti.Documento_Id = editDoc.Documento_Id;
         documenti.Categoria_Id = editDoc.Categoria_Id;
         documenti.Evento_Id    = editDoc.Evento_Id;
         documenti.Linea_Id     = editDoc.Linea_Id;
         documenti.Sessione_Id  = editDoc.Sessione_Id;
         documenti.Oratore      = editDoc.Oratore;
         documenti.Titolo       = editDoc.Titolo;
         documenti.Descrizione  = editDoc.Descrizione;
         documenti.Data         = editDoc.Data;
         documenti.Riferimento  = editDoc.Riferimento;
         documenti.Lingua       = editDoc.Lingua;
         //imposto il nome file in base a se c'è un file selezionato nel input file
         if (File != null)
         {
             var filename = Path.GetFileName(File.FileName);
             documenti.NomeFile = filename;
         }
         else
         {
             documenti.NomeFile = editDoc.NomeFile;
         }
         db.Entry(documenti).State = EntityState.Modified;
         db.SaveChanges();
         //Filtro documentoRuoli e cancello quelli relativi al documento
         var documentoRuoli = db.DocRuolis.Where(d => d.Documento_Id == editDoc.Documento_Id).ToList();
         foreach (var itemDel in documentoRuoli)
         {
             DocRuoli documentiRuoliDel = db.DocRuolis.Find(itemDel.DocRuoli_Id);
             db.DocRuolis.Remove(documentiRuoliDel);
             db.SaveChanges();
         }
         //riscrivo i ruoli assegnati
         selectedRole = selectedRole ?? new string[] { };
         foreach (var item in selectedRole)
         {
             docRuoli.Documento_Id = documenti.Documento_Id;
             docRuoli.RuoloId      = item.ToString();
             db.DocRuolis.Add(docRuoli);
             db.SaveChanges();
         }
         return(RedirectToAction("Index"));
     }
     return(RedirectToAction("Edit1", "Documentis"));
 }