예제 #1
0
        public ActionResult AddEditArchivoTrabajador(Int32?ArchivoTrabajadorId, Int32 EdificioId)
        {
            AddEditArchivoTrabajadorViewModel ViewModel = new AddEditArchivoTrabajadorViewModel();

            ViewModel.ArchivoTrabajadorId = ArchivoTrabajadorId;
            ViewModel.EdificioId          = EdificioId;
            ViewModel.FillComboUnidadTiempo(CargarDatosContext());
            ViewModel.Fill(CargarDatosContext());
            return(View(ViewModel));
        }
예제 #2
0
        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 }));
        }