예제 #1
0
        public async Task <IActionResult> Delete(Guid?id)
        {
            var validateToken = await ValidatedToken(_configuration, _getHelper, "contacto");

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

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

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

            var proveedor = await _getHelper.GetProveedorByIdAsync((Guid)id);

            if (proveedor == null)
            {
                TempData["toast"] = "Identificacor incorrecto, verifique.";
                return(RedirectToAction(nameof(Index)));
            }

            if (proveedor.ProveedorContactos.Count > 0)
            {
                TempData["toast"] = $"El proveedor no se puede eliminar, porque tiene {proveedor.ProveedorContactos.Count} contacto(s) asignado(s).";
                return(RedirectToAction(nameof(Index)));
            }

            try
            {
                _context.Proveedores.Remove(proveedor);
                await _context.SaveChangesAsync();
                await BitacoraAsync("Baja", proveedor);

                TempData["toast"] = "Los datos del proveedor fueron eliminados correctamente.";
            }
            catch (Exception ex)
            {
                string excepcion = ex.InnerException != null?ex.InnerException.Message.ToString() : ex.ToString();

                TempData["toast"] = "[Error] Los datos del proveedor no fueron eliminados.";
                await BitacoraAsync("Baja", proveedor, excepcion);
            }

            return(RedirectToAction(nameof(Index)));
        }
예제 #2
0
        //Entradas

        /// <summary>
        /// Convertir clase EntradaviewModel a Entrada.
        /// </summary>
        /// <param name="entradaViewModel"></param>
        /// <param name="isNew"></param>
        /// <returns></returns>
        public async Task <Entrada> ToEntradaAsync(EntradaViewModel entradaViewModel, bool isNew)
        {
            return(new Entrada()
            {
                Aplicado = entradaViewModel.Aplicado,
                EntradaID = isNew ? Guid.NewGuid() : entradaViewModel.EntradaID,
                Fecha = entradaViewModel.Fecha,
                FechaActualizacion = DateTime.Now,
                FechaCreacion = isNew ? DateTime.Now : entradaViewModel.FechaCreacion,
                Folio = entradaViewModel.Folio.Trim().ToUpper(),
                Observaciones = entradaViewModel.Observaciones == null ? "" : entradaViewModel.Observaciones.Trim().ToUpper(),
                ProveedorID = entradaViewModel.ProveedorID,
                UsuarioID = entradaViewModel.UsuarioID,
                Proveedores = await _getHelper.GetProveedorByIdAsync((Guid)entradaViewModel.ProveedorID)
            });
        }