manual web service rest .net.docx

Upload: xavier-condor

Post on 26-Feb-2018

229 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/25/2019 MANUAL WEB SERVICE REST .NET.docx

    1/46

    ndor Xavier, Muentes AndrsVERIDAD DE LAS FUERZAS ARMADAS -ESEMANUAL DE

    !E" SERVICERES#FUL EN

    NE#

  • 7/25/2019 MANUAL WEB SERVICE REST .NET.docx

    2/46

    MANUAL APLICACIONES WEB

    RESTFUL .NET

    Contenido"ASE DE DA#%S$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&ALICACI'N SERVID%R$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$((

    ALICACI'N CLIEN#E$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$)(

    RUE"AS ALICACI'N FUNCI%NAL$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$)*

    (

  • 7/25/2019 MANUAL WEB SERVICE REST .NET.docx

    3/46

    "ASE DE DA#%S($ ara e+ ro+e.a rouesto se /a +anteado e+ si0uiente .ode+o$

    CLIENTE

    CLIEN_CODIGO

    CLIEN_CEDULA

    CLI_NOMBRE

    CLI_APELLIDO

    CLI_DIRECCION

    ...

    int

    varchar(13)

    varchar(50)

    varchar(50)

    varchar(50)

    !"#

    DETALLE_$ACTURA

    DET_CODIGO

    $AC_CODIGO

    PRO%_CODIGO

    PRO_CODIGO

    PRO_NOMBRE

    PRO_PRECIO_UNITARIO

    DET_CANTIDAD

    DET_&UBTOTAL...

    int

    int

    int

    int

    int

    n'ric(*+,)

    int

    n'ric(*+,)

    !"#

    -"1#

    -",#

    $ACTURA$AC_CODIGO

    CLIEN_CODIGO

    $AC_$ECA

    $AC_I%A

    $AC_TOTAL...

    int

    int

    /atti

    n'ric(*+,)

    n'ric(*+,)

    !"#

    -"#

    PRO%EEDOR

    PRO%_CODIGO

    PRO%_NOMBRE

    PRO%_DIRECCION

    PRO%_TELE$ONO

    PRO%_RUC

    PRO%_CORREO...

    int

    varchar(50)

    varchar(100)

    varchar(10)

    varchar(13)

    varchar(50)

    !"#

    PRODUCTO

    PRO_CODIGO

    EMP_RUC

    PRO_NOMBRE

    PRO_DE&CRIPCION

    PRO_PRECIO_UNITARIO

    PRO_&TOC

    int

    varchar(13)

    varchar(50)

    varchar(150)

    n'ric(*+,)

    int

    !"#

    -"#

    EMPRE&A

    EMP_RUC

    EMP_NOMBRE

    EMP_DIRECCION

    EMP_TELE$ONO

    EMP_CORREO...

    varchar(13)

    varchar(50)

    varchar(100)

    varchar(10)

    varchar(50)

    !"#

    E+ s1rit de +a ase de datos +anteada 2uedar3 as45

    67888888888888888888888888888888888888888888888888888888888888887667 D"MS na.e5 Mi1roso9t S:L Server &;;< 7667 Created on5 &=6((6&;(> &)5;=5?@ 76678888888888888888888888888888888888888888888888888888888888888876

    i9 eists Bse+e1t ( 9ro. ss$ssre9eren1es r oin ss$ssoe1ts o on Bo$id 8 r$1onstid ando$te 8 F G/ere r$9Heid 8 oe1tidBDE#ALLEFAC#URA and o$na.e 8FJDE#ALLEREFERENCEFAC#URAa+ter ta+e DE#ALLEFAC#URA dro 1onstraint FJDE#ALLEREFERENCEFAC#URA

    0o

    &

  • 7/25/2019 MANUAL WEB SERVICE REST .NET.docx

    4/46

    i9 eists Bse+e1t ( 9ro. ss$ssre9eren1es r oin ss$ssoe1ts o on Bo$id 8 r$1onstid ando$te 8 F G/ere r$9Heid 8 oe1tidBDE#ALLEFAC#URA and o$na.e 8FJDE#ALLEREFERENCER%VEED%a+ter ta+e DE#ALLEFAC#URA dro 1onstraint FJDE#ALLEREFERENCER%VEED%0o

    i9 eists Bse+e1t ( 9ro. ss$ssre9eren1es r oin ss$ssoe1ts o on Bo$id 8 r$1onstid ando$te 8 F G/ere r$9Heid 8 oe1tidBFAC#URA and o$na.e 8FJFAC#URAREFERENCECLIEN#Ea+ter ta+e FAC#URA dro 1onstraint FJFAC#URAREFERENCECLIEN#E0o

    i9 eists Bse+e1t ( 9ro. ss$ssre9eren1es r oin ss$ssoe1ts o on Bo$id 8 r$1onstid ando$te 8 F G/ere r$9Heid 8 oe1tidBR%DUC#% and o$na.e 8FJR%DUC#%REFERENCEEMRESAa+ter ta+e R%DUC#% dro 1onstraint FJR%DUC#%REFERENCEEMRESA0o

    i9 eists Bse+e1t ( 9ro. ssoe1ts

    G/ere id 8 oe1tidBCLIEN#E and te 8 U dro ta+e CLIEN#E0o

    i9 eists Bse+e1t ( 9ro. ssoe1ts G/ere id 8 oe1tidBDE#ALLEFAC#URA and te 8 U dro ta+e DE#ALLEFAC#URA0o

    i9 eists Bse+e1t ( 9ro. ssoe1ts G/ere id 8 oe1tidBEMRESA and te 8 U dro ta+e EMRESA0o

    i9 eists Bse+e1t ( 9ro. ssoe1ts G/ere id 8 oe1tidBFAC#URA and te 8 U

    dro ta+e FAC#URA0o

    )

  • 7/25/2019 MANUAL WEB SERVICE REST .NET.docx

    5/46

    i9 eists Bse+e1t ( 9ro. ssoe1ts G/ere id 8 oe1tidBR%DUC#% and te 8 U dro ta+e R%DUC#%0o

    i9 eists Bse+e1t ( 9ro. ssoe1ts G/ere id 8 oe1tidBR%VEED%R and te 8 U dro ta+e R%VEED%R0o

    67888888888888888888888888888888888888888888888

    888888888888888887667 #a+e5 CLIEN#E 766788888888888888888888888888888888888888888888888888888888888888761reate ta+e CLIEN#E B CLIENC%DIK% int identit, CLIENCEDULA var1/arB() nu++, CLIN%M"RE var1/arB>; nu++, CLIAELLID% var1/arB>; nu++, CLIDIRECCI%N var1/arB>; nu++, 1onstraint JCLIEN#E ri.ar He BCLIENC%DIK%

    0o

    67888888888888888888888888888888888888888888888888888888888888887667 #a+e5 DE#ALLEFAC#URA 766788888888888888888888888888888888888888888888888888888888888888761reate ta+e DE#ALLEFAC#URA B

    DE#C%DIK% int identit, FACC%DIK% int nu++, R%VC%DIK% int nu++, R%C%DIK% int nu++, R%N%M"RE int nu++, R%RECI%UNI#ARI% nu.eri1B

  • 7/25/2019 MANUAL WEB SERVICE REST .NET.docx

    6/46

    67888888888888888888888888888888888888888888888888888888888888887667 #a+e5 EMRESA 766788888888888888888888888888888888888888888888888888888888888888761reate ta+e EMRESA B EMRUC var1/arB() not nu++, EMN%M"RE var1/arB>; nu++, EMDIRECCI%N var1/arB(;; nu++, EM#ELEF%N% var1/arB(; nu++, EMC%RRE% var1/arB>; nu++, 1onstraint JEMRESA ri.ar He BEMRUC0o

    67888888888888888888888888888888888888888888888888888888888888887667 #a+e5 FAC#URA 766788888888888888888888888888888888888888888888888888888888888888761reate ta+e FAC#URA B FACC%DIK% int identit, CLIENC%DIK% int nu++, FACFECA dateti.e nu++, FACIVA nu.eri1B

  • 7/25/2019 MANUAL WEB SERVICE REST .NET.docx

    7/46

    67888888888888888888888888888888888888888888888888888888888888887667 #a+e5 R%VEED%R 766788888888888888888888888888888888888888888888888888888888888888761reate ta+e R%VEED%R B R%VC%DIK% int identit, R%VN%M"RE var1/arB>; nu++, R%VDIRECCI%N var1/arB(;; nu++, R%V#ELEF%N% var1/arB(; nu++, R%VRUC var1/arB() nu++, R%VC%RRE% var1/arB>; nu++, 1onstraint JR%VEED%R ri.ar He BR%VC%DIK%0o

    a+ter ta+e DE#ALLEFAC#URA add 1onstraint FJDE#ALLEREFERENCEFAC#URA 9orei0n HeBFACC%DIK% re9eren1es FAC#URA BFACC%DIK%0o

    a+ter ta+e DE#ALLEFAC#URA add 1onstraint FJDE#ALLEREFERENCER%VEED% 9orei0n HeBR%VC%DIK% re9eren1es R%VEED%R BR%VC%DIK%0o

    a+ter ta+e FAC#URA add 1onstraint FJFAC#URAREFERENCECLIEN#E 9orei0n HeBCLIENC%DIK% re9eren1es CLIEN#E BCLIENC%DIK%0o

    a+ter ta+e R%DUC#% add 1onstraint FJR%DUC#%REFERENCEEMRESA 9orei0n HeBEMRUC re9eren1es EMRESA BEMRUC

    0o

    &$ Ari.os e+ S:LServer &;(?

    @

  • 7/25/2019 MANUAL WEB SERVICE REST .NET.docx

    8/46

    )$ In0resa.os nuestros datos de a11eso

    ?$ Va.os a+ +ado i2uierdo de +a anta++a, donde da.os 1+i1 i2uierdosore ase de datos se+e11iona.os en nueva ase de datos$

    =

  • 7/25/2019 MANUAL WEB SERVICE REST .NET.docx

    9/46

    >$ Se are una nueva ventana, donde da.os un no.re a nuestranueva ase de datos +e da.os +as roiedades 2ue desee.os, eneste 1aso /e.os ++a.ado a nuestra ase de datos d1o.+eivo,+ue0o da.os 1+i1 en a1etar$

    @$ Ve.os 2ue se /a 1reado nuestra ase de datos eitosa.ente$

  • 7/25/2019 MANUAL WEB SERVICE REST .NET.docx

    10/46

    =$ A/ora va.os a ee1utar e+ ar1/ivo s2+ 1on +a ase 2ue disea.os enoGer Desi0ner$ Asi 2ue va.os a+ .enO resiona.os enar1/ivo6arir6ar1/ivo

  • 7/25/2019 MANUAL WEB SERVICE REST .NET.docx

    11/46

    (;$Una ve ee1utado, se nos des+ie0a e+ si0uiente .ensae

    (($A/ora veriP1a.os, 2ue +as ta+as estn en +a ase de datos$

    (&$A/ora, 1o.o nos di1e e+ eer1i1io, va.os a in0resar datos de 9or.a.anua+, en rodu1to, ara tener nuestra ase de datos o+ada oder roar+a osterior.ente$ Co.o or ee.+o5En E.resa, 2ue va a ser una e.resa roveedora$

    (;

  • 7/25/2019 MANUAL WEB SERVICE REST .NET.docx

    12/46

    ()$En rodu1to, 2ue ser3n +os rodu1tos 2ue o9re1e +a e.resa L%SALES

    (?$En +a ta+a roveedor, ondre.os +os .is.os datos de +a ta+ae.resa, a 2ue +a ta+a roveedor es ara 2ue en +a ase de

    IM%R#:UI#% se ten0a un re0istro de +a e.resa roveedora$

    (>$Una ve a o+ada +a ase ara /a1er +as rueas, ode.os ir a +aa+i1a1in$

    ALICACI'N SERVID%REn este 1aso ara +a e.resa L%S ALES 2ue ser3 +a 2ue ten0a +os!eServi1es, se /a de1idido 1rear una a+i1a1in en AS$NE#, 1on 1Q$ or +o2ue ro1ede.os /a1iendo +o si0uiente5

    ($ Ari.os Visua+Studio, en nuestro 1aso uti+iare.os Visua+Studio &;(>

    ((

  • 7/25/2019 MANUAL WEB SERVICE REST .NET.docx

    13/46

    &$ Va.os a +a arra de .enO da.os 1+i1 en Ar1/ivo6Nuevo6roe1to

    )$ Se nos are una nueva ventana en donde se+e11ionare.os e+Len0uae CQ e+e0i.os A+i1a1in Ge AS$NE#, en nuestro 1aso++a.are.os a +a a+i1a1in Servi1ioRest 2ue ertene1er3 a +aa+i1a1in de Los A+es$ +e da.os 1+i1 en A1etar$

    (&

  • 7/25/2019 MANUAL WEB SERVICE REST .NET.docx

    14/46

    ?$ Se nos arir3 una nueva ventana, en done nos dar3 o1iones de+anti++as, ero ara nuestro 1aso, se+e11ionare.os sin +anti++a e+e0ire.os e+ .ode+o MVC$ resiona.os a1etar$

    >$ Esera.os se nos 1ree e+ roe1to$

    @$ Ve.os 2ue se /aa 1reado e+ roe1to 1orre1ta.ente$

    ()

  • 7/25/2019 MANUAL WEB SERVICE REST .NET.docx

    15/46

    =$ A/ora, ara /a1er+o 1on e+ atrn de Diseo MVC, +o 2ue dee.os esoner+e 1aas a nuestro roe1to, ara +o 1ua+ /are.os +o si0uiente5

    Da.os 1+i1 dere1/o sore +a so+u1in e+e0i.os A0re0ar6Nuevoroe1to

  • 7/25/2019 MANUAL WEB SERVICE REST .NET.docx

    16/46

    *$ De +a .is.a .anera 1rea.os dos "i+iote1as de C+ases .3s,++a.adas Datos Ne0o1io$ En donde, +a una tendr3 a11esii+idad a +os

    datos de +a ase de datos +a otra tendr3 nuestras re0+as de ne0o1iode +a a+i1a1in$ Una ve 1reados +os roe1tos, tendre.os e+ 3ro+ deroe1tos as45

    (;$A/ora /are.os +as re9eren1ias rese1tivas ara 1ada roe1to$ araesto, da.os 1+i1 dere1/o sore Datos, da.os 1+i1 enA0re0ar6Re9eren1ia

    (>

  • 7/25/2019 MANUAL WEB SERVICE REST .NET.docx

    17/46

    (($Se nos are una nueva ventana en donde, ara e+ 1aso de +a 1aa dedatos, +e va a /a1er re9eren1ia a +a 1aa de Entidades, or +o 2ue so+ose+e11iona.os Entidades da.os 1+i1 en A1etar$

    (&$En donde /a1e.os +o .is.o ara +a 1aa de Ne0o1io

    VistasBroe1to Servi1ioRest, en donde +a 1aa de Ne0o1io va a/a1er re9eren1ia a Entidades Datos, +as 1aa de Vistas va a /a1erre9eren1ia a Ne0o1io Entidades$En donde en re9eren1ias de 1ada 1aa odre.os ver +as re9eren1ias2ue tienen entre e++as$

    (@

  • 7/25/2019 MANUAL WEB SERVICE REST .NET.docx

    18/46

    ()$A/ora dentro de +a 1aa datos, va.os a 1rear una 1+ase ++a.ada1onein, en donde instan1iare.os nuestra 1adena de 1onein a +aase de datos

    (?$E+ 1di0o dentro de +a 1+ase ser3 e+ si0uiente, ara este 1aso, +a +4neade 1onein es or +a autenti1a1in de !indoGs 1o.o usuario +o1a+$

    Da+Coneion$1s

    usin0Sste.usin0Sste.$Co++e1tions$Keneri1

    usin0Sste.$Lin2usin0Sste.$#etusin0Sste.$#/readin0$#asHs

    na.esa1eDatosT u+i11+assDa+Coneion T u+i1stati1Strin0otenerConeionB T returnServer8DESJ#%-(&;=RI*S:LEXRESSInitia+Cata+o08d1o.+eivo#rustedConne1tion8es W WW

    (=

  • 7/25/2019 MANUAL WEB SERVICE REST .NET.docx

    19/46

    (>$Dentro de +a 1aa Entidades, 1rea.os +as entidades 2ue tene.os en+a ase de datos, en este 1aso 1o.o ser3 e+ servidor, so+o 1reare.os+as Entidades E.resa 1+ase rodu1to$

    E.resa$1s

    usin0Sste.usin0Sste.$Co++e1tions$Keneri1usin0Sste.$Lin2usin0Sste.$#etusin0Sste.$#/readin0$#asHs

    na.esa1eEntidadesT u+i11+assE.resa T u+i1strin0ru1 T 0et set W u+i1strin0no.re T 0et set W u+i1strin0dire11ion T 0et set W u+i1strin0te+e9ono T 0et set W

    u+i1strin01orreo T 0et set W WW

    rodu1to$1s

    usin0Sste.usin0Sste.$Co++e1tions$Keneri1usin0Sste.$Lin2usin0Sste.$#etusin0Sste.$#/readin0$#asHs

    na.esa1eEntidadesT u+i11+assrodu1to T u+i1Int)&1odi0o T 0et set W u+i1strin0ru1E.resa T 0et set W u+i1strin0no.re T 0et set W u+i1strin0des1ri1ion T 0et set W u+i1dou+ere1ioUnitario T 0et set W u+i1intsto1H T 0et set W WW

    (@$Crea.os nuestro a11eso a +a ase de datos ara +a entidad rodu1to,se0On +as 1onsu+tas 2ue ne1esite.os$ Creare.os una 1+ase en +a 1aaDatos ara rodu1to en este 1aso +a ++a.are.os Da+rodu1to$

    Da+rodu1to$1s

    usin0Sste.usin0Sste.$Co++e1tions$Keneri1usin0Sste.$Datausin0Sste.$Data$S2+C+ientusin0Sste.$Lin2usin0Sste.$#etusin0Sste.$#/readin0$#asHsusin0Entidades

    (

  • 7/25/2019 MANUAL WEB SERVICE REST .NET.docx

    20/46

    na.esa1eDatosT u+i11+assDa+rodu1to T S2+Conne1tion1nn S2+DataAdater1.d& S2+Co..and1.d DataSetds

    u+i1oo+insertarrodu1toBrodu1tooetorodu1to T Strin0s2+ 8 insert into R%DUC#% BEMRUC, R%N%M"RE,R%DESCRICI%N, R%RECI%UNI#ARI% va+ues B oetorodu1to$ru1E.resa , oetorodu1to$no.re , oetorodu1to$des1ri1ion , oetorodu1to$re1ioUnitario 1nn 8 neGS2+Conne1tionBDa+Coneion$otenerConeionB 1nn$%enB 1.d 8 neGS2+Co..andBs2+, 1nn 1.d$Ee1uteNon:uerB

    returntrue W

    u+i1DataSetus1arrodu1toorCodi0oRu1E.resaBInt)&1odi0o, strin0ru1E.resa T Strin0s2+ 8 se+e1t 7 9ro. R%DUC#% G/ere R%C%DIK%8 1odi0o andEMRUC 8 ru1E.resa

    1nn 8 neGS2+Conne1tionBDa+Coneion$otenerConeionB 1nn$%enB 1.d 8 neGS2+Co..andBs2+, 1nn S2+DataAdatersda 8 neGS2+DataAdaterB1.d

    DataSetds 8 neGDataSetB sda$Fi++Bds 1.d$Ee1uteNon:uerB 1nn$C+oseB returnds W

    u+i1oo+a1tua+iarrodu1toBrodu1tooetorodu1to T Strin0s2+ 8 udate R%DUC#% Set R%N%M"RE8 oetorodu1to$no.re ,R%DESCRICI%N8 oetorodu1to$des1ri1ion ,R%RECI%UNI#ARI%8 oetorodu1to$re1ioUnitario ,R%S#%CJ8 oetorodu1to$sto1H G/ereR%C%DIK%8 oetorodu1to$1odi0o and EMRUC 8 oetorodu1to$ru1E.resa

    1nn 8 neGS2+Conne1tionBDa+Coneion$otenerConeionB 1nn$%enB 1.d 8 neGS2+Co..andBs2+, 1nn 1.d$Ee1uteNon:uerB returntrue W

    u+i1oo+e+i.inarrodu1toBInt)&1odi0o, strin0ru1E.resa T Strin0s2+ 8 de+ete R%DUC#% G/ere R%C%DIK%8 1odi0o andEMRUC 8 ru1E.resa 1nn 8 neGS2+Conne1tionBDa+Coneion$otenerConeionB 1nn$%enB

    1.d 8 neGS2+Co..andBs2+, 1nn 1.d$Ee1uteNon:uerB returntrue

    (*

  • 7/25/2019 MANUAL WEB SERVICE REST .NET.docx

    21/46

    W

    u+i1DataSet+istarrodu1tosConSto1HMaorACeroB T Strin0s2+ 8 SELEC# 7 FR%M R%DUC#% G/ere R%S#%CJ Y ; 1nn 8 neGS2+Conne1tionBDa+Coneion$otenerConeionB 1nn$%enB 1.d 8 neGS2+Co..andBs2+, 1nn S2+DataAdatersda 8 neGS2+DataAdaterB1.d DataSetds 8 neGDataSetB sda$Fi++Bds 1.d$Ee1uteNon:uerB 1nn$C+oseB returnds W

    u+i1Listrodu1toY +istarrodu1tos&B T Listrodu1toY +ista 8 neGListrodu1toYB Strin0s2+ 8 SELEC# 7 FR%M R%DUC#%

    1nn 8 neGS2+Conne1tionBDa+Coneion$otenerConeionB 1nn$%enB 1.d& 8 neGS2+DataAdaterBs2+, 1nn ds 8 neGDataSetB 1.d&$Fi++Bds, DA#%S

    Data#a+eta+a 8 ds$#a+es[;\ 9orea1/BDataRoGroG inta+a$RoGs T rodu1to1e 8 neGrodu1toB 1e$1odi0o 8 Convert$#oInt)&BroG[R%C%DIK%\ 1e$ru1E.resa 8 roG[EMRUC\$#oStrin0B 1e$no.re 8 roG[R%N%M"RE\$#oStrin0B

    1e$des1ri1ion 8 roG[R%DESCRICI%N\$#oStrin0B 1e$re1ioUnitario 8 Convert$#oDou+eBroG[R%RECI%UNI#ARI%\ 1e$sto1H 8 Convert$#oInt)&BroG[R%S#%CJ\ +ista$AddB1e W 1nn$C+oseB return+ista W

    u+i1rodu1tous1arrodu1toLo1a+BInt)&1odi0orodu1to, strin0ru1E.resa T rodu1to8nu++ Strin0s2+ 8 se+e1t7 9ro. R%DUC#% G/ere R%C%DIK% 8 1odi0orodu1to and EMRUC 8 ru1E.resa

    1nn 8 neGS2+Conne1tionBDa+Coneion$otenerConeionB 1nn$%enB 1.d& 8 neGS2+DataAdaterBs2+, 1nn ds 8 neGDataSetB 1.d&$Fi++Bds, DA#%S

    Data#a+eta+a 8 ds$#a+es[;\ 9orea1/BDataRoGroG inta+a$RoGs T 8 neGrodu1toB $1odi0o 8 Convert$#oInt)&BroG[R%C%DIK%\ $ru1E.resa 8 roG[EMRUC\$#oStrin0B $no.re 8 roG[R%N%M"RE\$#oStrin0B

    $des1ri1ion 8 roG[R%DESCRICI%N\$#oStrin0B $re1ioUnitario 8 Convert$#oDou+eBroG[R%RECI%UNI#ARI%\ $sto1H 8 Convert$#oInt)&BroG[R%S#%CJ\

    &;

  • 7/25/2019 MANUAL WEB SERVICE REST .NET.docx

    22/46

    W 1nn$C+oseB return W

    u+i1DataSet+istarrodu1tosB T Strin0s2+ 8 se+e1t 7 9ro. R%DUC#% 1nn 8 neGS2+Conne1tionBDa+Coneion$otenerConeionB 1nn$%enB 1.d 8 neGS2+Co..andBs2+, 1nn S2+DataAdatersda 8 neGS2+DataAdaterB1.d DataSetds 8 neGDataSetB sda$Fi++Bds 1.d$Ee1uteNon:uerB 1nn$C+oseB returnds

    W

    u+i1oo+a1tua+iarSto1Hrodu1toBrodu1tooetorodu1to T Strin0s2+ 8 udate R%DUC#% Set R%S#%CJ8 oetorodu1to$sto1H G/ere R%C%DIK%8 oetorodu1to$1odi0o and EMRUC 8 oetorodu1to$ru1E.resa 1nn 8 neGS2+Conne1tionBDa+Coneion$otenerConeionB 1nn$%enB 1.d 8 neGS2+Co..andBs2+, 1nn 1.d$Ee1uteNon:uerB returntrue W W

    W

    (=$A/ora 1reare.os una 1+ase ++a.ada Ad.inistra1ionrodu1to, ennuestra 1aa de ne0o1io, 1on e+ si0uiente 1di0o

    Ad.inistra1ionrodu1to$1s

    usin0Sste.usin0Sste.$Co++e1tions$Keneri1usin0Sste.$Datausin0Sste.$Lin2usin0Sste.$#etusin0Sste.$#/readin0$#asHs

    usin0Datosusin0Entidades

    na.esa1eNe0o1ioT u+i11+assAd.inistra1ionrodu1to T u+i1DataSet+istarrodu1tosConSto1HB T Da+rodu1tod 8 neGDatos$Da+rodu1toB returnd$+istarrodu1tosConSto1HMaorACeroB W

    u+i1DataSet+istarrodu1tosB T Da+rodu1tod 8 neGDatos$Da+rodu1toB

    &(

  • 7/25/2019 MANUAL WEB SERVICE REST .NET.docx

    23/46

    returnd$+istarrodu1tosB W

    u+i1oo+insertarrodu1toBrodu1torodu1to T Da+rodu1tod 8 neGDatos$Da+rodu1toB returnd$insertarrodu1toBrodu1to W

    u+i1oo+a1tua+iarrodu1toBrodu1torodu1to T Da+rodu1tod 8 neGDatos$Da+rodu1toB returnd$a1tua+iarrodu1toBrodu1to W

    u+i1oo+a1tua+iarSto1Hrodu1toBInt)&1odi0orodu1o, strin0ru1E.resa, int1antidadCo.rada T oo+resuesta 8 9a+se Da+rodu1tod 8 neGDatos$Da+rodu1toB

    rodu1torodu1to 8 us1arrodu1toLo1a+B1odi0orodu1o, ru1E.resa i9Brodu1to]8nu++ T rodu1to$sto1H-81antidadCo.rada resuesta 8 d$a1tua+iarSto1Hrodu1toBrodu1to W returnresuesta W

    u+i1oo+ei.inarrodu1toBrodu1torodu1to T Da+rodu1tod 8 neGDatos$Da+rodu1toB returnd$e+i.inarrodu1toBrodu1to$1odi0o, rodu1to$ru1E.resa

    W u+i1Listrodu1toY +istarrodu1tos&B T Da+rodu1tod 8 neGDatos$Da+rodu1toB returnd$+istarrodu1tos&B W

    u+i1DataSetus1arrodu1toBInt)&1odi0orodu1to, strin0ru1E.resa T Da+rodu1tod 8 neGDatos$Da+rodu1toB returnd$us1arrodu1toorCodi0oRu1E.resaB1odi0orodu1to, ru1E.resa W

    u+i1rodu1tous1arrodu1toLo1a+BInt)&1odi0orodu1to, strin0ru1E.resa T Da+rodu1tod 8 neGDatos$Da+rodu1toB returnd$us1arrodu1toLo1a+B1odi0orodu1to, ru1E.resa W WW

    (

  • 7/25/2019 MANUAL WEB SERVICE REST .NET.docx

    24/46

    (*$Se nos arir3 una ventana en donde se+e11ionare.os 1ontro+adorva14o$

    &;$A+ dar 1+i1 en a1etar, nos edir3 2ue +e de.os un no.re a nuestro1ontro+ador, en este 1aso +e /e.os uesto rodu1toContro++er +eda.os a0re0ar$

    &($Nos diri0i.os a AStart +e da.os 1+i1 n RouterConP0

    &)

  • 7/25/2019 MANUAL WEB SERVICE REST .NET.docx

    25/46

    &&$Ca.ia.os o.e or rodu1to$

    &)$A0re0a.os una vista dando 1+i1 dere1/o sore +a 1aretavistas6rodu1to$

    &?

  • 7/25/2019 MANUAL WEB SERVICE REST .NET.docx

    26/46

    &?$Le da.os un no.re a nuestra vista da.os en a1etar

    &>$A/ora entra.os a rodu1toContro++er one.os rodu1to dentro de+os arntesis de VieG, uesto a 2ue 2uere.os ++a.ar a +a vista 2ue1rea.os$

    &>

  • 7/25/2019 MANUAL WEB SERVICE REST .NET.docx

    27/46

    &@$A/ora a0re0a.os una vista ar1ia+ ++a.ada +istado$ En donde +a1odiP1are.os as4$

    ^usin0Entidades

    ^T Listrodu1toY +istado 8 VieG"a0$+istadorodu1tos asListrodu1toYWta+eY t/eadY trY t/YCodi0o6t/Y t/YNo.re6t/Y t/YDes1ri1ion6t/Y t/Yre1io6t/Y t/YSto1H6t/Y 6trY 6t/eadY todY

    ^9orea1/Brodu1too in+istado T trY tdY^o$1odi0o6tdY tdY^o$no.re6tdY tdY^o$des1ri1ion6tdY tdY^o$re1ioUnitario6tdY tdY^o$sto1H6tdY 6trY W

    6todY6ta+eY

    &=$En nuestro 1ontro+ador a0re0a.os e+ si0uiente 1di0o ara 1ar0ar +avista$

    usin0Sste.usin0Sste.$Co++e1tions$Keneri1usin0Sste.$Lin2usin0Sste.$!eusin0Sste.$!e$Mv1usin0Ne0o1io

    na.esa1eLosA+es$Contro++ers

    T u+i11+assrodu1toContro++er5 Contro++er T 66 KE#5 rodu1to u+i1A1tionResu+tIndeB T Ad.inistra1ionrodu1toa 8 neGAd.inistra1ionrodu1toB VieG"a0$+istadorodu1tos 8 a$+istarrodu1tos&B returnVieGBrodu1to W

    WW

    &@

  • 7/25/2019 MANUAL WEB SERVICE REST .NET.docx

    28/46

    &

  • 7/25/2019 MANUAL WEB SERVICE REST .NET.docx

    29/46

    )($En e+ !eServi1e aadi.os e+ si0uiente Cdi0o en

    I!eServi1eConsu+taRES#$1susin0Entidadesusin0Sste.usin0Sste.$Co++e1tions$Keneri1usin0Sste.$Datausin0Sste.$Lin2usin0Sste.$Runti.e$Seria+iationusin0Sste.$Servi1eMode+usin0Sste.$#et

    na.esa1eServi1ioRestT 66 N%#A5 uede usar e+ 1o.ando Rena.e de+ .enO Re9a1toriar ara 1a.iar e+

    no.re de inter9a I!eServi1eConsu+taRES# en e+ 1di0o en e+ ar1/ivo de1onP0ura1in a +a ve$ [Servi1eContra1t\ u+i1inter9a1eI!eServi1eConsu+taRES# T [%erationContra1t\ DataSetotenerrodu1tosConSto1HB W [DataContra1t\ u+i11+assrodu1toServi1e T [DataMe.er\ u+i1rodu1torodu1to T 0etT returnrodu1to W setT rodu1to 8 va+ue W W WW

    )&$En !eServi1eConsu+taRES#$sv1$1s rese1tiva.ente5

    usin0Ne0o1iousin0Sste.usin0Sste.$Co++e1tions$Keneri1usin0Sste.$Data

    usin0Sste.$Lin2usin0Sste.$Runti.e$Seria+iationusin0Sste.$Servi1eMode+

    &

  • 7/25/2019 MANUAL WEB SERVICE REST .NET.docx

    30/46

    usin0Sste.$#et

    na.esa1eServi1ioRestT 66 N%#A5 uede usar e+ 1o.ando Rena.e de+ .enO Re9a1toriar ara 1a.iar e+no.re de 1+ase !eServi1eConsu+taRES# en e+ 1di0o, en sv1 en e+ ar1/ivo de1onP0ura1in a +a ve$ 66 N%#A5 ara ini1iar e+ C+iente de ruea !CF ara roar este servi1io, se+e11ione!eServi1eConsu+taRES#$sv1 o !eServi1eConsu+taRES#$sv1$1s en e+ E+orador deso+u1iones e ini1ie +a deura1in$ u+i11+ass!eServi1eConsu+taRES#5 I!eServi1eConsu+taRES# T u+i1DataSetotenerrodu1tosConSto1HB T Ad.inistra1ionrodu1toad.in 8 neGAd.inistra1ionrodu1toB DataSetds 8 ad.in$+istarrodu1tosConSto1HB returnds W WW

    ve.os 2ue 9un1ione 1orre1ta.ente

    &*

  • 7/25/2019 MANUAL WEB SERVICE REST .NET.docx

    31/46

    ))$Aadi.os otro !e Servi1e !CF a+ 2ue ++a.a.os!eServi1eedidosRES#$ Aadi.os e+ si0uiente Cdi0o enI!eServi1eedidos RES#$1s

    usin0Entidadesusin0Sste.usin0Sste.$Co++e1tions$Keneri1usin0Sste.$Lin2usin0Sste.$Runti.e$Seria+iationusin0Sste.$Servi1eMode+usin0Sste.$#et

    na.esa1eServi1ioRestT 66 N%#A5 uede usar e+ 1o.ando Rena.e de+ .enO Re9a1toriar ara 1a.iar e+no.re de inter9a I!eServi1eedidosRES# en e+ 1di0o en e+ ar1/ivo de1onP0ura1in a +a ve$ [Servi1eContra1t\ u+i1inter9a1eI!eServi1eedidosRES# T [%erationContra1t\ oo+a1tua+iarSto1Hrodu1toBInt)&1odi0orodu1to, strin0ru1E.resa, int

    1antidadCo.rada W [DataContra1t\ u+i11+assrodu1toServi1e& T [DataMe.er\ u+i1rodu1torodu1to T 0etT returnrodu1to W setT rodu1to 8 va+ue W W WW

    )?$ en e+ !eServi1eedidosRES#$sv1$1s rese1tiva.ente5

    );

  • 7/25/2019 MANUAL WEB SERVICE REST .NET.docx

    32/46

    usin0Ne0o1iousin0Sste.usin0Sste.$Co++e1tions$Keneri1usin0Sste.$Lin2usin0Sste.$Runti.e$Seria+iationusin0Sste.$Servi1eMode+usin0Sste.$#et

    na.esa1eServi1ioRestT 66 N%#A5 uede usar e+ 1o.ando Rena.e de+ .enO Re9a1toriar ara 1a.iar e+no.re de 1+ase !eServi1eedidosRES# en e+ 1di0o, en sv1 en e+ ar1/ivo de1onP0ura1in a +a ve$ 66 N%#A5 ara ini1iar e+ C+iente de ruea !CF ara roar este servi1io, se+e11ione!eServi1eedidosRES#$sv1 o !eServi1eedidosRES#$sv1$1s en e+ E+orador deso+u1iones e ini1ie +a deura1in$ u+i11+ass!eServi1eedidosRES#5 I!eServi1eedidosRES# T u+i1oo+a1tua+iarSto1Hrodu1toBInt)&1odi0orodu1to, strin0ru1E.resa, int1antidadCo.rada

    T oo+resuesta 8 9a+se Ad.inistra1ionrodu1toad.in 8 neGAd.inistra1ionrodu1toB resuesta 8 ad.in$a1tua+iarSto1Hrodu1toB1odi0orodu1to, ru1E.resa,1antidadCo.rada returnresuesta W WW

    A/ora veriP1a.os 2ue 9un1ione5

    )(

  • 7/25/2019 MANUAL WEB SERVICE REST .NET.docx

    33/46

    ALICACI'N CLIEN#EUna ve 1reado e+ servidor, 1reare.os un 1+iente 2ue 1onsu.a +os!eServi1es rouestos$ ara +o 1ua+ 1reare.os un roe1to si.i+ar a+anterior ++a.ado I.or2uito$

    ($ Ari.os otra ventana de Visua+ Studio 1rea.s un nuevo roe1to$

    &$ Dentro de +a so+u1in 1reada, aadi.os +os roe1tos de Entidades,Datos Ne0o1io 1o.o se +os aadi en e+ roe1to LosA+esanterior.ente$

    )&

  • 7/25/2019 MANUAL WEB SERVICE REST .NET.docx

    34/46

    )$ Asi.is.o one.os +os roe1tos 1on sus rese1tivas re9eren1ias$

    ?$ Aadi.os +as entidades 2ue tene.os en +a ase de datos 1orresonden a I.or2uito rese1tiv.ente, +as 1ua+es son5 C+iente,roveedor Fa1tura Deta++eFa1tura$ Ade.3s 1reare.os una entidad++a.ada rodu1to 2ue 1ontendr3 +os .is.o 1a.os de +a ta+arodu1to de+ roveedor$

    >$ A0re0a.os e+ 1di0o ara +as entidades 2uedar3 de +a si0uiente.anera$

    ))

  • 7/25/2019 MANUAL WEB SERVICE REST .NET.docx

    35/46

    C+iente

    usin0Sste.usin0Sste.$Co++e1tions$Keneri1usin0Sste.$Lin2usin0Sste.$#etusin0Sste.$#/readin0$#asHs

    na.esa1eEntidadesT u+i11+assC+iente T u+i1Int)&1odi0o T 0et set W u+i1strin01edu+a T 0et set W u+i1strin0no.re T 0et set W u+i1strin0ae++idoT 0et set W u+i1strin0dire11ion T 0et set W WW

    roveedorusin0Sste.usin0Sste.$Co++e1tions$Keneri1usin0Sste.$Lin2usin0Sste.$#etusin0Sste.$#/readin0$#asHs

    na.esa1eEntidadesT u+i11+assroveedor T u+i1Int)&1odi0o T 0et set W u+i1strin0no.re T 0et set W u+i1strin0dire11ion T 0et set W u+i1strin0te+e9ono T 0et set W u+i1strin0ru1 T 0et set W u+i1strin01orreo T 0et set W WW

    Fa1tura

    usin0Sste.usin0Sste.$Co++e1tions$Keneri1usin0Sste.$Lin2usin0Sste.$#etusin0Sste.$#/readin0$#asHs

    na.esa1eEntidadesT u+i11+assFa1tura T u+i1Int)&1odi0o T 0et set W u+i1Int)&1odi0oC+ienteT 0et set W u+i1Date#i.e9e1/a T 0et set W u+i1dou+eiva T 0et set W u+i1dou+etota+ T 0et set W WW

    Deta++eFa1tura

    usin0Sste.usin0Sste.$Co++e1tions$Keneri1

    )?

  • 7/25/2019 MANUAL WEB SERVICE REST .NET.docx

    36/46

    usin0Sste.$Lin2usin0Sste.$#etusin0Sste.$#/readin0$#asHs

    na.esa1eEntidadesT u+i11+assDeta++eFa1tura T u+i1Int)&1odi0oFa1tura T 0et set W u+i1Int)&1odi0orodu1to T 0et set W u+i1Int)&1odi0oroveedor T 0et set W u+i1strin0no.re T 0et set W u+i1dou+ere1ioUnitario T 0et set W u+i1int1antidad T 0et set W u+i1dou+esutota+ T 0et set W W

    W

    rodu1to

    usin0Sste.usin0Sste.$Co++e1tions$Keneri1usin0Sste.$Lin2usin0Sste.$#etusin0Sste.$#/readin0$#asHs

    na.esa1eEntidadesT u+i11+assrodu1to T u+i1Int)&1odi0o T 0et set W u+i1strin0ru1E.resa T 0et set W u+i1strin0no.re T 0et set W u+i1strin0des1ri1ion T 0et set W u+i1dou+ere1ioUnitario T 0et set W u+i1intsto1H T 0et set W WW

    @$ Crea.os +as 1+ases de A11eso a datos se0On 1onven0a$=$ A/ora aadi.os +as Re9eren1ias de +os !e Servi1es ara

    1onsu.ir+os$ ara esto da.os 1+i1 dere1/o sore e+ roe1toI.o2uito se+e11iona.es A0re0ar6Re9eren1ia de Servi1io$

    )>

  • 7/25/2019 MANUAL WEB SERVICE REST .NET.docx

    37/46

  • 7/25/2019 MANUAL WEB SERVICE REST .NET.docx

    38/46

    (;$Ve.os 2ue en e+ e+orador de so+u1iones se en1uentren +asre9eren1ias a +os servi1ios 2ue 1rea.os$

    (($A/ora a0re0a.os un nuevo e+e.ento en e+ roe1to I.or2uito$E+e0i.os !e6!e For. +o ++a.a.os rodu1to$

    )=

  • 7/25/2019 MANUAL WEB SERVICE REST .NET.docx

    39/46

    (&$Dentro de+ 9or.u+ario one.os e+ si0uiente 1di0o$rodu1tos$as

    _^a0eLan0ua0e8CQAutoEvent!ireu8trueCode"e/ind8rodu1tos$as$1sIn/erits8I.or2uito$rodu1tos_Y

    ]D%C#E/t.+Y

    /t.+.+ns8/tt566GGG$G)$or06(***6/t.+Y/eadrunat8serverY.eta/tt-e2uiv8Content-#e1ontent8tet6/t.+ 1/arset8ut9-

  • 7/25/2019 MANUAL WEB SERVICE REST .NET.docx

    40/46

    6tdY tdY as5Lae+ID8Lae+?runat8server#et8No.re5Y6as5Lae+Y

    as5#et"oID8ttNo.rerunat8serverY6as5#et"oY 6tdY

    6trY trY tdY as5Lae+ID8Lae+>runat8server#et8Ae++ido5Y6as5Lae+Y

    as5#et"oID8#et"o(runat8serverY6as5#et"oY 6tdY tdY as5Lae+ID8Lae+@runat8server#et8Dire11in5Y6as5Lae+Y

    as5#et"oID8#et"o&runat8serverY6as5#et"oY 6tdY 6trY 6ta+eY

    r6Y divY /?Yedido6/?Y 6divY

    divY

    as5Lae+ID8Lae+(runat8server#et8ID-rodu1to5Y6as5Lae+Y

    as5#et"oID8ttrodu1torunat8serverY6as5#et"oY

    `ns`ns`ns as5Lae+ID8Lae+&runat8server#et8Cantidad5Y6as5Lae+Y

    as5#et"oID8ttCantidadrunat8serverY6as5#et"oY`ns`ns as5"uttonID8tnA0re0arrunat8server%nC+i1H8tnA0re0arC+i1H

    #et8Rea+iar edido6Y

    6divY divY as5Lae+ID8++Mensaerunat8server#et8Y6as5Lae+Y 6divY

    69or.Y6odY6/t.+Y

    rodu1to$as$1s

    usin0Sste.usin0Sste.$Co++e1tions$Keneri1usin0Sste.$Lin2

    usin0Sste.$!eusin0Sste.$!e$UIusin0Sste.$!e$UI$!eContro+s

    )*

  • 7/25/2019 MANUAL WEB SERVICE REST .NET.docx

    41/46

    usin0Entidadesusin0Sste.$Datausin0I.or2uito$Servi1ioConsu+tausin0I.or2uito$Servi1ioedidos

    na.esa1eI.or2uitoT u+i1artia+1+assrodu1tos5 Sste.$!e$UI$a0e T rote1tedvoida0eLoadBoe1tsender, EventAr0se T ++enar#a+aB W

    rote1tedvoidtnA0re0arC+i1HBoe1tsender, EventAr0se T oo+resuesta 8 9a+se Servi1ioedidosRES#$!eServi1eedidosRES#C+ientservi1io 8 neGServi1ioedidosRES#$!eServi1eedidosRES#C+ientB resuesta 8 servi1io$a1tua+iarSto1Hrodu1toBConvert$#oInt)&Bttrodu1to$#et,

    *************, Convert$#oInt)&BttCantidad$#et i9Bresuesta 88 true T ++Mensae$#et 8 edido Rea+iado ttrodu1to$#et 8 ttCantidad$#et 8 ++enar#a+aB W e+se T ++Mensae$#et 8 N% se udo rea+iar e+ edido W

    W

    u+i1void++enar#a+aB T

    DataSetds 8 neGDataSetB Servi1ioConsu+taRES#$!eServi1eConsu+taRES#C+ient1onsu+taRES# 8 neGServi1ioConsu+taRES#$!eServi1eConsu+taRES#C+ientB ds 8 1onsu+taRES#$otenerrodu1tosConSto1HB t+rodu1tos$DataSour1e 8 ds$#a+es[;\ t+rodu1tos$Data"indB

    W

    u+i1Listrodu1toY otenerrodu1tosDeServidorB T Listrodu1toY +ista 8 neGListrodu1toYB !eServi1eConsu+taSoaC+ientservi1ioConsu+ta 8 neG!eServi1eConsu+taSoaC+ientB DataSetds 8 servi1ioConsu+ta$%tenerrodu1tosConSto1HB Data#a+eta+a 8 ds$#a+es[;\ 9orea1/BDataRoGroG inta+a$RoGs T rodu1to 8 neGrodu1toB $1odi0o 8 Convert$#oInt)&BroG[R%C%DIK%\ $ru1E.resa 8 roG[EMRUC\$#oStrin0B

    $no.re 8 roG[R%N%M"RE\$#oStrin0B $des1ri1ion 8 roG[R%DESCRICI%N\$#oStrin0B $re1ioUnitario 8 Convert$#oDou+eBroG[R%RECI%UNI#ARI%\

    ?;

  • 7/25/2019 MANUAL WEB SERVICE REST .NET.docx

    42/46

    $sto1H 8 Convert$#oInt)&BroG[R%S#%CJ\ +ista$AddB W

    return+ista W WW

    RUE"AS ALICACI'N FUNCI%NAL

    ($ Co.o va.os a 1onsu.ir +os !eServi1es dee.os ee1utar e+ roe1toServi1ioRest$

    ?(

  • 7/25/2019 MANUAL WEB SERVICE REST .NET.docx

    43/46

    &$ Una ve 2ue e+ roe1to Servi1ioRest est en ee1u1in, ode.osee1utar e+ roe1to I.or2uito$

    )$ Co.o ode.os ver en +a ta+a no se 1ar0an +os rodu1tos 1on sto1H

    1ero 1o.o ode.os notar en +a ta+a de+ roe1to LosA+es, donde se1ar0an todos +os rodu1tos$

    A/ora va.os a rea+iar un edido 1on +os si0uientes datos$

    ?&

  • 7/25/2019 MANUAL WEB SERVICE REST .NET.docx

    44/46

    ?$ En donde a+ rea+iar e+ edido vere.os 2ue +a ta+a se a1tua+iar3 nos devo+ver3 un .ensae si e+ edido 9ue eitoso$

    >$ Co.o ode.os notar +a ta+a se a1tua+i 1ar03ndo+a otra ve desdee+ Ge servi1e e+ edido se rea+i 1on ito$

    @$ a1e.os otra ruea e+i.inando todos +os rodu1tos de+ rodu1to1on 1di0o ), 2uitando +os (;; rodu1tos vere.os 2ue +a ta+a se

    a1tua+iar3$

    ?)

  • 7/25/2019 MANUAL WEB SERVICE REST .NET.docx

    45/46

    =$ Co.o ve.os +a ta+a se /a a1tua+iado nueva.ente$

  • 7/25/2019 MANUAL WEB SERVICE REST .NET.docx

    46/46