public ActionResult AddEditArchivoIngreso(Int32?ArchivoIngresoId, Int32 IngresoId, Int32 EdificioId) { AddEditArchivoIngresoViewModel ViewModel = new AddEditArchivoIngresoViewModel(); ViewModel.ArchivoIngresoId = ArchivoIngresoId; ViewModel.IngresoId = IngresoId; ViewModel.EdificioId = EdificioId; ViewModel.Fill(CargarDatosContext()); return(View(ViewModel)); }
public ActionResult AddEditArchivoIngreso(AddEditArchivoIngresoViewModel ViewModel) { if (!ModelState.IsValid) { ViewModel.Fill(CargarDatosContext()); TryUpdateModel(ViewModel); return(View(ViewModel)); } try { using (var transacionscope = new TransactionScope()) { Ingreso ingreso = context.Ingreso.FirstOrDefault(x => x.IngresoId == ViewModel.IngresoId); string _rutaarchivoserv = Server.MapPath("~"); Edificio edificio = context.Edificio.FirstOrDefault(x => x.EdificioId == ViewModel.EdificioId); if (ViewModel.ArchivoIngresoId.HasValue) { ArchivoIngreso _Archivo = context.ArchivoIngreso.FirstOrDefault(x => x.ArchivoIngresoId == ViewModel.ArchivoIngresoId.Value); _Archivo.Nombre = ViewModel.Archivo.FileName; //ViewModel.Nombre; string _rutaarchivodir = _rutaarchivoserv + Path.Combine("Resources/Files", edificio.Acronimo); if (!System.IO.Directory.Exists(_rutaarchivodir)) { Directory.CreateDirectory(_rutaarchivodir); } _rutaarchivodir = Path.Combine(_rutaarchivodir, ingreso.UnidadTiempo.Descripcion); if (!System.IO.Directory.Exists(_rutaarchivodir)) { Directory.CreateDirectory(_rutaarchivodir); } string _nombrearc = edificio.EdificioId + "_" + DateTime.Now.Ticks.ToString() + "_" + _Archivo.ArchivoIngresoId + Path.GetExtension(ViewModel.Archivo.FileName); _rutaarchivodir = Path.Combine(_rutaarchivodir, _nombrearc); _Archivo.Ruta = _nombrearc; ViewModel.Archivo.SaveAs(_rutaarchivodir); context.Entry(_Archivo).State = System.Data.Entity.EntityState.Modified; } else { ArchivoIngreso _Archivo = new ArchivoIngreso(); _Archivo.Nombre = ViewModel.Archivo.FileName; //ViewModel.Nombre; string _rutaarchivodir = _rutaarchivoserv + Path.Combine("Resources/Files", edificio.Acronimo); if (!System.IO.Directory.Exists(_rutaarchivodir)) { Directory.CreateDirectory(_rutaarchivodir); } _rutaarchivodir = Path.Combine(_rutaarchivodir, ingreso.UnidadTiempo.Descripcion); if (!System.IO.Directory.Exists(_rutaarchivodir)) { Directory.CreateDirectory(_rutaarchivodir); } string _nombrearc = edificio.EdificioId + "_" + DateTime.Now.Ticks.ToString() + "_" + _Archivo.ArchivoIngresoId + Path.GetExtension(ViewModel.Archivo.FileName); _rutaarchivodir = Path.Combine(_rutaarchivodir, _nombrearc); _Archivo.Ruta = _nombrearc; _Archivo.Estado = ConstantHelpers.EstadoActivo; _Archivo.FechaRegistro = DateTime.Now; _Archivo.IngresoId = ViewModel.IngresoId; ViewModel.Archivo.SaveAs(_rutaarchivodir); context.ArchivoIngreso.Add(_Archivo); } context.SaveChanges(); transacionscope.Complete(); PostMessage(MessageType.Success); } } catch { InvalidarContext(); PostMessage(MessageType.Error); } return(RedirectToAction("LstArchivoIngresoAdmin", new { IngresoId = ViewModel.IngresoId, EdificioId = ViewModel.EdificioId })); }