1 00:00:00,770 --> 00:00:05,030 In this video we're just going to review some final chord changes and then check in. 2 00:00:05,030 --> 00:00:09,440 Our solution to get hub for source control. 3 00:00:09,620 --> 00:00:16,820 So I'm going to start off with explaining this class that I have here on screen which is public static 4 00:00:16,820 --> 00:00:19,590 class and I call that utilize it. 5 00:00:19,600 --> 00:00:29,000 So first the static class allows you to declare a class where you can call on the other static functions 6 00:00:29,000 --> 00:00:31,710 and properties without needing to declare an object. 7 00:00:32,060 --> 00:00:33,920 So I'm going to explain exactly what that means. 8 00:00:33,920 --> 00:00:39,220 So firstly in the solution I explore all I did was right click on this on the project. 9 00:00:39,240 --> 00:00:43,970 Well to add in C class and then I gave it the name you. 10 00:00:44,000 --> 00:00:48,320 So you would get the same dialog box that we're used to. 11 00:00:48,320 --> 00:00:49,420 Whereas a class. 12 00:00:49,640 --> 00:00:54,710 And then I call it utilize and then I said add and then got added to the project. 13 00:00:54,740 --> 00:00:55,720 So we see you. 14 00:00:55,730 --> 00:01:00,890 Some people would put that in a folder maybe by itself and in a folder called maybe helpers or something 15 00:01:00,890 --> 00:01:01,610 like that. 16 00:01:01,670 --> 00:01:03,330 At this point it doesn't really matter. 17 00:01:03,410 --> 00:01:13,220 But my UTAS class is static so that means I can just say utilize dot and then call on the static function 18 00:01:13,430 --> 00:01:17,030 which I have here which is called form is open. 19 00:01:17,030 --> 00:01:17,700 All right. 20 00:01:17,860 --> 00:01:21,170 Normally when it's a class we know that we need to declare an object. 21 00:01:21,170 --> 00:01:27,380 So like in the case of declaring an object off one of the forms which is which our classes what I've 22 00:01:27,380 --> 00:01:33,590 had to say give me an object and initialize it to an instance of that and then I can start interacting 23 00:01:33,590 --> 00:01:38,620 with the properties and the functions when it is a static class. 24 00:01:38,660 --> 00:01:44,790 Then in this situation I'm seeing give me utilize dot the function so I didn't need to declare UTAS 25 00:01:45,080 --> 00:01:50,720 as an object and then use or declare an object of type beauties and then use the object I could just 26 00:01:50,720 --> 00:01:56,620 say utilize dot form is open then I'm passing in the name of the form. 27 00:01:56,760 --> 00:01:57,270 All right. 28 00:01:57,290 --> 00:02:03,830 So instead of writing the code here like I did in the previous video where I wrote it one time and I 29 00:02:03,830 --> 00:02:08,270 wrote it in that one situation well then every time I need to check if the form is open I'm going to 30 00:02:08,270 --> 00:02:09,790 have to rewrite that code. 31 00:02:09,830 --> 00:02:15,830 What I did was create value to this class create a function called a Form is open which is going to 32 00:02:15,830 --> 00:02:23,120 return a boolean and it is expecting a parameter of type name or type string called name and then it 33 00:02:23,120 --> 00:02:23,890 does that change. 34 00:02:23,900 --> 00:02:26,960 So I get all off the open forms in the application. 35 00:02:26,960 --> 00:02:32,290 Check if the one with the name that is being passed in is open right. 36 00:02:32,320 --> 00:02:37,730 So we just did all of those so I just took that code and all it did was put in a function and return 37 00:02:38,000 --> 00:02:44,020 is open which would either be true or false based on the outcome of this function right. 38 00:02:44,040 --> 00:02:50,630 Or this operation and then the function is really returned in the true or false which is boolean right. 39 00:02:51,020 --> 00:02:55,910 So that means every time I click event where or every time I have a situation where I was able to launch 40 00:02:55,910 --> 00:03:03,200 a window all I'm doing is seeing if not and then whatever the result is when I call utilized what form 41 00:03:03,200 --> 00:03:09,390 is open and then I pass in the name and room that the name of the form is the same as the type. 42 00:03:09,440 --> 00:03:12,790 Right so I know I want to launch manage vehicle listing. 43 00:03:12,920 --> 00:03:14,620 That's the farm I'm about to launch. 44 00:03:14,630 --> 00:03:17,750 When that is clicked all right. 45 00:03:17,910 --> 00:03:25,110 So I know that that is the name I'm passing in so I'm just saying check call that function and if it 46 00:03:25,110 --> 00:03:30,540 is not meaning it is forms then I want to open it. 47 00:03:30,540 --> 00:03:36,100 So if it is not open that's basically saying if it is not open then sure. 48 00:03:36,100 --> 00:03:41,340 So remember that we did it as an if statement but once again would have to rewrite that code every single 49 00:03:41,340 --> 00:03:41,850 time. 50 00:03:42,150 --> 00:03:47,520 So all I did was put it in a function where all I'm doing is passing in the relevant name according 51 00:03:47,520 --> 00:03:48,570 to the click event. 52 00:03:48,600 --> 00:03:48,900 Right. 53 00:03:48,900 --> 00:03:53,850 So that was it for the money vehicle listing listed on our money or our records. 54 00:03:53,850 --> 00:03:55,320 I use the same function. 55 00:03:55,380 --> 00:03:59,910 All I do is change the name because I know it's a different form that I want to lodge this time. 56 00:03:59,910 --> 00:04:00,680 Is it open. 57 00:04:00,680 --> 00:04:06,530 If it's not open then go ahead and launch it as an MBA child and proceed. 58 00:04:06,540 --> 00:04:06,870 Right. 59 00:04:07,080 --> 00:04:09,330 So that's one change that I've made. 60 00:04:09,330 --> 00:04:15,870 Otherwise I have normalized the management records I put in the same delete kind of functionality with 61 00:04:15,870 --> 00:04:20,480 the dialog box and the law as you would have done in the manage vehicle listing. 62 00:04:20,730 --> 00:04:28,410 And I've normalized everything or most things up until this point so no I'm about to check this code 63 00:04:28,500 --> 00:04:29,730 into GitHub. 64 00:04:29,750 --> 00:04:33,690 Right so I'm going to create the repository and then by the time you would have watched this video you 65 00:04:33,690 --> 00:04:39,690 would be able to go on github and access the repository with all of these code files and you know if 66 00:04:39,690 --> 00:04:43,860 you don't understand something or move too quickly in the video you weren't able to get it clear and 67 00:04:43,860 --> 00:04:49,080 you just want to see the code itself then you can go to the repository that we're able to create. 68 00:04:49,560 --> 00:04:54,700 So I'm assuming you've already created I get tobacco into and if you haven't then it's pretty simple. 69 00:04:54,690 --> 00:05:00,780 I also have a video on that yet I've seen it earlier it's I get tobacco and you can go to get top dot 70 00:05:00,840 --> 00:05:08,100 com and then you can go to sign up and it's a pretty straightforward process once you sign up and you 71 00:05:08,100 --> 00:05:14,550 provide all those details you want to choose free account because there are loads of free or enterprise 72 00:05:14,550 --> 00:05:19,170 icons of course if you're an individual just wanting to use it for educational purposes then you go 73 00:05:19,170 --> 00:05:26,640 ahead and use the free version of course once it's free you can choose if the repository is public or 74 00:05:26,640 --> 00:05:30,870 private at the time and you can proceed accordingly. 75 00:05:30,870 --> 00:05:33,240 So I'm not going to go through that in this video. 76 00:05:33,280 --> 00:05:35,610 There's another video there that deals with that. 77 00:05:35,640 --> 00:05:42,740 So right now we're going to focus on adding our solution to the source control all right. 78 00:05:43,080 --> 00:05:48,210 So the first thing you want to do is look in the bottom right hand corner you see add to source control. 79 00:05:48,230 --> 00:05:55,590 If you don't see this then you probably want to download the visual studio plugins for it and GitHub. 80 00:05:55,590 --> 00:06:01,200 But if you're a visual studio was installed properly then you would have the plugins that I'm talking 81 00:06:01,200 --> 00:06:02,010 about. 82 00:06:02,010 --> 00:06:08,070 If you don't then you can drop me a line and then I can assist you with getting them so you can click 83 00:06:08,340 --> 00:06:12,490 Add to source control and then you'll see it you go ahead and click that. 84 00:06:12,600 --> 00:06:18,520 And what this does is it creates local repository on the machine that you are on. 85 00:06:18,570 --> 00:06:24,540 So source control those it's a tracking changes of course you have to make sure everything is saved 86 00:06:25,450 --> 00:06:30,440 and once you're tracking it changes you can tell who changed what file and when. 87 00:06:30,480 --> 00:06:30,780 Right. 88 00:06:30,780 --> 00:06:35,670 So it's a good way to know when your code is working what changes you made that probably broke your 89 00:06:35,670 --> 00:06:39,130 code and you can always go back to the previous working code. 90 00:06:39,180 --> 00:06:43,650 It's always recommended that you don't check in any code that has arrows especially if you're working 91 00:06:43,650 --> 00:06:44,400 at a team. 92 00:06:44,580 --> 00:06:47,950 But you know those are all principles that you learn along the way. 93 00:06:48,060 --> 00:06:53,400 But right know what I just did was I created the local repository on my machine. 94 00:06:53,400 --> 00:06:56,110 The next step however is to publish this to give up. 95 00:06:56,430 --> 00:07:01,230 So my machine is going to be tracking changes but then I can synchronize it with the service called 96 00:07:01,250 --> 00:07:07,500 the github or as your dev ops but it gets all these easier for every and anybody to get onto so that's 97 00:07:07,500 --> 00:07:09,180 why I'm focusing on github. 98 00:07:09,270 --> 00:07:16,050 But you can synchronize it with GitHub so that your local machine is tracking changes and you are basically 99 00:07:16,230 --> 00:07:22,960 backing up all of those tracks changes to the code repository that github affords you. 100 00:07:23,040 --> 00:07:27,450 And then that makes it easier for you to work in a team because then your team members can interact 101 00:07:27,450 --> 00:07:34,200 with that killed repository at a global level and contribute to your code or share your code. 102 00:07:34,230 --> 00:07:39,390 So right now what I am doing is pushing it to github so that you can access the code when you need to 103 00:07:39,680 --> 00:07:40,050 write. 104 00:07:40,500 --> 00:07:48,670 So I publish a github and I just get that published on github and then he's going to ask me OK it's 105 00:07:48,680 --> 00:07:50,710 just going to verify that it's GitHub. 106 00:07:50,710 --> 00:07:56,080 Know what it may do is prompt you to sign in so if you have created Oracle and successfully then you 107 00:07:56,140 --> 00:07:59,740 just sign in with the credentials that you used to create that account. 108 00:07:59,800 --> 00:08:06,130 I'm already signed in to my visual studio with GitHub so it's already takes me and I'm going to leave 109 00:08:06,160 --> 00:08:07,900 the name there as car into app. 110 00:08:07,900 --> 00:08:16,750 You can add a description so you can see you know wind farms or introductory. 111 00:08:16,750 --> 00:08:18,310 Let me just write out the description. 112 00:08:18,310 --> 00:08:20,220 All right so I wrote a little paragraph. 113 00:08:20,230 --> 00:08:25,720 This is an introduction to Windows form application though an impartial fulfillment of the course enterprise 114 00:08:25,720 --> 00:08:30,160 application development with Windows Forms using C sharp and Ada all done it. 115 00:08:30,160 --> 00:08:35,140 So this is a nice it's a description and so that if anybody stumbles up on this repository they can 116 00:08:35,260 --> 00:08:40,660 have an idea of what exactly they are what it is exactly that they're looking at the checkbox here to 117 00:08:40,660 --> 00:08:41,980 make it private or public. 118 00:08:41,980 --> 00:08:46,660 So if you make it private then obviously nobody will be able to just stumble upon it on the Internet 119 00:08:46,690 --> 00:08:51,570 or in the you and whoever you invite to interact with the repository will be able to see it. 120 00:08:51,640 --> 00:08:57,130 But to leave this unchecked because I want mine to be public right I want you to be able to go on my 121 00:08:57,130 --> 00:08:59,590 profile and seat at the end of all of this. 122 00:08:59,590 --> 00:09:03,850 I can just click publish and then I can give it a few moments. 123 00:09:03,850 --> 00:09:07,920 And once that operation is finished then you'll see the phone. 124 00:09:07,930 --> 00:09:14,530 Sean sorry to see the visual cue that says repository created successful you know if this step fails 125 00:09:14,890 --> 00:09:21,250 it could be that to probably put in incorrect credentials or you probably need to change a connection 126 00:09:21,250 --> 00:09:27,400 that you're sitting behind because I've seen firewalls block this operation so it could be one of those 127 00:09:27,400 --> 00:09:27,790 things. 128 00:09:28,120 --> 00:09:38,020 So at the end of the day whenever you make changes to your first let me log in to my github account 129 00:09:38,050 --> 00:09:45,100 and show you exactly what has been done so you see car into up and there it is with the introductory 130 00:09:45,450 --> 00:09:46,730 that is the description right. 131 00:09:46,740 --> 00:09:53,140 So if I click on car into app then you're going to see my entire repository with that description that 132 00:09:53,140 --> 00:09:55,450 I just wrote in Visual Studio. 133 00:09:55,460 --> 00:09:56,550 It appears here. 134 00:09:56,780 --> 00:10:00,430 So if I go into the folder I was here all the files. 135 00:10:00,430 --> 00:10:01,540 So that's a solution. 136 00:10:01,540 --> 00:10:06,210 They get files that would have been hidden or created once we added it to the repository. 137 00:10:06,310 --> 00:10:12,640 And then I go to car into up and then when it goes into that folder you'll be able to see all of those 138 00:10:12,730 --> 00:10:13,290 classified. 139 00:10:13,330 --> 00:10:15,410 So this is the project folder right. 140 00:10:15,460 --> 00:10:21,100 And these these are all of the files that are associated with our project. 141 00:10:21,100 --> 00:10:25,480 So if you wanted to see what I did in that particular file you can just click on it. 142 00:10:25,480 --> 00:10:29,190 So this is a log in that CSC again is click on log in that's yes. 143 00:10:29,290 --> 00:10:34,690 And it would bring up the entire class file with all of the code that I would have checked in. 144 00:10:34,780 --> 00:10:41,770 And you can always browse peruse and you know reacquaint yourself with the code if you need to from 145 00:10:41,770 --> 00:10:48,370 the repository if you want to fetch a copy of the entire project then you can go to clone or download 146 00:10:48,730 --> 00:10:52,300 and then this gives you three options you can open in desktop. 147 00:10:52,300 --> 00:10:58,350 So in the video where we set up the guitar icons you would have also downloaded github for desktop so 148 00:10:58,360 --> 00:11:03,390 you can open it in that desktop application if you already have it you can open it in Visual Studio 149 00:11:03,400 --> 00:11:09,870 so this will actually problem to to launch my source code in an instance of your own visual studio Zeke 150 00:11:09,870 --> 00:11:16,330 and see it in your project sitting in your visual studio as if you had my project and you can also just 151 00:11:16,330 --> 00:11:20,120 download the zip file for later use at will. 152 00:11:20,140 --> 00:11:20,870 Right. 153 00:11:20,890 --> 00:11:25,880 So that is how you go about adding your positivity to YouTube. 154 00:11:25,900 --> 00:11:29,390 No just to show you what the purpose of GitHub is. 155 00:11:29,470 --> 00:11:33,790 If I make adjustments if I look in the solution explorer first you're going to see the blue padlocks 156 00:11:33,790 --> 00:11:36,810 blue padlocks mean that these files are unchanged. 157 00:11:36,850 --> 00:11:37,390 All right. 158 00:11:37,450 --> 00:11:42,790 No if I go to utilize and I'm just going to do a simple change nothing too intrusive what I just made 159 00:11:42,790 --> 00:11:43,330 a speech. 160 00:11:43,360 --> 00:11:49,540 So whatever the change is and then I see of it if I look back at that file and want to see tick. 161 00:11:49,720 --> 00:11:55,630 So then if I hover over there do you see that it's pending an edit or there's an edit that was made 162 00:11:55,790 --> 00:11:59,560 that is being tracked and it is pending being checked in. 163 00:12:00,040 --> 00:12:00,340 All right. 164 00:12:00,340 --> 00:12:04,150 So let me let me make something more hatching a more useful Jean. 165 00:12:04,180 --> 00:12:10,870 So I'm going to put you in the comment that is check if window is already open. 166 00:12:10,930 --> 00:12:11,200 Right. 167 00:12:12,370 --> 00:12:17,380 So before if I go to my repository and look at my utility file. 168 00:12:17,770 --> 00:12:18,310 All right. 169 00:12:18,370 --> 00:12:21,230 So I just went into the repository opened up the UTAS. 170 00:12:21,240 --> 00:12:25,090 That's yes and I'll just zoom in a bit so you can see better. 171 00:12:25,090 --> 00:12:27,270 You're going to notice that it's just there. 172 00:12:27,270 --> 00:12:33,160 There is no comment or anything so I just added a comment to that line to line 14. 173 00:12:33,340 --> 00:12:37,240 The original has no comment in line 14. 174 00:12:37,270 --> 00:12:40,780 So what I'm going to do is check it in from Visual Studio. 175 00:12:40,780 --> 00:12:47,860 So I'm just going to right click on the solution and then I'm going to say come in and then when I see 176 00:12:47,860 --> 00:12:53,770 a comment I want to be as explicit as possible because once again this is good for team settings. 177 00:12:53,770 --> 00:13:00,970 So if I'm in a team setting I want to let the team members know exactly what change I made to the code. 178 00:13:00,970 --> 00:13:05,980 So I'm want to say I did comment to utilize that. 179 00:13:06,010 --> 00:13:10,020 Yes because that's what I did right after I write that comment. 180 00:13:10,090 --> 00:13:12,190 I can click on this Don correct. 181 00:13:12,190 --> 00:13:16,710 So I can say commit but I want to show you a shortcut where you click on this Don correct. 182 00:13:16,780 --> 00:13:21,520 And then you say commit all and sync so commit to means that is going to commit the change but it's 183 00:13:21,520 --> 00:13:26,890 only going to be to your local repository which means you get on board and know about it at least not 184 00:13:26,890 --> 00:13:27,420 yet. 185 00:13:27,490 --> 00:13:33,160 When I say comet all and sync it we'll say Okay committed to the local repository and then synchronize 186 00:13:33,160 --> 00:13:39,240 it with GitHub synchronizing means that if I have changes made it will push them to GitHub. 187 00:13:39,430 --> 00:13:44,470 And then if anybody else on my team made changes it will also pull those changes to me. 188 00:13:44,770 --> 00:13:50,280 So when I do that you'll see that it's doing operations while I'm here talking and no it's synchronizing 189 00:13:50,290 --> 00:13:55,840 this might take a while because of the internet connection that I'm sitting behind. 190 00:13:56,020 --> 00:14:01,390 But once it's done then you will see that it's successfully synchronize outgoing and incoming comments 191 00:14:01,390 --> 00:14:04,490 so any changes that might be made will no be on my machine. 192 00:14:04,600 --> 00:14:09,250 And any changes I made will be on github and then my team can also come here. 193 00:14:09,250 --> 00:14:12,810 So this is team Explorer I have up in here called Team explorer. 194 00:14:12,820 --> 00:14:20,300 If you don't see it you can go to view and look for Team explorer and that will give you this pain and 195 00:14:20,300 --> 00:14:23,530 that by default it will be on this screen. 196 00:14:23,530 --> 00:14:27,770 Let me just go to the home screen just to show you what it will look like. 197 00:14:27,790 --> 00:14:28,600 So that's you. 198 00:14:28,780 --> 00:14:29,110 All right. 199 00:14:29,110 --> 00:14:32,700 So I have this is the home screen right. 200 00:14:32,710 --> 00:14:35,920 This is when the repository is set up and that's your home screen. 201 00:14:35,920 --> 00:14:43,090 If you want to get the changes so somebody made changes and you want to retrieve those changes then 202 00:14:43,090 --> 00:14:47,550 what you can do is click sync. 203 00:14:47,550 --> 00:14:47,900 All right. 204 00:14:47,910 --> 00:14:54,330 So when you click sync it will automatically just pull any changes are what it will bring up this menu 205 00:14:54,630 --> 00:14:56,510 and then you can just say pull. 206 00:14:56,520 --> 00:15:01,800 So when you say pull it will bring in all the changes that your team has made. 207 00:15:01,800 --> 00:15:06,900 If you just click sync it will do the push and pull so pull means get the changes push me and send my 208 00:15:06,900 --> 00:15:07,540 changes. 209 00:15:07,560 --> 00:15:11,310 Sync means I'll just do both of them in one operation anyway. 210 00:15:11,320 --> 00:15:13,750 All right so you have a number of ways to do it. 211 00:15:13,770 --> 00:15:20,400 Abdul showing you your options but in a team setting that is whole it can be done to help collaboration. 212 00:15:20,400 --> 00:15:25,740 So now that this is checked in let's just verify that it has been checked in successfully so if I refresh 213 00:15:25,740 --> 00:15:30,480 this view then you're going to see my comment is no in GitHub. 214 00:15:30,480 --> 00:15:34,800 So the change I just made on my machine is now available on GitHub. 215 00:15:35,040 --> 00:15:40,720 And then if I just go back to the list of files I'm just going to show you the visual cue that getup 216 00:15:40,740 --> 00:15:41,490 gives you. 217 00:15:41,490 --> 00:15:47,330 So these were ad project files that's all I was on auto generated I was the first comment. 218 00:15:47,370 --> 00:15:56,370 But then when I I did the changes made to tell you to that CSR uses us. 219 00:15:56,380 --> 00:15:59,920 Yes I wrote the comment added a comment to YouTube. 220 00:15:59,920 --> 00:16:01,330 That's CSR right. 221 00:16:01,330 --> 00:16:10,210 So it will be whatever you put as your Kobe message will inform anybody else what changes made to the 222 00:16:10,210 --> 00:16:15,340 particular file or at least the last change that was made to the particular file. 223 00:16:15,400 --> 00:16:15,650 No. 224 00:16:15,660 --> 00:16:22,000 I talked a lot about working a team I'm just going to show you how you can invite other people to be 225 00:16:22,000 --> 00:16:22,600 on your team. 226 00:16:22,600 --> 00:16:28,570 So firstly your teammates need to have gettable Collins all of you need to have GitHub icons and then 227 00:16:28,570 --> 00:16:30,740 you what you do is go to settings. 228 00:16:30,790 --> 00:16:36,610 So whoever would have created the repository one person get create the repository first and then you 229 00:16:36,610 --> 00:16:37,730 can invite the other. 230 00:16:37,750 --> 00:16:44,110 So you would have gone to settings and then you would say manage access and then this will probably 231 00:16:44,110 --> 00:16:48,790 problem to to you know put in your credentials. 232 00:16:48,790 --> 00:16:50,390 So let me do that quickly. 233 00:16:50,740 --> 00:16:55,060 And then from here I can invite collaborators. 234 00:16:55,060 --> 00:16:55,380 Right. 235 00:16:55,390 --> 00:17:01,300 So I have a few persons who I follow on GitHub who I trust but then collaborators really are the ones 236 00:17:01,300 --> 00:17:10,000 who will be able to access and push changes to your repository without you needing to you know be there 237 00:17:10,000 --> 00:17:10,600 all the time. 238 00:17:10,600 --> 00:17:12,080 So that's why I said team. 239 00:17:12,110 --> 00:17:12,430 All right. 240 00:17:12,430 --> 00:17:18,370 So if I invite a collaborator I would just need to provide a name or an e-mail. 241 00:17:18,400 --> 00:17:23,720 So I think maybe I can look for somebody named Bill Ritchie. 242 00:17:23,850 --> 00:17:27,740 I have an associate by that panel. 243 00:17:27,880 --> 00:17:32,140 I don't remember exactly the handle but you can see that it's bringing up a number of people. 244 00:17:32,260 --> 00:17:40,180 So maybe using will e-mail address would probably be the most sure way to make sure that you're inviting 245 00:17:40,180 --> 00:17:41,600 the correct person. 246 00:17:41,650 --> 00:17:43,840 So you put in the person's e-mail address 247 00:17:48,150 --> 00:17:49,560 Just put it in one. 248 00:17:49,560 --> 00:17:50,040 OK. 249 00:17:50,040 --> 00:17:50,690 There is none. 250 00:17:50,700 --> 00:17:56,150 But on that smile though Jamila cones I thought I still had a YouTube account. 251 00:17:56,160 --> 00:18:01,080 All right so I'm just going to use my friend Sean McClean and then I just clicked. 252 00:18:01,080 --> 00:18:08,040 Sean Maclean and then I say add Sean McClean to car into up so by doing that it would trigger an e-mail 253 00:18:08,040 --> 00:18:15,090 invitation to him and then you'd be able to accept and then have full access to the application just 254 00:18:15,090 --> 00:18:18,000 like I say to see that spending invitation. 255 00:18:18,000 --> 00:18:21,000 You can always cancel it if you want someone to cancel it. 256 00:18:21,000 --> 00:18:24,090 I'm sure he's going to comment ask me why did I do that. 257 00:18:24,090 --> 00:18:24,780 That's fine. 258 00:18:24,780 --> 00:18:26,180 I can handle that situation. 259 00:18:26,280 --> 00:18:31,990 But that is how you go about adding other collaborators to your project. 260 00:18:32,310 --> 00:18:38,460 With all this said and done that's it for our introduction to Windows Forms application development 261 00:18:38,490 --> 00:18:40,900 using C sharp and Ada net. 262 00:18:40,910 --> 00:18:47,310 I hope you had fun and I look forward to seeing the additional functionality that you put in I would 263 00:18:47,310 --> 00:18:50,600 recommend that you put in something to manage maybe the users. 264 00:18:50,700 --> 00:18:56,640 You can probably put in something else to do the audit log in like I mentioned to see which user interacts 265 00:18:56,640 --> 00:19:01,030 with which file and you know you can do a number of different things. 266 00:19:01,110 --> 00:19:06,420 And I'm interested to hear exactly what ideas you have in mind to improve this application. 267 00:19:06,420 --> 00:19:10,940 You can always jump me like any of my contact information and let me know your thoughts.