Professional Documents
Culture Documents
System;
System.Collections.Generic;
System.Linq;
System.Web;
System.Data.SqlClient;
System.Data;
System.Configuration;
namespace Mvc_Clase31.Models
{
public class Conexion
{
static SqlConnection cn = new
SqlConnection(ConfigurationManager.ConnectionStrings["MiConexion"].ToString());
public static bool ValidaUsuario(string nombre, string clave) {
bool autorizado = false;
SqlCommand cmd = new SqlCommand("pa_Usuario_Buscar", cn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@nomusuario", SqlDbType.Char, 10).Value = nombre;
cmd.Parameters.Add("@clausuario", SqlDbType.VarChar, 6).Value =
clave;
cn.Open();
SqlDataReader dr = cmd.ExecuteReader();
autorizado = dr.HasRows;
cn.Close();
return autorizado;
}
}
System;
System.Collections.Generic;
System.Linq;
System.Web;
namespace Mvc_Clase31.Models
{
public class ClienteModel
{
DataBaseDataContext contexto = new DataBaseDataContext();
public List<Clientes> ListarCliente() { List<Clientes> lista = new
List<Clientes>();
var consulta = contexto.PA_listar_Todos();
foreach (var clte in consulta) { Clientes c = new Clientes();
c.Cli_Codigo = clte.Cli_Codigo ;
c.Cli_Nombre = clte.Cli_Nombre;
c.Cli_Apellido = clte.Cli_Apellido;
c.Cli_Direccion = clte.Cli_Direccion;
c.Cli_Telefono = clte.Cli_Telefono;
c.Cli_Email = clte.Cli_Email;
lista.Add(c);
} return lista;
} public Clientes BuscarClienteporCodigo(string id)
{
Clientes c = new Clientes();
try { var consulta = contexto.pa_clientes_BuscarporCodigo(id);
foreach (var clte in consulta)
{
c.Cli_Codigo = clte.Cli_Codigo;
c.Cli_Nombre = clte.Cli_Nombre;
c.Cli_Apellido = clte.Cli_Apellido;
c.Cli_Direccion = clte.Cli_Direccion;
c.Cli_Telefono = clte.Cli_Telefono;
c.Cli_Email = c.Cli_Email;
}
} catch (Exception) {
throw;
}
return c;
}
public string ObtenerClienteUltimoCodigo(string id)
{
try
{
var consulta = contexto.pa_Clientes_ObtenerUltimoCodigo(ref id);
}
catch (Exception) { throw; } return id;
}
public string InsertarCliente(Clientes c, string cod)
{
string resultado = String.Empty;
try {
contexto.pa_clientes_insertar(cod, c.Cli_Nombre, c.Cli_Apellido,
c.Cli_Direccion, c.Cli_Telefono, c.Cli_Email,c.Cli_Foto);
resultado = "OK";
} catch (Exception ex) {
resultado = ex.Message;
}
return resultado;
}
public string ActualizarCliente(Clientes c, string cod) {
string resultado = String.Empty;
try { contexto.pa_clientes_modificar(cod, c.Cli_Nombre,
c.Cli_Apellido, c.Cli_Direccion, c.Cli_Telefono, c.Cli_Email,c.Cli_Foto);
resultado = "OK";
} catch (Exception ex) {
resultado = ex.Message;
}
return resultado;
}
public string EliminarCliente(string id) {
string resultado = String.Empty;
try { contexto.pa_clientes_eliminar(id);
resultado = "OK";
} catch (Exception ex) {
resultado = ex.Message;
}
return resultado;
}
}
}
6. LOGIN MODELS
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
namespace Mvc_Clase31.Models
{
public class LoginModel
{
[Required]
public String nomusuario { get; set; }
[Required]
public String clausuario{ get; set; }
}
}
using
using
using
using
using
using
Mvc_Clase31.Models;
System;
System.Collections.Generic;
System.Linq;
System.Web;
System.Web.Mvc;
namespace Mvc_Clase31.Controllers
{
public class ClienteController : Controller
{
//
// GET: /Cliente/
ClienteModel model = new ClienteModel();
public ActionResult Index()
{
return View(model.ListarCliente());
}
//
// GET: /Cliente/Details/5
public ActionResult Details(string id)
{
var clte = model.BuscarClienteporCodigo(id);
return View(clte);
}
//
// GET: /Cliente/Create
public ActionResult Create() {
string codigo;
codigo = model.ObtenerClienteUltimoCodigo("");
ViewBag.cod = codigo;
return View();
}
//
// POST: /Cliente/Create
[HttpPost]
public ActionResult Create(Clientes c)
{
try {
string codigo;
codigo= model.ObtenerClienteUltimoCodigo("");
if (model.InsertarCliente(c,codigo) == "OK")
{
return RedirectToAction("Index");
}
else
{
return RedirectToAction("Create");
}
} catch { return View(); }
}
//
// GET: /Cliente/Edit/5
public ActionResult Edit(string id)
{
var clte = model.BuscarClienteporCodigo(id);
return View(clte);
}
//
// POST: /Cliente/Edit/5
[HttpPost]
public ActionResult Edit(string id, Clientes c)
{
try {
Clientes clte = new Clientes();
clte.Cli_Codigo = id;
clte.Cli_Nombre = c.Cli_Nombre;
clte.Cli_Apellido = c.Cli_Apellido;
clte.Cli_Direccion = c.Cli_Direccion;
clte.Cli_Telefono = c.Cli_Telefono;
clte.Cli_Email = c.Cli_Email;
if (model.ActualizarCliente (c,id) == "OK")
{
return RedirectToAction("Index");
}
else
{
return RedirectToAction("Edit");
}
}
catch {
return View();
}
}
//
// GET: /Cliente/Delete/5
public ActionResult Delete(string id)
{
var clte = model.BuscarClienteporCodigo(id);
return View(clte);
}
//
// POST: /Cliente/Delete/5
[HttpPost]
public ActionResult Delete(string id, FormCollection collection)
{
try {
if (model.EliminarCliente(id) == "OK")
{
return RedirectToAction("Index");
}
else
{
return RedirectToAction("Delete");
}
} catch {
return View();
}
}
}
}
9. LOGINCONTROLLER
using
using
using
using
using
using
using
System;
System.Collections.Generic;
System.Linq;
System.Web;
System.Web.Mvc;
Mvc_Clase31.Models;
System.Web.Security;
namespace Mvc_Clase31.Controllers
{
public class LoginController : Controller
{
//
// GET: /Login/
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Index(LoginModel model) {
if (ModelState.IsValid) {
if (Conexion.ValidaUsuario(model.nomusuario, model.clausuario)) {
FormsAuthentication.SetAuthCookie(model.nomusuario, false);
return RedirectToAction("index", "Cliente");
}
else {
ModelState.AddModelError("", "Invalido Nombre de Usuario o
Contrasea ");
}
}
return View();
}
}
}
@model Mvc_Clase31.Models.Clientes
@{
ViewBag.Title = "Create";
}
<h1>Nuevo Cliente</h1>
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<fieldset>
<legend>Clientes</legend>
<div class="editor-label">
Codigo
</div>
<div class="editor-field">
@Html.TextBoxFor(model => model.Cli_Codigo, new { @Value =
ViewBag.cod, @disabled = "true" })
</div>
<div class="editor-label">
Nombre
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Cli_Nombre)
@Html.ValidationMessageFor(model => model.Cli_Nombre)
</div>
<div class="editor-label">
Apellido
</div>
<div class="editor-field">
@model Mvc_Clase31.Models.Clientes
@{
ViewBag.Title = "Delete";
}
<h2>Delete</h2>
<h3>Are you sure you want to delete this?</h3>
<fieldset>
<legend>Clientes</legend>
<div class="display-label">
@Html.DisplayNameFor(model => model.Cli_Codigo)
</div>
<div class="display-field">
@Html.DisplayFor(model => model.Cli_Codigo)
</div>
<div class="display-label">
@Html.DisplayNameFor(model => model.Cli_Nombre)
</div>
<div class="display-field">
@Html.DisplayFor(model => model.Cli_Nombre)
</div>
<div class="display-label">
@Html.DisplayNameFor(model => model.Cli_Apellido)
</div>
<div class="display-field">
@Html.DisplayFor(model => model.Cli_Apellido)
</div>
<div class="display-label">
@Html.DisplayNameFor(model => model.Cli_Direccion)
</div>
<div class="display-field">
@Html.DisplayFor(model => model.Cli_Direccion)
</div>
<div class="display-label">
@Html.DisplayNameFor(model => model.Cli_Telefono)
</div>
<div class="display-field">
@Html.DisplayFor(model => model.Cli_Telefono)
</div>
<div class="display-label">
@Html.DisplayNameFor(model => model.Cli_Email)
</div>
<div class="display-field">
@Html.DisplayFor(model => model.Cli_Email)
</div>
</fieldset>
@using (Html.BeginForm()) {
@Html.AntiForgeryToken()
<p>
<input type="submit" value="Delete" /> |
@Html.ActionLink("Back to List", "Index")
</p>
}
model Mvc_Clase31.Models.Clientes
@{
ViewBag.Title = "Details";
}
<h2>Details</h2>
<fieldset>
<legend>Clientes</legend>
<div class="display-label">
@Html.DisplayNameFor(model => model.Cli_Codigo)
</div>
<div class="display-field">
@Html.DisplayFor(model => model.Cli_Codigo)
</div>
<div class="display-label">
@Html.DisplayNameFor(model => model.Cli_Nombre)
</div>
<div class="display-field">
@Html.DisplayFor(model => model.Cli_Nombre)
</div>
<div class="display-label">
@Html.DisplayNameFor(model => model.Cli_Apellido)
</div>
<div class="display-field">
@Html.DisplayFor(model => model.Cli_Apellido)
</div>
<div class="display-label">
@Html.DisplayNameFor(model => model.Cli_Direccion)
</div>
<div class="display-field">
@Html.DisplayFor(model => model.Cli_Direccion)
</div>
<div class="display-label">
@Html.DisplayNameFor(model => model.Cli_Telefono)
</div>
<div class="display-field">
@Html.DisplayFor(model => model.Cli_Telefono)
</div>
<div class="display-label">
@Html.DisplayNameFor(model => model.Cli_Email)
</div>
<div class="display-field">
@Html.DisplayFor(model => model.Cli_Email)
</div>
</fieldset>
<p>
@Html.ActionLink("Edit", "Edit", new { /* id=Model.PrimaryKey */ }) |
@Html.ActionLink("Back to List", "Index")
</p>
@model Mvc_Clase31.Models.Clientes
@{
ViewBag.Title = "Edit";
}
<h2>Edit</h2>
@using (Html.BeginForm()) {
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<fieldset>
<legend>Clientes</legend>
<div class="editor-label">
@Html.LabelFor(model => model.Cli_Codigo)
</div>
<div class="editor-field">
@model IEnumerable<Mvc_Clase31.Models.Clientes>
@{
ViewBag.Title = "View1";
}
<link rel="stylesheet" href="Styles/HojadeEstilo2.css">
=> item.Cli_Codigo)
=> item.Cli_Nombre)
=> item.Cli_Apellido)
=> item.Cli_Direccion)
=> item.Cli_Telefono)
=> item.Cli_Email)
id=item.Cli_Codigo
}
</table>
<footer id="footer">
</footer>
</section>