.NET Maui Apps | Ecommerce -adding items to Cart in MAUI application (Web API, SQL Server & EF Core)

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
Hello friends and everyone you're welcome back  again to you let's go to hop Channel this video   we are going to continue on a project that we  started already and that is the dot net marry   e-commerce whereby we have um our application  whereby this application depends on a web API   for data such as the product and we did we created  our services and we created our views and call the   services or the API in our views and displayed  the product in the Android or in a mobile device   so this video we are going to talk about how to  add app to cut how to create or how to create   a service to handle customer selection  or customer Choice that's going to make   and you know let me go through with you  what you're going to talk about today   I have already done this so um we're gonna go  through for you to know what you're going to do   okay do what this is a continuation of the  previous video so if you haven't watched that   video then I strongly recommend you to watch that  don't worry if you can't find it I'll put it under   the description so please check it over there  watch it well before you come to this because   you're continuing but if you think you can just  catch up with it you can still keep watching okay   if you want to grab some content in this you can  still keep watching this although if you haven't   watched the previous one you can still do that  now let's see so this is what we had previously   and currently this is what I have so for this  you see we have um these are product list so in   our previous video we we displayed the product  image and a product name and we added price but   the new one the updated one I've added product  description and we have just made a substring   because they want to display all the list of  the product list not the product description   so you see we have short-handed and appended Dot  3.28 we have quantity available so we display the   quantity as well so the user own um select I  won't type in any number which is more than   the quantity you want to display the quantity as  well and we have a button as hard to cut so if   I click on add to cart it's going to add this to  the cut so let's try that and see so first of all   you can see I have a button here as view cut and  there is the cut now so kindly if I click on this   um it's going to pop up and show the current  cut or current items that I have in my cut   okay so let's try to add items to  cut and see what's going to happen maybe I'll choose maybe this item maybe it is back  so I'm going to click on this item now as soon as   I click on this item you see it asks you how many  of this the name back that you need so defaulty   you have one selected for you you can still add  more but the number that you're going to pass   here won't be the number or won't be out of range  okay like for instance the quantity here if you   check here let's click on cancel the quantity 8 is  42 if I decide to pass in three numbers let's see   what happens so 42 if I'm passing 42 and add zero  you see the zero is not coming I'm trying to type   in the number but we say it is it is not working  here unless I clear this up and I can still add   47 over here back and pass three numbers you are  passing three two numbers so that is 47 let's see   so if I click on okay let's see what happens sorry  your quantity is out of stock because the quantity   available is 42 and you're trying to pass in 47  that is the first validation that we make sure   that it is it has it is intact okay now the next  one is let's see I'm going to add the same thing   so I'm going to add one so I'm going to add one  here and I can see products added to cut now let's   say for instance I want to update the quantity  of this I've added this as one already if I add   the same one again let's see that we're saying  product added already that's right now let's go to   the next one so I added one let's add two and now  let's click on OK and I see product updated you   see so these are the things that we made sure that  they are fixed well so we don't want to duplicate   items in the cut with the same item product no  don't do that so we want to just have one item but   as soon as you update the quantity it can update  its quantity as well all right so now we have this   item in the cuts and now let's add one more so  we have this also one I'm going to add this but   that's added to cut let's add this back um so  let's add this so let's make this as maybe two   so let's click on OK all right  I'm going to add the last one so let me add this as three okay so one thing also is if I if I decide to  pass in this if I click this and click on OK   Let's see we see nothing happens because  you've typed in nothing so nothing happens   yes that is it so we have these items added  now honey I click on this fly out you see I   have this this symbol right here article  view cut so if I click on this view cut   let's see it has to populate and  I'll get us the cat list foreign s that are the product that we picked we choose  right now you see from here we have some details   about this we have the product name we have  products price the quantity that user ordered   that is one and you have subtotal for that so here  the subtotal it is the total price here time the   quantity that you ordered now this is one so you  have the same 140.55 and we have this as Ghana   cedis that is my currency here okay so you can  add US dollar you can add pound you can add any   any Rebels you can add rupees any currency that  you want to add okay you can't add it to it and   as you can see from here if you check this this is  140.55 but the order is two so we're going to be   going to multiply this by this and we have the sub  Twitter here so as soon as you add your product   and add your quantity that you want you're going  to have the sub Twitter calculated automatically   then you have it together at the end of the  day because you have the list here so you go   downstairs and I can see from this down here  because you have the summary for your shopping   number of items is equal to nine but if you count  the number of items here the address to four five   six right but okay I count the other this one this  is two making three there's um four there is seven   then we have eight and nine so we have nine items  so it is counting the individual item that you've   added the number of items although it could be the  same item but how many times have you added that   item 82 times three times or more then I'm gonna  count that so at the end of the day you're going   to have the tax do you have tax you have to pay  tax on it yes of course so you pay tax of three   percent then after subtracting the tax you want  to give you a discount of 0.5 percent of the tax   free amount then so you have the grand total here  and I'm gonna have the tax been out of this after   that you're going to have your discount added to  this the grant total left and so there's a payable   amount so we're going to pay 2263.67 Ghana cities  all right so this one this is the two-time mother   is supposed to pay but for the sake of the tax  and also the the discounts you're gonna have this   amounts lesser than the grant to return I have to  pay after that then I'm gonna have your checkout   all right so that's what I'm gonna do actually  and maybe the next video going to talk about how   to also remove uh how to remove item from the  cut maybe if I decide that the amount is too   big that I can pay how can I remove this how can I  update the um the quantity also here I don't need   to go to the app again or the the product again to  update the cards or to update the specific product   here as soon as I click on this maybe I can have  the The View so I can update it we're going to   talk about that maybe next time okay so but for  now let's focus on how to add product to cut   all right so that's what we are going to do so  let's go back again to the viewer products and   that is it so um in this video I'm going to take  you through this okay on please watch the previous   video and I have the busy on it because that is  a continuation of that video before you can watch   this but although you can still watch as well okay  all right now when we run this and windows 2 we're   going to have the same thing but I want to check  here I could say I have this tactic Base address   stated over here as I'm checking if the device  is Android I want to use this if the device is   desktop I want to use my Local Host that's the  application desktop or Windows application you   know when if you want to use Android if you  want to make Android depend on the data from   localhost or local webp and you have to make some  configuration and now I'll make sure that before   I put or I just upload or this uh source code to  GitHub I'll make sure that sentence is included   so you can also run it in localhost but not this  what you are seeing here it is a Dev tunnel so   if you don't know how to create Dev tunnel to put  your localhost online so you can have access to it   in your Android emulator then I'll put the video  under the description I've made a video on that   okay so change the description I'm gonna teach you  how to do that all right so I'm going to stop this   now this is also dependent from a web API if maybe  if you don't know let me show you you see we have   all the products here so if I click on get try  this out execute and get product we are having   all the products over here that is executing like  we say this from like get um Web Channel URL that   is it and that is the other products right you  have the ID name and description and images   converted into basically four string and these are  the things that we are displaying in over there   all right so let's display it on the desktop  2 and now see so I'm going to close this up   so because you have the dev tunnel here and I'm  going to make sure I select the framework of   windows so this is a multiple startup project  and I'm gonna click on start so this time   around you're going to base on desktop okay so  you're going to use our desktop to run that or   to create application because trying it in  desktop is very easy or it's easier than   try it in Android so you're going to use  the desktop version to do it at the end of   the day then we run it to the Android and see  what we have the output on the Android device all right so um that is it for the desktops  you can see it is the same as the Android one   we have our um art product and view Cartier So  currently if I click on view cut you're going   to see that the cat is empty um because I have  not added any any item yet all right so let's   go to now with reprodata can still add this and  it still works on Android too you see and that's   the desktop it still works as well now let's see  so I must have base the outlets are the twist to   display if product is being added to cats so if I  click on this I want to add this also I must see   the toaster maybe once you work on it you're going  to see the toys as well in in desktop attach the   toast decide to come at times it doesn't so maybe  when I decide to create this for the desktop you   can use um alerts as well to display alert or  maybe we can use a proper password all right   so let's add this and I'm going to add one over  here let's try this too so I'll add this as well   and now let's let's go to view cut so you see we  have the same thing as well as you can see the   same item that we saw the Assembly of shopping  and you have our payable amount and everything   specified as you can see from here because that is  the thing that we added all right so you see now   they are the same so this app that we're going to  create is going to work on both desktop and also   Android and iPhone yeah okay so let's  see so if I click on home I have the   whole item I'm going to close all this  and we're going to start um with it okay so in this video too or this current one  we are going to do some modification in the   previous video now the first one to talk about  here it is displaying the image you can see that   from here if you want to display image unless  you look through the data or the list coming   in and I will try to create a new variable and  we have to convert the image of base64 string   into an image source so we can display them  here but out of in case you want to display   it in another component or in another view it  becomes a problem so what you can do here is   we can create a custom image display now this  Custom Image control what's going to do here   is it's going to accept the base default string  and then convert it into image source so we can   use this component anywhere so we're going  to clear all this and try to create a new   Custom Image control now let's do that so I'm  going to close this off and we're going to be   working using the window version now when we are  done you're going to run this one in Android and   see what we have in the Android because you know  when running in the windows it takes less time   than in compared to using the Android okay so  I'm going to close this so let's stop debugging so let me close this up that is a Dev tunnel now  on top of this service that we have created that   is your product service you know that is when you  go to solution Explorer and you can see we have   this Services folder because we have this product  service now we are getting data from this API and   that's what we specified in here so um for that  service this one we see we are getting data from   this but if you are running on the windows then  we need not to use the dev tunnel so we want to   check if the device is Windows then or with  the platform is Windows then we want to use   the localhost but if the platform is Android or  iOS then we can decide to use the dev tunnel link   created so in such case I'm going to collect all  this and I can just replace it with just one line   of code and I guess we make it static because it  is static you create 1104 we have this as a base   string and this Base address we're checking  the platform it's Android then we're going   to use this if it is under us that is going to  be windowed then let's use this localhost and   that is our port for the localhost server so if  I check our server because you have as well seven   two three four and that is what we are using  in here okay now that is the first thing to do   aside from that let's go in there and create  our custom control so we can create a folder   and name it as custom controls to the project  so let's do that so in here let's create a new   folder to the client and let's make it as custom  control so add new folder and that is custom controls so in that folder let's create a class  and let's name it as image custom control   so this is going to be a class so that's going to be the  name Custom Image control so in this class we can now go ahead and create  our custom control now see we have this name   space on top here and that's the main street  that we just added now this first thing is we   could see it is inheritance from this image okay  and now we are creating this Dependable property   setting up the Base address that's the name of  to the Base address here this property created   another type of the string because it's  going to assemble just a string and here   we're going to specify also the same class name  that we created and now we have this property   chain so when property changes we want to call  this and that is what is going to perform the   magic so it's going to take in the Dependable  here object it is the image you're going to take   in the value and I'm trying to convert and get at  the image source and that is what it is doing it   over here so as we create this custom control  that's for image any time that we need we need   to specify just the basic for Source we see here  this property is get and set you can now set the   value of this and we can also get the value of  this so we need to set call this component and   now set the value for the 64 source and it's going  to convert the whole image to four string into an   image let's save this and we can now close this  and let's go in there and I'll use this Custom   Image that we've created but before we do that  we first have to add the namespace to the project   so we go to the display side and that's going  to be the go to views and I can see from the   phone you want to check the phone home page  that is XML now in here let's add the control   here let's add the namespace and that's the  name space is the demo e-commerce that's the   project name.client dot custom control but  this is the folder that we created so after   doing this you can now call this control and  now try to use the image tag that we've created   so where we have the image we're now going  there and I'm trying to edit that okay see   we have the image over here so this image  we are going to replace it with the custom   control we specify the source of this image  okay and now this is going to work so now we   are done with this it's very simple let's go  to the page here now in here this gets method   we're going to clear all this and I replace it  with a single one so let's clear everything here and let's replace it with this simple one  so we see from here that we get the whole   data from the product service now we check  if it is now then return if not then we're   going to clear this product list and at  this for that list here we're not going   to use this product term again we want to use a  product whereby it has the string property for   this image type as image so when you check  the image type let's see from this Library no from the client section you see we  have models here now this models we have   um products here so you want to use this image not  this uh product terms not this one okay because   I'm not going to use this anymore so you can just  get rid of um this now let's so we go to the view   model and now here we change this to the product  Sr because this product itself comes in with the   base default string as an image source and now in  here we are going to create you can see we have we   can set this as product model and on this product  model because you have this list of products and   we are going to add the new product model so  what is this new product model what we can do   here is we see we have a library added now I want  to check our library here because we have models   as category and now product want to check the same  for the client because you have the same category   and products we have here service response and  actually we have the same server response so we're   going to do here is we want to put everything all  the models all the shared models in the library so   we can add them to the separate project to make  our work our project very simple as soon as by   using the clean architecture as well because we  have to add a class library and in a class like   we have to add all models that need to be shared  by both the client and also the server as well so   let's see what to do here we are going to clear  all this so let's delete this model from the   client section and I'm going to use the model  in here and now you see we have this responses   now let's see so the models is gone now you  see we have yeah so the model is gone there   is a platform we see there's a resources so it is  gone now let's put everything inside this Library   foreign so first of all let's come to a library  now let's add a model so let's add a folder   to this and now this model or this folder is  going to be client model so let's say client   model now with this client model you want to  add all the classes that we need for the client   section okay so we're going to add some classes  here so in here we need to add the category model   and now you can see we have this category model  so we created a class and that's going to be the   category model so when you check the models we  have the same category but these models are the   entities these are the models that we use for  database so we don't want to touch these models   because they are entity models where entice them  is going to affect the database okay so don't do   that I want to keep them as they are and I want  to create um that is a duplicate of that and   I'm going to create it as a model for that one  we can just modify the way that we want so we   create one over here for category model and it's  the same as this category let's do same for this   client that is a product model as well so you can  create a class here and now you're going to name   this class as product model and whereby this  product model class is going to perform we're   going to have the same properties as this product  model just that I want to check the product model   this product entity a task relationship but I  want to check our product model here it doesn't   have any relationship here so this is going  to be used by the client and under this one   the entity one will be used by the database in  on a server okay good so now we have this you   can just go in there you can save everything and  go to this View and now all this can just make a   um cleared with that and what you need to do  here is we have to make it as product model so we say product models and now this time around we need to add the  library to this project so we go back to this   client ranking dependencies and then go to add  project reference now make sure you select this   library now click on add this project has been  added now control period we can now go ahead and   use this reference of this okay so you can use  this product here like all the client service   dot services so you can have this product model  from that and you can use that model so control   period you could see that we have using the  more ecommerce.library.client model that's a   new folder that we created and now this is soft  so this what we need to do here is you have to   just go in there and then copy this and now paste  it over here so this we have here address product   so we can just make a check we can just maintain  as we have over here as products and I could see   all these are soft now what are we doing here  the list of product that we get over here if it   is not now we are looking through and I want to  check the description if the length it is greater   than 40 you want to append three dot to it but  if it is not barrier return the same description   when we create that we're going to create a new  instance of this product model and now we're going   to set this property as ID category you can just  do ID category you can have image you can have   price you can add quantity and description okay  so we create new instance of this and we populate   it over here and we can now pass it okay so now  that's what we are just getting so as you can   see from here we are returning this image string  that's it basically four string now when it gets   to this component you're going to convert it into  an image and now display that for us now we have   this we can just go in there and run this again so  before that I want to change this Frame regression   to Windows because you want to use Windows  here and now let me change the API also from   um that is a Dev tunnel into none because you  want to use the local one and now let's set   this as startup property or startup project so  click on multiple one and now the API you want   to start without debugging now with the client  section just start include debugging as well now   let's understand see when you have any error 2 we  are going to rectify that while the project built yeah so you can see we have all these errors that  we need to change so let's start them after the   other we can just pin this over here and we can  take the first one so you need to exclude this   from it and yes service response control period  now you're going to use the one from the library   and here is going to be products model so I'm  going to change this as product model as well so I'm going to make all these changes so what  I'm going to do here is I can just have grab   this then I can just replace it with a new  one and in that you see we have the service   model products model or included into the  project now the same thing is we have to   do the same thing to the interface as well  so we go to the i product service and now in   here you have to change them to this model and  category model and also product model as well   so let me do that and also do  replace them here let's replace here okay so now I can just add so it's  already even added let me clear this off   and I believe that the problems they are  solved the last one is this category and   let's see yeah it is solved now so now let's  try to run this again and see what we have   okay so we need to change this here if you  check we need to also change this from the   product model to contribute model and Etc  so let's let's do that so category model and our control period you can  now use this so products model and now category model 2 so you can copy  this paste it now product model so these   are the changes that we need to make I believe  that is all for now all right so let's see yeah and then we have this error that  we need to make so we cannot resolve   this namespace so because we've seen the  name space let's see so we can say that so we're gonna have the CLR namespace   then here we have the demo and now we are going  to look for the library okay and now so let's   see client dot Library so you can see we have  the client over here demo.client and now we   are looking for this model so you can see we  have this modus over here so let's use this   and now with this model we're gonna say it is  product model so okay so we have this product   so we have this Library the most other Library  so we make sure you have the library included   and now when you go for this let's see okay so  you can see we have this product module right   here and can now access to the image name price  and Etc okay so I believe this is set let's see all right so you can see from here that we  still have a product from a database and it   still works now here we can now have a custom  image that's rendered basic fostering to an   image or straight and we can now use this  custom component or control anywhere that   we want all right so that's all you want to do  here now what you want to do is the next thing   is if you want to create a model whereby I can  add an item to cut so let's create a cart model   so let's go to before that let me  clear everything from this area   now let's go to solution Explorer and I can see  from this client model everything that you're   going to create here I believe is supposed to be  in the client's model because this is going to be   used mostly by the client side that is in a merry  application so that's what I'm going to do right   click on this and unless at the class I'm going  to paste this class here so add a class known as   cat model now inside this cartoon model we want  to have these properties the first one I want   to have here is we want to have the product ID you  want to have product name you want to have product   price you want to have the other quantity the  product image and also you want to have that is a   sub Twitter okay so this we are converting this  as decimal so we can also convert this to decimal   because you know that from this product price  we are going to pass in our price and so you   can Mr maintain as double but I can still make  it as decimal okay but for this subtitude you   want to make it at this time because you really  are passing in the type name let me space it up   for you to see it well so you can see we have all  get and set assets for this decimal or from this   sub tutor we have this private variable here and  we have it's public so in that we are get or we   want to set you can set the value right here and  now to get you want to multiply the product price   by the quantity ordered so if the user tries to  pass in two you want to multiply it so before we   get this up to that it might have um added or got  in the Twitter for us all right so these are the   properties that I want to create here now after  doing this we can now go in there and create our   static um list of products your cut model inside  the application so we can add or um add product to   that list internet user wants to add item to the  cut okay so to do that we have to go to this uh app.xml now open this and now  in here let's create it here   so I'm gonna say um a list of cat model I'm  going to say my account then you have to get   an assessor and here we are assign  it to the new of what this list item   so after doing this we are going to now create  a cart service now this cat server is going to   allow us to add item to the cut and also  get the cut list of item so let's go to   explore now inside the services let's create  a new interface and I'm going to name this as   I'll cut service so in the interface  and I'll name this as icat service okay so we have an interface here now we  have to create our implementation class   before that what are the methods  that you need to get over here you want to have two methods so the first  one is R2 cut and also get cut uh get cut   so obviously from here we have an add  item to cut async and I can see from   here I get my cat async so that's going  to get at the whole list of item in the   cut and I'm just going to add item to  the cut let's make this simple okay so now we are done with creating the interface  you know implementation follows so let's create an   implementation for that so that's not going to be  a class and then that's going to be card service and you know it has to inherit  from this the interface   so we do that and we can now generate Constructor  for that so ctor we can generate that over here   you can also click clear this as well so the first  implementation for this let's make this as public   and at the first implementation it is going to  be the add item to cut so with that we're going   to have this implementation here add item to cut  and now it is accepting this card model we check   if this cat model it is not now then we want to  proceed over here but before that check this we   see we are getting this app dot my cut now this  is the the static class that we created in the   app.xml.cs files for this okay so let's say  this is a basket that you want to store all   the items in it and now we are checking that if  that basket it is not equal to now then you want   to perform this but in case it is now they want  to perform this so let's first check if it is now   they want to add item to the card so the empty  empty basket add a new item to it and I return   um cut our product added to cut very simple  but if it is not now then first of all we   want to check if that product ID exists in if  it exists we change the compare the quantity   if they are the same we display products added  already but if they are not then we create a   new instance of this we remove the old one  then we add the current one to it and display   product updated you can see that's very simple  so in here we can still create let me populate   it like this so you can see it well I normally  like one line of code because it makes it much   more readable and so simple as well but for the  sake of this video I'm going to make it in this   form so you can actually see what that we have in  here all right so we have this implemented that's   going to be the article you see very simple here  what you are doing is we are adding item to the   list of the cut model that we created as a static  class or static object that you created inside the   app.xml.cs file and that is this guy okay now we  have data implementation class do and that's going   to be the app.get or get cut async so in that  what I'm going to do let's come to this service   and now here let's Implement that as  well so I'm going to close this like this   and the next line let's try to implement got get  cut async and this one is going to be too very   simple for us to to understand as well you see  we are returning a list of cat model now we're   going to create an object as a product cut and  we are starting it over here as app.mycast now   you know this app dot Minecraft here it is a  list so when you call this product in cart it   is a list take note we're checking if the account  is equal to zero you want to return now because   there's nothing in the cut but in case I cut is  more than that we create a single cut we Loop   through the whole the list of the data inside  this app.minecraft then we added to this card   model and at the end of the day we're going to  return this card we convert it to our list then   we return so this is going to retain a simple  cut of the user the item that you have added to   the cut get it for us I'm just going to do that  it's also very simple as well okay so now we have   this what we need to do here is we've created  our implementation in our interface we need to   create Independence injection okay so let's do  that in the program or Mario program.cs file so   we go to solution now my program.cs file let's do  that here let's add it to the next one like this so that is it icat service then cut service  now see from here we are adding transient   but we can also make it a Singleton  transient means anytime this method is   called create a new instance of it okay so  this ad service it is there to get or call   make a cell from the database so we can make  this a single thing it's also going to work   so let's make it ask add Singleton and it's also  going to work as well okay so let's maintain this   so after we've done with this we have to create  our cut model or let's add a button to the view   wherever you have this catalyst so as soon as you  can click on add to cart it can just get to the   cut as well okay so we go to solution Explorer  now let's go to the view model and now you're   looking for this phone home page view model so  this is for the phone and now in here you see   we have this as get product and the next thing  that you want to create here it is to add to cut   so when the button is clicked what you want to do  you want to set an attribute as relay command and   the method is going to be add to cut so we can now  have this method over here and let's see so we are   passing in as a product model okay we check if it  is now then return if it is not now then you want   to prompt the user specify the quantity that you  want to add so you're passing the name over here   and let's say how many do you want so you want  to set the initial value to one here I am using   um display prompt async if you want to know more  about this display prompt async uh display alerts   and also display action sheet I have a video  done on that so I'll put it in the description   so you can just select that and you're going  to know more about that how to use them also   so we ask the user we pass initial value now  we set the maximum length the number of keys   that the person can type and now we set it to the  property of this the quantity of the item in the   database dot length Okay and aside from that you  specify the keyboard type that you want to use   and that's a numeric because as soon as you tell  specify the quantity 18 is going to use numbers we   make the keyboard set to number so display only  numbers only okay now we check if string is now   empty it is a clicks on cancel or passing zero  or empty number I'm going to say return but in   case you couldn't then if you see this is a string  so when you convert this string into integer and   that's why we're using this n dot pass so you're  going to convert and so this is going to be like   something like this then if I pass in one here  this is the string value here but soon as I use   this n dot pass it's going to scrap off this and  now maintain the one as an integer I believe this   is clear thank you now don't worry if you haven't  subscribed to please do that now subscribe so you   can receive more videos when I upload any as well  if you like what I'm doing to you please do that   when you do that it helps this video too go  far away okay so let's check let's move on   now from here we are checking that if there is a  quantity it is greater than the selected product   of quantity maybe you want to say uh sorry your  quantity is out of stock the item that you have   currently is 10. you want to buy 12 is it possible  no it is it isn't so we check it over here and   return but in case everything is in order then you  want to display this so there's a Content display   research through what is that the content display  here that is when do you want to loot okay so that   is when it is loading now let's see this the first  of all is a Content display so let's first create   um a Boolean value here property here to hold this  content display and don't worry when we get to the   view the example page you're going to understand  this content display or the content disabled right   okay so let's put it on top here so we have this  blue as content disabled and I recall this okay so   content disable is going to check if the whole  processing order we don't want to add one item   and as soon as it is processing you can you have  or you can able to click on the other one no you   don't want to do that what you want to do here  is when I click on the first item and the process   started adding adding to the cut until the process  is completed you can't click on the next add to   cut button again unless you wait so we use this  content disabled to disable the content whenever   you click on the button and the process has  started so we check now we're going to use this   cut server so what is a cut service and that's  the service that we created so let's have two   or let's enjoy this into the Constructor of this  so in here we're going to say that icat service   let me say this cat service control period And  I can create and assign field not property and   now you can see this is solved now okay aside  from that we in the first video I think we use   twist right we use twist over here and if we  actually check we created when you go to the   add product we created a tools for that  so add products the model you can see we   created a toast over here so what we're going  to do here is we're going to scrub this off   and now we're going to create a new tools  class okay so we can Implement them here so in here since this toast is going to be used by  only the clients we want to specify that in their   clients uh project not in the library because  it's only the client that's not going to use it   so the server no it's really a client so let's  put inside the client project now where we have   our services we can also pass in our toast so  create a class and I name it as display tools   now we make the method as public and also static  that is all okay now here it is returning a bull   because you want to check that is it true that it  has finished displaying everything the last part   you're going to return because you know that the  process starts from the first one and it ends at   the last one so as soon as it enter the last one  it means all the processes have been executed they   want to return through so when you check in here  where you have this phone home page view model we   are checking that if completed okay we set we  set a variable as complete to the response of   this tools if it is completed then what I'm  going to do here is you want to delay for 2   000 milliseconds and that's approximately  for two seconds and after that you want to   set content is stable to false and disable  the content to the user so the user can now   click on the new add to cart item if not  the whole thing is what you're doing here   is we're going to display one there's error  here it means invalid entry you want to pass   in alphabet character invalid entry all right  so we have this over here now what you need to   do here is you have to implement this inside  the the pitch okay the view so let's go to the   the views you can see we have this add home page  view now here let's try to implement it over here   so before that um I believe we have to add an  image that's going to be an add to cart image now   I have a folder and I have a one file over here  as you can see add to cut so I'm going to copy   this and I'll go back to the Explorer and where  you have these resources let's place it there okay so now the image is over here doesn't add  to cart image and that is this one you can now go   ahead and use the button here now you're going to  use an image button to represent this image here so if you actually check you can see that all  this in the vertical form you have a frame over   here and it contains all the product that's  going to be displayed and now aside from at   the end of each product you want to add something  like the button as add to cut so you can put it   after this horizontal stack layout now let's  paste this here now that's what we are doing   you see we are using an image button and at  the end over here we set the source to this   add to cut immediately just added these are  the properties that you want to set for the   position also on the display aside from that we  have a command so command here we are making an   ancestral type command and I will referring  to this view that's this home page view model   and then there's a button or there's a method  known as add to cart command we pass in the   perimeter of this dot means referring to itself  so the current contest now we see we are looping   through this product model so this product is  going to be looked through once now when it   gets to one if I click on this it means I want  to pass the whole data product model currently   product model to the eye to cut method and that  is what when you come to here we are receiving it   over here you see the product model so it's not  the person clicks on it it's going to send that   data to this model and this model has opened its  hands to receive that and I'll start the process so let's save that also what we need to do again here is to add the  content display to this grid okay so by doing that   I can just paste in this over here and now if it's  a key I could see that we have this great display   we set this enabled to this content display so as  soon as I click on this button this set to true   and here is enable it's going to be um false okay  so it means that the whole content here you can't   click on any button again unless the process  has completed and that's not the process gets   completed it's going to search you through so  that is a false it's enabled yeah that is true   okay so we're going to set it through so initial  as soon as you click on the button is set to false   so it's enabled then it is four so you're going  to hide or you're going to just make this in a   way that you can click on any button as well as  soon as it completed it set this to um true so   it's anybody you set it through and that is what  we have now all right so let's see after we've   added our toast we have to go in there and add the  tools also so you see from here that we have this   tools but as soon as I click on control period you  can see I'm not having any method because you've   created a method known as displayed to still  not let's use that and that is a static class   so we started class you can call the name straight  ahead and I use the method in it so display toast   then dots nah this is solved now so we need to  use this and now here let's add an await to that   okay now let's see and that's going to be the ash  products page okay let's go to the add product to   do the save data let's say add item to cut as  well let's check that so let's go to the phone   home page view model and I'll add attempt to  cut you want to make a toast so that too as   you can see we are even using this one  here display tools dot make toast okay   and I already can see that it hasn't a weight  because it's going to wait for this to finish   and I return through and this can now continue  with it I believe where we are now we can now   go ahead and try this out and see what we have  so in case you have any error you're going to   pop up for us to see so let's click on start  now let's run this and see what it has for us all right so you see that it is now loaded now all  we need to do here is let's go to view products   and let's see if we're going to have the product  and also the add account button and when we click   on that button let's see what we're going to do  is it going to add it or each one let's check that so I believe the cut is loading that strike you  see we have how to cut image button at the end of   each and I can see we have the quantity available  too so did I even talk about the quantity yes   I let me take it over here and see so um when it  goes I could see I added one label and that is the   quantity and I made a 20 available so you can even  add available currently available then you can set   up to the current quantity that we have over here  and you can see it is a horizontal stack layer so   that I can make it in a straight line you can see  you can even use string format okay but here don't   worry this is Dynamics you can decide to use the  one that you want and I think I'm using this so   you can decide to use any one as well okay so it  is what you're using for this energy we are also   Banning the description so if I go again and check  over here you can see that from the description   this one you can the length of these ones they are  less than 40 so there's no three dot appended too   take this it is more than that you can still have  three dot it means when you go to details of this   you can read more on the description but because  you have the quantity available and receiving out   the total number over here has 12 10 you can see  we have 13 we have to 130 you have a 110 170 80   and 87 and that's it for 20 to as well so these  are the quantities that I added when adding the   product to the database and now if I click on add  to cut let's try that and see we are going to have   a pop-up to display the current number that you  want the default or the initial value is supposed   to be one let's try it out and see so if I click  on add to cut let's see we'll have it so how many   of this the name of this as clothes Gardener do  you need if I pass in empty see what happens click   on OK and I can see nothing happens let's do it  again so if I click this and I'll either passing   this contest you know actually passing this but  if I decide to pass in this see what happens   so invalid the entry okay because what you entered  isn't the right one that you meet let's write it   again so I'll pass in and unless you want quantity  is 10. if I pass in 11 less what happens here oh   sorry you're going to is out of stock because the  quantity that you want to buy it is 11 but what we   have here is 10 so it doesn't make sense that it  should allow you to add an item to the cut yeah   all right so let's try that again and  I'm going to add one to see one and   one has been added in a normal sense I have  to get a toast as product added but you see   what I'm going to do is I'm not having that  too well so maybe you can decide to use the   display alert okay uh product  added to cut so with this let's see   let's use booth and C so here when we go to  this add product the front page view model   this we're going to do so instead of coin this  toast here too you can also call this we wait   for this to finish and if this couldn't display  we want to call display alert so lesson awaits   cell dot current dot display and let's enter in  here we're going to pass in something like success and with this I wonder how super  this responders messaging here we   don't want to pass in our own  message to respond Dot message all right so we have now we have this okay we  have to have you have to get at the OK button okay   now let's try this again so build and apply  I'm gonna say save this and I restart from here so if those couldn't pop up then this display  are going to pop up okay if those couldn't work   this file is going to work but for the Android  and iOS the tools is working perfectly but for   windows at first it used to work when I I did the  first one but this I don't know what is happening   it is just this grazing right let's see so all  gonna happen now go back to this view product more eyes so it is here now if I click  on now to cutting the same thing let's   click on this you might have a alert okay  so product added to category so you have   it over here now let's see if I click on this  and I decide to pass the same once you happens that's right product added already let's  update it so I decided to pass choose   one and by three or two so let me make a  three click on ADD now see what happens   product updated so it didn't remove the first  product or I didn't add a new product but it   went and now check the data that we have in  the list if if it was able to find there's a   current one with the product ID then it says the  quantity if they're not the same or even not the   same as what has come in now then just wait for  Words update it and that's what we have now so   we can add a lot over here let's add this also  and now let's see add it now let's add this so   you see from here we have three products  added to the card right now let's see so   let's give a breakpoint to check the current  number that we have in the app.xml so in here   I'm going to do like this then let's try to add  item to the card so I'm going to add two more   click on this and I if I click on this let's  open how many counts we have three so these   are the item that we have added next you have  the other quantity is three put that ID for   that image as the 64 string product name and the  iso transfer to each other the sub total okay so   it is a private property so we don't we're not  going to use this we're going to use a sub to   attack we'll see this are automatically calculated  for us one price is 140 so times three because you   have 421.65 it's already done so you just have  to call this as a get and you're good to go   all right so now we have this what the next thing  to do here is to create a object or A View to get   the whole list from the cut and display let's  do that and we call it a day for this video so what we need to do here is we are going to add an image and that's going to  be so I have one over here so that's a view cut   and that's what I'm going to use to display so  let's go and copy this let's go to Project the   same resources images less spaces yes okay here  is a view card aside from that let's go to the   upshaw.xml file and now here let's add one cell  item and that's going to be view cut so we're   going to have a button whereby they're going  to click to view the cut and I reset the image   over here so that's a very kind of jpg the size of  this is view card now there is let's copy this and   let's create a component for this okay so let's do  that in the phone you see from here iPhone right   click on this let's add the new item we're going  to be dot net marry choose a Content page and   now here I'm going to name it as view cut click  on ADD and I get the page added to the project so in here we are going to add some namespaces  here so let's clear this title because we're   going to set this title inside the view model so  let's set up this um let's add these namespaces   and now what are these namespaces for the first  one here is to see we are adding The View cut page   view model so this class we have not created it  yet we are about to create it but we are adding   it here before we create it and we also added  this model from this Library as a client Library   so we go to the demo e-commerce Library projects  and I'll add a folder called client models so   solution you will see from here when you go back  to this Library you can see for that don't ask   client models and now because we want to use  this cat model so that's why you're adding this   namespace okay we're gonna also set title over  here now with this let's clear what we have in   here because you're going to create a page where  it's going to display the list of items in a cut   so now let's copy this view cut page view model  and now let's go to a view models and create that   view model in here so a few models right click  and I add a new class and at the name is going   to be viewed cards page view model let's click on  this and let's add it you can make this as public   pasture async so this is a public partial  class and that's why we are good to go you   can just get rid of all this course we're not  using them for now all right so let's save this let's make this model heard from this base  view model now see when you go to this base   view model we are not doing anything different  over there when you click on big definition now   you see we have yes it is inheritance from this  observable object and a chance just from property   of string title okay because you want to set  title of this so let me close this you want to   set title to this card page here so that's why  it is inheriting from that title yeah so now   we are done with this what you have to do here  is let's copy this and now let's go back to the   source page for this cut right click and go to  view code and unless bind this so control period   now let's create an object out of this and let's  bind this to the contest by using binding contest   then we can now assign this view model that is  it so we are done all right so let's go back to   the view module now in here we have to create  a Constructor for that but before that let's   see we're going to create a method we're going to  populate the tags the the the discount the total   the grand total time all these types okay for now  we're going to create a separate property to hold   that by normal linear filter we can create a  separate class for that okay so you're going   to group everything once and you can just call  the class and assign the value in it display the   class and we are good to go but for now don't  worry let's maintain this the next video maybe   we're going to do one you guys want me to do  the update one we can now work on that as well so we have did we set these properties let me  space them so you can get yourself confused you   can see them okay so first of all you see we have  this number of items that we want I intentionally   added the RR to make it as a group okay so you  see we have the number of items so if you decide   to purchase um this maybe one bag three times  you're gonna have the number of items as three   so we're going to add a number of quantities  here I'm going to display to the user now we   set the discounts so what is the discount that you  want or what is the discount of this amount or the   discount that you want to give to customers so  in This Server you're going to have any server   to wait like any number that's why it is good to  create a model because when you create a model you   can set this over here but here when it started  like this it means static it means anytime that I   want to add a discount it means unless you review  the application again but for now let's maintain   that later on you can create a model whereby  going to have a form to pass in enter discount   and this is going to be saved to a database and  also the the task is going to also be saved from   database we can get these tasks and discount  from database and now you can now fuse into   and I'll make a calculation get a payable amount  and also get the gross amount or the gross total   but for now let's maintain this they're going  to be a new update if you guys wish to have an   update you're going to have that as well so you  see we have this grand total now here we assign   this as string because you want to convert this  into a cast Okay string format of C to get the   0.2 decimal places so that's why we're using  this as a string and the same thing applies   to this payable amount now the next thing as  you can see we have show cut empty level so   when there's no item in the cut and when I  click on view cut you want to show something   like this nothing in your cut is empty okay  that's what we want to do and here you want   to also check show cut level so the cut itself  if the cut is not empty then show the cut if   it is empty show empty cut level that's what you  want to do you see this they are like twins okay   they go hand in hand two of them can't meet one  must be off one must be on off and on and then you   go in that way once you have this property what is  the next step to do you can just quick go in there   and create a Constructor for this and then try  to inject our service and make some calls in it foreign Service as you know the interface  control period less included to the namespace   and now here we are creating observable range  collection and because of the class that we   created as the mvvm we installed the camera  packet known as refactor.nbm helper by James   montemagno yeah he created that so we installed  that package and that's what we are using here   as a cut model so this is going to add as a  range okay I'm not going to you don't have to   look through it after the other and I'll add  it to one one by one one by one no get over   items once and I added boom once and that will  go your way to make our code very clean and so   simple as well cut model let's include the  library and that is it okay so the next is   to do here because we are setting title as my  cut now we we show this card label we set the   default one as first first or must be forced  that's when the page loads for the first time   so when the page loads we want to grab our cats  so get loot cut right from the card service from   the cut object in the app.xml.cs file code behind  file so let's paste this to get that we're using   a relay command another method name is load cut  so first of all you want to show current level   to force then you want to grab all the catalysts  or the cut item from this service and now when   we check if the cut item dot count is greater than  zero it means yes the user has now added something   to the cut in such case you want to now clear what  we have here already okay I want to collect this   the old value that we have in there clear that and  now um let's check if my cut is now that is this   the response here if it is now then I want to do  something like show cut empty level it means your   cut is now so it means you haven't added any  products yet so empty cut yes show empty cut   to the user and return do nothing again but in  case the cut is not now then add the range to   Minecart so this man cut model is a list here that  we have and there is one coming from the service   add it this is going to be a list so adding  less to less by using this add range when you   use this mbvm helper okay then record this method  as get check summary so what is get check summary   get check summary okay so it's going to summarize  the whole thing the number of items that you have   added the tasks that you have the total the gross  total the time the discount all the stops okay and   now you can now proceed to checkout isn't it yes  of course so this has to be a method that we have   to create and attach to this as soon as the load  data load cut method execute at the end of the   load cut method then call the get cut summary to  get the current I data from it the reason why it   is it has to execute before it causes metadase  the second method I'm going to create that is a   get check summary method this will depend on the  my card model that is the last year so if nothing   here then here can calculate so that's why we are  calling at the bottom that's the tail okay so when   this is all done then get it till by the time it  gets this model it must have data in there already   and if not having data then check here it's going  to return so it it won't even execute to this   level to have an error here and I believe this is  the best approach that we can actually do maybe   you might have a new one you can also let me know  with that okay now let's see um so let's select   this and now let's see let's go in there and  create this method so you can do that in here yeah and these are the method so it gets Cuts dots is  it get check summary I like saying get cut right   so get check summary now that's gonna be the  checkout timer okay so get check out summary   okay so that's what you're doing for this get  checked summary we want to get a total number   of items from here so in that list we are gonna  you see my cut model here so let's take note   you're gonna make a select out of this and  specifically this column order quantity I   want to sum the whole items over there and I'll  assign to you the number of items now when you   get to grand total we convert this decimal and  now we're also selecting the same subtotal of   each item and I re-sum it so we have a number  of items we have our grand total let's come to   the tax you can see from here that we did not  create a model for that later on maybe you can   create a model and assign to database so what  you have to do here is the tags and the discount   we just have to assign it or type it into  database create a form whereby the user can   just order the demonstrator can just type the  task and now on the discount to database now   when it gets the check summary we just have  to get a quarter service and I get the tax   another discount and I use it in that calculation  don't worry maybe in later on we're going to talk   about that when you guys recommend who has to  continue on okay but for now let's maintain   this when it comes to the tax amount you want  to get only the tax amount so we are using the   external operator if you don't know the internal  operator please check the description I'll put   um a video over there how to use tenery and our  correlation operator and the fat arrow and that's   going to be the Lambda expression how to use them  in the c-sharp code they are very useful as well   and they make your work scanty simple small one  as well okay so we check here that if the tax is   greater than zero so in a sales case tax is three  so it is greater if it's greater yes then check   cash divided by 100 times the grand total if it  is not or if it is zero then return this error   it means tax amount there's no tax on the item  let's calculate for Discount amount if discount is   also greater than zero in such case it is yes then  tax discount to 100 times the grand total in case   it is not greater than zero then return zero it  means the item that you are purchasing there's no   discount so you're going to pay it and pay tax as  well in case the tax it has taxed now to calculate   for a payable amount that's what you're going  to do we're going to say grand total over here   Plus okay so plus task because you want to  add so you're going to be plus task because   if you're adding tasks and we are going to add  or subtract the discount because this guy is the   amount that we are going to subtract from your  amount that you want to pay so minus discounts   okay so you're going to add a tax here and I'll  Supply a discount or you can even um add the   total and at the discount and answer subtract  task amount any anyone is going to work so   once you're done then we see these are the groups  payable amount and these are the properties that   we set on top over there yeah so we just have to  assign them and now we could see we are formatting   it to you you see this Ghana so I'm using DHS it  means Ghana cities okay the if you see if you want   dollars you can use the dialysis if you want any  any can use any that you want okay but I am using   Ghana so you can use you want to use Dallas you  know you know I have Dallas here I have pounds too   yes I have that and I believe I can use any  of this in case I want that but I don't want   that one gonna see this so I'm gonna use this  and we set this payable amount okay so now we   have this what we have to do here is we have to  create our view and I'll call this method in it   but before we do that let's see as soon as the  page loads you're going to call this so you can   put it here but when the user tries to add item  and I'll come back to the view and check at that   time this page or this model won't be initialized  so what you have to do here is you have to call   this method anytime the page loads anytime the  page appears so it means you have to override on   appearing method we can do that in the page code  behind files right click and go to view code and   now you can do that over here so before that let's  do control period and now let's create and assign   this field so we can use it over here and now  this you can use this override method so if I   write you can go for on appearing mode so in here  let's call this method view page let's copy this   and I can have a method known as load mycard  data dot execute then I'm going to pass in this   yeah so anytime this page appears to the screen  it's going to call that method and I'll get the   current item you know so after coin the get  item it's going to call calculate or check   or get the checkout summary and I'll get it to  return first all right so let's go to the view   and try to populate our card view over here and  you know I know design you creating a UI sucks   it takes a lot of time so I have it all right  I'm going to copy and paste it and you know   check that GitHub I'm going to leave the link  over here you're going to have the view over   here but if you have this the basic understanding  you can design something that you can actually go   through and display your images either images  your product and yeah Etc okay now let's see   so what I'm going to do here is I'm  going to paste what I have here and   um it is yes I'm really just a scroll view  so let me just close the scroll view here I have it cast actually at first  then I have this club view two okay so Ctrl k d alright so I'll just save that   and let's see so we have this crop View and that  is the end over here now if we check it you can   see we are using this vertical stack layer these  are the normal UI that you know and if you don't   know this then I believe uh maybe you could take  some time and go through this but not today okay   because you almost spend like one now and I  don't I want to make this video short as well   okay so you see we are calling an image source  and we're using this empty cut.jpeg jpg and now   we buy this visible to this so when the cut is  empty display this and now away from this image   do you have any image no we don't because I  haven't shown an image yet let me show you okay so you see now we have this empty cut and  I thought you cut is empty sorry you have no   item in your cart okay so this you just have  to grab this so let me copy this and now let's   go to the solution as power and now where we  have these images let's paste it in here and   now this is solved now we take the visibility  we set it to this as I've explained it already   now I want to check this collection view we  also checking it's visible to this showcat   label and now this this these uh two guys say  they're going to play hide and seek if this is   visible this is going to be off if this is on  it's going to be off because there is sewing   when cut is empty that's going to show when cut  is not empty okay so that's and we bind it to   this card model and now you can see we specify  data type as card model and I will try to look   through so you see from here we are using our  control and that's going to be the image control   we specify our image name over here and we specify  the product name products price order quantity and   because we have this sub Twitter and that's  what we are getting here so when you run this   you're going to have the sub Twitter and that  data presented nicely okay now see they are in   the frame too so you can see from here that they  are in the frame now let's let's have the last   one that's going to be the cut summary so the  cut summary going to tell us the the the tags   the discounts the grand total and the payable  amount and now checkout button let's have that   so let's let's minimize this the classroom view  now we have this vertical stack layout so in here   we are going to create our cut summary here so let  me paste it like this very simple you're creating   just a frame vertical stack layout and now with  this Frame we want to also use or show the show   cut level okay so when cut is off this also  supposed to be off because if there's no item   in the cut they shouldn't be taxed it should be  a medicine because totally shouldn't be per hour   amount anything so if they cut this is on then  they're supposed to also be on that's very simple   thing okay and now that is it so you see we have  this display and that's the cut summary and we   have this just a design I know you can do better  than this and you can see we have this horizontal   stack layout and displaying the number of item  base um start displaying the tax the display in   the discount the ground to return and the payable  amount now since we have said this already what   we need to do here just call call them under so  you go your way now so when there's one guy over   here if you check here that's the image button  proceed to check out your jpg I believe you're   not having that image yet right so let's see and  I reset this visible to this shortcut level so   when the discount label is visible this button  is supposed to be visible as well when it is   off this procedures will be off let's see if we  can have a look at this position checkout level s here as you can see proceed to checkout  so that's the button so let's have to grab   this you go back to the same Source images and  I'll paste it over here and now this is solved   all right so all that we have now we're  going to do here is I'm going to clear   all this no you have an error here okay  so there's no error I'm going to collect   all this and we're going to now run this  application to see what we have now so start all right so it is now loaded this is a desktop  view let's go to phone view so that's going to   be there you can see if I click on view cut  let's see if you can't you have to get this   um item like empty but you're not  having that right it is not navigating okay because we did not register routes right I  believe so and we did not register the Z Model   2 so let's do that quickly let's go to the  solution Explorer and now let's go to appsell   dot XML dots yes yeah we have to register  this route so we can do some magic here like   so yeah so that's the magic that I'm doing control  period let me include that okay let's also go to   the settings my program.cs and let's add that  let's register the view model and its respective   view in there um my program.cs and I really are  in here so in here let's try to put that here so I Believe by doing all this we can  now do it again so edit this I'm going   to click save this and I'll try to  reload this again and now let's see so now it is ready let's go in then and say  so I'm going to click on now view cut item   and you can see yeah so cut is empty looks  like you have no items in your shopping cart   yeah but yes I don't have so let's when  you hear is let's click on view product   and we got the whole product over here now  we can now go ahead and add items to cut   so a nice over here let's see let's add some few  items and add to cut so I'm going to add this one   and I'm gonna have this pop-up here added to cut  yeah that's right so add this I want to add one okay so let's see add one you know what  let's add more than one so let's say four   now the next thing I'm going to do here  is that's going to be the next update   you could see that as soon as I add and check  out this item has to be updated as a quantity   because if you're able to add four here and  I buy you're supposed to have 167 166. okay   that is when you make a checkout you you pay  if you haven't paid then forget someone can   just come and buy everything and by the  time that you pay it tells you that no   after stock yeah so first compressor all right  so let's see now I'm going to add two here   okay so all right so you see as soon as it  is added you can see the content here fits it   disables watch here I'm adding this if I click on  it you see the content disabled and if I add like   three here see what happens because the content  disables I can't click unless it finishes and I   get to put that updated and now okay now let's  go to this and now view cut so I click on this   because I have the whole list of all your product  name product price 20 audit now this is the top   total okay now the end when you come down you  can see we have this summary of your shopping   well I want to just have I can just let me just  reduce the size of this it's too long so when   you go back again till this if you cut page  now this that's there too much so I'm gonna   just click some of this okay save this and I  can see now set already so summary for your   of your shopping the number of item it is 10  because when you check here this is one five   Seven Ten right now let's get so that discount  is three percent and the discount is 0.5 so   the amount that's supposed to pay is what three  percent so this is the two the ground two times   supposed to be 30.83 upon I'm 70. thanks of three  percent gonna increase it and now discount of 5   0.5 percent I'm going to make it to this way  you can just use calculator to check okay so   um that is it for this video now you've seen  how to um add item to cut at your so view cut   and then get the total of the sub total and get  a quantity of item audit get a price and add   a price and I'll get the times a discount and so  calculate for the grant two times so calculate for   a payable amount as well all right so I'm going  to end here thank you so much for watching this   video I believe you guys enjoyed this as I also  enjoy it as well if you like what I'm doing and   you want me to continue again please thumbs up is  very important as I said earlier on please don't   forget if you haven't subscribed to do that check  out playlist you have a lot of projects for Blazer   web assembly and Blazer server and also.net  marry app and desktop applications over there
Info
Channel: Netcode-Hub
Views: 1,075
Rating: undefined out of 5
Keywords: scaffolding, assign-role, mobile apps, maui app, mobile app, android, map key, google map api key, carousel in app, list view component, using list view, material designicons, google icons, google fonts, filepicker, fileuploader, camera, base64string, play video, play audio, using MediaElement, media element, ecommerce in maui app, dontnet ecommerce, mobile ecommerce, desktop ecommerce, web api, add items-to-cart, ecommerce, maui ecommerce
Id: zzXRD4HA7W4
Channel Id: undefined
Length: 79min 52sec (4792 seconds)
Published: Sun Sep 03 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.