Mantenedor Cliente - Moanso 2023-1

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 14

CRUD: MANTENEDOR CLIENTE – ARQUITECTURA DE C

MOANSO – 2021-0/2021-2
MantenedorCliente. (Crear-Read-Update-Deshabilitar)
ARQUITECTURA DE SOFTWARE: Arquitectura de Capas
class M antenedorClientes

CapaPresentacion

+ M antenedorGri dCl i ente


+ M antenedorGri dCl i ente
+ Program
+ obj
+ Properti es

CapaLogicaNegocio CapaEntidad

+ l ogCl i ente + entCl i ente


+ obj + obj
+ Properti es + Properti es

CapaAccesoDatos

+ Conexi on
+ datCl i ente
+ obj
+ Properti es

DBCliente

Crear Proyecto : Sistema Ventas


Crear un Proyecto: Aplicación Windows Forms (.Net Framework)
Agregar un Nuevo Proyecto: Biblioteca de Clases ((.Net Framework)

1
CRUD: MANTENEDOR CLIENTE – ARQUITECTURA DE C

Agregar Referencias:

2
CRUD: MANTENEDOR CLIENTE – ARQUITECTURA DE C

MANTENEDOR DE CLIENTE
SQL-SERVER
CREATE DATABASE Richon
Use Richon
CREATE TABLE [dbo].[Cliente](
[idCliente] [int] IDENTITY(1,1) NOT NULL,
[razonSocial] [nvarchar](50) NULL,
[idTipoCliente] [int] NULL,
[estCliente] [bit] NULL,
[rucCliente] [nvarchar](50) NULL,
[fecRegCliente] [date] NULL,
[IdCiudad] [nvarchar](50) NULL,
CONSTRAINT [PK_Cliente] PRIMARY KEY CLUSTERED
(
[idCliente] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS =
ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

CREATE PROCEDURE [dbo].[spListaCliente]


AS
SELECT idCliente, razonSocial, idTipoCliente, estCliente, rucCliente, fecRegCliente,
idCiudad
from Cliente
where estCliente='1'

CREATE PROCEDURE [dbo].[spInsertaCliente]


(@razonSocial nvarchar(50),
@idTipoCliente int,
@estCliente bit,
@rucCliente nvarchar(50),
@fecRegCliente date,
@idCiudad nvarchar(50)
)
as

3
CRUD: MANTENEDOR CLIENTE – ARQUITECTURA DE C

begin

insert into
Cliente(razonSocial,idTipoCliente,estCliente,rucCliente,fecRegCliente,idCiudad) values
(@razonSocial, @idTipoCliente, @estCliente, @rucCliente, @fecRegCliente, @idCiudad)
end

create PROCEDURE [dbo].[spEditaCliente]


(@idCliente int,
@razonSocial nvarchar(50),
@idTipoCliente int,
@estCliente bit,
@rucCliente nvarchar(50),
@fecRegCliente date,
@idCiudad nvarchar(50)
)
as
begin
update Cliente set
razonSocial = @razonSocial,
idTipoCliente = @idTipoCliente,
estCliente = @estCliente,
rucCliente = @rucCliente,
fecRegCliente = @fecRegCliente,
idCiudad = @idCiudad
where idCliente = @idCliente
end

create PROCEDURE [dbo].[spDeshabilitaCliente]


(@idCliente int
)
as
begin
update Cliente set
estCliente = 0
where idCliente = @idCliente
end

4
CRUD: MANTENEDOR CLIENTE – ARQUITECTURA DE C

CONEXIÓN A LA BASE DE DATOS


CONEXIÓN.CS
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.Data.SqlClient;

namespace CapaDatos
{
public class Conexion
{
// Metodo singleton
private static readonly Conexion _instancia = new Conexion();
public static Conexion Instancia
{
get { return Conexion._instancia; }
}

// Metodo Conectar
public SqlConnection Conectar()
{
SqlConnection cn = new SqlConnection();
cn.ConnectionString = "Data Source=DESKTOP-6U3TJ7H; Initial Catalog = DBPedidos2;" +//"User ID=sa;
Password=123";
"Integrated Security=true";

return cn;
}

}
}

5
CRUD: MANTENEDOR CLIENTE – ARQUITECTURA DE C

CAPA DE DATOS
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.Data.SqlClient;
using CapaEntidad;

namespace CapaDatos
{
public class datCliente
{
#region singleton
//Patron Singleton
// Variable estática para la instancia
private static readonly datCliente _instancia = new datCliente();
//privado para evitar la instanciación directa
public static datCliente Instancia
{
get
{
return datCliente._instancia;
}
}
#endregion singleton
/// <summary>
#region metodos
/// </summary>
/// <returns></returns>
public List<entCliente> ListarCliente()
{
SqlCommand cmd = null;
List<entCliente> lista = new List<entCliente>();
try
{
SqlConnection cn = Conexion.Instancia.Conectar(); //singleton
cmd = new SqlCommand("spListaCliente", cn);
//cmd = new SqlCommand("select * from Cliente", cn);
cmd.CommandType = CommandType.StoredProcedure;
cn.Open();
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
entCliente Cli = new entCliente();
Cli.idCliente = Convert.ToInt32(dr["idCliente"]);
Cli.razonSocial = dr["razonSocial"].ToString();
Cli.rucCliente = dr["rucCliente"].ToString();
Cli.idTipoCliente = Convert.ToInt32(dr["idTipoCliente"]);
Cli.fecRegCliente = Convert.ToDateTime(dr["fecRegCliente"]);
Cli.Ciudad = (dr["Ciudad"].ToString());
Cli.estCliente = Convert.ToBoolean(dr["estCliente"]);
lista.Add(Cli);
}

}
catch (Exception e)

6
CRUD: MANTENEDOR CLIENTE – ARQUITECTURA DE C

{
throw e;
}
finally
{
cmd.Connection.Close();
}
return lista;
}
///
public Boolean InsertarCliente(entCliente Cli)
{
SqlCommand cmd = null;
Boolean inserta = false;
try
{
SqlConnection cn = Conexion.Instancia.Conectar();
cmd = new SqlCommand("spInsertaCliente", cn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@razonSocial", Cli.razonSocial);
cmd.Parameters.AddWithValue("@rucCliente", Cli.rucCliente);
cmd.Parameters.AddWithValue("@idTipoCliente", Cli.idTipoCliente);
cmd.Parameters.AddWithValue("@fecRegCliente", Cli.fecRegCliente);
cmd.Parameters.AddWithValue("@Ciudad", Cli.Ciudad);
cmd.Parameters.AddWithValue("@estCliente", Cli.estCliente);
cn.Open();
int i = cmd.ExecuteNonQuery();
if (i > 0)
{
inserta = true;
}
}
catch (Exception e)
{
throw e;
}
finally { cmd.Connection.Close(); }
return inserta;
}

//////////////////////////////////EditaCliente
public Boolean EditarCliente(entCliente Cli)
{
SqlCommand cmd = null;
Boolean edita = false;
try
{
SqlConnection cn = Conexion.Instancia.Conectar();
cmd = new SqlCommand("spEditaCliente", cn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@idCliente", Cli.idCliente);
cmd.Parameters.AddWithValue("@razonSocial", Cli.razonSocial);
cmd.Parameters.AddWithValue("@rucCliente", Cli.rucCliente);
cmd.Parameters.AddWithValue("@idTipoCliente", Cli.idTipoCliente);
cmd.Parameters.AddWithValue("@fecRegCliente", Cli.fecRegCliente);
cmd.Parameters.AddWithValue("@Ciudad", Cli.Ciudad);
cmd.Parameters.AddWithValue("@estCliente", Cli.estCliente);
cn.Open();
int i = cmd.ExecuteNonQuery();
if (i > 0)

7
CRUD: MANTENEDOR CLIENTE – ARQUITECTURA DE C

{
edita = true;
}
}
catch (Exception e)
{
throw e;
}
finally { cmd.Connection.Close(); }
return edita;
}

public Boolean DeshabilitarCliente(entCliente Cli)


{
SqlCommand cmd = null;
Boolean delete = false;
try
{
SqlConnection cn = Conexion.Instancia.Conectar();
cmd = new SqlCommand("spDeshabilitaCliente", cn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@idCliente", Cli.idCliente);
//cmd.Parameters.AddWithValue("@estCliente", Cli.estCliente);
cn.Open();
int i = cmd.ExecuteNonQuery();
if (i > 0)
{
delete = true;
}
}
catch (Exception e)
{
throw e;
}
finally { cmd.Connection.Close(); }
return delete;
}

#endregion metodos

}
}

8
CRUD: MANTENEDOR CLIENTE – ARQUITECTURA DE C

CAPA ENTIDAD
entCliente.CS
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CapaEntidad
{
public class entCliente
{
public int idCliente { get; set; }
public string razonSocial { get; set; }
public string rucCliente { get; set; }
public int idTipoCliente { get; set; }
public DateTime fecRegCliente { get; set; }
public string Ciudad { get; set; } /// public entCiudad Ciudad{ get; set; }

public Boolean estCliente { get; set; }

}
}

9
CRUD: MANTENEDOR CLIENTE – ARQUITECTURA DE C

CAPA LOGICA
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CapaEntidad;
using CapaDatos;
namespace CapaLogica
{
public class logCliente
{
#region sigleton
//Patron Singleton
// Variable estática para la instancia
private static readonly logCliente _instancia = new logCliente();
//privado para evitar la instanciación directa
public static logCliente Instancia
{
get
{
return logCliente._instancia;
}
}
#endregion singleton

#region metodos

///listado

public List<entCliente> ListarCliente()


{
return datCliente.Instancia.ListarCliente();
}

///inserta
public void InsertaCliente(entCliente Cli)
{
datCliente.Instancia.InsertarCliente(Cli);
}

public void EditaCliente(entCliente Cli)


{
datCliente.Instancia.EditarCliente(Cli);
}

public void DeshabilitaCliente(entCliente Cli)


{
datCliente.Instancia.DeshabilitarCliente(Cli);
}
#endregion metodos

}
}

10
CRUD: MANTENEDOR CLIENTE – ARQUITECTURA DE C

CAPA DE PRESENTACION

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using CapaLogica;
using CapaEntidad;
namespace SistemaPedidos4331
{
public partial class FormMantenedorCliente : Form
{
logCiudad cd = new logCiudad();
public FormMantenedorCliente()
{
InitializeComponent();
listarCliente();
grupDatosCliente.Enabled = false;
txtidCliente.Enabled = false;
//mostrar
cboCiudad.DataSource = cd.ListarCiudad();
cboCiudad.DisplayMember = "desCiudad";

public void listarCliente()

11
CRUD: MANTENEDOR CLIENTE – ARQUITECTURA DE C

{
dgvCliente.DataSource = logCliente.Instancia.ListarCliente();

private void btnNuevo_Click(object sender, EventArgs e)


{
grupDatosCliente.Enabled = true;
btnAgregar.Visible = true;
// LimpiarVariables();
btnModificar.Visible = false;
}

private void btnAgregar_Click(object sender, EventArgs e)


{
try
{
entCliente c = new entCliente();
c.razonSocial = txtRazonSocial.Text.Trim();
c.rucCliente = txtRucCliente.Text.Trim();
c.idTipoCliente = int.Parse(txtidTipoCliente.Text.Trim());
c.fecRegCliente = dtPickerRegCliente.Value;
c.Ciudad = cboCiudad.Text.Trim();
c.estCliente = cbkEstadoCliente.Checked;
logCliente.Instancia.InsertaCliente(c);

}
catch (Exception ex)
{
MessageBox.Show("Error.." + ex);
}
LimpiarVariables();
grupDatosCliente.Enabled = false;
listarCliente();

}
private void LimpiarVariables()
{
txtRazonSocial.Text = "";
txtRucCliente.Text = " ";
txtidTipoCliente.Text = " ";

//cbkEstadoCliente.Checked = false;

private void btnEditar_Click(object sender, EventArgs e)


{
grupDatosCliente.Enabled = true;
btnModificar.Visible = true;
btnAgregar.Visible = false;

private void btnModificar_Click(object sender, EventArgs e)


{
try

12
CRUD: MANTENEDOR CLIENTE – ARQUITECTURA DE C

{
entCliente c = new entCliente();
c.idCliente = int.Parse(txtidCliente.Text.Trim());
c.razonSocial = txtRazonSocial.Text.Trim();
c.rucCliente = txtRucCliente.Text.Trim();
c.idTipoCliente = int.Parse(txtidTipoCliente.Text.Trim());
c.fecRegCliente = dtPickerRegCliente.Value;
c.Ciudad = cboCiudad.Text.Trim();
c.estCliente = cbkEstadoCliente.Checked;
logCliente.Instancia.EditaCliente(c);
}
catch (Exception ex)
{
MessageBox.Show("Error.." + ex);
}
LimpiarVariables();
grupDatosCliente.Enabled = false;
listarCliente();

private void dgvCliente_CellClick(object sender, DataGridViewCellEventArgs e)


{
DataGridViewRow filaActual = dgvCliente.Rows[e.RowIndex]; //
txtidCliente.Text = filaActual.Cells[0].Value.ToString();
txtRazonSocial.Text = filaActual.Cells[1].Value.ToString();
txtRucCliente.Text = filaActual.Cells[2].Value.ToString();
txtidTipoCliente.Text = filaActual.Cells[3].Value.ToString();
dtPickerRegCliente.Text = filaActual.Cells[4].Value.ToString();
cboCiudad.Text = filaActual.Cells[5].Value.ToString();
cbkEstadoCliente.Checked = Convert.ToBoolean(filaActual.Cells[6].Value);

private void btnInhabilitar_Click(object sender, EventArgs e)


{
try
{
entCliente c = new entCliente();

c.idCliente = int.Parse(txtidCliente.Text.Trim());
cbkEstadoCliente.Checked = false;
c.estCliente = cbkEstadoCliente.Checked;
logCliente.Instancia.DeshabilitaCliente(c);
}
catch (Exception ex)
{
MessageBox.Show("Error.." + ex);
}
LimpiarVariables();
grupDatosCliente.Enabled = false;
listarCliente();
}

private void FormMantenedorCliente_Load(object sender, EventArgs e)


{

private void grupDatosCliente_Enter(object sender, EventArgs e)


{

13
CRUD: MANTENEDOR CLIENTE – ARQUITECTURA DE C

}
}
}

14

You might also like