lunes, 29 de mayo de 2017

Pro ASP.NET: Laboratorios

Laboratorios


Módulo 03 Laboratorio 01

Introducción a MVC

https://drive.google.com/open?id=0B7Ct7K_LTJvSdlRZTmR5ODJBbzQ


Módulo 03 Laboratorio 02

MVC Model

https://drive.google.com/open?id=0B7Ct7K_LTJvSYkRVTGM0QXI2Nzg


Módulo 03 Laboratorio 03

Clases (Test de Persona)
Seguir las instrucciones del Task List.
https://drive.google.com/open?id=1sffNW5l93eMibOL86qaxV4kMZ5gImQEi


Módulo 03 Laboratorio 04 y 05


Entity Framework: Parte 1
https://drive.google.com/open?id=0B7Ct7K_LTJvSMjFXRHNrTnNqRVU


Entity Framework: Parte 2
https://drive.google.com/open?id=0B7Ct7K_LTJvSOVFzd2RDTVUtaG8


Archivo del proyecto para iniciar el laboratorio:
https://drive.google.com/open?id=1NP8rmk6t2kSzaXxEc7OCkW7v7uJAC6Pz


Módulo 04 Laboratorio 01

MVC Controller

https://drive.google.com/open?id=0B7Ct7K_LTJvSVnM5aEs4WU9KT0U



Módulo 05 Laboratorio 01

MVC View

https://drive.google.com/open?id=0B7Ct7K_LTJvSbUtmWGluaW52dVU


Archivo para el Laboratorio
https://drive.google.com/open?id=0B7Ct7K_LTJvSUUdERmJheDJGNmM



Módulo 05 Laboratorio 02

https://drive.google.com/open?id=0B7Ct7K_LTJvSaS12bm93TDhicVE


Archivo para el Laboratorio
https://drive.google.com/open?id=0B7Ct7K_LTJvSaTVrcGVPZ295TTQ




Módulo 06 Laboratorio 01

MVC Autenticación
https://drive.google.com/open?id=0B7Ct7K_LTJvSSWlJSVdmbjdfUlE



Módulo 06 Laboratorio 02


MVC Autenticación Facebook
https://drive.google.com/open?id=0B7Ct7K_LTJvSQWhUTmJ5RTNEYTg



Módulo 06 Laboratorio 03


MVC Autorización
https://drive.google.com/open?id=0B7Ct7K_LTJvSTFBVR2lMS00wbkU



Módulo 06 Laboratorio 04

Utilizando la Plantilla para Proyectos de MVC
Implementar el Modelo
Implementar los Controller
Implementar las Vistas
Implementar Autenticación
Implementar un Tema de Bootstrap y atributos de Bootstrap en Cada Vista.

Base de datos

Usuario: SA1
Servidor: Desktop0005
Base de Datos:  dbFacturas

Diagrama:





Pro ASP.NET: Resumen

Contenidos


Módulo 01: Introducción ASP.NET
http://galileotalentodigital.blogspot.com/2016/08/programacion-en-aspnet-modulo-01.html

Módulo 03: MVC
http://galileotalentodigital.blogspot.com/2016/09/programacion-en-aspnet-mvc-modulo-03.html

Módulo 03: Clases
https://drive.google.com/open?id=1xHuBBP2PGRnVH1eleQMNbIWUeXFzBJ58

Listado Clase Persona
http://galileotalentodigital.blogspot.com/2017/11/pro-aspnet-clase-persona.html


Módulo 03: Acceso a Base de Datos

http://galileotalentodigital.blogspot.com/2016/08/programacion-en-c-modulo-06-acceso-base.html



Módulo 04: Controller
https://drive.google.com/open?id=0B7Ct7K_LTJvSdUVkX1RNQ0VJZUE


Módulo 05: View
https://drive.google.com/open?id=0B7Ct7K_LTJvSVnAtcUhWZW82RHc


Módulo 06: Seguridad
https://drive.google.com/open?id=0B7Ct7K_LTJvSWGpGY1JXNUhzMEU




Laboratorios

http://galileotalentodigital.blogspot.com/2017/05/pro-aspnet-laboratorios.html


Proyecto

http://galileotalentodigital.blogspot.com/2017/06/pro-aspnet-proyecto.html


Referencias


ASP.NET
https://www.asp.net/

Clase ActionResult
https://msdn.microsoft.com/en-us/library/system.web.mvc.actionresult(v=vs.118).aspx

Clase HttpStatusCodeResult
https://msdn.microsoft.com/en-us/library/system.web.mvc.httpstatuscoderesult(v=vs.118).aspx

Enumeración HttpStatusCode
(System.Net)
https://msdn.microsoft.com/en-us/library/system.net.httpstatuscode(v=vs.110).aspx


What is Windows Identity Foundation?
https://msdn.microsoft.com/en-us/library/ee748475.aspx

ASP.NET Identity
https://www.asp.net/identity


Videos


Introducing ASP.NET MVC 5
https://www.youtube.com/watch?v=gxFtRdKr7CA




jueves, 18 de mayo de 2017

Programación en HTML5, CSS3 y JavaScript: Módulo 05: Laboratorio

Módulo 05 Laboratorio 01: jQuery DOM


  1. Agregar el paquete de jQuery, versión más reciente al proyecto.  Utilice Manage NuGet Package.
  2. Agregar al proyecto actual una página HTML de nombre DemoDOM.html
  3. Agregar en el elemento body de la página, elementos HTML para obtener la interfaz de usuario que se muestra a continuación:
  4. Agregar Carpeta Scripts al Proyecto.
  5. Agregar archivo JavaScript de nombre DemoDOM.js a la carpeta Scripts.
  6. Agregar al archivo DemoDOM.js referencia a jQuery.js
  7. Agregar referencia en el sección head de DemoDOM.html hacia jQuery.js y DemoDOM.js
  8. Agregar Código de jQuery y JavaScript para la funcionalidad de la página Web.





Código Fuente de Ejemplo:
https://drive.google.com/open?id=0B7Ct7K_LTJvSbGhIaXVrNWp4REU



miércoles, 17 de mayo de 2017

Programación en HTML5, CSS3 y JavaScript: Módulo 04: Laboratorio


Módulo 04 Laboratorio 01: Formularios en HTML


En el proyecto anterior, realizar lo siguiente:

  1. Agregar un nuevo item (Ctrl+shift+A), página HTML con el nombre Encuesta.html
  2. Agregar en el elemento body de la página elementos para obtener la interfaz de usuario que se muestra a continuación:





Código Fuente de Ejemplo:

https://drive.google.com/open?id=0B7Ct7K_LTJvSblpaUzZOTDhkbzA



martes, 16 de mayo de 2017

ASP.NET: Demostración de Web API

Demostración de Web API


  1. Crear un nuevo proyecto de Web Application, de nombre CrediSeguroAPI.
  2. Agregar el Web Reference de Web API.
  3. Descargar el Archivo, desempacar y agregar al proyecto.   https://drive.google.com/open?id=0B7Ct7K_LTJvSYW5rY0gxV2FENHc
  4. Agregar configuración al Global.asax, método Application_Start().


            //TODO: Modificación para Eliminar XML y dejar JSON
            GlobalConfiguration.Configuration.Formatters.Remove(
                GlobalConfiguration.Configuration.Formatters.XmlFormatter);




ASP.NET: Demostración Servicio Web

Servicio Web


  1. Agregar un nuevo elemento al proyecto (Ctrl+Shift+A) de tipo Web Service, cambiar el nombre al elemento.
  2. Agregar al Servicio Web, los métodos Web para ofrecer operaciones a realizar.
  3. Si necesitan serializar objetos para transferencia de información agregar el paquete NuGet de Netwonsoft.JSON
  4. Ejemplo de Código Fuente:


using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using Newtonsoft.Json;

namespace CrediSeguroWS
{
    /// <summary>
    /// Summary description for ClienteWS
    /// Servicio Web: ClienteWS
    /// Demostración de los métodos Web.
    /// </summary>
    [WebService(Namespace = "http://galileo.edu/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
    // [System.Web.Script.Services.ScriptService]
    public class ClienteWS : System.Web.Services.WebService
    {

        [WebMethod]
        public string HelloWorld()
        {
            return "Hello World";
        }

        /// <summary>
        /// Método Web del Servicio Web
        /// Suma dos valores y retorna
        /// el resultado
        /// </summary>
        /// <param name="a"></param>
        /// <param name="b"></param>
        /// <returns></returns>
        [WebMethod]       
        public int Suma(int a, int b)
        {
            return a + b;
        }


        /// <summary>
        /// Utilizando el CodCliente
        /// encuentra en la base de datos
        /// el primer cliente y lo retorna en
        /// formato JSON
        /// </summary>
        /// <param name="CodCliente"></param>
        /// <returns>Objeto en formato JSON (Serializar)</returns>
        [WebMethod]
        public string NombreCliente(int CodCliente)
        {
            string DatosJSON = "";
            ClienteDTO Cliente1 = new ClienteDTO();
            Cliente1.CodCliente = 100;
            Cliente1.Nombre = "Jason";
            Cliente1.Apellido = "Myers";
            DatosJSON =
                JsonConvert.SerializeObject(Cliente1);
            return DatosJSON;
        }
    }
}





lunes, 15 de mayo de 2017

ASP.NET: Demostración de DropDownList

Demostración de un DropDownList, en Web Form de ASP.NET, que permite seleccionar un cliente y muestra el Código del Cliente seleccionado.

https://drive.google.com/open?id=0B7Ct7K_LTJvSeV9Ja3NKLXBuc1U


DemoCombo.aspx


<%@ Page Title="" Language="C#" MasterPageFile="~/Default.Master" AutoEventWireup="true" CodeBehind="DemoCombo.aspx.cs" Inherits="CrediSeguro.DemoCombo" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
    <title>Demo Combo</title>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="cphPrincipal" runat="server">
    <!-- Primera fila Grid -->
    <div class="row">
        <div class="col-sm-12 col-md-12 col-lg-12">
            <div class="jumbotron">
                <h1>Demo Combo</h1>
            </div>
        </div>
    </div>
    <!-- Primera fila Grid -->

    <div class="row">
        <!-- Primera Columna -->
        <div class="col-xs-1 col-md-2 col-lg-4">
        </div>
        <!-- Segunda Columna -->
        <div class="col-xs-11 col-md-10 col-lg-8">
            <form action="DemoCombo.aspx" method="post" runat="server">
                <fieldset>
                    <legend>Datos:</legend>
                    <div class="form-group">
                        <label class="control-label">Código</label>
                        <asp:Label ID="lblCodigo" runat="server"
                             Text="Label"></asp:Label>
                        <asp:DropDownList ID="ddClientes" runat="server"
                             AutoPostBack="true"
                             OnSelectedIndexChanged=
                             "ddClientes_SelectedIndexChanged" >
                             </asp:DropDownList>
                        <asp:SqlDataSource ID="sdsClientes" runat="server">
    </asp:SqlDataSource>
                    </div>
                </fieldset>
            </form>
           
        </div>

    </div>

</asp:Content>


DemoCombo.aspx.cs


using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Text;

namespace CrediSeguro
{
    public partial class DemoCombo : System.Web.UI.Page
    {
        private void LlenarCombo()
        {
            StringBuilder sbCond;
            string sApellido = "";
            string sCondicion;
            sbCond = new StringBuilder();

            sApellido = "Da";
            //Construye el SELECT
            sbCond.Append(" SELECT CodCliente, Apellido+', '+Nombre AS Cliente ");
            sbCond.Append(" FROM dbo.Cliente ");
            sbCond.Append(" WHERE ");
            sbCond.AppendFormat(" Apellido LIKE '{0}%' ", sApellido);
            sbCond.Append(" ORDER BY Apellido, Nombre ");
            //SELECT FROM WHERE
            sCondicion = sbCond.ToString();

            //Configura la conexión del DataSource
            sdsClientes.ConnectionString = Properties.Settings.Default.ConexionSQL;
            //Configura el Select del DataSource
            sdsClientes.SelectCommand = sCondicion;

            //Asocia el Combo con los datos
            //Campo que se va a mostrar en el Combo
            ddClientes.DataTextField = "Cliente";
            //Valor que devuelve al seleccionar el elemento del Combo
            ddClientes.DataValueField = "CodCliente";
            ddClientes.DataSource = sdsClientes;
            ddClientes.DataBind();
        }

        protected void Page_Load(object sender, EventArgs e)
        {
            //Solo llena el contenido del combo
            if (!IsPostBack)
            {
                //Llenar el Combo
                LlenarCombo();
            }
        }

        protected void ddClientes_SelectedIndexChanged(object sender, EventArgs e)
        {
            //Cuando selecciona un elemento del Combo
            //Cambia el valor del componente Label lblCodigo
            lblCodigo.Text = ddClientes.SelectedValue;
        }
    }
}