Skip to content

Project of course "Proyecto de programacion 2 - Cenfotec" where we implemented a solid arquitecture to build a platform able to create Web Stores. These stores sell, deliver, track and notify all purchases of the customers. Proyect was created using ASP.net in Front-End ; C# with a Restful API (in C# as well) to create our back end ; SQL Server …

Notifications You must be signed in to change notification settings

DennisLy1995/Proyecto2-Plataforma-Web-de-tiendas.

Repository files navigation

Notas del proyecto:

URL: http://localhost:58520/

=======================================================================



                         SCRIPT DE LA BASE DE DATOS 


CREATE DATABASE BD_PROYECTO_FINAL
USE BD_PROYECTO_FINAL

CREATE TABLE TBL_CORREOS(CODIGO INT PRIMARY KEY NOT NULL IDENTITY(1,1), CORREO VARCHAR(200));

CREATE TABLE TBL_CUENTAS(NUMERO INT NOT NULL PRIMARY KEY IDENTITY(1,1), SALDO Decimal(19,4) NOT NULL DEFAULT 0);

CREATE TABLE TBL_USUARIOS(
IDENTIFICACION VARCHAR(50) PRIMARY KEY NOT NULL,
PRIMER_NOMBRE VARCHAR(50) NOT NULL,
SEGUNDO_NOMBRE VARCHAR(50) NULL,
PRIMER_APELLIDO VARCHAR(50) NOT NULL,
SEGUNDO_APELLIDO VARCHAR(50) NULL,
URL_FOTO_PERFIL VARCHAR(300) NULL,
URL_FOTO_ID VARCHAR(300) NULL,
TIPO_CUENTA VARCHAR(50) NOT NULL,
NUM_CUENTA INT NOT NULL FOREIGN KEY REFERENCES TBL_CUENTAS(NUMERO));

CREATE TABLE TBL_MENSAJES(
    ID INT NOT NULL PRIMARY KEY,
    TEXT VARCHAR(300) NOT NULL
)

CREATE TABLE TBL_TIENDAS(
    CEDULA VARCHAR(50) NOT NULL PRIMARY KEY,
    NOMBRE VARCHAR(50) NOT NULL,
    URL_LOGO VARCHAR(300) NOT NULL,
    TIPO_CEDULA VARCHAR(50) NOT NULL,
    CODIGO_GPS_BODEGA INT NULL ,
    COMISION FLOAT NULL,
    CODIGO_ADMIN VARCHAR(50) NOT NULL FOREIGN KEY REFERENCES TBL_USUARIOS(IDENTIFICACION),
    ESTADO BIT NULL DEFAULT 1
)

CREATE TABLE TBL_CATEGORIAS
(CODIGO INT PRIMARY KEY,
NOMBRE VARCHAR(100),
TAG VARCHAR(100))


CREATE TABLE TBL_CATEGORIAS_X_TIENDAS(
    CODIGO INT PRIMARY KEY IDENTITY(1,1),
    CODIGO_TIENDA VARCHAR(50) FOREIGN KEY REFERENCES TBL_TIENDAS(CEDULA),
    CODIGO_CATEGORIA INT FOREIGN KEY REFERENCES TBL_CATEGORIAS(CODIGO),
ESTADO BIT NOT NULL DEFAULT 1)

CREATE TABLE TBL_DISTRIBUIDORES(
    CEDULA VARCHAR(50) PRIMARY KEY NOT NULL,
    NOMBRE VARCHAR(50) NOT NULL,
    CODIGO_USUARIO VARCHAR(50) NOT NULL FOREIGN KEY REFERENCES TBL_USUARIOS(IDENTIFICACION),
    TARIFA_BASE FLOAT NOT NULL,
    TARIFA_KM FLOAT NOT NULL,
    RANGO INT NULL,
    ESTADO BIT NOT NULL DEFAULT 1
)

CREATE TABLE TBL_DISTRIBUIDORES_X_TIENDAS(    
CODIGO INT PRIMARY KEY IDENTITY(1,1),
CODIGO_TIENDA VARCHAR(50) FOREIGN KEY REFERENCES TBL_TIENDAS(CEDULA),
CODIGO_DISTRIBUIDOR VARCHAR(50) FOREIGN KEY REFERENCES TBL_DISTRIBUIDORES(CEDULA),
ESTADO BIT NOT NULL DEFAULT 0)
 



CREATE TABLE TBL_CONTRASENNAS(
CODIGO INT NOT NULL PRIMARY KEY IDENTITY(1,1),
CODIGO_USUARIO VARCHAR(50) NOT NULL FOREIGN KEY REFERENCES TBL_USUARIOS(IDENTIFICACION),
VALOR VARCHAR(200) NOT NULL,
FECHA_REGISTRADA DATE,
FECHA_VENCIMIENTO DATE,
ESTADO BIT NOT NULL DEFAULT 1);

CREATE TABLE TBL_AJUSTES_SERVIDOR(CODIGO INT NOT NULL PRIMARY KEY, LIMITE_DESEEMBOLSO  Decimal(19,4)  NOT NULL, VIGENCIA_PW INT NOT NULL, LIMITE_MAX_PW INT NOT NULL, NUM_CUENTA INT NOT NULL FOREIGN KEY REFERENCES TBL_CUENTAS(NUMERO))


CREATE TABLE TBL_PRODUCTOS
(CODIGO INT PRIMARY KEY,
NOMBRE VARCHAR(100),
TIPO VARCHAR(100),
CODIGO_CATEGORIA INT FOREIGN KEY REFERENCES TBL_CATEGORIAS (CODIGO),
CODIGO_TIENDA INT FOREIGN KEY REFERENCES TBL_CATEGORIAS (CODIGO))

=======================================================================

                                STORED PROCEDURES


 
 CREATE PROCEDURE CRE_USUARIOS_PR @P_IDENTIFICACION VARCHAR(50), @P_PRIMER_NOMBRE VARCHAR(50),
@P_SEGUNDO_NOMBRE VARCHAR(50), @P_PRIMER_APELLIDO VARCHAR(50), @P_SEGUNDO_APELLIDO VARCHAR(50),
@P_URL_FOTO_PERFIL VARCHAR(300), @P_URL_FOTO_ID VARCHAR(300),
@P_TIPO_CUENTA VARCHAR(50),  @P_CONTRASENNA_VALOR varchar(200)
as
DECLARE @asd table (ID int)
INSERT INTO TBL_CUENTAS (SALDO) OUTPUT inserted.NUMERO INTO @asd VALUES (0);
INSERT INTO TBL_USUARIOS (IDENTIFICACION, PRIMER_NOMBRE, SEGUNDO_NOMBRE, PRIMER_APELLIDO,
SEGUNDO_APELLIDO, URL_FOTO_PERFIL, URL_FOTO_ID, TIPO_CUENTA, NUM_CUENTA)
VALUES
(@P_IDENTIFICACION, @P_PRIMER_NOMBRE, @P_SEGUNDO_NOMBRE, @P_PRIMER_APELLIDO, @P_SEGUNDO_APELLIDO,
@P_URL_FOTO_PERFIL, @P_URL_FOTO_ID, @P_TIPO_CUENTA, (SELECT ID FROM @ASD));
EXEC CRE_CONTRASENNA_PR @P_IDENTIFICACION, @P_CONTRASENNA_VALOR

GO


CREATE PROCEDURE CRE_TIENDAS_PR
    @P_CEDULA VARCHAR(50),
    @P_NOMBRE VARCHAR(50),
    @P_URL_LOGO VARCHAR(300),
    @P_TIPO_CEDULA VARCHAR(50),
    @P_CODIGO_GPS_BODEGA INT,
    @P_COMISION FLOAT,
    @P_CODIGO_ADMIN VARCHAR(50)
AS
    INSERT INTO TBL_TIENDAS (CEDULA, NOMBRE, URL_LOGO, TIPO_CEDULA, CODIGO_GPS_BODEGA, COMISION,
    CODIGO_ADMIN) VALUES (@P_CEDULA, @P_NOMBRE, @P_URL_LOGO, @P_TIPO_CEDULA, @P_CODIGO_GPS_BODEGA,
    @P_COMISION, @P_CODIGO_ADMIN)

CREATE PROCEDURE RET_TIENDAS_PR
    @P_CEDULA VARCHAR(50)
AS
    SELECT * FROM TBL_TIENDAS
    WHERE CEDULA = @P_CEDULA
    AND ESTADO = 1

CREATE PROCEDURE RET_ALL_TIENDAS_PR
AS
    SELECT * FROM TBL_TIENDAS
    WHERE ESTADO = 1


CREATE PROCEDURE UPD_TIENDAS_PR
    @P_CEDULA VARCHAR(50),
    @P_NOMBRE VARCHAR(50),
    @P_URL_LOGO VARCHAR(300),
    @P_TIPO_CEDULA VARCHAR(50),
    @P_CODIGO_GPS_BODEGA INT,
    @P_COMISION FLOAT,
    @P_CODIGO_ADMIN VARCHAR(50)
AS
    UPDATE TBL_TIENDAS 
    SET NOMBRE = @P_NOMBRE,
            URL_LOGO = @P_URL_LOGO,
            TIPO_CEDULA = @P_TIPO_CEDULA,
            CODIGO_GPS_BODEGA = @P_CODIGO_GPS_BODEGA,
            COMISION = @P_COMISION,
            CODIGO_ADMIN = @P_CODIGO_ADMIN
    WHERE CEDULA = @P_CEDULA

CREATE PROCEDURE DEL_TIENDAS_PR
    @P_CEDULA VARCHAR(50)
AS
    UPDATE TBL_TIENDAS
    SET ESTADO = 0
    WHERE CEDULA = @P_CEDULA


CREATE PROCEDURE CRE_CATEGORIAS_TIENDAS_PR
    @P_CEDULA VARCHAR(50),
    @P_CODIGO INT
AS
    INSERT INTO TBL_CATEGORIAS_X_TIENDAS (CODIGO_TIENDA, CODIGO_CATEGORIA)
    VALUES (@P_CEDULA, @P_CODIGO)



CREATE PROCEDURE RET_CATEGORIAS_TIENDAS_PR
    @P_CEDULA VARCHAR(50)
AS
    SELECT C.CODIGO, C.NOMBRE
    FROM TBL_TIENDAS AS T
    INNER JOIN TBL_CATEGORIAS_X_TIENDAS AS CT
    ON T.CEDULA = CT.CODIGO_TIENDA
    INNER JOIN TBL_CATEGORIAS AS  C
    ON C.CODIGO = CT.CODIGO_CATEGORIA
    WHERE T.CEDULA = @P_CEDULA AND 
    CT.ESTADO = 1

CREATE PROCEDURE CRE_DISTRIBUIDORES_TIENDAS_PR
    @P_CODIGO_TIENDA VARCHAR(50),
    @P_CODIGO_DISTRIBUIDOR VARCHAR(50)
AS
    INSERT INTO TBL_DISTRIBUIDORES_X_TIENDAS(CODIGO_TIENDA, CODIGO_DISTRIBUIDOR)
    VALUES (@P_CODIGO_TIENDA, @P_CODIGO_DISTRIBUIDOR)

CREATE PROCEDURE RET_DISTRIBUIDORES_TIENDAS_PR
    @P_CEDULA VARCHAR(50)
AS
    SELECT D.CEDULA, D.NOMBRE, D.CODIGO_USUARIO, D.RANGO, D.TARIFA_BASE, D.TARIFA_KM
    FROM TBL_TIENDAS AS T
    INNER JOIN TBL_DISTRIBUIDORES_X_TIENDAS AS DT
    ON T.CEDULA = DT.CODIGO_TIENDA
    INNER JOIN TBL_DISTRIBUIDORES AS D
    ON D.CEDULA = DT.CODIGO_DISTRIBUIDOR
    WHERE T.CEDULA = @P_CEDULA AND 
    DT.ESTADO = 1


CREATE PROCEDURE DEL_DISTRIBUIDORES_TIENDAS_PR
    @P_CEDULA VARCHAR(50),
    @P_CODIGO_DISTRIBUIDOR VARCHAR(50)
AS
    UPDATE TBL_DISTRIBUIDORES_X_TIENDAS
    SET ESTADO = 0
    WHERE CODIGO_TIENDA = @P_CEDULA AND
    CODIGO_DISTRIBUIDOR = @P_CODIGO_DISTRIBUIDOR

CREATE PROCEDURE CRE_DISTRIBUIDOR_PR
    @P_CEDULA VARCHAR(50),
    @P_NOMBRE VARCHAR(50),
    @P_CODIGO_USUARIO VARCHAR(50),
    @P_TARIFA_BASE FLOAT,
    @P_TARIFA_KM FLOAT,
    @P_RANGO INT
AS
    INSERT INTO TBL_DISTRIBUIDORES (CEDULA, NOMBRE, CODIGO_USUARIO, TARIFA_BASE,
    TARIFA_KM, RANGO) VALUES(@P_CEDULA, @P_NOMBRE, @P_CODIGO_USUARIO, @P_TARIFA_BASE,
    @P_TARIFA_KM, @P_RANGO)

CREATE PROCEDURE RET_DISTRIBUIDOR_PR
    @P_CEDULA VARCHAR(50)
AS
    SELECT *
    FROM TBL_DISTRIBUIDORES
    WHERE CEDULA = @P_CEDULA AND
    ESTADO = 1

CREATE PROCEDURE RET_ALL_DISTRIBUIDOR_PR
AS
    SELECT * FROM TBL_DISTRIBUIDORES
    WHERE ESTADO = 1

CREATE PROCEDURE UPD_DISTRIBUIDOR_PR
    @P_CEDULA VARCHAR(50),
    @P_NOMBRE VARCHAR(50),
    @P_CODIGO_USUARIO VARCHAR(50),
    @P_TARIFA_BASE FLOAT,
    @P_TARIFA_KM FLOAT,
    @P_RANGO INT
AS
    UPDATE TBL_DISTRIBUIDORES
    SET NOMBRE = @P_NOMBRE,
            CODIGO_USUARIO = @P_CODIGO_USUARIO,
            TARIFA_BASE = @P_TARIFA_BASE,
            TARIFA_KM = @P_TARIFA_KM,
            RANGO = @P_RANGO
    WHERE CEDULA = @P_CEDULA

CREATE PROCEDURE DEL_DISTRIBUIDOR_PR
    @P_CEDULA VARCHAR(50)
AS
    UPDATE TBL_DISTRIBUIDORES
    SET ESTADO = 0
    WHERE CEDULA = @P_CEDULA

 CREATE PROCEDURE CRE_CONTRASENNA_PR @P_IDENTIFICACION VARCHAR(50), @P_VALOR VARCHAR(200)
AS
UPDATE TBL_CONTRASENNAS SET ESTADO = 0 WHERE CODIGO_USUARIO = @P_IDENTIFICACION
INSERT INTO TBL_CONTRASENNAS(CODIGO_USUARIO, VALOR, FECHA_REGISTRADA, FECHA_VENCIMIENTO, ESTADO)
VALUES (@P_IDENTIFICACION, @P_VALOR, GETDATE(), GETDATE() + (SELECT VIGENCIA_PW FROM TBL_AJUSTES_sERVIDOR WHERE CODIGO = 0), 1);

CREATE PROCEDURE INICIAR_SESION @P_IDENTIFICACION VARCHAR(50), @P_PASSWORD VARCHAR(200) AS
DECLARE @CURRENT_PASSWORD VARCHAR(200);
SET @CURRENT_PASSWORD = (SELECT VALOR FROM TBL_CONTRASENNAS WHERE CODIGO_USUARIO = @P_IDENTIFICACION AND ESTADO = 1);
IF @CURRENT_PASSWORD = @P_PASSWORD
    BEGIN
        SELECT 'succesful' as result
    END
ELSE
    BEGIN
        SELECT 'unsuccessful' as result
    END

	==================================================================

	                                  SELECTS


SELECT * FROM TBL_AJUSTES_SERVIDOR
SELECT * FROM TBL_CATEGORIAS
SELECT * FROM TBL_CATEGORIAS_X_TIENDAS
SELECT * FROM TBL_CONTRASENNAS
SELECT * FROM TBL_CORREOS
SELECT * FROM TBL_CUENTAS
SELECT * FROM TBL_DISTRIBUIDORES
SELECT * FROM TBL_DISTRIBUIDORES_X_TIENDAS
SELECT * FROM TBL_MENSAJES
SELECT * FROM TBL_PRODUCTOS
SELECT * FROM TBL_TIENDAS
SELECT * FROM TBL_USUARIOS



About

Project of course "Proyecto de programacion 2 - Cenfotec" where we implemented a solid arquitecture to build a platform able to create Web Stores. These stores sell, deliver, track and notify all purchases of the customers. Proyect was created using ASP.net in Front-End ; C# with a Restful API (in C# as well) to create our back end ; SQL Server …

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published