Interfaz
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace RepositorioContratos { public interface ICliente <TObject> where TObject : class { //void CargarGrilla(TObject obj); //void FiltrarCédula(string cédula); //void FiltrarNombre(string nombre); //void GenerarCódigo(TObject obj); //void Buscar(int código); void Guardar(TObject obj); //void Actualizar(TObject obj); //void Eliminar(TObject obj); //IEnumerable<TObject> GetAll(); } }
Repository
namespace Repositorios { using DominioEntidades; using RepositorioContratos; public class ClienteRepository : ICliente<Cliente> { #region Propiedades public int IdCliente { get; set; } public string Cédula { get; set; } [System.ComponentModel.Browsable(false)] public string Ruc { get; set; } [System.ComponentModel.DisplayName("Razón Social")] public string RazonSocial { get; set; } [System.ComponentModel.Browsable(false)] public string Dirección { get; set; } [System.ComponentModel.Browsable(false)] public string Ciudad { get; set; } [System.ComponentModel.Browsable(false)] public string Teléfono { get; set; } [System.ComponentModel.Browsable(false)] public string Celular { get; set; } [System.ComponentModel.Browsable(false)] public int Estado { get; set; } #endregion public void Guardar(Cliente cliente) { try { using (DbConnection cn = Conexión.Conectar()) { cn.Open(); using (DbCommand cmd = cn.CreateCommand()) { cmd.CommandText = "USP_AddCliente"; cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add(Utilidades.CreateParameter(Conexión.AddPrefijoParametro("idCliente"), DbType.Int32, this.IdCliente)); cmd.Parameters.Add(Utilidades.CreateParameter(Conexión.AddPrefijoParametro("cedula"), DbType.AnsiString, this.Cédula, 13)); cmd.Parameters.Add(Utilidades.CreateParameter(Conexión.AddPrefijoParametro("ruc"), DbType.AnsiString, this.Ruc, 13)); cmd.Parameters.Add(Utilidades.CreateParameter(Conexión.AddPrefijoParametro("razonSocial"), DbType.AnsiString, this.RazonSocial, 100)); cmd.Parameters.Add(Utilidades.CreateParameter(Conexión.AddPrefijoParametro("direccion"), DbType.AnsiString, this.Dirección, 100)); cmd.Parameters.Add(Utilidades.CreateParameter(Conexión.AddPrefijoParametro("ciudad"), DbType.AnsiString, this.Ciudad, 70)); cmd.Parameters.Add(Utilidades.CreateParameter(Conexión.AddPrefijoParametro("telefono"), DbType.AnsiString, this.Teléfono, 9)); cmd.Parameters.Add(Utilidades.CreateParameter(Conexión.AddPrefijoParametro("celular"), DbType.AnsiString, this.Celular, 9)); cmd.ExecuteNonQuery(); //return string.Empty; } } } catch (Exception ex) { throw new Exception("Error al ingresar Cliente", ex); } } } }
En repository necesariamente tiene que ser LINQ
Pedro Avila "El hombre sabio querrá estar siempre con quien sea mejor que él."