public ActionResult DeleteArchivoTrabajador(Int32 ArchivoTrabajadorId, Int32 EdificioId)
 {
     try
     {
         ArchivoTrabajador _Archivo = context.ArchivoTrabajador.FirstOrDefault(x => x.ArchivoTrabajadorId == ArchivoTrabajadorId);
         _Archivo.Estado = ConstantHelpers.EstadoInactivo;
         context.Entry(_Archivo).State = System.Data.Entity.EntityState.Modified;
         context.SaveChanges();
         PostMessage(MessageType.Success);
     }
     catch { }
     return(RedirectToAction("LstArchivoTrabajador", new { EdificioId = EdificioId }));
 }
 public void Fill(CargarDatosContext datacontext)
 {
     baseFill(datacontext);
     Edificio = datacontext.context.Edificio.FirstOrDefault(x => x.EdificioId == EdificioId);
     if (ArchivoTrabajadorId.HasValue)
     {
         ArchivoTrabajador ArchivoTrabajador = datacontext.context.ArchivoTrabajador.FirstOrDefault(x => x.ArchivoTrabajadorId == ArchivoTrabajadorId.Value);
         if (ArchivoTrabajador != null)
         {
             this.Nombre = ArchivoTrabajador.Nombre;
             this.Ruta   = ArchivoTrabajador.Ruta;
             this.Estado = ArchivoTrabajador.Estado;
             this.ArchivoTrabajadorId     = ArchivoTrabajador.ArchivoTrabajadorId;
             this.UnidadTiempoId          = ArchivoTrabajador.UnidadTiempoId;
             this.DescripcionUnidadTiempo = ArchivoTrabajador.UnidadTiempo.Descripcion;
         }
     }
 }
        public ActionResult AddEditArchivoTrabajador(AddEditArchivoTrabajadorViewModel ViewModel)
        {
            if (!ModelState.IsValid)
            {
                ViewModel.FillComboUnidadTiempo(CargarDatosContext());
                ViewModel.Fill(CargarDatosContext());
                TryUpdateModel(ViewModel);
                return(View(ViewModel));
            }
            try
            {
                using (var transacionscope = new TransactionScope())
                {
                    string   _rutaarchivoserv = Server.MapPath("~");
                    Edificio edificio         = context.Edificio.FirstOrDefault(x => x.EdificioId == ViewModel.EdificioId);
                    ViewModel.DescripcionUnidadTiempo = context.UnidadTiempo.FirstOrDefault(x => x.UnidadTiempoId == ViewModel.UnidadTiempoId).Descripcion.ToUpper();

                    if (ViewModel.ArchivoTrabajadorId.HasValue)
                    {
                        ArchivoTrabajador _Archivo = context.ArchivoTrabajador.FirstOrDefault(x => x.ArchivoTrabajadorId == ViewModel.ArchivoTrabajadorId.Value);
                        _Archivo.Nombre         = ViewModel.Nombre;
                        _Archivo.UnidadTiempoId = ViewModel.UnidadTiempoId;

                        string _rutaarchivodir = _rutaarchivoserv + Path.Combine("Resources/Files", edificio.Acronimo);
                        if (!System.IO.Directory.Exists(_rutaarchivodir))
                        {
                            Directory.CreateDirectory(_rutaarchivodir);
                        }
                        _rutaarchivodir = Path.Combine(_rutaarchivodir, ViewModel.DescripcionUnidadTiempo);
                        if (!System.IO.Directory.Exists(_rutaarchivodir))
                        {
                            Directory.CreateDirectory(_rutaarchivodir);
                        }

                        string _nombrearc = edificio.EdificioId + "_" + DateTime.Now.Ticks.ToString() + 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
                    {
                        ArchivoTrabajador _Archivo = new ArchivoTrabajador();
                        _Archivo.Nombre = ViewModel.Nombre;

                        string _rutaarchivodir = _rutaarchivoserv + Path.Combine("Resources/Files", edificio.Acronimo);
                        if (!System.IO.Directory.Exists(_rutaarchivodir))
                        {
                            Directory.CreateDirectory(_rutaarchivodir);
                        }
                        _rutaarchivodir = Path.Combine(_rutaarchivodir, ViewModel.DescripcionUnidadTiempo);
                        if (!System.IO.Directory.Exists(_rutaarchivodir))
                        {
                            Directory.CreateDirectory(_rutaarchivodir);
                        }

                        string _nombrearc = edificio.EdificioId + "_" + DateTime.Now.Ticks.ToString() + Path.GetExtension(ViewModel.Archivo.FileName);
                        _rutaarchivodir = Path.Combine(_rutaarchivodir, _nombrearc);
                        _Archivo.Ruta   = _nombrearc;

                        _Archivo.UnidadTiempoId = ViewModel.UnidadTiempoId;
                        _Archivo.Estado         = ConstantHelpers.EstadoActivo;
                        _Archivo.EdificioId     = ViewModel.EdificioId;
                        _Archivo.FechaRegistro  = DateTime.Now;
                        ViewModel.Archivo.SaveAs(_rutaarchivodir);
                        context.ArchivoTrabajador.Add(_Archivo);
                    }
                    context.SaveChanges();
                    transacionscope.Complete();
                    PostMessage(MessageType.Success);
                }
            }
            catch { InvalidarContext(); PostMessage(MessageType.Error); }
            return(RedirectToAction("LstArchivoTrabajador", new { EdificioId = ViewModel.EdificioId }));
        }