示例#1
0
        /*
         * ListarUsuarios es el método más complejo de esta clase.
         * devuelve un listado de usuarios activos que obtiene desde BD.
         * también tiene la opción de filtrar si se pasan los parámetros correspondientes.
         */
        public List <EncabezadoNotaEntity> Listar(string id, string comentario, DateTime?fechaCreado, string idCliente, string idTipoPago, string status)
        {
            //primero revisamos que al menos uno de todos los parámetros que podemos obtener desde el form tenga algún dato
            //para saber si debemos filtrar algo.
            if (!string.IsNullOrEmpty(id) || !string.IsNullOrEmpty(comentario) || !string.IsNullOrEmpty(idCliente) || !string.IsNullOrEmpty(idTipoPago) || !string.IsNullOrEmpty(status) || fechaCreado.HasValue)
            {
                EncabezadoNotaEntity encabezado = GenerarEntidad(id, comentario, fechaCreado.Value, idCliente, idTipoPago, status);
                //si alguno tiene valor, creamos el UsuarioEntity.

                /*
                 * recordemos que en MVC, el modelo, que es de donde devolvemos los datos, no puede interactual con la vista
                 * que es el form.
                 * Utilizamos una clase que tiene los mismos parámetros que la entidad de BD, que generamos desde aquí en controladores
                 * llamado UsuariosData, que sí puede llegar a la capa de vista(el form).
                 * nos apoyamos con una herramienta llamada automapper, que pasa los valor de un tipo de objeto A, a un tipo de objeto B.
                 * La explicación de cómo funciona estará en la clase ArticuloMapper.
                 * pasamos el UsuarioEntity al método listar, y mapeamos el resultado a una lista de ArticuloData.
                 */
                return(encabezadosCatalogo.Listar(encabezado));
            }
            else
            {
                //si no se tienen datos para filtrar, obtenemos la lista de los usuarios activos.
                return(encabezadosCatalogo.Listar());
            }
        }
示例#2
0
        /*
         * GenerarEntidad es un método de ayuda, que, en base a parámetos que se envían desde el formulario, creara un usuarioEntity.
         * Recordemos que los método de UsuariosCatalogo utilizan un UsuariosEntity para funcionar, por eso existe este método.
         * nota: el poner ? al final de int, significa que ese int puede o no tener un valor.
         */
        public EncabezadoNotaEntity GenerarEntidad(string id, string comentario, DateTime?fechaCreado, string idCliente, string idTipoPago, string status)
        {
            EncabezadoNotaEntity encabezado = new EncabezadoNotaEntity()
            {
                Comentario = comentario, Status = status
            };

            if (int.TryParse(id, out int nid))
            {
                encabezado.Id = nid;
            }
            if (fechaCreado.HasValue)
            {
                encabezado.FechaCreado = fechaCreado.Value;
            }
            if (int.TryParse(idCliente, out int nidCliente))
            {
                encabezado.IdCliente = nidCliente;
            }
            if (int.TryParse(idTipoPago, out int nidTipoPago))
            {
                encabezado.IdTipoPago = nidTipoPago;
            }
            return(encabezado);
        }
示例#3
0
 public string AgregarEntidad(EncabezadoNotaEntity encabezado)
 {
     //el método agregar devuelve un booleano, que utilizamos para comparar directamente en el if.
     if (encabezadosCatalogo.Agregar(encabezado))
     {
         //si es true, devolvemos el mensaje de que se agregó correctamente
         return("Encabezado de nota agregado correctamente.");
     }
     else
     {
         //si es false, devolvemos el error que se generó.
         //\n sirve para hacer un salto de línea.
         return("Error al agregar Encabezado de nota :\n" + encabezadosCatalogo.Error.Message);
     }
 }
示例#4
0
        /*
         * Modificar recibe desde el formulario todos los datos que pide el método.
         * manda a actualizar un registro en BD.
         */
        public string Modificar(string id, string comentario, DateTime fechaCreado, string idCliente, string idTipoPago, string status)
        {
            //generamos el usuarioEntity necesario para modificar el registro en BD.
            EncabezadoNotaEntity articulo = GenerarEntidad(id, comentario, fechaCreado, idCliente, idTipoPago, status);

            //Modificar devuelve un booleano, que comparamos en el if.
            if (encabezadosCatalogo.Modificar(articulo))
            {
                //si todo bien, devolvemos el texto correcto
                return("Encabezado de nota modificado correctamente.");
            }
            else
            {
                //si algo falló, devolvemos el error.
                return("Error al modificar Encabezado de nota :\n" + encabezadosCatalogo.Error.Message);
            }
        }
示例#5
0
        /*
         * El método agregar recibe desde el formulario el nombre, nombre de usuario y contraseña
         * y manda a guardar a BD el nuevo usuario.
         */
        public string Agregar(string comentario, DateTime fechaCreado, string idCliente, string idTipoPago, string status)
        {
            //necesitamos un usuarioEntity para utilizar el método agregar, así que lo generamos.
            //como es agregar y el ID es autoincremental en BD, pasamos un nulo en vez de dar un ID.
            EncabezadoNotaEntity articulo = GenerarEntidad(null, comentario, fechaCreado, idCliente, idTipoPago, status);

            //el método agregar devuelve un booleano, que utilizamos para comparar directamente en el if.
            if (encabezadosCatalogo.Agregar(articulo))
            {
                //si es true, devolvemos el mensaje de que se agregó correctamente
                return("Encabezado de nota agregado correctamente.");
            }
            else
            {
                //si es false, devolvemos el error que se generó.
                //\n sirve para hacer un salto de línea.
                return("Error al agregar Encabezado de nota :\n" + encabezadosCatalogo.Error.Message);
            }
        }