Example #1
0
        public ActionResult AddEditArchivoGasto(Int32?ArchivoGastoId, Int32 GastoId, Int32 EdificioId)
        {
            AddEditArchivoGastoViewModel ViewModel = new AddEditArchivoGastoViewModel();

            ViewModel.ArchivoGastoId = ArchivoGastoId;
            ViewModel.GastoId        = GastoId;
            ViewModel.EdificioId     = EdificioId;
            ViewModel.Fill(CargarDatosContext());
            return(View(ViewModel));
        }
Example #2
0
        public ActionResult AddEditArchivoGasto(AddEditArchivoGastoViewModel ViewModel)
        {
            try
            {
                using (var transacionscope = new TransactionScope())
                {
                    Gasto    gasto            = context.Gasto.FirstOrDefault(x => x.GastoId == ViewModel.GastoId);
                    string   _rutaarchivoserv = Server.MapPath("~") + "\\";
                    Edificio edificio         = context.Edificio.FirstOrDefault(x => x.EdificioId == ViewModel.EdificioId);
                    if (ViewModel.ArchivoGastoId.HasValue)
                    {
                        ArchivoGasto _Archivo        = context.ArchivoGasto.FirstOrDefault(x => x.ArchivoGastoId == ViewModel.ArchivoGastoId.Value);
                        var          _rutaarchivodir = _rutaarchivoserv + Path.Combine("Resources\\Files", edificio.Acronimo);
                        var          auxDir          = _rutaarchivodir;
                        _rutaarchivodir = Path.Combine(_rutaarchivodir, _Archivo.Ruta);
                        if (System.IO.File.Exists(_rutaarchivodir))
                        {
                            var extension   = _Archivo.Ruta.Split('.');
                            var cantPuntos  = extension.Count();
                            var nuevoNombre = ViewModel.Nombre + "." + extension[cantPuntos - 1];
                            System.IO.File.Move(_rutaarchivodir, Path.Combine(auxDir, nuevoNombre));
                            _Archivo.Nombre = nuevoNombre;//ViewModel.Nombre;
                            //_Archivo.Ruta = nuevoNombre;//ViewModel.Nombre; //ViewModel.Nombre;
                        }
                        else
                        {
                            PostMessage(MessageType.Warning, "No se encontró ruta " + _rutaarchivodir);
                            _Archivo.Nombre = ViewModel.Nombre; //ViewModel.Nombre;
                        }
                    }
                    else
                    {
                        foreach (var file in ViewModel.Archivo)
                        {
                            ArchivoGasto _Archivo = new ArchivoGasto();
                            _Archivo.Nombre = ViewModel.DescripcionUnidadMedida + "_" + file.FileName; //ViewModel.Nombre;

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

                            string _nombrearc = ViewModel.DescripcionUnidadMedida + "_" + Guid.NewGuid().ToString().Substring(0, 4) + DateTime.Now.ToString("ddMMyyyyHHmmssfff") + Path.GetExtension(file.FileName);// file.FileName;// + Path.GetExtension(file.FileName);

                            _rutaarchivodir        = Path.Combine(_rutaarchivodir, _nombrearc);
                            _Archivo.Ruta          = _nombrearc;
                            _Archivo.Estado        = ConstantHelpers.EstadoActivo;
                            _Archivo.FechaRegistro = DateTime.Now;
                            _Archivo.GastoId       = ViewModel.GastoId;
                            file.SaveAs(_rutaarchivodir);
                            context.ArchivoGasto.Add(_Archivo);
                        }
                    }
                    context.SaveChanges();
                    transacionscope.Complete();
                    PostMessage(MessageType.Success);
                }
            }
            catch { InvalidarContext(); PostMessage(MessageType.Error); }
            return(RedirectToAction("LstArchivoGastoAdmin", new { GastoId = ViewModel.GastoId, EdificioId = ViewModel.EdificioId }));
        }