View
231
Download
0
Category
Preview:
Citation preview
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
Recommended