├── .gitattributes ├── .gitignore ├── .vs ├── AngularJS │ └── v14 │ │ └── .suo └── config │ └── applicationhost.config ├── AngularJS.sln ├── AngularJSCRUD ├── AngularJSCRUD.csproj ├── AngularJSCRUD.csproj.user ├── App_Data │ └── CrudDBScript.sql ├── App_Start │ ├── RouteConfig.cs │ └── WebApiConfig.cs ├── Content │ ├── CRUDStyleSheet.css │ ├── Site.css │ ├── bootstrap.css │ ├── bootstrap.min.css │ └── images │ │ ├── edit.png │ │ ├── erase.png │ │ └── ng-loader.gif ├── Controllers │ ├── HomeController.cs │ └── api │ │ └── apiHomeController.cs ├── Data │ └── Repository │ │ ├── BaseRepository │ │ └── GenericRepository.cs │ │ └── Interface │ │ └── IRepository.cs ├── Global.asax ├── Global.asax.cs ├── Models │ ├── CRUD_Model.Context.cs │ ├── CRUD_Model.Context.tt │ ├── CRUD_Model.Designer.cs │ ├── CRUD_Model.cs │ ├── CRUD_Model.edmx │ ├── CRUD_Model.edmx.diagram │ ├── CRUD_Model.tt │ └── Customer.cs ├── Properties │ └── AssemblyInfo.cs ├── Scripts │ ├── angular-mocks.js │ ├── angular-route.js │ ├── angular-route.min.js │ ├── angular-route.min.js.map │ ├── angular.js │ ├── angular.min.js │ ├── angular.min.js.map │ ├── bootstrap.js │ ├── bootstrap.min.js │ ├── jquery-1.10.2.intellisense.js │ ├── jquery-1.10.2.js │ ├── jquery-1.10.2.min.js │ ├── jquery-1.10.2.min.map │ └── modernizr-2.6.2.js ├── ScriptsNg │ └── CustomerController.js ├── Service │ └── CustomerService.cs ├── Views │ ├── Home │ │ └── Index.cshtml │ ├── Shared │ │ └── _Layout.cshtml │ ├── _ViewStart.cshtml │ └── web.config ├── Web.Debug.config ├── Web.Release.config ├── Web.config ├── bin │ ├── AngularJSCRUD.dll │ ├── AngularJSCRUD.dll.config │ ├── AngularJSCRUD.pdb │ ├── EntityFramework.SqlServer.dll │ ├── EntityFramework.SqlServer.xml │ ├── EntityFramework.dll │ ├── EntityFramework.xml │ ├── Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll │ ├── Microsoft.CodeDom.Providers.DotNetCompilerPlatform.xml │ ├── Microsoft.Web.Infrastructure.dll │ ├── Newtonsoft.Json.dll │ ├── Newtonsoft.Json.xml │ ├── System.Net.Http.Formatting.dll │ ├── System.Net.Http.Formatting.xml │ ├── System.Web.Helpers.dll │ ├── System.Web.Helpers.xml │ ├── System.Web.Http.WebHost.dll │ ├── System.Web.Http.WebHost.xml │ ├── System.Web.Http.dll │ ├── System.Web.Http.xml │ ├── System.Web.Mvc.dll │ ├── System.Web.Mvc.xml │ ├── System.Web.Razor.dll │ ├── System.Web.Razor.xml │ ├── System.Web.Webpages.Deployment.dll │ ├── System.Web.Webpages.Deployment.xml │ ├── System.Web.Webpages.Razor.dll │ ├── System.Web.Webpages.Razor.xml │ ├── System.Web.Webpages.dll │ ├── System.Web.Webpages.xml │ └── roslyn │ │ ├── Microsoft.Build.Tasks.CodeAnalysis.dll │ │ ├── Microsoft.CSharp.Core.targets │ │ ├── Microsoft.CodeAnalysis.CSharp.dll │ │ ├── Microsoft.CodeAnalysis.VisualBasic.dll │ │ ├── Microsoft.CodeAnalysis.dll │ │ ├── Microsoft.VisualBasic.Core.targets │ │ ├── System.Collections.Immutable.dll │ │ ├── System.Reflection.Metadata.dll │ │ ├── VBCSCompiler.exe │ │ ├── VBCSCompiler.exe.config │ │ ├── csc.exe │ │ └── vbc.exe ├── fonts │ ├── glyphicons-halflings-regular.eot │ ├── glyphicons-halflings-regular.svg │ ├── glyphicons-halflings-regular.ttf │ └── glyphicons-halflings-regular.woff ├── obj │ └── Debug │ │ ├── AngularJSCRUD.csproj.FileListAbsolute.txt │ │ ├── AngularJSCRUD.csprojResolveAssemblyReference.cache │ │ ├── AngularJSCRUD.dll │ │ ├── AngularJSCRUD.pdb │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ ├── TempPE │ │ ├── Models.CRUD_Model.Designer.cs.dll │ │ └── Models.CRUD_Model.cs.dll │ │ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs │ │ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs │ │ ├── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs │ │ └── edmxResourcesToEmbed │ │ └── Models │ │ ├── CRUD_Model.csdl │ │ ├── CRUD_Model.msl │ │ └── CRUD_Model.ssdl └── packages.config └── CrudDBScript For Part-2.zip /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | 7 | # Standard to msysgit 8 | *.doc diff=astextplain 9 | *.DOC diff=astextplain 10 | *.docx diff=astextplain 11 | *.DOCX diff=astextplain 12 | *.dot diff=astextplain 13 | *.DOT diff=astextplain 14 | *.pdf diff=astextplain 15 | *.PDF diff=astextplain 16 | *.rtf diff=astextplain 17 | *.RTF diff=astextplain 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Windows image file caches 2 | Thumbs.db 3 | ehthumbs.db 4 | 5 | # Folder config file 6 | Desktop.ini 7 | 8 | # Recycle Bin used on file shares 9 | $RECYCLE.BIN/ 10 | 11 | # Windows Installer files 12 | *.cab 13 | *.msi 14 | *.msm 15 | *.msp 16 | 17 | # Windows shortcuts 18 | *.lnk 19 | 20 | # ========================= 21 | # Operating System Files 22 | # ========================= 23 | 24 | # OSX 25 | # ========================= 26 | 27 | .DS_Store 28 | .AppleDouble 29 | .LSOverride 30 | 31 | # Thumbnails 32 | ._* 33 | 34 | # Files that might appear in the root of a volume 35 | .DocumentRevisions-V100 36 | .fseventsd 37 | .Spotlight-V100 38 | .TemporaryItems 39 | .Trashes 40 | .VolumeIcon.icns 41 | 42 | # Directories potentially created on remote AFP share 43 | .AppleDB 44 | .AppleDesktop 45 | Network Trash Folder 46 | Temporary Items 47 | .apdisk 48 | -------------------------------------------------------------------------------- /.vs/AngularJS/v14/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShashangkaShekhar/ASP.NET-MVC5-CRUD-AngularJS/e41070153d0014e58a5e981b53fefaa31315c2ec/.vs/AngularJS/v14/.suo -------------------------------------------------------------------------------- /AngularJS.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 14 4 | VisualStudioVersion = 14.0.24720.0 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AngularJSCRUD", "AngularJSCRUD\AngularJSCRUD.csproj", "{BF377AAA-5FE4-4238-B9FE-9AA54F8917C6}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {BF377AAA-5FE4-4238-B9FE-9AA54F8917C6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {BF377AAA-5FE4-4238-B9FE-9AA54F8917C6}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {BF377AAA-5FE4-4238-B9FE-9AA54F8917C6}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {BF377AAA-5FE4-4238-B9FE-9AA54F8917C6}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /AngularJSCRUD/AngularJSCRUD.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | Debug 8 | AnyCPU 9 | 10 | 11 | 2.0 12 | {BF377AAA-5FE4-4238-B9FE-9AA54F8917C6} 13 | {349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc} 14 | Library 15 | Properties 16 | AngularJSCRUD 17 | AngularJSCRUD 18 | v4.5 19 | true 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | true 30 | full 31 | false 32 | bin\ 33 | DEBUG;TRACE 34 | prompt 35 | 4 36 | 37 | 38 | pdbonly 39 | true 40 | bin\ 41 | TRACE 42 | prompt 43 | 4 44 | 45 | 46 | 47 | ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll 48 | True 49 | 50 | 51 | ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll 52 | True 53 | 54 | 55 | ..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\lib\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll 56 | True 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | ..\packages\Microsoft.AspNet.Razor.3.2.3\lib\net45\System.Web.Razor.dll 82 | 83 | 84 | ..\packages\Microsoft.AspNet.Webpages.3.2.3\lib\net45\System.Web.Webpages.dll 85 | 86 | 87 | ..\packages\Microsoft.AspNet.Webpages.3.2.3\lib\net45\System.Web.Webpages.Deployment.dll 88 | 89 | 90 | ..\packages\Microsoft.AspNet.Webpages.3.2.3\lib\net45\System.Web.Webpages.Razor.dll 91 | 92 | 93 | ..\packages\Microsoft.AspNet.Webpages.3.2.3\lib\net45\System.Web.Helpers.dll 94 | 95 | 96 | ..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll 97 | 98 | 99 | ..\packages\Microsoft.AspNet.Mvc.5.2.3\lib\net45\System.Web.Mvc.dll 100 | 101 | 102 | ..\packages\Newtonsoft.Json.6.0.4\lib\net45\Newtonsoft.Json.dll 103 | 104 | 105 | ..\packages\Microsoft.AspNet.WebApi.Client.5.2.3\lib\net45\System.Net.Http.Formatting.dll 106 | 107 | 108 | ..\packages\Microsoft.AspNet.WebApi.Core.5.2.3\lib\net45\System.Web.Http.dll 109 | 110 | 111 | ..\packages\Microsoft.AspNet.WebApi.WebHost.5.2.3\lib\net45\System.Web.Http.WebHost.dll 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | TextTemplatingFileGenerator 126 | CRUD_Model.edmx 127 | CRUD_Model.Context.cs 128 | 129 | 130 | TextTemplatingFileGenerator 131 | CRUD_Model.edmx 132 | CRUD_Model.cs 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | Global.asax 159 | 160 | 161 | True 162 | True 163 | CRUD_Model.Context.tt 164 | 165 | 166 | True 167 | True 168 | CRUD_Model.tt 169 | 170 | 171 | True 172 | True 173 | CRUD_Model.edmx 174 | 175 | 176 | CRUD_Model.tt 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | EntityModelCodeGenerator 186 | CRUD_Model.Designer.cs 187 | 188 | 189 | CRUD_Model.edmx 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | Web.config 200 | 201 | 202 | Web.config 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 10.0 213 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | True 223 | True 224 | 5503 225 | / 226 | http://localhost:5503/ 227 | False 228 | False 229 | 230 | 231 | False 232 | 233 | 234 | 235 | 236 | 237 | 238 | This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. 239 | 240 | 241 | 242 | 243 | 250 | -------------------------------------------------------------------------------- /AngularJSCRUD/AngularJSCRUD.csproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 600 5 | True 6 | False 7 | False 8 | 9 | False 10 | 600 11 | ProjectFiles 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | CurrentPage 20 | True 21 | False 22 | False 23 | False 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | True 33 | True 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /AngularJSCRUD/App_Data/CrudDBScript.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShashangkaShekhar/ASP.NET-MVC5-CRUD-AngularJS/e41070153d0014e58a5e981b53fefaa31315c2ec/AngularJSCRUD/App_Data/CrudDBScript.sql -------------------------------------------------------------------------------- /AngularJSCRUD/App_Start/RouteConfig.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Web; 5 | using System.Web.Mvc; 6 | using System.Web.Routing; 7 | 8 | namespace AngularJSCRUD 9 | { 10 | public class RouteConfig 11 | { 12 | public static void RegisterRoutes(RouteCollection routes) 13 | { 14 | routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 15 | 16 | routes.MapRoute( 17 | name: "Default", 18 | url: "{controller}/{action}/{id}", 19 | defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } 20 | ); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /AngularJSCRUD/App_Start/WebApiConfig.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Web.Http; 5 | 6 | namespace AngularJSCRUD 7 | { 8 | public static class WebApiConfig 9 | { 10 | public static void Register(HttpConfiguration config) 11 | { 12 | // Web API configuration and services 13 | 14 | // Web API routes 15 | config.MapHttpAttributeRoutes(); 16 | 17 | config.Routes.MapHttpRoute( 18 | name: "DefaultApi", 19 | routeTemplate: "api/{controller}/{id}", 20 | defaults: new { id = RouteParameter.Optional } 21 | ); 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /AngularJSCRUD/Content/CRUDStyleSheet.css: -------------------------------------------------------------------------------- 1 | #content label { 2 | width: 150px; 3 | } 4 | 5 | .btn { 6 | margin-left: 140px; 7 | } 8 | 9 | #content input[type=submit] { 10 | width: 85px; 11 | padding: 5px 15px; 12 | background: #ff6a00; 13 | border: 0 none; 14 | cursor: pointer; 15 | color: #fff; 16 | } 17 | 18 | .error { 19 | color: red; 20 | } 21 | 22 | .color-default { 23 | color: #000; 24 | } 25 | 26 | .color-red { 27 | color: red; 28 | } 29 | 30 | .color-green { 31 | color: green; 32 | } 33 | 34 | #content input.ng-dirty.ng-invalid { 35 | border: 1px solid red; 36 | background-color: rgb(255, 244, 244); 37 | } 38 | 39 | [ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak { 40 | display: none !important; 41 | } -------------------------------------------------------------------------------- /AngularJSCRUD/Content/Site.css: -------------------------------------------------------------------------------- 1 | body { 2 | padding-top: 50px; 3 | padding-bottom: 20px; 4 | } 5 | 6 | /* Set padding to keep content from hitting the edges */ 7 | .body-content { 8 | padding-left: 15px; 9 | padding-right: 15px; 10 | } 11 | 12 | /* Set width on the form input elements since they're 100% wide by default */ 13 | input, 14 | select, 15 | textarea { 16 | max-width: 280px; 17 | } 18 | 19 | -------------------------------------------------------------------------------- /AngularJSCRUD/Content/images/edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShashangkaShekhar/ASP.NET-MVC5-CRUD-AngularJS/e41070153d0014e58a5e981b53fefaa31315c2ec/AngularJSCRUD/Content/images/edit.png -------------------------------------------------------------------------------- /AngularJSCRUD/Content/images/erase.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShashangkaShekhar/ASP.NET-MVC5-CRUD-AngularJS/e41070153d0014e58a5e981b53fefaa31315c2ec/AngularJSCRUD/Content/images/erase.png -------------------------------------------------------------------------------- /AngularJSCRUD/Content/images/ng-loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShashangkaShekhar/ASP.NET-MVC5-CRUD-AngularJS/e41070153d0014e58a5e981b53fefaa31315c2ec/AngularJSCRUD/Content/images/ng-loader.gif -------------------------------------------------------------------------------- /AngularJSCRUD/Controllers/HomeController.cs: -------------------------------------------------------------------------------- 1 | using AngularJSCRUD.Models; 2 | using AngularJSCRUD.Service; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Linq; 6 | using System.Web; 7 | using System.Web.Mvc; 8 | 9 | namespace AngularJSCRUD.Controllers 10 | { 11 | public class HomeController : Controller 12 | { 13 | private CustomerService objCust; 14 | public HomeController() 15 | { 16 | this.objCust = new CustomerService(); 17 | } 18 | 19 | // GET: Home 20 | public ActionResult Index() 21 | { 22 | return View(); 23 | } 24 | 25 | // GET: All Customer 26 | [HttpGet] 27 | public JsonResult GetAllData() 28 | { 29 | int Count = 10; IEnumerable customers = null; 30 | try 31 | { 32 | object[] parameters = { Count }; 33 | customers = objCust.GetAll(parameters); 34 | } 35 | catch { } 36 | return Json(customers.ToList(), JsonRequestBehavior.AllowGet); 37 | } 38 | 39 | // GET: Get Single Customer 40 | [HttpGet] 41 | public JsonResult GetbyID(int id) 42 | { 43 | object customer = null; 44 | try 45 | { 46 | object[] parameters = { id }; 47 | customer = this.objCust.GetbyID(parameters); 48 | } 49 | catch { } 50 | return Json(customer, JsonRequestBehavior.AllowGet); 51 | } 52 | 53 | public ActionResult Insert() 54 | { 55 | return View(); 56 | } 57 | 58 | // POST: Save New Customer 59 | [HttpPost] 60 | public JsonResult Insert(Customer model) 61 | { 62 | int result = 0; bool status = false; 63 | if (ModelState.IsValid) 64 | { 65 | try 66 | { 67 | object[] parameters = { model.CustName, model.CustEmail }; 68 | result = objCust.Insert(parameters); 69 | if (result == 1) 70 | { 71 | status = true; 72 | } 73 | return Json(new { success = status }); 74 | } 75 | catch { } 76 | } 77 | return Json(new 78 | { 79 | success = false, 80 | errors = ModelState.Keys.SelectMany(i => ModelState[i].Errors).Select(m => m.ErrorMessage).ToArray() 81 | }); 82 | } 83 | 84 | public ActionResult Update() 85 | { 86 | return View(); 87 | } 88 | 89 | // POST: Update Existing Customer 90 | [HttpPost] 91 | public JsonResult Update(Customer model) 92 | { 93 | int result = 0; bool status = false; 94 | if (ModelState.IsValid) 95 | { 96 | try 97 | { 98 | object[] parameters = { model.Id, model.CustName, model.CustEmail }; 99 | result = objCust.Update(parameters); 100 | if (result == 1) 101 | { 102 | status = true; 103 | } 104 | return Json(new { success = status }); 105 | } 106 | catch { } 107 | } 108 | return Json(new 109 | { 110 | success = false, 111 | errors = ModelState.Keys.SelectMany(i => ModelState[i].Errors).Select(m => m.ErrorMessage).ToArray() 112 | }); 113 | } 114 | 115 | // DELETE: Delete Customer 116 | [HttpDelete] 117 | public JsonResult Delete(int id) 118 | { 119 | int result = 0; bool status = false; 120 | try 121 | { 122 | object[] parameters = { id }; 123 | result = objCust.Delete(parameters); 124 | if (result == 1) 125 | { 126 | status = true; 127 | } 128 | } 129 | catch { } 130 | return Json(new 131 | { 132 | success = status 133 | }); 134 | } 135 | 136 | protected override void Dispose(bool disposing) 137 | { 138 | base.Dispose(disposing); 139 | } 140 | } 141 | } -------------------------------------------------------------------------------- /AngularJSCRUD/Controllers/api/apiHomeController.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Net; 5 | using System.Net.Http; 6 | using System.Web.Http; 7 | 8 | namespace AngularJSCRUD.Controllers.api 9 | { 10 | public class apiHomeController : ApiController 11 | { 12 | 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /AngularJSCRUD/Data/Repository/BaseRepository/GenericRepository.cs: -------------------------------------------------------------------------------- 1 | using AngularJSCRUD.Data.Repository.Interface; 2 | using AngularJSCRUD.Models; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Data.Entity; 6 | using System.Linq; 7 | using System.Web; 8 | 9 | namespace AngularJSCRUD.Data.Repository.BaseRepository 10 | { 11 | public class GenericRepository : IRepository where T : class 12 | { 13 | 14 | CRUD_SampleEntities context = null; 15 | private DbSet entities = null; 16 | 17 | public GenericRepository(CRUD_SampleEntities context) 18 | { 19 | this.context = context; 20 | entities = context.Set(); 21 | } 22 | 23 | /// 24 | /// Get Data From Database 25 | /// Use it when to retive data through a stored procedure 26 | /// 27 | public IEnumerable ExecuteQuery(string spQuery, object[] parameters) 28 | { 29 | using (context = new CRUD_SampleEntities()) 30 | { 31 | return context.Database.SqlQuery(spQuery, parameters).ToList(); 32 | } 33 | } 34 | 35 | /// 36 | /// Get Single Data From Database 37 | /// Use it when to retive single data through a stored procedure 38 | /// 39 | public T ExecuteQuerySingle(string spQuery, object[] parameters) 40 | { 41 | using (context = new CRUD_SampleEntities()) 42 | { 43 | return context.Database.SqlQuery(spQuery, parameters).FirstOrDefault(); 44 | } 45 | } 46 | 47 | /// 48 | /// Insert/Update/Delete Data To Database 49 | /// Use it when to Insert/Update/Delete data through a stored procedure 50 | /// 51 | public int ExecuteCommand(string spQuery, object[] parameters) 52 | { 53 | int result = 0; 54 | try 55 | { 56 | using (context = new CRUD_SampleEntities()) 57 | { 58 | result = context.Database.SqlQuery(spQuery, parameters).FirstOrDefault(); 59 | } 60 | } 61 | catch { } 62 | return result; 63 | } 64 | 65 | private bool disposed = false; 66 | 67 | protected virtual void Dispose(bool disposing) 68 | { 69 | if (!this.disposed) 70 | { 71 | if (disposing) 72 | { 73 | context.Dispose(); 74 | } 75 | } 76 | this.disposed = true; 77 | } 78 | 79 | public void Dispose() 80 | { 81 | Dispose(true); 82 | GC.SuppressFinalize(this); 83 | } 84 | } 85 | } -------------------------------------------------------------------------------- /AngularJSCRUD/Data/Repository/Interface/IRepository.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Web; 5 | 6 | namespace AngularJSCRUD.Data.Repository.Interface 7 | { 8 | interface IRepository : IDisposable where T : class 9 | { 10 | IEnumerable ExecuteQuery(string spQuery, object[] parameters); 11 | T ExecuteQuerySingle(string spQuery, object[] parameters); 12 | int ExecuteCommand(string spQuery, object[] parameters); 13 | } 14 | } -------------------------------------------------------------------------------- /AngularJSCRUD/Global.asax: -------------------------------------------------------------------------------- 1 | <%@ Application Codebehind="Global.asax.cs" Inherits="AngularJSCRUD.Global" Language="C#" %> 2 | -------------------------------------------------------------------------------- /AngularJSCRUD/Global.asax.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Web; 5 | using System.Web.Mvc; 6 | using System.Web.Routing; 7 | using System.Web.Security; 8 | using System.Web.SessionState; 9 | using System.Web.Http; 10 | 11 | namespace AngularJSCRUD 12 | { 13 | public class Global : HttpApplication 14 | { 15 | void Application_Start(object sender, EventArgs e) 16 | { 17 | // Code that runs on application startup 18 | AreaRegistration.RegisterAllAreas(); 19 | GlobalConfiguration.Configure(WebApiConfig.Register); 20 | RouteConfig.RegisterRoutes(RouteTable.Routes); 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /AngularJSCRUD/Models/CRUD_Model.Context.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated from a template. 4 | // 5 | // Manual changes to this file may cause unexpected behavior in your application. 6 | // Manual changes to this file will be overwritten if the code is regenerated. 7 | // 8 | //------------------------------------------------------------------------------ 9 | 10 | namespace AngularJSCRUD.Models 11 | { 12 | using System; 13 | using System.Data.Entity; 14 | using System.Data.Entity.Infrastructure; 15 | 16 | public partial class CRUD_SampleEntities : DbContext 17 | { 18 | public CRUD_SampleEntities() 19 | : base("name=CRUD_SampleEntities") 20 | { 21 | } 22 | 23 | protected override void OnModelCreating(DbModelBuilder modelBuilder) 24 | { 25 | throw new UnintentionalCodeFirstException(); 26 | } 27 | 28 | public virtual DbSet Customers { get; set; } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /AngularJSCRUD/Models/CRUD_Model.Context.tt: -------------------------------------------------------------------------------- 1 | <#@ template language="C#" debug="false" hostspecific="true"#> 2 | <#@ include file="EF6.Utility.CS.ttinclude"#><#@ 3 | output extension=".cs"#><# 4 | 5 | const string inputFile = @"CRUD_Model.edmx"; 6 | var textTransform = DynamicTextTransformation.Create(this); 7 | var code = new CodeGenerationTools(this); 8 | var ef = new MetadataTools(this); 9 | var typeMapper = new TypeMapper(code, ef, textTransform.Errors); 10 | var loader = new EdmMetadataLoader(textTransform.Host, textTransform.Errors); 11 | var itemCollection = loader.CreateEdmItemCollection(inputFile); 12 | var modelNamespace = loader.GetModelNamespace(inputFile); 13 | var codeStringGenerator = new CodeStringGenerator(code, typeMapper, ef); 14 | 15 | var container = itemCollection.OfType().FirstOrDefault(); 16 | if (container == null) 17 | { 18 | return string.Empty; 19 | } 20 | #> 21 | //------------------------------------------------------------------------------ 22 | // 23 | // <#=CodeGenerationTools.GetResourceString("Template_GeneratedCodeCommentLine1")#> 24 | // 25 | // <#=CodeGenerationTools.GetResourceString("Template_GeneratedCodeCommentLine2")#> 26 | // <#=CodeGenerationTools.GetResourceString("Template_GeneratedCodeCommentLine3")#> 27 | // 28 | //------------------------------------------------------------------------------ 29 | 30 | <# 31 | 32 | var codeNamespace = code.VsNamespaceSuggestion(); 33 | if (!String.IsNullOrEmpty(codeNamespace)) 34 | { 35 | #> 36 | namespace <#=code.EscapeNamespace(codeNamespace)#> 37 | { 38 | <# 39 | PushIndent(" "); 40 | } 41 | 42 | #> 43 | using System; 44 | using System.Data.Entity; 45 | using System.Data.Entity.Infrastructure; 46 | <# 47 | if (container.FunctionImports.Any()) 48 | { 49 | #> 50 | using System.Data.Entity.Core.Objects; 51 | using System.Linq; 52 | <# 53 | } 54 | #> 55 | 56 | <#=Accessibility.ForType(container)#> partial class <#=code.Escape(container)#> : DbContext 57 | { 58 | public <#=code.Escape(container)#>() 59 | : base("name=<#=container.Name#>") 60 | { 61 | <# 62 | if (!loader.IsLazyLoadingEnabled(container)) 63 | { 64 | #> 65 | this.Configuration.LazyLoadingEnabled = false; 66 | <# 67 | } 68 | 69 | foreach (var entitySet in container.BaseEntitySets.OfType()) 70 | { 71 | // Note: the DbSet members are defined below such that the getter and 72 | // setter always have the same accessibility as the DbSet definition 73 | if (Accessibility.ForReadOnlyProperty(entitySet) != "public") 74 | { 75 | #> 76 | <#=codeStringGenerator.DbSetInitializer(entitySet)#> 77 | <# 78 | } 79 | } 80 | #> 81 | } 82 | 83 | protected override void OnModelCreating(DbModelBuilder modelBuilder) 84 | { 85 | throw new UnintentionalCodeFirstException(); 86 | } 87 | 88 | <# 89 | foreach (var entitySet in container.BaseEntitySets.OfType()) 90 | { 91 | #> 92 | <#=codeStringGenerator.DbSet(entitySet)#> 93 | <# 94 | } 95 | 96 | foreach (var edmFunction in container.FunctionImports) 97 | { 98 | WriteFunctionImport(typeMapper, codeStringGenerator, edmFunction, modelNamespace, includeMergeOption: false); 99 | } 100 | #> 101 | } 102 | <# 103 | 104 | if (!String.IsNullOrEmpty(codeNamespace)) 105 | { 106 | PopIndent(); 107 | #> 108 | } 109 | <# 110 | } 111 | #> 112 | <#+ 113 | 114 | private void WriteFunctionImport(TypeMapper typeMapper, CodeStringGenerator codeStringGenerator, EdmFunction edmFunction, string modelNamespace, bool includeMergeOption) 115 | { 116 | if (typeMapper.IsComposable(edmFunction)) 117 | { 118 | #> 119 | 120 | [DbFunction("<#=edmFunction.NamespaceName#>", "<#=edmFunction.Name#>")] 121 | <#=codeStringGenerator.ComposableFunctionMethod(edmFunction, modelNamespace)#> 122 | { 123 | <#+ 124 | codeStringGenerator.WriteFunctionParameters(edmFunction, WriteFunctionParameter); 125 | #> 126 | <#=codeStringGenerator.ComposableCreateQuery(edmFunction, modelNamespace)#> 127 | } 128 | <#+ 129 | } 130 | else 131 | { 132 | #> 133 | 134 | <#=codeStringGenerator.FunctionMethod(edmFunction, modelNamespace, includeMergeOption)#> 135 | { 136 | <#+ 137 | codeStringGenerator.WriteFunctionParameters(edmFunction, WriteFunctionParameter); 138 | #> 139 | <#=codeStringGenerator.ExecuteFunction(edmFunction, modelNamespace, includeMergeOption)#> 140 | } 141 | <#+ 142 | if (typeMapper.GenerateMergeOptionFunction(edmFunction, includeMergeOption)) 143 | { 144 | WriteFunctionImport(typeMapper, codeStringGenerator, edmFunction, modelNamespace, includeMergeOption: true); 145 | } 146 | } 147 | } 148 | 149 | public void WriteFunctionParameter(string name, string isNotNull, string notNullInit, string nullInit) 150 | { 151 | #> 152 | var <#=name#> = <#=isNotNull#> ? 153 | <#=notNullInit#> : 154 | <#=nullInit#>; 155 | 156 | <#+ 157 | } 158 | 159 | public const string TemplateId = "CSharp_DbContext_Context_EF6"; 160 | 161 | public class CodeStringGenerator 162 | { 163 | private readonly CodeGenerationTools _code; 164 | private readonly TypeMapper _typeMapper; 165 | private readonly MetadataTools _ef; 166 | 167 | public CodeStringGenerator(CodeGenerationTools code, TypeMapper typeMapper, MetadataTools ef) 168 | { 169 | ArgumentNotNull(code, "code"); 170 | ArgumentNotNull(typeMapper, "typeMapper"); 171 | ArgumentNotNull(ef, "ef"); 172 | 173 | _code = code; 174 | _typeMapper = typeMapper; 175 | _ef = ef; 176 | } 177 | 178 | public string Property(EdmProperty edmProperty) 179 | { 180 | return string.Format( 181 | CultureInfo.InvariantCulture, 182 | "{0} {1} {2} {{ {3}get; {4}set; }}", 183 | Accessibility.ForProperty(edmProperty), 184 | _typeMapper.GetTypeName(edmProperty.TypeUsage), 185 | _code.Escape(edmProperty), 186 | _code.SpaceAfter(Accessibility.ForGetter(edmProperty)), 187 | _code.SpaceAfter(Accessibility.ForSetter(edmProperty))); 188 | } 189 | 190 | public string NavigationProperty(NavigationProperty navProp) 191 | { 192 | var endType = _typeMapper.GetTypeName(navProp.ToEndMember.GetEntityType()); 193 | return string.Format( 194 | CultureInfo.InvariantCulture, 195 | "{0} {1} {2} {{ {3}get; {4}set; }}", 196 | AccessibilityAndVirtual(Accessibility.ForNavigationProperty(navProp)), 197 | navProp.ToEndMember.RelationshipMultiplicity == RelationshipMultiplicity.Many ? ("ICollection<" + endType + ">") : endType, 198 | _code.Escape(navProp), 199 | _code.SpaceAfter(Accessibility.ForGetter(navProp)), 200 | _code.SpaceAfter(Accessibility.ForSetter(navProp))); 201 | } 202 | 203 | public string AccessibilityAndVirtual(string accessibility) 204 | { 205 | return accessibility + (accessibility != "private" ? " virtual" : ""); 206 | } 207 | 208 | public string EntityClassOpening(EntityType entity) 209 | { 210 | return string.Format( 211 | CultureInfo.InvariantCulture, 212 | "{0} {1}partial class {2}{3}", 213 | Accessibility.ForType(entity), 214 | _code.SpaceAfter(_code.AbstractOption(entity)), 215 | _code.Escape(entity), 216 | _code.StringBefore(" : ", _typeMapper.GetTypeName(entity.BaseType))); 217 | } 218 | 219 | public string EnumOpening(SimpleType enumType) 220 | { 221 | return string.Format( 222 | CultureInfo.InvariantCulture, 223 | "{0} enum {1} : {2}", 224 | Accessibility.ForType(enumType), 225 | _code.Escape(enumType), 226 | _code.Escape(_typeMapper.UnderlyingClrType(enumType))); 227 | } 228 | 229 | public void WriteFunctionParameters(EdmFunction edmFunction, Action writeParameter) 230 | { 231 | var parameters = FunctionImportParameter.Create(edmFunction.Parameters, _code, _ef); 232 | foreach (var parameter in parameters.Where(p => p.NeedsLocalVariable)) 233 | { 234 | var isNotNull = parameter.IsNullableOfT ? parameter.FunctionParameterName + ".HasValue" : parameter.FunctionParameterName + " != null"; 235 | var notNullInit = "new ObjectParameter(\"" + parameter.EsqlParameterName + "\", " + parameter.FunctionParameterName + ")"; 236 | var nullInit = "new ObjectParameter(\"" + parameter.EsqlParameterName + "\", typeof(" + TypeMapper.FixNamespaces(parameter.RawClrTypeName) + "))"; 237 | writeParameter(parameter.LocalVariableName, isNotNull, notNullInit, nullInit); 238 | } 239 | } 240 | 241 | public string ComposableFunctionMethod(EdmFunction edmFunction, string modelNamespace) 242 | { 243 | var parameters = _typeMapper.GetParameters(edmFunction); 244 | 245 | return string.Format( 246 | CultureInfo.InvariantCulture, 247 | "{0} IQueryable<{1}> {2}({3})", 248 | AccessibilityAndVirtual(Accessibility.ForMethod(edmFunction)), 249 | _typeMapper.GetTypeName(_typeMapper.GetReturnType(edmFunction), modelNamespace), 250 | _code.Escape(edmFunction), 251 | string.Join(", ", parameters.Select(p => TypeMapper.FixNamespaces(p.FunctionParameterType) + " " + p.FunctionParameterName).ToArray())); 252 | } 253 | 254 | public string ComposableCreateQuery(EdmFunction edmFunction, string modelNamespace) 255 | { 256 | var parameters = _typeMapper.GetParameters(edmFunction); 257 | 258 | return string.Format( 259 | CultureInfo.InvariantCulture, 260 | "return ((IObjectContextAdapter)this).ObjectContext.CreateQuery<{0}>(\"[{1}].[{2}]({3})\"{4});", 261 | _typeMapper.GetTypeName(_typeMapper.GetReturnType(edmFunction), modelNamespace), 262 | edmFunction.NamespaceName, 263 | edmFunction.Name, 264 | string.Join(", ", parameters.Select(p => "@" + p.EsqlParameterName).ToArray()), 265 | _code.StringBefore(", ", string.Join(", ", parameters.Select(p => p.ExecuteParameterName).ToArray()))); 266 | } 267 | 268 | public string FunctionMethod(EdmFunction edmFunction, string modelNamespace, bool includeMergeOption) 269 | { 270 | var parameters = _typeMapper.GetParameters(edmFunction); 271 | var returnType = _typeMapper.GetReturnType(edmFunction); 272 | 273 | var paramList = String.Join(", ", parameters.Select(p => TypeMapper.FixNamespaces(p.FunctionParameterType) + " " + p.FunctionParameterName).ToArray()); 274 | if (includeMergeOption) 275 | { 276 | paramList = _code.StringAfter(paramList, ", ") + "MergeOption mergeOption"; 277 | } 278 | 279 | return string.Format( 280 | CultureInfo.InvariantCulture, 281 | "{0} {1} {2}({3})", 282 | AccessibilityAndVirtual(Accessibility.ForMethod(edmFunction)), 283 | returnType == null ? "int" : "ObjectResult<" + _typeMapper.GetTypeName(returnType, modelNamespace) + ">", 284 | _code.Escape(edmFunction), 285 | paramList); 286 | } 287 | 288 | public string ExecuteFunction(EdmFunction edmFunction, string modelNamespace, bool includeMergeOption) 289 | { 290 | var parameters = _typeMapper.GetParameters(edmFunction); 291 | var returnType = _typeMapper.GetReturnType(edmFunction); 292 | 293 | var callParams = _code.StringBefore(", ", String.Join(", ", parameters.Select(p => p.ExecuteParameterName).ToArray())); 294 | if (includeMergeOption) 295 | { 296 | callParams = ", mergeOption" + callParams; 297 | } 298 | 299 | return string.Format( 300 | CultureInfo.InvariantCulture, 301 | "return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction{0}(\"{1}\"{2});", 302 | returnType == null ? "" : "<" + _typeMapper.GetTypeName(returnType, modelNamespace) + ">", 303 | edmFunction.Name, 304 | callParams); 305 | } 306 | 307 | public string DbSet(EntitySet entitySet) 308 | { 309 | return string.Format( 310 | CultureInfo.InvariantCulture, 311 | "{0} virtual DbSet<{1}> {2} {{ get; set; }}", 312 | Accessibility.ForReadOnlyProperty(entitySet), 313 | _typeMapper.GetTypeName(entitySet.ElementType), 314 | _code.Escape(entitySet)); 315 | } 316 | 317 | public string DbSetInitializer(EntitySet entitySet) 318 | { 319 | return string.Format( 320 | CultureInfo.InvariantCulture, 321 | "{0} = Set<{1}>();", 322 | _code.Escape(entitySet), 323 | _typeMapper.GetTypeName(entitySet.ElementType)); 324 | } 325 | 326 | public string UsingDirectives(bool inHeader, bool includeCollections = true) 327 | { 328 | return inHeader == string.IsNullOrEmpty(_code.VsNamespaceSuggestion()) 329 | ? string.Format( 330 | CultureInfo.InvariantCulture, 331 | "{0}using System;{1}" + 332 | "{2}", 333 | inHeader ? Environment.NewLine : "", 334 | includeCollections ? (Environment.NewLine + "using System.Collections.Generic;") : "", 335 | inHeader ? "" : Environment.NewLine) 336 | : ""; 337 | } 338 | } 339 | 340 | public class TypeMapper 341 | { 342 | private const string ExternalTypeNameAttributeName = @"http://schemas.microsoft.com/ado/2006/04/codegeneration:ExternalTypeName"; 343 | 344 | private readonly System.Collections.IList _errors; 345 | private readonly CodeGenerationTools _code; 346 | private readonly MetadataTools _ef; 347 | 348 | public static string FixNamespaces(string typeName) 349 | { 350 | return typeName.Replace("System.Data.Spatial.", "System.Data.Entity.Spatial."); 351 | } 352 | 353 | public TypeMapper(CodeGenerationTools code, MetadataTools ef, System.Collections.IList errors) 354 | { 355 | ArgumentNotNull(code, "code"); 356 | ArgumentNotNull(ef, "ef"); 357 | ArgumentNotNull(errors, "errors"); 358 | 359 | _code = code; 360 | _ef = ef; 361 | _errors = errors; 362 | } 363 | 364 | public string GetTypeName(TypeUsage typeUsage) 365 | { 366 | return typeUsage == null ? null : GetTypeName(typeUsage.EdmType, _ef.IsNullable(typeUsage), modelNamespace: null); 367 | } 368 | 369 | public string GetTypeName(EdmType edmType) 370 | { 371 | return GetTypeName(edmType, isNullable: null, modelNamespace: null); 372 | } 373 | 374 | public string GetTypeName(TypeUsage typeUsage, string modelNamespace) 375 | { 376 | return typeUsage == null ? null : GetTypeName(typeUsage.EdmType, _ef.IsNullable(typeUsage), modelNamespace); 377 | } 378 | 379 | public string GetTypeName(EdmType edmType, string modelNamespace) 380 | { 381 | return GetTypeName(edmType, isNullable: null, modelNamespace: modelNamespace); 382 | } 383 | 384 | public string GetTypeName(EdmType edmType, bool? isNullable, string modelNamespace) 385 | { 386 | if (edmType == null) 387 | { 388 | return null; 389 | } 390 | 391 | var collectionType = edmType as CollectionType; 392 | if (collectionType != null) 393 | { 394 | return String.Format(CultureInfo.InvariantCulture, "ICollection<{0}>", GetTypeName(collectionType.TypeUsage, modelNamespace)); 395 | } 396 | 397 | var typeName = _code.Escape(edmType.MetadataProperties 398 | .Where(p => p.Name == ExternalTypeNameAttributeName) 399 | .Select(p => (string)p.Value) 400 | .FirstOrDefault()) 401 | ?? (modelNamespace != null && edmType.NamespaceName != modelNamespace ? 402 | _code.CreateFullName(_code.EscapeNamespace(edmType.NamespaceName), _code.Escape(edmType)) : 403 | _code.Escape(edmType)); 404 | 405 | if (edmType is StructuralType) 406 | { 407 | return typeName; 408 | } 409 | 410 | if (edmType is SimpleType) 411 | { 412 | var clrType = UnderlyingClrType(edmType); 413 | if (!IsEnumType(edmType)) 414 | { 415 | typeName = _code.Escape(clrType); 416 | } 417 | 418 | typeName = FixNamespaces(typeName); 419 | 420 | return clrType.IsValueType && isNullable == true ? 421 | String.Format(CultureInfo.InvariantCulture, "Nullable<{0}>", typeName) : 422 | typeName; 423 | } 424 | 425 | throw new ArgumentException("edmType"); 426 | } 427 | 428 | public Type UnderlyingClrType(EdmType edmType) 429 | { 430 | ArgumentNotNull(edmType, "edmType"); 431 | 432 | var primitiveType = edmType as PrimitiveType; 433 | if (primitiveType != null) 434 | { 435 | return primitiveType.ClrEquivalentType; 436 | } 437 | 438 | if (IsEnumType(edmType)) 439 | { 440 | return GetEnumUnderlyingType(edmType).ClrEquivalentType; 441 | } 442 | 443 | return typeof(object); 444 | } 445 | 446 | public object GetEnumMemberValue(MetadataItem enumMember) 447 | { 448 | ArgumentNotNull(enumMember, "enumMember"); 449 | 450 | var valueProperty = enumMember.GetType().GetProperty("Value"); 451 | return valueProperty == null ? null : valueProperty.GetValue(enumMember, null); 452 | } 453 | 454 | public string GetEnumMemberName(MetadataItem enumMember) 455 | { 456 | ArgumentNotNull(enumMember, "enumMember"); 457 | 458 | var nameProperty = enumMember.GetType().GetProperty("Name"); 459 | return nameProperty == null ? null : (string)nameProperty.GetValue(enumMember, null); 460 | } 461 | 462 | public System.Collections.IEnumerable GetEnumMembers(EdmType enumType) 463 | { 464 | ArgumentNotNull(enumType, "enumType"); 465 | 466 | var membersProperty = enumType.GetType().GetProperty("Members"); 467 | return membersProperty != null 468 | ? (System.Collections.IEnumerable)membersProperty.GetValue(enumType, null) 469 | : Enumerable.Empty(); 470 | } 471 | 472 | public bool EnumIsFlags(EdmType enumType) 473 | { 474 | ArgumentNotNull(enumType, "enumType"); 475 | 476 | var isFlagsProperty = enumType.GetType().GetProperty("IsFlags"); 477 | return isFlagsProperty != null && (bool)isFlagsProperty.GetValue(enumType, null); 478 | } 479 | 480 | public bool IsEnumType(GlobalItem edmType) 481 | { 482 | ArgumentNotNull(edmType, "edmType"); 483 | 484 | return edmType.GetType().Name == "EnumType"; 485 | } 486 | 487 | public PrimitiveType GetEnumUnderlyingType(EdmType enumType) 488 | { 489 | ArgumentNotNull(enumType, "enumType"); 490 | 491 | return (PrimitiveType)enumType.GetType().GetProperty("UnderlyingType").GetValue(enumType, null); 492 | } 493 | 494 | public string CreateLiteral(object value) 495 | { 496 | if (value == null || value.GetType() != typeof(TimeSpan)) 497 | { 498 | return _code.CreateLiteral(value); 499 | } 500 | 501 | return string.Format(CultureInfo.InvariantCulture, "new TimeSpan({0})", ((TimeSpan)value).Ticks); 502 | } 503 | 504 | public bool VerifyCaseInsensitiveTypeUniqueness(IEnumerable types, string sourceFile) 505 | { 506 | ArgumentNotNull(types, "types"); 507 | ArgumentNotNull(sourceFile, "sourceFile"); 508 | 509 | var hash = new HashSet(StringComparer.InvariantCultureIgnoreCase); 510 | if (types.Any(item => !hash.Add(item))) 511 | { 512 | _errors.Add( 513 | new CompilerError(sourceFile, -1, -1, "6023", 514 | String.Format(CultureInfo.CurrentCulture, CodeGenerationTools.GetResourceString("Template_CaseInsensitiveTypeConflict")))); 515 | return false; 516 | } 517 | return true; 518 | } 519 | 520 | public IEnumerable GetEnumItemsToGenerate(IEnumerable itemCollection) 521 | { 522 | return GetItemsToGenerate(itemCollection) 523 | .Where(e => IsEnumType(e)); 524 | } 525 | 526 | public IEnumerable GetItemsToGenerate(IEnumerable itemCollection) where T: EdmType 527 | { 528 | return itemCollection 529 | .OfType() 530 | .Where(i => !i.MetadataProperties.Any(p => p.Name == ExternalTypeNameAttributeName)) 531 | .OrderBy(i => i.Name); 532 | } 533 | 534 | public IEnumerable GetAllGlobalItems(IEnumerable itemCollection) 535 | { 536 | return itemCollection 537 | .Where(i => i is EntityType || i is ComplexType || i is EntityContainer || IsEnumType(i)) 538 | .Select(g => GetGlobalItemName(g)); 539 | } 540 | 541 | public string GetGlobalItemName(GlobalItem item) 542 | { 543 | if (item is EdmType) 544 | { 545 | return ((EdmType)item).Name; 546 | } 547 | else 548 | { 549 | return ((EntityContainer)item).Name; 550 | } 551 | } 552 | 553 | public IEnumerable GetSimpleProperties(EntityType type) 554 | { 555 | return type.Properties.Where(p => p.TypeUsage.EdmType is SimpleType && p.DeclaringType == type); 556 | } 557 | 558 | public IEnumerable GetSimpleProperties(ComplexType type) 559 | { 560 | return type.Properties.Where(p => p.TypeUsage.EdmType is SimpleType && p.DeclaringType == type); 561 | } 562 | 563 | public IEnumerable GetComplexProperties(EntityType type) 564 | { 565 | return type.Properties.Where(p => p.TypeUsage.EdmType is ComplexType && p.DeclaringType == type); 566 | } 567 | 568 | public IEnumerable GetComplexProperties(ComplexType type) 569 | { 570 | return type.Properties.Where(p => p.TypeUsage.EdmType is ComplexType && p.DeclaringType == type); 571 | } 572 | 573 | public IEnumerable GetPropertiesWithDefaultValues(EntityType type) 574 | { 575 | return type.Properties.Where(p => p.TypeUsage.EdmType is SimpleType && p.DeclaringType == type && p.DefaultValue != null); 576 | } 577 | 578 | public IEnumerable GetPropertiesWithDefaultValues(ComplexType type) 579 | { 580 | return type.Properties.Where(p => p.TypeUsage.EdmType is SimpleType && p.DeclaringType == type && p.DefaultValue != null); 581 | } 582 | 583 | public IEnumerable GetNavigationProperties(EntityType type) 584 | { 585 | return type.NavigationProperties.Where(np => np.DeclaringType == type); 586 | } 587 | 588 | public IEnumerable GetCollectionNavigationProperties(EntityType type) 589 | { 590 | return type.NavigationProperties.Where(np => np.DeclaringType == type && np.ToEndMember.RelationshipMultiplicity == RelationshipMultiplicity.Many); 591 | } 592 | 593 | public FunctionParameter GetReturnParameter(EdmFunction edmFunction) 594 | { 595 | ArgumentNotNull(edmFunction, "edmFunction"); 596 | 597 | var returnParamsProperty = edmFunction.GetType().GetProperty("ReturnParameters"); 598 | return returnParamsProperty == null 599 | ? edmFunction.ReturnParameter 600 | : ((IEnumerable)returnParamsProperty.GetValue(edmFunction, null)).FirstOrDefault(); 601 | } 602 | 603 | public bool IsComposable(EdmFunction edmFunction) 604 | { 605 | ArgumentNotNull(edmFunction, "edmFunction"); 606 | 607 | var isComposableProperty = edmFunction.GetType().GetProperty("IsComposableAttribute"); 608 | return isComposableProperty != null && (bool)isComposableProperty.GetValue(edmFunction, null); 609 | } 610 | 611 | public IEnumerable GetParameters(EdmFunction edmFunction) 612 | { 613 | return FunctionImportParameter.Create(edmFunction.Parameters, _code, _ef); 614 | } 615 | 616 | public TypeUsage GetReturnType(EdmFunction edmFunction) 617 | { 618 | var returnParam = GetReturnParameter(edmFunction); 619 | return returnParam == null ? null : _ef.GetElementType(returnParam.TypeUsage); 620 | } 621 | 622 | public bool GenerateMergeOptionFunction(EdmFunction edmFunction, bool includeMergeOption) 623 | { 624 | var returnType = GetReturnType(edmFunction); 625 | return !includeMergeOption && returnType != null && returnType.EdmType.BuiltInTypeKind == BuiltInTypeKind.EntityType; 626 | } 627 | } 628 | 629 | public static void ArgumentNotNull(T arg, string name) where T : class 630 | { 631 | if (arg == null) 632 | { 633 | throw new ArgumentNullException(name); 634 | } 635 | } 636 | #> -------------------------------------------------------------------------------- /AngularJSCRUD/Models/CRUD_Model.Designer.cs: -------------------------------------------------------------------------------- 1 | // T4 code generation is enabled for model 'E:\MyWork\Article\Angular\Part - 2\ASP.NET MVC 5 with AngularJS Part 1\AngularJS\AngularJSCRUD\Models\CRUD_Model.edmx'. 2 | // To enable legacy code generation, change the value of the 'Code Generation Strategy' designer 3 | // property to 'Legacy ObjectContext'. This property is available in the Properties Window when the model 4 | // is open in the designer. 5 | 6 | // If no context and entity classes have been generated, it may be because you created an empty model but 7 | // have not yet chosen which version of Entity Framework to use. To generate a context class and entity 8 | // classes for your model, open the model in the designer, right-click on the designer surface, and 9 | // select 'Update Model from Database...', 'Generate Database from Model...', or 'Add Code Generation 10 | // Item...'. -------------------------------------------------------------------------------- /AngularJSCRUD/Models/CRUD_Model.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated from a template. 4 | // 5 | // Manual changes to this file may cause unexpected behavior in your application. 6 | // Manual changes to this file will be overwritten if the code is regenerated. 7 | // 8 | //------------------------------------------------------------------------------ 9 | 10 | -------------------------------------------------------------------------------- /AngularJSCRUD/Models/CRUD_Model.edmx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | -------------------------------------------------------------------------------- /AngularJSCRUD/Models/CRUD_Model.edmx.diagram: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /AngularJSCRUD/Models/Customer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated from a template. 4 | // 5 | // Manual changes to this file may cause unexpected behavior in your application. 6 | // Manual changes to this file will be overwritten if the code is regenerated. 7 | // 8 | //------------------------------------------------------------------------------ 9 | 10 | namespace AngularJSCRUD.Models 11 | { 12 | using System; 13 | using System.Collections.Generic; 14 | 15 | public partial class Customer 16 | { 17 | public long Id { get; set; } 18 | public string CustName { get; set; } 19 | public string CustEmail { get; set; } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /AngularJSCRUD/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("AngularJSCRUD")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("AngularJSCRUD")] 13 | [assembly: AssemblyCopyright("Copyright © 2016")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("bf377aaa-5fe4-4238-b9fe-9aa54f8917c6")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Revision and Build Numbers 33 | // by using the '*' as shown below: 34 | [assembly: AssemblyVersion("1.0.0.0")] 35 | [assembly: AssemblyFileVersion("1.0.0.0")] 36 | -------------------------------------------------------------------------------- /AngularJSCRUD/Scripts/angular-route.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | AngularJS v1.4.8 3 | (c) 2010-2015 Google, Inc. http://angularjs.org 4 | License: MIT 5 | */ 6 | (function(p,c,C){'use strict';function v(r,h,g){return{restrict:"ECA",terminal:!0,priority:400,transclude:"element",link:function(a,f,b,d,y){function z(){k&&(g.cancel(k),k=null);l&&(l.$destroy(),l=null);m&&(k=g.leave(m),k.then(function(){k=null}),m=null)}function x(){var b=r.current&&r.current.locals;if(c.isDefined(b&&b.$template)){var b=a.$new(),d=r.current;m=y(b,function(b){g.enter(b,null,m||f).then(function(){!c.isDefined(t)||t&&!a.$eval(t)||h()});z()});l=d.scope=b;l.$emit("$viewContentLoaded"); 7 | l.$eval(w)}else z()}var l,m,k,t=b.autoscroll,w=b.onload||"";a.$on("$routeChangeSuccess",x);x()}}}function A(c,h,g){return{restrict:"ECA",priority:-400,link:function(a,f){var b=g.current,d=b.locals;f.html(d.$template);var y=c(f.contents());b.controller&&(d.$scope=a,d=h(b.controller,d),b.controllerAs&&(a[b.controllerAs]=d),f.data("$ngControllerController",d),f.children().data("$ngControllerController",d));y(a)}}}p=c.module("ngRoute",["ng"]).provider("$route",function(){function r(a,f){return c.extend(Object.create(a), 8 | f)}function h(a,c){var b=c.caseInsensitiveMatch,d={originalPath:a,regexp:a},g=d.keys=[];a=a.replace(/([().])/g,"\\$1").replace(/(\/)?:(\w+)([\?\*])?/g,function(a,c,b,d){a="?"===d?d:null;d="*"===d?d:null;g.push({name:b,optional:!!a});c=c||"";return""+(a?"":c)+"(?:"+(a?c:"")+(d&&"(.+?)"||"([^/]+)")+(a||"")+")"+(a||"")}).replace(/([\/$\*])/g,"\\$1");d.regexp=new RegExp("^"+a+"$",b?"i":"");return d}var g={};this.when=function(a,f){var b=c.copy(f);c.isUndefined(b.reloadOnSearch)&&(b.reloadOnSearch=!0); 9 | c.isUndefined(b.caseInsensitiveMatch)&&(b.caseInsensitiveMatch=this.caseInsensitiveMatch);g[a]=c.extend(b,a&&h(a,b));if(a){var d="/"==a[a.length-1]?a.substr(0,a.length-1):a+"/";g[d]=c.extend({redirectTo:a},h(d,b))}return this};this.caseInsensitiveMatch=!1;this.otherwise=function(a){"string"===typeof a&&(a={redirectTo:a});this.when(null,a);return this};this.$get=["$rootScope","$location","$routeParams","$q","$injector","$templateRequest","$sce",function(a,f,b,d,h,p,x){function l(b){var e=s.current; 10 | (v=(n=k())&&e&&n.$$route===e.$$route&&c.equals(n.pathParams,e.pathParams)&&!n.reloadOnSearch&&!w)||!e&&!n||a.$broadcast("$routeChangeStart",n,e).defaultPrevented&&b&&b.preventDefault()}function m(){var u=s.current,e=n;if(v)u.params=e.params,c.copy(u.params,b),a.$broadcast("$routeUpdate",u);else if(e||u)w=!1,(s.current=e)&&e.redirectTo&&(c.isString(e.redirectTo)?f.path(t(e.redirectTo,e.params)).search(e.params).replace():f.url(e.redirectTo(e.pathParams,f.path(),f.search())).replace()),d.when(e).then(function(){if(e){var a= 11 | c.extend({},e.resolve),b,f;c.forEach(a,function(b,e){a[e]=c.isString(b)?h.get(b):h.invoke(b,null,null,e)});c.isDefined(b=e.template)?c.isFunction(b)&&(b=b(e.params)):c.isDefined(f=e.templateUrl)&&(c.isFunction(f)&&(f=f(e.params)),c.isDefined(f)&&(e.loadedTemplateUrl=x.valueOf(f),b=p(f)));c.isDefined(b)&&(a.$template=b);return d.all(a)}}).then(function(f){e==s.current&&(e&&(e.locals=f,c.copy(e.params,b)),a.$broadcast("$routeChangeSuccess",e,u))},function(b){e==s.current&&a.$broadcast("$routeChangeError", 12 | e,u,b)})}function k(){var a,b;c.forEach(g,function(d,g){var q;if(q=!b){var h=f.path();q=d.keys;var l={};if(d.regexp)if(h=d.regexp.exec(h)){for(var k=1,m=h.length;kthis.$items.length-1||0>b?void 0:this.sliding?this.$element.one("slid",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},b.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition.end&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},b.prototype.next=function(){return this.sliding?void 0:this.slide("next")},b.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},b.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":"right",h="next"==b?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e=this.$element.find(".item")[h]()}this.sliding=!0,f&&this.pause();var j=a.Event("slide.bs.carousel",{relatedTarget:e[0],direction:g});if(!e.hasClass("active")){if(this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid",function(){var b=a(i.$indicators.children()[i.getActiveIndex()]);b&&b.addClass("active")})),a.support.transition&&this.$element.hasClass("slide")){if(this.$element.trigger(j),j.isDefaultPrevented())return;e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one(a.support.transition.end,function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger("slid")},0)}).emulateTransitionEnd(600)}else{if(this.$element.trigger(j),j.isDefaultPrevented())return;d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger("slid")}return f&&this.cycle(),this}};var c=a.fn.carousel;a.fn.carousel=function(c){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c),g="string"==typeof c?c:f.slide;e||d.data("bs.carousel",e=new b(this,f)),"number"==typeof c?e.to(c):g?e[g]():f.interval&&e.pause().cycle()})},a.fn.carousel.Constructor=b,a.fn.carousel.noConflict=function(){return a.fn.carousel=c,this},a(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(b){var c,d=a(this),e=a(d.attr("data-target")||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"")),f=a.extend({},e.data(),d.data()),g=d.attr("data-slide-to");g&&(f.interval=!1),e.carousel(f),(g=d.attr("data-slide-to"))&&e.data("bs.carousel").to(g),b.preventDefault()}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var b=a(this);b.carousel(b.data())})})}(window.jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.DEFAULTS={toggle:!0},b.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},b.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b=a.Event("show.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.$parent&&this.$parent.find("> .panel > .in");if(c&&c.length){var d=c.data("bs.collapse");if(d&&d.transitioning)return;c.collapse("hide"),d||c.data("bs.collapse",null)}var e=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[e](0),this.transitioning=1;var f=function(){this.$element.removeClass("collapsing").addClass("in")[e]("auto"),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return f.call(this);var g=a.camelCase(["scroll",e].join("-"));this.$element.one(a.support.transition.end,a.proxy(f,this)).emulateTransitionEnd(350)[e](this.$element[0][g])}}},b.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?(this.$element[c](0).one(a.support.transition.end,a.proxy(d,this)).emulateTransitionEnd(350),void 0):d.call(this)}}},b.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var c=a.fn.collapse;a.fn.collapse=function(c){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c);e||d.data("bs.collapse",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.collapse.Constructor=b,a.fn.collapse.noConflict=function(){return a.fn.collapse=c,this},a(document).on("click.bs.collapse.data-api","[data-toggle=collapse]",function(b){var c,d=a(this),e=d.attr("data-target")||b.preventDefault()||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,""),f=a(e),g=f.data("bs.collapse"),h=g?"toggle":d.data(),i=d.attr("data-parent"),j=i&&a(i);g&&g.transitioning||(j&&j.find('[data-toggle=collapse][data-parent="'+i+'"]').not(d).addClass("collapsed"),d[f.hasClass("in")?"addClass":"removeClass"]("collapsed")),f.collapse(h)})}(window.jQuery),+function(a){"use strict";function b(){a(d).remove(),a(e).each(function(b){var d=c(a(this));d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown")),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown"))})}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}var d=".dropdown-backdrop",e="[data-toggle=dropdown]",f=function(b){a(b).on("click.bs.dropdown",this.toggle)};f.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){if("ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(''}),b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),b.prototype.constructor=b,b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content")[this.options.html?"html":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},b.prototype.hasContent=function(){return this.getTitle()||this.getContent()},b.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},b.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},b.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var c=a.fn.popover;a.fn.popover=function(c){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof c&&c;e||d.data("bs.popover",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.popover.Constructor=b,a.fn.popover.noConflict=function(){return a.fn.popover=c,this}}(window.jQuery),+function(a){"use strict";function b(c,d){var e,f=a.proxy(this.process,this);this.$element=a(c).is("body")?a(window):a(c),this.$body=a("body"),this.$scrollElement=this.$element.on("scroll.bs.scroll-spy.data-api",f),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||(e=a(c).attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.offsets=a([]),this.targets=a([]),this.activeTarget=null,this.refresh(),this.process()}b.DEFAULTS={offset:10},b.prototype.refresh=function(){var b=this.$element[0]==window?"offset":"position";this.offsets=a([]),this.targets=a([]);var c=this;this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#\w/.test(e)&&a(e);return f&&f.length&&[[f[b]().top+(!a.isWindow(c.$scrollElement.get(0))&&c.$scrollElement.scrollTop()),e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){c.offsets.push(this[0]),c.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,d=c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(b>=d)return g!=(a=f.last()[0])&&this.activate(a);for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(!e[a+1]||b<=e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,a(this.selector).parents(".active").removeClass("active");var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate")};var c=a.fn.scrollspy;a.fn.scrollspy=function(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=c,this},a(window).on("load",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);b.scrollspy(b.data())})})}(window.jQuery),+function(a){"use strict";var b=function(b){this.element=a(b)};b.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.attr("data-target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a")[0],f=a.Event("show.bs.tab",{relatedTarget:e});if(b.trigger(f),!f.isDefaultPrevented()){var g=a(d);this.activate(b.parent("li"),c),this.activate(g,g.parent(),function(){b.trigger({type:"shown.bs.tab",relatedTarget:e})})}}},b.prototype.activate=function(b,c,d){function e(){f.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),g?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var f=c.find("> .active"),g=d&&a.support.transition&&f.hasClass("fade");g?f.one(a.support.transition.end,e).emulateTransitionEnd(150):e(),f.removeClass("in")};var c=a.fn.tab;a.fn.tab=function(c){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new b(this)),"string"==typeof c&&e[c]()})},a.fn.tab.Constructor=b,a.fn.tab.noConflict=function(){return a.fn.tab=c,this},a(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(b){b.preventDefault(),a(this).tab("show")})}(window.jQuery),+function(a){"use strict";var b=function(c,d){this.options=a.extend({},b.DEFAULTS,d),this.$window=a(window).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(c),this.affixed=this.unpin=null,this.checkPosition()};b.RESET="affix affix-top affix-bottom",b.DEFAULTS={offset:0},b.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},b.prototype.checkPosition=function(){if(this.$element.is(":visible")){var c=a(document).height(),d=this.$window.scrollTop(),e=this.$element.offset(),f=this.options.offset,g=f.top,h=f.bottom;"object"!=typeof f&&(h=g=f),"function"==typeof g&&(g=f.top()),"function"==typeof h&&(h=f.bottom());var i=null!=this.unpin&&d+this.unpin<=e.top?!1:null!=h&&e.top+this.$element.height()>=c-h?"bottom":null!=g&&g>=d?"top":!1;this.affixed!==i&&(this.unpin&&this.$element.css("top",""),this.affixed=i,this.unpin="bottom"==i?e.top-d:null,this.$element.removeClass(b.RESET).addClass("affix"+(i?"-"+i:"")),"bottom"==i&&this.$element.offset({top:document.body.offsetHeight-h-this.$element.height()}))}};var c=a.fn.affix;a.fn.affix=function(c){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof c&&c;e||d.data("bs.affix",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.affix.Constructor=b,a.fn.affix.noConflict=function(){return a.fn.affix=c,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var b=a(this),c=b.data();c.offset=c.offset||{},c.offsetBottom&&(c.offset.bottom=c.offsetBottom),c.offsetTop&&(c.offset.top=c.offsetTop),b.affix(c)})})}(window.jQuery); -------------------------------------------------------------------------------- /AngularJSCRUD/ScriptsNg/CustomerController.js: -------------------------------------------------------------------------------- 1 | angular.module('myFormApp', []) 2 | .controller('CustomerController', function ($scope, $http, $location, $window) { 3 | $scope.custModel = {}; 4 | $scope.message = ''; 5 | $scope.result = "color-default"; 6 | $scope.isViewLoading = false; 7 | $scope.ListCustomer = null; 8 | getallData(); 9 | 10 | //******=========Get All Customer=========****** 11 | function getallData() { 12 | //debugger; 13 | $http.get('/Home/GetAllData') 14 | .success(function (data, status, headers, config) { 15 | $scope.ListCustomer = data; 16 | }) 17 | .error(function (data, status, headers, config) { 18 | $scope.message = 'Unexpected Error while loading data!!'; 19 | $scope.result = "color-red"; 20 | console.log($scope.message); 21 | }); 22 | }; 23 | 24 | //******=========Get Single Customer=========****** 25 | $scope.getCustomer = function (custModel) { 26 | $http.get('/Home/GetbyID/' + custModel.Id) 27 | .success(function (data, status, headers, config) { 28 | //debugger; 29 | $scope.custModel = data; 30 | getallData(); 31 | console.log(data); 32 | }) 33 | .error(function (data, status, headers, config) { 34 | $scope.message = 'Unexpected Error while loading data!!'; 35 | $scope.result = "color-red"; 36 | console.log($scope.message); 37 | }); 38 | }; 39 | 40 | //******=========Save Customer=========****** 41 | $scope.saveCustomer = function () { 42 | $scope.isViewLoading = true; 43 | 44 | $http({ 45 | method: 'POST', 46 | url: '/Home/Insert', 47 | data: $scope.custModel 48 | }).success(function (data, status, headers, config) { 49 | if (data.success === true) { 50 | $scope.message = 'Form data Saved!'; 51 | $scope.result = "color-green"; 52 | getallData(); 53 | $scope.custModel = {}; 54 | console.log(data); 55 | } 56 | else { 57 | $scope.message = 'Form data not Saved!'; 58 | $scope.result = "color-red"; 59 | } 60 | }).error(function (data, status, headers, config) { 61 | $scope.message = 'Unexpected Error while saving data!!' + data.errors; 62 | $scope.result = "color-red"; 63 | console.log($scope.message); 64 | }); 65 | getallData(); 66 | $scope.isViewLoading = false; 67 | }; 68 | 69 | //******=========Edit Customer=========****** 70 | $scope.updateCustomer = function () { 71 | //debugger; 72 | $scope.isViewLoading = true; 73 | $http({ 74 | method: 'POST', 75 | url: '/Home/Update', 76 | data: $scope.custModel 77 | }).success(function (data, status, headers, config) { 78 | if (data.success === true) { 79 | $scope.custModel = null; 80 | $scope.message = 'Form data Updated!'; 81 | $scope.result = "color-green"; 82 | getallData(); 83 | console.log(data); 84 | } 85 | else { 86 | $scope.message = 'Form data not Updated!'; 87 | $scope.result = "color-red"; 88 | } 89 | }).error(function (data, status, headers, config) { 90 | $scope.message = 'Unexpected Error while updating data!!' + data.errors; 91 | $scope.result = "color-red"; 92 | console.log($scope.message); 93 | }); 94 | $scope.isViewLoading = false; 95 | }; 96 | 97 | //******=========Delete Customer=========****** 98 | $scope.deleteCustomer = function (custModel) { 99 | //debugger; 100 | var IsConf = confirm('You are about to delete ' + custModel.CustName + '. Are you sure?'); 101 | if (IsConf) { 102 | $http.delete('/Home/Delete/' + custModel.Id) 103 | .success(function (data, status, headers, config) { 104 | if (data.success === true) { 105 | $scope.message = custModel.CustName + ' deleted from record!!'; 106 | $scope.result = "color-green"; 107 | getallData(); 108 | console.log(data); 109 | } 110 | else { 111 | $scope.message = 'Error on deleting Record!'; 112 | $scope.result = "color-red"; 113 | } 114 | }) 115 | .error(function (data, status, headers, config) { 116 | $scope.message = 'Unexpected Error while deleting data!!'; 117 | $scope.result = "color-red"; 118 | console.log($scope.message); 119 | }); 120 | } 121 | }; 122 | }) 123 | .config(function ($locationProvider) { 124 | $locationProvider.html5Mode(true); 125 | }); -------------------------------------------------------------------------------- /AngularJSCRUD/Service/CustomerService.cs: -------------------------------------------------------------------------------- 1 | using AngularJSCRUD.Data.Repository.BaseRepository; 2 | using AngularJSCRUD.Models; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Linq; 6 | using System.Web; 7 | 8 | namespace AngularJSCRUD.Service 9 | { 10 | public partial class CustomerService 11 | { 12 | private GenericRepository CustRepository; 13 | 14 | public CustomerService() 15 | { 16 | this.CustRepository = new GenericRepository(new CRUD_SampleEntities()); 17 | } 18 | 19 | public IEnumerable GetAll(object[] parameters) 20 | { 21 | string spQuery = "[Get_Customer] {0}"; 22 | return CustRepository.ExecuteQuery(spQuery, parameters); 23 | } 24 | 25 | public Customer GetbyID(object[] parameters) 26 | { 27 | string spQuery = "[Get_CustomerbyID] {0}"; 28 | return CustRepository.ExecuteQuerySingle(spQuery, parameters); 29 | } 30 | 31 | public int Insert(object[] parameters) 32 | { 33 | string spQuery = "[Set_Customer] {0}, {1}"; 34 | return CustRepository.ExecuteCommand(spQuery, parameters); 35 | } 36 | 37 | public int Update(object[] parameters) 38 | { 39 | string spQuery = "[Update_Customer] {0}, {1}, {2}"; 40 | return CustRepository.ExecuteCommand(spQuery, parameters); 41 | } 42 | 43 | public int Delete(object[] parameters) 44 | { 45 | string spQuery = "[Delete_Customer] {0}"; 46 | return CustRepository.ExecuteCommand(spQuery, parameters); 47 | } 48 | } 49 | } -------------------------------------------------------------------------------- /AngularJSCRUD/Views/Home/Index.cshtml: -------------------------------------------------------------------------------- 1 |  2 | @{ 3 | ViewBag.Title = "Index"; 4 | } 5 | 6 |

Create Customer

7 | 8 |
9 | 10 | loading... 11 | 12 |
{{message}}
13 |
14 |
15 |
16 | 17 |
18 |
19 | 20 | 21 | Customer name is Required 22 | Minimum length required is 5 23 | Minimum length required is 15 24 |
25 |
26 | 27 | 28 | EmailId is Required! 29 | Invalid EmailId! 30 |
31 |
32 | 33 | 34 |
35 |
36 |
37 | 38 |

All Customers

39 | 40 | 41 | 42 | 43 | 44 | 51 | 52 |
{{custModel.Id}}{{custModel.CustName}}{{custModel.CustEmail}} 45 | 46 | 47 | 48 | 49 | 50 |
53 |
54 | 55 | @section JavaScript{ 56 | 57 | 58 | } 59 | -------------------------------------------------------------------------------- /AngularJSCRUD/Views/Shared/_Layout.cshtml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | @ViewBag.Title - My ASP.NET Application 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 29 | 30 |
31 | @RenderBody() 32 |
33 |
34 |

© @DateTime.Now.Year - My ASP.NET Application

35 |
36 |
37 | 38 | 39 | 40 | @RenderSection("JavaScript", false) 41 | 42 | -------------------------------------------------------------------------------- /AngularJSCRUD/Views/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "~/Views/Shared/_Layout.cshtml"; 3 | } -------------------------------------------------------------------------------- /AngularJSCRUD/Views/web.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 |
7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /AngularJSCRUD/Web.Debug.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 17 | 18 | 29 | 30 | -------------------------------------------------------------------------------- /AngularJSCRUD/Web.Release.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 17 | 18 | 19 | 30 | 31 | -------------------------------------------------------------------------------- /AngularJSCRUD/Web.config: -------------------------------------------------------------------------------- 1 |  2 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | -------------------------------------------------------------------------------- /AngularJSCRUD/bin/AngularJSCRUD.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShashangkaShekhar/ASP.NET-MVC5-CRUD-AngularJS/e41070153d0014e58a5e981b53fefaa31315c2ec/AngularJSCRUD/bin/AngularJSCRUD.dll -------------------------------------------------------------------------------- /AngularJSCRUD/bin/AngularJSCRUD.dll.config: -------------------------------------------------------------------------------- 1 |  2 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | -------------------------------------------------------------------------------- /AngularJSCRUD/bin/AngularJSCRUD.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShashangkaShekhar/ASP.NET-MVC5-CRUD-AngularJS/e41070153d0014e58a5e981b53fefaa31315c2ec/AngularJSCRUD/bin/AngularJSCRUD.pdb -------------------------------------------------------------------------------- /AngularJSCRUD/bin/EntityFramework.SqlServer.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShashangkaShekhar/ASP.NET-MVC5-CRUD-AngularJS/e41070153d0014e58a5e981b53fefaa31315c2ec/AngularJSCRUD/bin/EntityFramework.SqlServer.dll -------------------------------------------------------------------------------- /AngularJSCRUD/bin/EntityFramework.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShashangkaShekhar/ASP.NET-MVC5-CRUD-AngularJS/e41070153d0014e58a5e981b53fefaa31315c2ec/AngularJSCRUD/bin/EntityFramework.dll -------------------------------------------------------------------------------- /AngularJSCRUD/bin/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShashangkaShekhar/ASP.NET-MVC5-CRUD-AngularJS/e41070153d0014e58a5e981b53fefaa31315c2ec/AngularJSCRUD/bin/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll -------------------------------------------------------------------------------- /AngularJSCRUD/bin/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.CodeDom.Providers.DotNetCompilerPlatform 5 | 6 | 7 | 8 | 9 | Provides access to instances of the .NET Compiler Platform C# code generator and code compiler. 10 | 11 | 12 | 13 | 14 | Default Constructor 15 | 16 | 17 | 18 | 19 | Gets an instance of the .NET Compiler Platform C# code compiler. 20 | 21 | An instance of the .NET Compiler Platform C# code compiler 22 | 23 | 24 | 25 | Provides access to instances of the .NET Compiler Platform VB code generator and code compiler. 26 | 27 | 28 | 29 | 30 | Default Constructor 31 | 32 | 33 | 34 | 35 | Gets an instance of the .NET Compiler Platform VB code compiler. 36 | 37 | An instance of the .NET Compiler Platform VB code compiler 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /AngularJSCRUD/bin/Microsoft.Web.Infrastructure.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShashangkaShekhar/ASP.NET-MVC5-CRUD-AngularJS/e41070153d0014e58a5e981b53fefaa31315c2ec/AngularJSCRUD/bin/Microsoft.Web.Infrastructure.dll -------------------------------------------------------------------------------- /AngularJSCRUD/bin/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShashangkaShekhar/ASP.NET-MVC5-CRUD-AngularJS/e41070153d0014e58a5e981b53fefaa31315c2ec/AngularJSCRUD/bin/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /AngularJSCRUD/bin/System.Net.Http.Formatting.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShashangkaShekhar/ASP.NET-MVC5-CRUD-AngularJS/e41070153d0014e58a5e981b53fefaa31315c2ec/AngularJSCRUD/bin/System.Net.Http.Formatting.dll -------------------------------------------------------------------------------- /AngularJSCRUD/bin/System.Web.Helpers.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShashangkaShekhar/ASP.NET-MVC5-CRUD-AngularJS/e41070153d0014e58a5e981b53fefaa31315c2ec/AngularJSCRUD/bin/System.Web.Helpers.dll -------------------------------------------------------------------------------- /AngularJSCRUD/bin/System.Web.Http.WebHost.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShashangkaShekhar/ASP.NET-MVC5-CRUD-AngularJS/e41070153d0014e58a5e981b53fefaa31315c2ec/AngularJSCRUD/bin/System.Web.Http.WebHost.dll -------------------------------------------------------------------------------- /AngularJSCRUD/bin/System.Web.Http.WebHost.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | System.Web.Http.WebHost 5 | 6 | 7 | 8 | Provides a global for ASP.NET applications. 9 | 10 | 11 | 12 | 13 | 14 | Gets the global . 15 | 16 | 17 | Extension methods for 18 | 19 | 20 | Maps the specified route template. 21 | A reference to the mapped route. 22 | A collection of routes for the application. 23 | The name of the route to map. 24 | The route template for the route. 25 | 26 | 27 | Maps the specified route template and sets default route. 28 | A reference to the mapped route. 29 | A collection of routes for the application. 30 | The name of the route to map. 31 | The route template for the route. 32 | An object that contains default route values. 33 | 34 | 35 | Maps the specified route template and sets default route values and constraints. 36 | A reference to the mapped route. 37 | A collection of routes for the application. 38 | The name of the route to map. 39 | The route template for the route. 40 | An object that contains default route values. 41 | A set of expressions that specify values for routeTemplate. 42 | 43 | 44 | Maps the specified route template and sets default route values, constraints, and end-point message handler. 45 | A reference to the mapped route. 46 | A collection of routes for the application. 47 | The name of the route to map. 48 | The route template for the route. 49 | An object that contains default route values. 50 | A set of expressions that specify values for routeTemplate. 51 | The handler to which the request will be dispatched. 52 | 53 | 54 | A that passes ASP.NET requests into the pipeline and write the result back. 55 | 56 | 57 | Initializes a new instance of the class. 58 | The route data. 59 | 60 | 61 | Initializes a new instance of the class. 62 | The route data. 63 | The message handler to dispatch requests to. 64 | 65 | 66 | Provides code that handles an asynchronous task 67 | The asynchronous task. 68 | The HTTP context. 69 | 70 | 71 | A that returns instances of that can pass requests to a given instance. 72 | 73 | 74 | Initializes a new instance of the class. 75 | 76 | 77 | Provides the object that processes the request. 78 | An object that processes the request. 79 | An object that encapsulates information about the request. 80 | 81 | 82 | Gets the singleton instance. 83 | 84 | 85 | Provides the object that processes the request. 86 | An object that processes the request. 87 | An object that encapsulates information about the request. 88 | 89 | 90 | Provides a registration point for the simple membership pre-application start code. 91 | 92 | 93 | Registers the simple membership pre-application start code. 94 | 95 | 96 | Represents the web host buffer policy selector. 97 | 98 | 99 | Initializes a new instance of the class. 100 | 101 | 102 | Gets a value that indicates whether the host should buffer the entity body of the HTTP request. 103 | true if buffering should be used; otherwise a streamed request should be used. 104 | The host context. 105 | 106 | 107 | Uses a buffered output stream for the web host. 108 | A buffered output stream. 109 | The response. 110 | 111 | 112 | Provides the catch blocks used within this assembly. 113 | 114 | 115 | Gets the label for the catch block in System.Web.Http.WebHost.HttpControllerHandler.WriteBufferedResponseContentAsync. 116 | The label for the catch block in System.Web.Http.WebHost.HttpControllerHandler.WriteBufferedResponseContentAsync. 117 | 118 | 119 | Gets the label for the catch block in System.Web.Http.WebHost.HttpControllerHandler.WriteErrorResponseContentAsync. 120 | The label for the catch block in System.Web.Http.WebHost.HttpControllerHandler.WriteErrorResponseContentAsync. 121 | 122 | 123 | Gets the label for the catch block in System.Web.Http.WebHost.HttpControllerHandler.ComputeContentLength. 124 | The label for the catch block in System.Web.Http.WebHost.HttpControllerHandler.ComputeContentLength. 125 | 126 | 127 | Gets the label for the catch block in System.Web.Http.WebHost.HttpControllerHandler.WriteStreamedResponseContentAsync. 128 | The label for the catch block in System.Web.Http.WebHost.HttpControllerHandler.WriteStreamedResponseContentAsync. 129 | 130 | 131 | Gets the label for the catch block in System.Web.Http.WebHost.WebHostExceptionCatchBlocks.HttpWebRoute.GetRouteData. 132 | The catch block in System.Web.Http.WebHost.WebHostExceptionCatchBlocks.HttpWebRoute.GetRouteData. 133 | 134 | 135 | -------------------------------------------------------------------------------- /AngularJSCRUD/bin/System.Web.Http.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShashangkaShekhar/ASP.NET-MVC5-CRUD-AngularJS/e41070153d0014e58a5e981b53fefaa31315c2ec/AngularJSCRUD/bin/System.Web.Http.dll -------------------------------------------------------------------------------- /AngularJSCRUD/bin/System.Web.Mvc.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShashangkaShekhar/ASP.NET-MVC5-CRUD-AngularJS/e41070153d0014e58a5e981b53fefaa31315c2ec/AngularJSCRUD/bin/System.Web.Mvc.dll -------------------------------------------------------------------------------- /AngularJSCRUD/bin/System.Web.Razor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShashangkaShekhar/ASP.NET-MVC5-CRUD-AngularJS/e41070153d0014e58a5e981b53fefaa31315c2ec/AngularJSCRUD/bin/System.Web.Razor.dll -------------------------------------------------------------------------------- /AngularJSCRUD/bin/System.Web.Webpages.Deployment.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShashangkaShekhar/ASP.NET-MVC5-CRUD-AngularJS/e41070153d0014e58a5e981b53fefaa31315c2ec/AngularJSCRUD/bin/System.Web.Webpages.Deployment.dll -------------------------------------------------------------------------------- /AngularJSCRUD/bin/System.Web.Webpages.Deployment.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | System.Web.WebPages.Deployment 5 | 6 | 7 | 8 | Provides a registration point for pre-application start code for Web Pages deployment. 9 | 10 | 11 | Registers pre-application start code for Web Pages deployment. 12 | 13 | 14 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Provides methods that are used to get deployment information about the Web application. 15 | 16 | 17 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the assembly path for the Web Pages deployment. 18 | The assembly path for the Web Pages deployment. 19 | The Web Pages version. 20 | 21 | 22 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the Web Pages version from the given binary path. 23 | The Web Pages version. 24 | The binary path for the Web Pages. 25 | 26 | 27 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the assembly references from the given path regardless of the Web Pages version. 28 | The dictionary containing the assembly references of the Web Pages and its version. 29 | The path to the Web Pages application. 30 | 31 | 32 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the maximum version of the Web Pages loaded assemblies. 33 | The maximum version of the Web Pages loaded assemblies. 34 | 35 | 36 | Gets the Web Pages version from the given path. 37 | The Web Pages version. 38 | The path of the root directory for the application. 39 | 40 | 41 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the Web Pages version using the configuration settings with the specified path. 42 | The Web Pages version. 43 | The path to the application settings. 44 | 45 | 46 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the assemblies for this Web Pages deployment. 47 | A list containing the assemblies for this Web Pages deployment. 48 | 49 | 50 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates whether the Web Pages deployment is enabled. 51 | true if the Web Pages deployment is enabled; otherwise, false. 52 | The path to the Web Pages deployment. 53 | 54 | 55 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates whether the Web Pages deployment is explicitly disabled. 56 | true if the Web Pages deployment is explicitly disabled; otherwise, false. 57 | The path to the Web Pages deployment. 58 | 59 | 60 | -------------------------------------------------------------------------------- /AngularJSCRUD/bin/System.Web.Webpages.Razor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShashangkaShekhar/ASP.NET-MVC5-CRUD-AngularJS/e41070153d0014e58a5e981b53fefaa31315c2ec/AngularJSCRUD/bin/System.Web.Webpages.Razor.dll -------------------------------------------------------------------------------- /AngularJSCRUD/bin/System.Web.Webpages.Razor.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | System.Web.WebPages.Razor 5 | 6 | 7 | 8 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the base class for the compiling path that contains event data. 9 | 10 | 11 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class. 12 | The string of virtual path. 13 | The host for the webpage razor. 14 | 15 | 16 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the host for the webpage razor. 17 | The host for the webpage razor. 18 | 19 | 20 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the virtual path for the webpage. 21 | The virtual path for the webpage. 22 | 23 | 24 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. 25 | 26 | 27 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. 28 | 29 | 30 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a build provider for Razor. 31 | 32 | 33 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class. 34 | 35 | 36 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Adds a virtual path dependency to the collection. 37 | A virtual path dependency to add. 38 | 39 | 40 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the assembly builder for Razor environment. 41 | The assembly builder. 42 | 43 | 44 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the compiler settings for Razor environment. 45 | 46 | 47 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Occurs when code generation is completed. 48 | 49 | 50 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Occurs when code generation is started. 51 | 52 | 53 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Occurs when compiling with a new virtual path. 54 | 55 | 56 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a Razor engine host instance base on web configuration. 57 | A Razor engine host instance. 58 | 59 | 60 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates the code using the provided assembly builder. 61 | The assembly builder. 62 | 63 | 64 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the type of the generated code. 65 | The type of the generated code. 66 | The results of the code compilation. 67 | 68 | 69 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates the Razor engine host instance based on the web configuration. 70 | The Razor engine host instance. 71 | 72 | 73 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Opens an internal text reader. 74 | An internal text reader. 75 | 76 | 77 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Raises the CompilingPath event. 78 | The data provided for the CompilingPath event. 79 | 80 | 81 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the virtual path of the source code. 82 | The virtual path of the source code. 83 | 84 | 85 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the collection of virtual path for the dependencies. 86 | The collection of virtual path for the dependencies. 87 | 88 | 89 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a web code razor host for the web pages. 90 | 91 | 92 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class. 93 | The virtual path. 94 | 95 | 96 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class. 97 | The virtual path. 98 | The physical path. 99 | 100 | 101 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the class name of this instance. 102 | The class name of this instance. 103 | The virtual path. 104 | 105 | 106 | Generates a post process code for the web code razor host. 107 | The generator code context. 108 | 109 | 110 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the razor hosts in a webpage. 111 | 112 | 113 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class with the specified virtual file path. 114 | The virtual file path. 115 | 116 | 117 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class with the specified virtual and physical file path. 118 | The virtual file path. 119 | The physical file path. 120 | 121 | 122 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Adds a global import on the webpage. 123 | The notification service name. 124 | 125 | 126 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the . 127 | The . 128 | 129 | 130 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a markup parser. 131 | A markup parser. 132 | 133 | 134 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets a value for the DefaultBaseClass. 135 | A value for the DefaultBaseClass. 136 | 137 | 138 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the name of the default class. 139 | The name of the default class. 140 | 141 | 142 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets a value that indicates whether the debug compilation is set to default. 143 | true if the debug compilation is set to default; otherwise, false. 144 | 145 | 146 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the base class of the default page. 147 | The base class of the default page. 148 | 149 | 150 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Retrieves the name of the class to which the specified webpage belongs. 151 | The name of the class to which the specified webpage belongs. 152 | The virtual file path. 153 | 154 | 155 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the code language specified in the webpage. 156 | The code language specified in the webpage. 157 | 158 | 159 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the global imports for the webpage. 160 | The global imports for the webpage. 161 | 162 | 163 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the file path of the instrumental source. 164 | The file path of the instrumental source. 165 | 166 | 167 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a value that indicates whether the webpage is a special page. 168 | true if the webpage is a special page; otherwise, false. 169 | 170 | 171 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the physical file system path of the razor host. 172 | They physical file system path of the razor host. 173 | 174 | 175 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the generated code after the process. 176 | The . 177 | 178 | 179 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Registers the special file with the specified file name and base type name. 180 | The file name. 181 | The base type name. 182 | 183 | 184 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Registers the special file with the specified file name and base type. 185 | The file name. 186 | The type of base file. 187 | 188 | 189 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the virtual file path. 190 | The virtual file path. 191 | 192 | 193 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates instances of the host files. 194 | 195 | 196 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class. 197 | 198 | 199 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Loads the service description information from the configuration file and applies it to the host. 200 | The configuration. 201 | The webpage razor host. 202 | 203 | 204 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a default host with the specified virtual path. 205 | A default host. 206 | The virtual path of the file. 207 | 208 | 209 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a default host with the specified virtual and physical path. 210 | A default host. 211 | The virtual path of the file. 212 | The physical file system path. 213 | 214 | 215 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a Razor host. 216 | A razor host. 217 | The virtual path to the target file. 218 | The physical path to the target file. 219 | 220 | 221 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a host from the configuration. 222 | A host from the configuration. 223 | The virtual path to the target file. 224 | 225 | 226 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a host from the configuration. 227 | A host from the configuration. 228 | The virtual path of the file. 229 | The physical file system path. 230 | 231 | 232 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a host from the configuration. 233 | A host from the configuration. 234 | The configuration. 235 | The virtual path of the file. 236 | 237 | 238 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a host from the configuration. 239 | A host from the configuration. 240 | The configuration. 241 | The virtual path of the file. 242 | The physical file system path. 243 | 244 | 245 | Provides configuration system support for the host configuration section. 246 | 247 | 248 | Initializes a new instance of the class. 249 | 250 | 251 | Gets or sets the host factory. 252 | The host factory. 253 | 254 | 255 | Represents the name of the configuration section for a Razor host environment. 256 | 257 | 258 | Provides configuration system support for the pages configuration section. 259 | 260 | 261 | Initializes a new instance of the class. 262 | 263 | 264 | Gets or sets the collection of namespaces to add to Web Pages pages in the current application. 265 | The collection of namespaces. 266 | 267 | 268 | Gets or sets the name of the page base type class. 269 | The name of the page base type class. 270 | 271 | 272 | Represents the name of the configuration section for Razor pages. 273 | 274 | 275 | Provides configuration system support for the system.web.webPages.razor configuration section. 276 | 277 | 278 | Initializes a new instance of the class. 279 | 280 | 281 | Represents the name of the configuration section for Razor Web section. Contains the static, read-only string "system.web.webPages.razor". 282 | 283 | 284 | Gets or sets the host value for system.web.webPages.razor section group. 285 | The host value. 286 | 287 | 288 | Gets or sets the value of the pages element for the system.web.webPages.razor section. 289 | The pages element value. 290 | 291 | 292 | -------------------------------------------------------------------------------- /AngularJSCRUD/bin/System.Web.Webpages.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShashangkaShekhar/ASP.NET-MVC5-CRUD-AngularJS/e41070153d0014e58a5e981b53fefaa31315c2ec/AngularJSCRUD/bin/System.Web.Webpages.dll -------------------------------------------------------------------------------- /AngularJSCRUD/bin/roslyn/Microsoft.Build.Tasks.CodeAnalysis.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShashangkaShekhar/ASP.NET-MVC5-CRUD-AngularJS/e41070153d0014e58a5e981b53fefaa31315c2ec/AngularJSCRUD/bin/roslyn/Microsoft.Build.Tasks.CodeAnalysis.dll -------------------------------------------------------------------------------- /AngularJSCRUD/bin/roslyn/Microsoft.CSharp.Core.targets: -------------------------------------------------------------------------------- 1 |  2 | 25 | 28 | 29 | $(NoWarn);1701;1702 30 | 31 | 32 | 33 | 34 | $(NoWarn);2008 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 46 | $(AppConfig) 47 | 48 | 49 | $(IntermediateOutputPath)$(TargetName).compile.pdb 50 | 51 | 52 | 53 | 54 | false 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | true 64 | 65 | 66 | 67 | 128 | 129 | 130 | <_CoreCompileResourceInputs Remove="@(_CoreCompileResourceInputs)" /> 131 | 132 | 133 | 134 | 135 | 136 | -------------------------------------------------------------------------------- /AngularJSCRUD/bin/roslyn/Microsoft.CodeAnalysis.CSharp.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShashangkaShekhar/ASP.NET-MVC5-CRUD-AngularJS/e41070153d0014e58a5e981b53fefaa31315c2ec/AngularJSCRUD/bin/roslyn/Microsoft.CodeAnalysis.CSharp.dll -------------------------------------------------------------------------------- /AngularJSCRUD/bin/roslyn/Microsoft.CodeAnalysis.VisualBasic.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShashangkaShekhar/ASP.NET-MVC5-CRUD-AngularJS/e41070153d0014e58a5e981b53fefaa31315c2ec/AngularJSCRUD/bin/roslyn/Microsoft.CodeAnalysis.VisualBasic.dll -------------------------------------------------------------------------------- /AngularJSCRUD/bin/roslyn/Microsoft.CodeAnalysis.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShashangkaShekhar/ASP.NET-MVC5-CRUD-AngularJS/e41070153d0014e58a5e981b53fefaa31315c2ec/AngularJSCRUD/bin/roslyn/Microsoft.CodeAnalysis.dll -------------------------------------------------------------------------------- /AngularJSCRUD/bin/roslyn/Microsoft.VisualBasic.Core.targets: -------------------------------------------------------------------------------- 1 |  2 | 25 | 26 | <_NoWarnings Condition=" '$(WarningLevel)' == '0' ">true 27 | <_NoWarnings Condition=" '$(WarningLevel)' == '1' ">false 28 | 29 | 30 | 31 | 32 | $(IntermediateOutputPath)$(TargetName).compile.pdb 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | false 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | true 53 | 54 | 55 | 56 | 126 | 127 | 128 | <_CoreCompileResourceInputs Remove="@(_CoreCompileResourceInputs)" /> 129 | 130 | 131 | 132 | 133 | 134 | -------------------------------------------------------------------------------- /AngularJSCRUD/bin/roslyn/System.Collections.Immutable.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShashangkaShekhar/ASP.NET-MVC5-CRUD-AngularJS/e41070153d0014e58a5e981b53fefaa31315c2ec/AngularJSCRUD/bin/roslyn/System.Collections.Immutable.dll -------------------------------------------------------------------------------- /AngularJSCRUD/bin/roslyn/System.Reflection.Metadata.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShashangkaShekhar/ASP.NET-MVC5-CRUD-AngularJS/e41070153d0014e58a5e981b53fefaa31315c2ec/AngularJSCRUD/bin/roslyn/System.Reflection.Metadata.dll -------------------------------------------------------------------------------- /AngularJSCRUD/bin/roslyn/VBCSCompiler.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShashangkaShekhar/ASP.NET-MVC5-CRUD-AngularJS/e41070153d0014e58a5e981b53fefaa31315c2ec/AngularJSCRUD/bin/roslyn/VBCSCompiler.exe -------------------------------------------------------------------------------- /AngularJSCRUD/bin/roslyn/VBCSCompiler.exe.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /AngularJSCRUD/bin/roslyn/csc.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShashangkaShekhar/ASP.NET-MVC5-CRUD-AngularJS/e41070153d0014e58a5e981b53fefaa31315c2ec/AngularJSCRUD/bin/roslyn/csc.exe -------------------------------------------------------------------------------- /AngularJSCRUD/bin/roslyn/vbc.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShashangkaShekhar/ASP.NET-MVC5-CRUD-AngularJS/e41070153d0014e58a5e981b53fefaa31315c2ec/AngularJSCRUD/bin/roslyn/vbc.exe -------------------------------------------------------------------------------- /AngularJSCRUD/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShashangkaShekhar/ASP.NET-MVC5-CRUD-AngularJS/e41070153d0014e58a5e981b53fefaa31315c2ec/AngularJSCRUD/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /AngularJSCRUD/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShashangkaShekhar/ASP.NET-MVC5-CRUD-AngularJS/e41070153d0014e58a5e981b53fefaa31315c2ec/AngularJSCRUD/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /AngularJSCRUD/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShashangkaShekhar/ASP.NET-MVC5-CRUD-AngularJS/e41070153d0014e58a5e981b53fefaa31315c2ec/AngularJSCRUD/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /AngularJSCRUD/obj/Debug/AngularJSCRUD.csprojResolveAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShashangkaShekhar/ASP.NET-MVC5-CRUD-AngularJS/e41070153d0014e58a5e981b53fefaa31315c2ec/AngularJSCRUD/obj/Debug/AngularJSCRUD.csprojResolveAssemblyReference.cache -------------------------------------------------------------------------------- /AngularJSCRUD/obj/Debug/AngularJSCRUD.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShashangkaShekhar/ASP.NET-MVC5-CRUD-AngularJS/e41070153d0014e58a5e981b53fefaa31315c2ec/AngularJSCRUD/obj/Debug/AngularJSCRUD.dll -------------------------------------------------------------------------------- /AngularJSCRUD/obj/Debug/AngularJSCRUD.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShashangkaShekhar/ASP.NET-MVC5-CRUD-AngularJS/e41070153d0014e58a5e981b53fefaa31315c2ec/AngularJSCRUD/obj/Debug/AngularJSCRUD.pdb -------------------------------------------------------------------------------- /AngularJSCRUD/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShashangkaShekhar/ASP.NET-MVC5-CRUD-AngularJS/e41070153d0014e58a5e981b53fefaa31315c2ec/AngularJSCRUD/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache -------------------------------------------------------------------------------- /AngularJSCRUD/obj/Debug/TempPE/Models.CRUD_Model.Designer.cs.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShashangkaShekhar/ASP.NET-MVC5-CRUD-AngularJS/e41070153d0014e58a5e981b53fefaa31315c2ec/AngularJSCRUD/obj/Debug/TempPE/Models.CRUD_Model.Designer.cs.dll -------------------------------------------------------------------------------- /AngularJSCRUD/obj/Debug/TempPE/Models.CRUD_Model.cs.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShashangkaShekhar/ASP.NET-MVC5-CRUD-AngularJS/e41070153d0014e58a5e981b53fefaa31315c2ec/AngularJSCRUD/obj/Debug/TempPE/Models.CRUD_Model.cs.dll -------------------------------------------------------------------------------- /AngularJSCRUD/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShashangkaShekhar/ASP.NET-MVC5-CRUD-AngularJS/e41070153d0014e58a5e981b53fefaa31315c2ec/AngularJSCRUD/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs -------------------------------------------------------------------------------- /AngularJSCRUD/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShashangkaShekhar/ASP.NET-MVC5-CRUD-AngularJS/e41070153d0014e58a5e981b53fefaa31315c2ec/AngularJSCRUD/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs -------------------------------------------------------------------------------- /AngularJSCRUD/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShashangkaShekhar/ASP.NET-MVC5-CRUD-AngularJS/e41070153d0014e58a5e981b53fefaa31315c2ec/AngularJSCRUD/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs -------------------------------------------------------------------------------- /AngularJSCRUD/obj/Debug/edmxResourcesToEmbed/Models/CRUD_Model.csdl: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /AngularJSCRUD/obj/Debug/edmxResourcesToEmbed/Models/CRUD_Model.msl: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /AngularJSCRUD/obj/Debug/edmxResourcesToEmbed/Models/CRUD_Model.ssdl: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /AngularJSCRUD/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /CrudDBScript For Part-2.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShashangkaShekhar/ASP.NET-MVC5-CRUD-AngularJS/e41070153d0014e58a5e981b53fefaa31315c2ec/CrudDBScript For Part-2.zip --------------------------------------------------------------------------------