Son tres utiles herramientas para generar documentación HTML, Help 1.0 (CHM), and Help 2.0 (HxS) con Word 2007.
Happy coding
Happy coding
Esta factory inicialmente hacia parte del Web Service Factory(también conocido como Service Factory) como el Data Access Guidance Package, posteriormente P&P saco una nueva versión del Service Factory conocida como el Service Factory Modeling Edition, la cual se enfoca en los servicios web y no en el acceso a datos, excluyendo al Data Access Guidance Package, el cual a su vez se convertiría en el Repository Factory.
Repository Factory Sample
1. Guidance Automation Extension(GAX)
2. Guidance Automation Toolkit
3. Repository Factory(DataAccessGuidancePackageSetup.msi)
Cree una base de datos en Sql Server 2005 con el nombre RepositoryFactorySample(o el que usted desee) y ejecute el siguiente script.
2. Esqueleto del proyecto.
Abra Visual Studio 2005, cree un nuevo proyecto de tipo class library (podría ser también de tipo Windows, Web o Consola) con el nombre RepositoryFactorySample(o el que usted desee), borre el proyecto que se crea por defecto y adicione tres proyectos, dos de tipo class library con los nombres BusinessEntities y DataAccess y cree uno de tipo Windows( o web) con el nombre AppHost.
3. Habilite el Repository Factory en Visual Studio 2005.
Para comenzar a utilizar el Repository Factory ejecute los siguientes pasos:
Vaya al menú Tools y ejecute la opción Guidance Package Manager.
Dé click en Enable/Disable Packages.
Seleccione Repository Factory, dé click en Ok y luego en Close, inmediatamente aparecerá la ventana de Guidance Navigator la cual puede ser cerrada si así lo deseas.A un proyecto se le puede asignar una, dos o las tres responsabilidades de proyecto, para este ejemplo a cada proyecto se le asignará la responsabilidad correspondiente:
Proyecto->Responsabilidad
AppHost->Host Project
BussinesEntities->Bussines Entities Project
DataAccess->Data Access Project
Dé click derecho en BussinessEntities y ejecute Repository Factory – Specify Project responsibility.
Dé click en el botón del campo Connection String, inmediatamente aparece una ventana para seleccionar el Data Source, seleccione Microsoft Sql Server, en Data provider seleccione .Net Framework Data Provider SQL Server, dé click en Ok, inmediatamente aparece el cuadro de dialogo Connection Properties ingrese los campos correspondientes para conectarse a la base de datos creada anteriormente, dé click en Ok.
Dé click en Finish.
En ServiceHost Project seleccione \AppHost, en Connection name seleccione ConnectionDB y dé click en Next.
Un bug, si señores como todo buen producto de software este tampoco está excento de esto, y ni modo de reclamar ya que estos Software Factories son libres y tienen garantía As Is, además son open source, asi que si alguno le quiere dar una mirada al código y de paso resolver este bug, pues bien puede hacerlo descargandose el código aquí. Pero bueno continuemos, selecciona todas las tablas, no selecciones sysdiagrams y dá click en Next.
En este parte vemos que por cada tabla se crearán seis(6) store procedures, uno para insertar un registro, uno para actualizar un registro, otro para eliminar un registro, para obtener todos los registros, para obtener un registro por llave primaria y para obtener registros por las llaves foráneas, y podemos seleccionar solo aquellos que consideremos que necesitemos.
Por último debes darle un nombre al archivo donde se guardara el script para la creación de los store procedures, dé click en Finish. Este archivo se creará en el proyecto DataAcces, y antes de ejecutarlo podemos crear los store procedures que nos hagan falta.
Seleccione en ServiceHost Project AppHost y en Connection name ConnectinoDB, dé click en Next.
Seleccione Tables y dé click en Next. Por favor no seleccione sysdiagrams.
En esta sección pueden cambiar las propiedades (cada propiedad es una columna de la tabla respectiva del Businees Entity) de cada Business Entity a crear.
Seleccione en ServiceHostProject AppHost y en Connection name en ConnectinoDB dé click en Next.
Seleccione en Bussines entities project BussinesEntities y dé click en Next.
Seleccione todos los Entities y dé click en Next.
Por cada Entity se crean por defecto cuatro operaciones, DeleteEntity, GetAllFromEntity, InsertEntity y UpdateEntity, adicionalmente se pueden adicionar otras operaciones como GetOne para obtener un registro por llave primaria, GetMany para obtener varios registros normalmente por llaves foráneas. Para adicionar una operación debe dar click en Add..
Dé click en Finish y en Finish nuevamente, en este mometo el Repository Factory realizará su magia y creará todo la capa de acceso a datos.
Por cada Entity se crea una carpeta de artefactos para acceder a la tabla correspondiente a la base de datos. La clases más importante es la EntityRepository la cual implementa la Interface IEntityRepository, una de ellas es por ejemplo la ProductVendorRepository la cual implemente IProductVendorRespository, esta es la clase que contiene todos los métodos CRUD para la Tabla/Entity.
using System;Happy Coding
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using BussinesEntities;
using DataAccess;
using Microsoft.Practices.Repository;
namespace AppHost
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Vendor vendor = new Vendor();
vendor.AccountNumber = 1;
vendor.ActiveFlag = false;
vendor.CreditRating = 10;
vendor.ModifiedDate = DateTime.Now;
vendor.Name = "Vendedor1";
vendor.PreferredVendorStatus = false;
vendor.PurchasingWebServiceURL ="http//ehudesgarcia.blogspot.com";
IVendorRepository repository = RepositoryFactory.Create<IVendorRepository>("ConnectionDB");
repository.Add(vendor);
}
}
}