コード例 #1
0
        //Salidas

        /// <summary>
        /// Convertir clase SalidaViewModel a Salida.
        /// </summary>
        /// <param name="salidaViewModel"></param>
        /// <param name="isNew"></param>
        /// <returns></returns>
        public async Task <Salida> ToSalidaAsync(SalidaViewModel salidaViewModel, bool isNew)
        {
            DateTime _fecha         = DateTime.Now;
            DateTime _fechaCreacion = _fecha;

            if (!isNew)
            {
                var fechaCreacion = await _context.Salidas
                                    .Where(s => s.SalidaID == salidaViewModel.SalidaID)
                                    .Select(s => s.FechaCreacion).FirstOrDefaultAsync();

                if (fechaCreacion == null)
                {
                    fechaCreacion = _fecha;
                }
            }

            return(new Salida()
            {
                Aplicado = salidaViewModel.Aplicado,
                SalidaID = isNew ? Guid.NewGuid() : salidaViewModel.SalidaID,
                Fecha = salidaViewModel.Fecha,
                FechaActualizacion = _fecha,
                FechaCreacion = _fechaCreacion,
                Folio = salidaViewModel.Folio.Trim().ToUpper(),
                Observaciones = salidaViewModel.Observaciones == null ? "" : salidaViewModel.Observaciones.Trim().ToUpper(),
                SalidaTipoID = salidaViewModel.SalidaTipoID,
                SalidaTipo = await _getHelper.GetSalidaTipoByIdAsync((Guid)salidaViewModel.SalidaTipoID),
                UsuarioID = salidaViewModel.UsuarioID
            });
        }
コード例 #2
0
        public async Task <IActionResult> Edit(Guid?id)
        {
            var validateToken = await ValidatedToken(_configuration, _getHelper, "movimiento");

            if (validateToken != null)
            {
                return(validateToken);
            }

            if (id == null)
            {
                TempData["toast"] = "Identificador incorrecto.";
                return(RedirectToAction(nameof(Index)));
            }

            if (SalidaAplicada((Guid)id))
            {
                TempData["toast"] = "Salida aplicada no se permiten cambios.";
                return(RedirectToAction(nameof(Details), new { id }));
            }

            var salida = await _context.Salidas
                         .Include(e => e.SalidaTipo)
                         .FirstOrDefaultAsync(s => s.SalidaID == id);

            if (salida == null)
            {
                TempData["toast"] = "Identificador de la entrada inexistente.";
                return(RedirectToAction(nameof(Index)));
            }

            SalidaViewModel salidaViewModel = await _converterHelper.ToSalidaViewModelAsync(salida);

            return(View(salidaViewModel));
        }
コード例 #3
0
        public IHttpActionResult Post([FromBody] SalidaViewModel sal)
        {
            if (sal != null)
            {
                Salida s = new Salida
                {
                    Id          = sal.Id,
                    Matricula   = sal.Matricula,
                    Direccion   = sal.Direccion,
                    FechaSalida = sal.FechaSalida,
                    Importacion = sal.Importacion,
                    Usuario     = sal.Usuario
                };

                if (repoSalidas.Add(s))
                {
                    return(Ok(s));
                }
                else
                {
                    return(InternalServerError());
                }
            }
            return(BadRequest(ModelState));
        }
コード例 #4
0
        public async Task <IActionResult> Create([Bind("SalidaTipoID,Fecha,Folio,Observaciones")] SalidaViewModel salidaViewModel)
        {
            var validateToken = await ValidatedToken(_configuration, _getHelper, "movimiento");

            if (validateToken != null)
            {
                return(validateToken);
            }

            if (!await ValidateModulePermissions(_getHelper, moduloId, eTipoPermiso.PermisoEscritura))
            {
                return(RedirectToAction(nameof(Index)));
            }

            if (SalidaAplicada(salidaViewModel.SalidaID))
            {
                TempData["toast"] = "Salida aplicada no se permiten cambios.";
                return(RedirectToAction(nameof(Details), new { id = salidaViewModel.SalidaID }));
            }

            TempData["toast"] = "Falta información en algún campo.";
            ValidateFieldsAsync(salidaViewModel.SalidaTipoID);

            if (ModelState.IsValid)
            {
                salidaViewModel.UsuarioID = token.UsuarioID;
                var salida = await _converterHelper.ToSalidaAsync(salidaViewModel, true);

                try
                {
                    _context.Add(salida);
                    await _context.SaveChangesAsync();

                    TempData["toast"] = "Los datos de la salida se almacenaron correctamente.";
                    await BitacoraAsync("Alta", salida);

                    return(RedirectToAction(nameof(Details), new { id = salida.SalidaID }));
                }
                catch (Exception ex)
                {
                    string excepcion = ex.InnerException != null?ex.InnerException.Message.ToString() : ex.ToString();

                    TempData["toast"] = "Error al guardar salida, verifique bitácora de errores.";
                    await BitacoraAsync("Alta", salida, excepcion);
                }
            }

            salidaViewModel.SalidaTipoDDL = await _combosHelper.GetComboSalidasTipoAsync();

            return(View(salidaViewModel));
        }
コード例 #5
0
        public async Task <IActionResult> Create()
        {
            var validateToken = await ValidatedToken(_configuration, _getHelper, "movimiento");

            if (validateToken != null)
            {
                return(validateToken);
            }

            if (!await ValidateModulePermissions(_getHelper, moduloId, eTipoPermiso.PermisoEscritura))
            {
                return(RedirectToAction(nameof(Index)));
            }

            var salidaViewModel = new SalidaViewModel()
            {
                SalidaTipoDDL = await _combosHelper.GetComboSalidasTipoAsync()
            };

            return(View(salidaViewModel));
        }
コード例 #6
0
 public SalidasView()
 {
     InitializeComponent();
     DataContext = new SalidaViewModel();
     salidas     = svm.context.context.salida.ToList();
 }
コード例 #7
0
        public async Task <IActionResult> Edit(Guid id, [Bind("SalidaID,SalidaTipoID,Fecha,Folio,Observaciones")] SalidaViewModel salidaViewModel)
        {
            var validateToken = await ValidatedToken(_configuration, _getHelper, "movimiento");

            if (validateToken != null)
            {
                return(validateToken);
            }

            if (!await ValidateModulePermissions(_getHelper, moduloId, eTipoPermiso.PermisoEscritura))
            {
                return(RedirectToAction(nameof(Index)));
            }

            if (id != salidaViewModel.SalidaID)
            {
                TempData["toast"] = "Identificador de la entrada inexistente.";
                return(RedirectToAction(nameof(Index)));
            }
            if (SalidaAplicada((Guid)id))
            {
                TempData["toast"] = "Salida aplicada no se permiten cambios.";
                return(RedirectToAction(nameof(Details), new { id }));
            }

            TempData["toast"] = "Falta información en algún campo.";
            ValidateFieldsAsync(salidaViewModel.SalidaTipoID);

            if (ModelState.IsValid)
            {
                var salida = await _converterHelper.ToSalidaAsync(salidaViewModel, false);

                if (salida == null)
                {
                    TempData["toast"]             = "Identificador incorrecto.";
                    salidaViewModel.SalidaTipoDDL = await _combosHelper.GetComboSalidasTipoAsync();

                    return(View(salidaViewModel));
                }

                try
                {
                    _context.Update(salida);
                    await _context.SaveChangesAsync();

                    TempData["toast"] = "Los datos de la salida se actualizaron correctamente.";
                    await BitacoraAsync("Actualizar", salida);
                }
                catch (DbUpdateConcurrencyException ex)
                {
                    string excepcion = ex.InnerException != null?ex.InnerException.Message.ToString() : ex.ToString();
                    await BitacoraAsync("Actualizar", salida, excepcion);

                    if (!SalidaExists(salidaViewModel.SalidaID))
                    {
                        TempData["toast"] = "Identificador de la salida inexistente.";
                        return(RedirectToAction(nameof(Index)));
                    }
                    else
                    {
                        TempData["toast"] = "[Error] Los datos de la salida no fueron actualizados.";
                    }
                }
                return(RedirectToAction(nameof(Details), new { id = salidaViewModel.SalidaID }));
            }

            salidaViewModel.SalidaTipoDDL = await _combosHelper.GetComboSalidasTipoAsync();

            return(View(salidaViewModel));
        }