From 38b266df293138cb78543b915cd64fb11965d764 Mon Sep 17 00:00:00 2001 From: taarakdhingra Date: Fri, 1 Feb 2019 15:03:11 +0530 Subject: [PATCH 1/4] js file is incorrect and contains errors --- taarak int008/tictactoe.html | 28 ++++++++++++ taarak int008/tictactoe.js | 84 ++++++++++++++++++++++++++++++++++++ 2 files changed, 112 insertions(+) create mode 100644 taarak int008/tictactoe.html create mode 100644 taarak int008/tictactoe.js diff --git a/taarak int008/tictactoe.html b/taarak int008/tictactoe.html new file mode 100644 index 0000000..f2c60af --- /dev/null +++ b/taarak int008/tictactoe.html @@ -0,0 +1,28 @@ + + + + TIC TAC + <script type="text/javascript" src="tictatoe.js"></script> + + + + +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ + \ No newline at end of file diff --git a/taarak int008/tictactoe.js b/taarak int008/tictactoe.js new file mode 100644 index 0000000..4b9693b --- /dev/null +++ b/taarak int008/tictactoe.js @@ -0,0 +1,84 @@ +// JavaScript Document +$(document).ready(function() { +var x = "x" +var o = "o" +var count = 0; +var o_win = 0; +var x_win = 0; +$('#onclick').click(function(){ + + if ($("#one").hasClass('o') && $("#two").hasClass('o') && $("#three").hasClass('o') || $("#four").hasClass('o') && $("#five").hasClass('o') && $("#six").hasClass('o') || $("#seven").hasClass('o') && $("#eight").hasClass('o') && $("#nine").hasClass('o') || $("#one").hasClass('o') && $("#four").hasClass('o') && $("#seven").hasClass('o') || $("#two").hasClass('o') && $("#five").hasClass('o') && $("#eight").hasClass('o') || $("#three").hasClass('o') && $("#six").hasClass('o') && $("#nine").hasClass('o') || $("#one").hasClass('o') && $("#five").hasClass('o') && $("#nine").hasClass('o') || $("#three").hasClass('o') && $("#five").hasClass('o') && $("#seven").hasClass('o')) + { + alert('O has won the game. Start a new game') + $("#game li").text("+"); + $("#game li").removeClass('disable') + $("#game li").removeClass('o') + $("#game li").removeClass('x') + $("#game li").removeClass('btn-primary') + $("#game li").removeClass('btn-info') + } + else if ($("#one").hasClass('x') && $("#two").hasClass('x') && $("#three").hasClass('x') || $("#four").hasClass('x') && $("#five").hasClass('x') && $("#six").hasClass('x') || $("#seven").hasClass('x') && $("#eight").hasClass('x') && $("#nine").hasClass('x') || $("#one").hasClass('x') && $("#four").hasClass('x') && $("#seven").hasClass('x') || $("#two").hasClass('x') && $("#five").hasClass('x') && $("#eight").hasClass('x') || $("#three").hasClass('x') && $("#six").hasClass('x') && $("#nine").hasClass('x') || $("#one").hasClass('x') && $("#five").hasClass('x') && $("#nine").hasClass('x') || $("#three").hasClass('x') && $("#five").hasClass('x') && $("#seven").hasClass('x')) + { + alert('X wins has won the game. Start a new game') + $("#game li").text("+"); + $("#game li").removeClass('disable') + $("#game li").removeClass('o') + $("#game li").removeClass('x') + $("#game li").removeClass('btn-primary') + $("#game li").removeClass('btn-info') + } + else if (count == 9) + { + alert('Its a tie. It will restart.') + $("#game li").text("+"); + $("#game li").removeClass('disable') + $("#game li").removeClass('o') + $("#game li").removeClass('x') + $("#game li").removeClass('btn-primary') + $("#game li").removeClass('btn-info') + count = 0 + } + else if ($(this).hasClass('disable')) + { + alert('Already selected') + } + else if (count%2 == 0) + { + count++ + $(this).text(o) + $(this).addClass('disable o btn-primary') + if ($("#one").hasClass('o') && $("#two").hasClass('o') && $("#three").hasClass('o') || $("#four").hasClass('o') && $("#five").hasClass('o') && $("#six").hasClass('o') || $("#seven").hasClass('o') && $("#eight").hasClass('o') && $("#nine").hasClass('o') || $("#one").hasClass('o') && $("#four").hasClass('o') && $("#seven").hasClass('o') || $("#two").hasClass('o') && $("#five").hasClass('o') && $("#eight").hasClass('o') || $("#three").hasClass('o') && $("#six").hasClass('o') && $("#nine").hasClass('o') || $("#one").hasClass('o') && $("#five").hasClass('o') && $("#nine").hasClass('o') || $("#three").hasClass('o') && $("#five").hasClass('o') && $("#seven").hasClass('o')) + { + alert('O wins') + count = 0 + o_win++ +$('#o_win').text(o_win) + } + } + else + { + count++ + $(this).text(x) + $(this).addClass('disable x btn-info') + if ($("#one").hasClass('x') && $("#two").hasClass('x') && $("#three").hasClass('x') || $("#four").hasClass('x') && $("#five").hasClass('x') && $("#six").hasClass('x') || $("#seven").hasClass('x') && $("#eight").hasClass('x') && $("#nine").hasClass('x') || $("#one").hasClass('x') && $("#four").hasClass('x') && $("#seven").hasClass('x') || $("#two").hasClass('x') && $("#five").hasClass('x') && $("#eight").hasClass('x') || $("#three").hasClass('x') && $("#six").hasClass('x') && $("#nine").hasClass('x') || $("#one").hasClass('x') && $("#five").hasClass('x') && $("#nine").hasClass('x') || $("#three").hasClass('x') && $("#five").hasClass('x') && $("#seven").hasClass('x')) + { + alert('X wins') + count = 0 + x_win++ + $('#x_win').text(x_win) + } + } + + }); + $("#reset").click(function () { + $("#game li").text("+"); + $("#game li").removeClass('disable') + $("#game li").removeClass('o') + $("#game li").removeClass('x') + $("#game li").removeClass('btn-primary') + $("#game li").removeClass('btn-info') + count = 0 + + }); +}); + From 4227186d0aa0bc1d5adbf01616a5cfdaa9cda1e1 Mon Sep 17 00:00:00 2001 From: taarakdhingra Date: Thu, 7 Feb 2019 16:02:33 +0530 Subject: [PATCH 2/4] made tic tac game and added sql part,working on backend --- taarak int008/tic.css | 27 ++++++ taarak int008/tictacsql.sql | 6 ++ taarak int008/tictactoe.html | 180 ++++++++++++++++++++++++++++++----- taarak int008/tictactoe.js | 84 ---------------- 4 files changed, 188 insertions(+), 109 deletions(-) create mode 100644 taarak int008/tic.css create mode 100644 taarak int008/tictacsql.sql delete mode 100644 taarak int008/tictactoe.js diff --git a/taarak int008/tic.css b/taarak int008/tic.css new file mode 100644 index 0000000..d394054 --- /dev/null +++ b/taarak int008/tic.css @@ -0,0 +1,27 @@ +.stylingbutton +{ + border-right: 5px; + height: 100px; + width:100px; + font-size: 35px; + +} + +table tr td +{ + border: 3px solid red; + + + +} +body{ + margin-left:35% ; + margin-top: 15%; + background: #000000; +} +table{ + border-collapse: collapse; +} +.stylingbutton:hover{ + background-color: yellow; +} \ No newline at end of file diff --git a/taarak int008/tictacsql.sql b/taarak int008/tictacsql.sql new file mode 100644 index 0000000..ff51d1f --- /dev/null +++ b/taarak int008/tictacsql.sql @@ -0,0 +1,6 @@ + + +create table Users(Name varchar(255) primary key,Password varchar(16), Points int) +insert into Users values('taarak',3434343,50); +insert into Users values('risabh',5353,); +select * from Users; diff --git a/taarak int008/tictactoe.html b/taarak int008/tictactoe.html index f2c60af..16f4cc3 100644 --- a/taarak int008/tictactoe.html +++ b/taarak int008/tictactoe.html @@ -1,28 +1,158 @@ - - TIC TAC - <script type="text/javascript" src="tictatoe.js"></script> + + <title>TIC TAC TOE - - - -
- - - -
- -
- - - -
- -
- - - -
- - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + \ No newline at end of file diff --git a/taarak int008/tictactoe.js b/taarak int008/tictactoe.js deleted file mode 100644 index 4b9693b..0000000 --- a/taarak int008/tictactoe.js +++ /dev/null @@ -1,84 +0,0 @@ -// JavaScript Document -$(document).ready(function() { -var x = "x" -var o = "o" -var count = 0; -var o_win = 0; -var x_win = 0; -$('#onclick').click(function(){ - - if ($("#one").hasClass('o') && $("#two").hasClass('o') && $("#three").hasClass('o') || $("#four").hasClass('o') && $("#five").hasClass('o') && $("#six").hasClass('o') || $("#seven").hasClass('o') && $("#eight").hasClass('o') && $("#nine").hasClass('o') || $("#one").hasClass('o') && $("#four").hasClass('o') && $("#seven").hasClass('o') || $("#two").hasClass('o') && $("#five").hasClass('o') && $("#eight").hasClass('o') || $("#three").hasClass('o') && $("#six").hasClass('o') && $("#nine").hasClass('o') || $("#one").hasClass('o') && $("#five").hasClass('o') && $("#nine").hasClass('o') || $("#three").hasClass('o') && $("#five").hasClass('o') && $("#seven").hasClass('o')) - { - alert('O has won the game. Start a new game') - $("#game li").text("+"); - $("#game li").removeClass('disable') - $("#game li").removeClass('o') - $("#game li").removeClass('x') - $("#game li").removeClass('btn-primary') - $("#game li").removeClass('btn-info') - } - else if ($("#one").hasClass('x') && $("#two").hasClass('x') && $("#three").hasClass('x') || $("#four").hasClass('x') && $("#five").hasClass('x') && $("#six").hasClass('x') || $("#seven").hasClass('x') && $("#eight").hasClass('x') && $("#nine").hasClass('x') || $("#one").hasClass('x') && $("#four").hasClass('x') && $("#seven").hasClass('x') || $("#two").hasClass('x') && $("#five").hasClass('x') && $("#eight").hasClass('x') || $("#three").hasClass('x') && $("#six").hasClass('x') && $("#nine").hasClass('x') || $("#one").hasClass('x') && $("#five").hasClass('x') && $("#nine").hasClass('x') || $("#three").hasClass('x') && $("#five").hasClass('x') && $("#seven").hasClass('x')) - { - alert('X wins has won the game. Start a new game') - $("#game li").text("+"); - $("#game li").removeClass('disable') - $("#game li").removeClass('o') - $("#game li").removeClass('x') - $("#game li").removeClass('btn-primary') - $("#game li").removeClass('btn-info') - } - else if (count == 9) - { - alert('Its a tie. It will restart.') - $("#game li").text("+"); - $("#game li").removeClass('disable') - $("#game li").removeClass('o') - $("#game li").removeClass('x') - $("#game li").removeClass('btn-primary') - $("#game li").removeClass('btn-info') - count = 0 - } - else if ($(this).hasClass('disable')) - { - alert('Already selected') - } - else if (count%2 == 0) - { - count++ - $(this).text(o) - $(this).addClass('disable o btn-primary') - if ($("#one").hasClass('o') && $("#two").hasClass('o') && $("#three").hasClass('o') || $("#four").hasClass('o') && $("#five").hasClass('o') && $("#six").hasClass('o') || $("#seven").hasClass('o') && $("#eight").hasClass('o') && $("#nine").hasClass('o') || $("#one").hasClass('o') && $("#four").hasClass('o') && $("#seven").hasClass('o') || $("#two").hasClass('o') && $("#five").hasClass('o') && $("#eight").hasClass('o') || $("#three").hasClass('o') && $("#six").hasClass('o') && $("#nine").hasClass('o') || $("#one").hasClass('o') && $("#five").hasClass('o') && $("#nine").hasClass('o') || $("#three").hasClass('o') && $("#five").hasClass('o') && $("#seven").hasClass('o')) - { - alert('O wins') - count = 0 - o_win++ -$('#o_win').text(o_win) - } - } - else - { - count++ - $(this).text(x) - $(this).addClass('disable x btn-info') - if ($("#one").hasClass('x') && $("#two").hasClass('x') && $("#three").hasClass('x') || $("#four").hasClass('x') && $("#five").hasClass('x') && $("#six").hasClass('x') || $("#seven").hasClass('x') && $("#eight").hasClass('x') && $("#nine").hasClass('x') || $("#one").hasClass('x') && $("#four").hasClass('x') && $("#seven").hasClass('x') || $("#two").hasClass('x') && $("#five").hasClass('x') && $("#eight").hasClass('x') || $("#three").hasClass('x') && $("#six").hasClass('x') && $("#nine").hasClass('x') || $("#one").hasClass('x') && $("#five").hasClass('x') && $("#nine").hasClass('x') || $("#three").hasClass('x') && $("#five").hasClass('x') && $("#seven").hasClass('x')) - { - alert('X wins') - count = 0 - x_win++ - $('#x_win').text(x_win) - } - } - - }); - $("#reset").click(function () { - $("#game li").text("+"); - $("#game li").removeClass('disable') - $("#game li").removeClass('o') - $("#game li").removeClass('x') - $("#game li").removeClass('btn-primary') - $("#game li").removeClass('btn-info') - count = 0 - - }); -}); - From 030cfcc2e326a7f60502a2358799c66d1bd024b5 Mon Sep 17 00:00:00 2001 From: taarakdhingra Date: Thu, 7 Feb 2019 17:48:33 +0530 Subject: [PATCH 3/4] made API using C#,ignored unncessary files --- taarak int008/.gitignore | 7 + .../WebApplication2/WebApplication2.sln | 22 + .../WebApplication2/App_Start/WebApiConfig.cs | 25 + .../ApplicationInsights.config | 84 ++ .../Controllers/UsersController.cs | 133 ++++ .../WebApplication2/Global.asax | 1 + .../WebApplication2/Global.asax.cs | 17 + .../WebApplication2/Models/Module.Context.cs | 30 + .../WebApplication2/Models/Module.Context.tt | 636 +++++++++++++++ .../WebApplication2/Models/Module.Designer.cs | 10 + .../WebApplication2/Models/Module.cs | 9 + .../WebApplication2/Models/Module.edmx | 73 ++ .../Models/Module.edmx.diagram | 12 + .../WebApplication2/Models/Module.tt | 733 ++++++++++++++++++ .../WebApplication2/Models/User.cs | 21 + .../Properties/AssemblyInfo.cs | 35 + .../WebApplication2/Web.Debug.config | 30 + .../WebApplication2/Web.Release.config | 31 + .../WebApplication2/Web.config | 55 ++ .../WebApplication2/WebApplication2.csproj | 237 ++++++ .../WebApplication2.csproj.user | 38 + ...gnTimeResolveAssemblyReferencesInput.cache | Bin 0 -> 14178 bytes .../TempPE/Models.Module.Designer.cs.dll | Bin 0 -> 2048 bytes .../obj/Debug/TempPE/Models.Module.cs.dll | Bin 0 -> 2048 bytes .../obj/Debug/TempPE/Module.Designer.cs.dll | Bin 0 -> 2048 bytes .../obj/Debug/TempPE/Module.cs.dll | Bin 0 -> 2048 bytes ...le_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs | 0 ...le_5937a670-0e60-4077-877b-f7221da3dda1.cs | 0 ...le_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs | 0 ...ebApplication2.csproj.FileListAbsolute.txt | 48 ++ ...tion2.csprojResolveAssemblyReference.cache | Bin 0 -> 121979 bytes .../obj/Debug/WebApplication2.dll | Bin 0 -> 12800 bytes .../obj/Debug/WebApplication2.pdb | Bin 0 -> 22016 bytes .../edmxResourcesToEmbed/Models/Module.csdl | 14 + .../edmxResourcesToEmbed/Models/Module.msl | 14 + .../edmxResourcesToEmbed/Models/Module.ssdl | 14 + .../WebApplication2/packages.config | 21 + 37 files changed, 2350 insertions(+) create mode 100644 taarak int008/.gitignore create mode 100644 taarak int008/WebApplication2/WebApplication2.sln create mode 100644 taarak int008/WebApplication2/WebApplication2/App_Start/WebApiConfig.cs create mode 100644 taarak int008/WebApplication2/WebApplication2/ApplicationInsights.config create mode 100644 taarak int008/WebApplication2/WebApplication2/Controllers/UsersController.cs create mode 100644 taarak int008/WebApplication2/WebApplication2/Global.asax create mode 100644 taarak int008/WebApplication2/WebApplication2/Global.asax.cs create mode 100644 taarak int008/WebApplication2/WebApplication2/Models/Module.Context.cs create mode 100644 taarak int008/WebApplication2/WebApplication2/Models/Module.Context.tt create mode 100644 taarak int008/WebApplication2/WebApplication2/Models/Module.Designer.cs create mode 100644 taarak int008/WebApplication2/WebApplication2/Models/Module.cs create mode 100644 taarak int008/WebApplication2/WebApplication2/Models/Module.edmx create mode 100644 taarak int008/WebApplication2/WebApplication2/Models/Module.edmx.diagram create mode 100644 taarak int008/WebApplication2/WebApplication2/Models/Module.tt create mode 100644 taarak int008/WebApplication2/WebApplication2/Models/User.cs create mode 100644 taarak int008/WebApplication2/WebApplication2/Properties/AssemblyInfo.cs create mode 100644 taarak int008/WebApplication2/WebApplication2/Web.Debug.config create mode 100644 taarak int008/WebApplication2/WebApplication2/Web.Release.config create mode 100644 taarak int008/WebApplication2/WebApplication2/Web.config create mode 100644 taarak int008/WebApplication2/WebApplication2/WebApplication2.csproj create mode 100644 taarak int008/WebApplication2/WebApplication2/WebApplication2.csproj.user create mode 100644 taarak int008/WebApplication2/WebApplication2/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache create mode 100644 taarak int008/WebApplication2/WebApplication2/obj/Debug/TempPE/Models.Module.Designer.cs.dll create mode 100644 taarak int008/WebApplication2/WebApplication2/obj/Debug/TempPE/Models.Module.cs.dll create mode 100644 taarak int008/WebApplication2/WebApplication2/obj/Debug/TempPE/Module.Designer.cs.dll create mode 100644 taarak int008/WebApplication2/WebApplication2/obj/Debug/TempPE/Module.cs.dll create mode 100644 taarak int008/WebApplication2/WebApplication2/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs create mode 100644 taarak int008/WebApplication2/WebApplication2/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs create mode 100644 taarak int008/WebApplication2/WebApplication2/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs create mode 100644 taarak int008/WebApplication2/WebApplication2/obj/Debug/WebApplication2.csproj.FileListAbsolute.txt create mode 100644 taarak int008/WebApplication2/WebApplication2/obj/Debug/WebApplication2.csprojResolveAssemblyReference.cache create mode 100644 taarak int008/WebApplication2/WebApplication2/obj/Debug/WebApplication2.dll create mode 100644 taarak int008/WebApplication2/WebApplication2/obj/Debug/WebApplication2.pdb create mode 100644 taarak int008/WebApplication2/WebApplication2/obj/Debug/edmxResourcesToEmbed/Models/Module.csdl create mode 100644 taarak int008/WebApplication2/WebApplication2/obj/Debug/edmxResourcesToEmbed/Models/Module.msl create mode 100644 taarak int008/WebApplication2/WebApplication2/obj/Debug/edmxResourcesToEmbed/Models/Module.ssdl create mode 100644 taarak int008/WebApplication2/WebApplication2/packages.config diff --git a/taarak int008/.gitignore b/taarak int008/.gitignore new file mode 100644 index 0000000..ae654d7 --- /dev/null +++ b/taarak int008/.gitignore @@ -0,0 +1,7 @@ +WebApplication2/packages + +WebApplication2/WebApplication2/scripts + +WebApplication2/WebApplication2/bin + +WebApplication2/.vs \ No newline at end of file diff --git a/taarak int008/WebApplication2/WebApplication2.sln b/taarak int008/WebApplication2/WebApplication2.sln new file mode 100644 index 0000000..10ae885 --- /dev/null +++ b/taarak int008/WebApplication2/WebApplication2.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Express 14 for Web +VisualStudioVersion = 14.0.25420.1 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebApplication2", "WebApplication2\WebApplication2.csproj", "{1C64174D-4556-4404-A241-CB3ADDFF9282}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {1C64174D-4556-4404-A241-CB3ADDFF9282}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1C64174D-4556-4404-A241-CB3ADDFF9282}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1C64174D-4556-4404-A241-CB3ADDFF9282}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1C64174D-4556-4404-A241-CB3ADDFF9282}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/taarak int008/WebApplication2/WebApplication2/App_Start/WebApiConfig.cs b/taarak int008/WebApplication2/WebApplication2/App_Start/WebApiConfig.cs new file mode 100644 index 0000000..8543b6e --- /dev/null +++ b/taarak int008/WebApplication2/WebApplication2/App_Start/WebApiConfig.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web.Http; +using System.Web.Http.Cors; + +namespace WebApplication2 +{ + public static class WebApiConfig + { + public static void Register(HttpConfiguration config) + { + var cors = new EnableCorsAttribute("*", "*", "*"); + config.EnableCors(cors); + config.MapHttpAttributeRoutes(); + + + config.Routes.MapHttpRoute( + name: "DefaultApi", + routeTemplate: "api/{controller}/{id}", + defaults: new { id = RouteParameter.Optional } + ); + } + } +} diff --git a/taarak int008/WebApplication2/WebApplication2/ApplicationInsights.config b/taarak int008/WebApplication2/WebApplication2/ApplicationInsights.config new file mode 100644 index 0000000..ee9ea3c --- /dev/null +++ b/taarak int008/WebApplication2/WebApplication2/ApplicationInsights.config @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + System.Web.Handlers.TransferRequestHandler + Microsoft.VisualStudio.Web.PageInspector.Runtime.Tracing.RequestDataHttpHandler + System.Web.StaticFileHandler + System.Web.Handlers.AssemblyResourceLoader + System.Web.Optimization.BundleHandler + System.Web.Script.Services.ScriptHandlerFactory + System.Web.Handlers.TraceHandler + System.Web.Services.Discovery.DiscoveryRequestHandler + System.Web.HttpDebugHandler + + + + + + + + 5 + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/taarak int008/WebApplication2/WebApplication2/Controllers/UsersController.cs b/taarak int008/WebApplication2/WebApplication2/Controllers/UsersController.cs new file mode 100644 index 0000000..f34afcc --- /dev/null +++ b/taarak int008/WebApplication2/WebApplication2/Controllers/UsersController.cs @@ -0,0 +1,133 @@ +using System; +using System.Collections.Generic; +using System.Data; +using System.Data.Entity; +using System.Data.Entity.Infrastructure; +using System.Linq; +using System.Net; +using System.Net.Http; +using System.Web.Http; +using System.Web.Http.Description; +using WebApplication2.Models; + +namespace WebApplication2.Controllers +{ + public class UsersController : ApiController + { + private tictactoeEntities db = new tictactoeEntities(); + + // GET: api/Users + public IQueryable GetUsers() + { + return db.Users; + } + + // GET: api/Users/5 + [ResponseType(typeof(User))] + public IHttpActionResult GetUser(string id) + { + User user = db.Users.Find(id); + if (user == null) + { + return NotFound(); + } + + return Ok(user); + } + + // PUT: api/Users/5 + [ResponseType(typeof(void))] + public IHttpActionResult PutUser(string id, User user) + { + if (!ModelState.IsValid) + { + return BadRequest(ModelState); + } + + if (id != user.Name) + { + return BadRequest(); + } + + db.Entry(user).State = EntityState.Modified; + + try + { + db.SaveChanges(); + } + catch (DbUpdateConcurrencyException) + { + if (!UserExists(id)) + { + return NotFound(); + } + else + { + throw; + } + } + + return StatusCode(HttpStatusCode.NoContent); + } + + // POST: api/Users + [ResponseType(typeof(User))] + public IHttpActionResult PostUser(User user) + { + if (!ModelState.IsValid) + { + return BadRequest(ModelState); + } + + db.Users.Add(user); + + try + { + db.SaveChanges(); + } + catch (DbUpdateException) + { + if (UserExists(user.Name)) + { + return Conflict(); + } + else + { + throw; + } + } + + return CreatedAtRoute("DefaultApi", new { id = user.Name }, user); + } + + // DELETE: api/Users/5 + [ResponseType(typeof(User))] + public IHttpActionResult DeleteUser(string id) + { + User user = db.Users.Find(id); + if (user == null) + { + return NotFound(); + } + + db.Users.Remove(user); + db.SaveChanges(); + + return Ok(user); + } + + protected override void Dispose(bool disposing) + { + if (disposing) + { + db.Dispose(); + } + base.Dispose(disposing); + } + + private bool UserExists(string id) + { + return db.Users.Count(e => e.Name == id) > 0; + } + } +} \ No newline at end of file diff --git a/taarak int008/WebApplication2/WebApplication2/Global.asax b/taarak int008/WebApplication2/WebApplication2/Global.asax new file mode 100644 index 0000000..495d728 --- /dev/null +++ b/taarak int008/WebApplication2/WebApplication2/Global.asax @@ -0,0 +1 @@ +<%@ Application Codebehind="Global.asax.cs" Inherits="WebApplication2.WebApiApplication" Language="C#" %> diff --git a/taarak int008/WebApplication2/WebApplication2/Global.asax.cs b/taarak int008/WebApplication2/WebApplication2/Global.asax.cs new file mode 100644 index 0000000..8e87ccd --- /dev/null +++ b/taarak int008/WebApplication2/WebApplication2/Global.asax.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.Http; +using System.Web.Routing; + +namespace WebApplication2 +{ + public class WebApiApplication : System.Web.HttpApplication + { + protected void Application_Start() + { + GlobalConfiguration.Configure(WebApiConfig.Register); + } + } +} \ No newline at end of file diff --git a/taarak int008/WebApplication2/WebApplication2/Models/Module.Context.cs b/taarak int008/WebApplication2/WebApplication2/Models/Module.Context.cs new file mode 100644 index 0000000..2482fa1 --- /dev/null +++ b/taarak int008/WebApplication2/WebApplication2/Models/Module.Context.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated from a template. +// +// Manual changes to this file may cause unexpected behavior in your application. +// Manual changes to this file will be overwritten if the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace WebApplication2.Models +{ + using System; + using System.Data.Entity; + using System.Data.Entity.Infrastructure; + + public partial class tictactoeEntities : DbContext + { + public tictactoeEntities() + : base("name=tictactoeEntities") + { + } + + protected override void OnModelCreating(DbModelBuilder modelBuilder) + { + throw new UnintentionalCodeFirstException(); + } + + public virtual DbSet Users { get; set; } + } +} diff --git a/taarak int008/WebApplication2/WebApplication2/Models/Module.Context.tt b/taarak int008/WebApplication2/WebApplication2/Models/Module.Context.tt new file mode 100644 index 0000000..83762fa --- /dev/null +++ b/taarak int008/WebApplication2/WebApplication2/Models/Module.Context.tt @@ -0,0 +1,636 @@ +<#@ template language="C#" debug="false" hostspecific="true"#> +<#@ include file="EF6.Utility.CS.ttinclude"#><#@ + output extension=".cs"#><# + +const string inputFile = @"Module.edmx"; +var textTransform = DynamicTextTransformation.Create(this); +var code = new CodeGenerationTools(this); +var ef = new MetadataTools(this); +var typeMapper = new TypeMapper(code, ef, textTransform.Errors); +var loader = new EdmMetadataLoader(textTransform.Host, textTransform.Errors); +var itemCollection = loader.CreateEdmItemCollection(inputFile); +var modelNamespace = loader.GetModelNamespace(inputFile); +var codeStringGenerator = new CodeStringGenerator(code, typeMapper, ef); + +var container = itemCollection.OfType().FirstOrDefault(); +if (container == null) +{ + return string.Empty; +} +#> +//------------------------------------------------------------------------------ +// +// <#=CodeGenerationTools.GetResourceString("Template_GeneratedCodeCommentLine1")#> +// +// <#=CodeGenerationTools.GetResourceString("Template_GeneratedCodeCommentLine2")#> +// <#=CodeGenerationTools.GetResourceString("Template_GeneratedCodeCommentLine3")#> +// +//------------------------------------------------------------------------------ + +<# + +var codeNamespace = code.VsNamespaceSuggestion(); +if (!String.IsNullOrEmpty(codeNamespace)) +{ +#> +namespace <#=code.EscapeNamespace(codeNamespace)#> +{ +<# + PushIndent(" "); +} + +#> +using System; +using System.Data.Entity; +using System.Data.Entity.Infrastructure; +<# +if (container.FunctionImports.Any()) +{ +#> +using System.Data.Entity.Core.Objects; +using System.Linq; +<# +} +#> + +<#=Accessibility.ForType(container)#> partial class <#=code.Escape(container)#> : DbContext +{ + public <#=code.Escape(container)#>() + : base("name=<#=container.Name#>") + { +<# +if (!loader.IsLazyLoadingEnabled(container)) +{ +#> + this.Configuration.LazyLoadingEnabled = false; +<# +} + +foreach (var entitySet in container.BaseEntitySets.OfType()) +{ + // Note: the DbSet members are defined below such that the getter and + // setter always have the same accessibility as the DbSet definition + if (Accessibility.ForReadOnlyProperty(entitySet) != "public") + { +#> + <#=codeStringGenerator.DbSetInitializer(entitySet)#> +<# + } +} +#> + } + + protected override void OnModelCreating(DbModelBuilder modelBuilder) + { + throw new UnintentionalCodeFirstException(); + } + +<# + foreach (var entitySet in container.BaseEntitySets.OfType()) + { +#> + <#=codeStringGenerator.DbSet(entitySet)#> +<# + } + + foreach (var edmFunction in container.FunctionImports) + { + WriteFunctionImport(typeMapper, codeStringGenerator, edmFunction, modelNamespace, includeMergeOption: false); + } +#> +} +<# + +if (!String.IsNullOrEmpty(codeNamespace)) +{ + PopIndent(); +#> +} +<# +} +#> +<#+ + +private void WriteFunctionImport(TypeMapper typeMapper, CodeStringGenerator codeStringGenerator, EdmFunction edmFunction, string modelNamespace, bool includeMergeOption) +{ + if (typeMapper.IsComposable(edmFunction)) + { +#> + + [DbFunction("<#=edmFunction.NamespaceName#>", "<#=edmFunction.Name#>")] + <#=codeStringGenerator.ComposableFunctionMethod(edmFunction, modelNamespace)#> + { +<#+ + codeStringGenerator.WriteFunctionParameters(edmFunction, WriteFunctionParameter); +#> + <#=codeStringGenerator.ComposableCreateQuery(edmFunction, modelNamespace)#> + } +<#+ + } + else + { +#> + + <#=codeStringGenerator.FunctionMethod(edmFunction, modelNamespace, includeMergeOption)#> + { +<#+ + codeStringGenerator.WriteFunctionParameters(edmFunction, WriteFunctionParameter); +#> + <#=codeStringGenerator.ExecuteFunction(edmFunction, modelNamespace, includeMergeOption)#> + } +<#+ + if (typeMapper.GenerateMergeOptionFunction(edmFunction, includeMergeOption)) + { + WriteFunctionImport(typeMapper, codeStringGenerator, edmFunction, modelNamespace, includeMergeOption: true); + } + } +} + +public void WriteFunctionParameter(string name, string isNotNull, string notNullInit, string nullInit) +{ +#> + var <#=name#> = <#=isNotNull#> ? + <#=notNullInit#> : + <#=nullInit#>; + +<#+ +} + +public const string TemplateId = "CSharp_DbContext_Context_EF6"; + +public class CodeStringGenerator +{ + private readonly CodeGenerationTools _code; + private readonly TypeMapper _typeMapper; + private readonly MetadataTools _ef; + + public CodeStringGenerator(CodeGenerationTools code, TypeMapper typeMapper, MetadataTools ef) + { + ArgumentNotNull(code, "code"); + ArgumentNotNull(typeMapper, "typeMapper"); + ArgumentNotNull(ef, "ef"); + + _code = code; + _typeMapper = typeMapper; + _ef = ef; + } + + public string Property(EdmProperty edmProperty) + { + return string.Format( + CultureInfo.InvariantCulture, + "{0} {1} {2} {{ {3}get; {4}set; }}", + Accessibility.ForProperty(edmProperty), + _typeMapper.GetTypeName(edmProperty.TypeUsage), + _code.Escape(edmProperty), + _code.SpaceAfter(Accessibility.ForGetter(edmProperty)), + _code.SpaceAfter(Accessibility.ForSetter(edmProperty))); + } + + public string NavigationProperty(NavigationProperty navProp) + { + var endType = _typeMapper.GetTypeName(navProp.ToEndMember.GetEntityType()); + return string.Format( + CultureInfo.InvariantCulture, + "{0} {1} {2} {{ {3}get; {4}set; }}", + AccessibilityAndVirtual(Accessibility.ForNavigationProperty(navProp)), + navProp.ToEndMember.RelationshipMultiplicity == RelationshipMultiplicity.Many ? ("ICollection<" + endType + ">") : endType, + _code.Escape(navProp), + _code.SpaceAfter(Accessibility.ForGetter(navProp)), + _code.SpaceAfter(Accessibility.ForSetter(navProp))); + } + + public string AccessibilityAndVirtual(string accessibility) + { + return accessibility + (accessibility != "private" ? " virtual" : ""); + } + + public string EntityClassOpening(EntityType entity) + { + return string.Format( + CultureInfo.InvariantCulture, + "{0} {1}partial class {2}{3}", + Accessibility.ForType(entity), + _code.SpaceAfter(_code.AbstractOption(entity)), + _code.Escape(entity), + _code.StringBefore(" : ", _typeMapper.GetTypeName(entity.BaseType))); + } + + public string EnumOpening(SimpleType enumType) + { + return string.Format( + CultureInfo.InvariantCulture, + "{0} enum {1} : {2}", + Accessibility.ForType(enumType), + _code.Escape(enumType), + _code.Escape(_typeMapper.UnderlyingClrType(enumType))); + } + + public void WriteFunctionParameters(EdmFunction edmFunction, Action writeParameter) + { + var parameters = FunctionImportParameter.Create(edmFunction.Parameters, _code, _ef); + foreach (var parameter in parameters.Where(p => p.NeedsLocalVariable)) + { + var isNotNull = parameter.IsNullableOfT ? parameter.FunctionParameterName + ".HasValue" : parameter.FunctionParameterName + " != null"; + var notNullInit = "new ObjectParameter(\"" + parameter.EsqlParameterName + "\", " + parameter.FunctionParameterName + ")"; + var nullInit = "new ObjectParameter(\"" + parameter.EsqlParameterName + "\", typeof(" + TypeMapper.FixNamespaces(parameter.RawClrTypeName) + "))"; + writeParameter(parameter.LocalVariableName, isNotNull, notNullInit, nullInit); + } + } + + public string ComposableFunctionMethod(EdmFunction edmFunction, string modelNamespace) + { + var parameters = _typeMapper.GetParameters(edmFunction); + + return string.Format( + CultureInfo.InvariantCulture, + "{0} IQueryable<{1}> {2}({3})", + AccessibilityAndVirtual(Accessibility.ForMethod(edmFunction)), + _typeMapper.GetTypeName(_typeMapper.GetReturnType(edmFunction), modelNamespace), + _code.Escape(edmFunction), + string.Join(", ", parameters.Select(p => TypeMapper.FixNamespaces(p.FunctionParameterType) + " " + p.FunctionParameterName).ToArray())); + } + + public string ComposableCreateQuery(EdmFunction edmFunction, string modelNamespace) + { + var parameters = _typeMapper.GetParameters(edmFunction); + + return string.Format( + CultureInfo.InvariantCulture, + "return ((IObjectContextAdapter)this).ObjectContext.CreateQuery<{0}>(\"[{1}].[{2}]({3})\"{4});", + _typeMapper.GetTypeName(_typeMapper.GetReturnType(edmFunction), modelNamespace), + edmFunction.NamespaceName, + edmFunction.Name, + string.Join(", ", parameters.Select(p => "@" + p.EsqlParameterName).ToArray()), + _code.StringBefore(", ", string.Join(", ", parameters.Select(p => p.ExecuteParameterName).ToArray()))); + } + + public string FunctionMethod(EdmFunction edmFunction, string modelNamespace, bool includeMergeOption) + { + var parameters = _typeMapper.GetParameters(edmFunction); + var returnType = _typeMapper.GetReturnType(edmFunction); + + var paramList = String.Join(", ", parameters.Select(p => TypeMapper.FixNamespaces(p.FunctionParameterType) + " " + p.FunctionParameterName).ToArray()); + if (includeMergeOption) + { + paramList = _code.StringAfter(paramList, ", ") + "MergeOption mergeOption"; + } + + return string.Format( + CultureInfo.InvariantCulture, + "{0} {1} {2}({3})", + AccessibilityAndVirtual(Accessibility.ForMethod(edmFunction)), + returnType == null ? "int" : "ObjectResult<" + _typeMapper.GetTypeName(returnType, modelNamespace) + ">", + _code.Escape(edmFunction), + paramList); + } + + public string ExecuteFunction(EdmFunction edmFunction, string modelNamespace, bool includeMergeOption) + { + var parameters = _typeMapper.GetParameters(edmFunction); + var returnType = _typeMapper.GetReturnType(edmFunction); + + var callParams = _code.StringBefore(", ", String.Join(", ", parameters.Select(p => p.ExecuteParameterName).ToArray())); + if (includeMergeOption) + { + callParams = ", mergeOption" + callParams; + } + + return string.Format( + CultureInfo.InvariantCulture, + "return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction{0}(\"{1}\"{2});", + returnType == null ? "" : "<" + _typeMapper.GetTypeName(returnType, modelNamespace) + ">", + edmFunction.Name, + callParams); + } + + public string DbSet(EntitySet entitySet) + { + return string.Format( + CultureInfo.InvariantCulture, + "{0} virtual DbSet<{1}> {2} {{ get; set; }}", + Accessibility.ForReadOnlyProperty(entitySet), + _typeMapper.GetTypeName(entitySet.ElementType), + _code.Escape(entitySet)); + } + + public string DbSetInitializer(EntitySet entitySet) + { + return string.Format( + CultureInfo.InvariantCulture, + "{0} = Set<{1}>();", + _code.Escape(entitySet), + _typeMapper.GetTypeName(entitySet.ElementType)); + } + + public string UsingDirectives(bool inHeader, bool includeCollections = true) + { + return inHeader == string.IsNullOrEmpty(_code.VsNamespaceSuggestion()) + ? string.Format( + CultureInfo.InvariantCulture, + "{0}using System;{1}" + + "{2}", + inHeader ? Environment.NewLine : "", + includeCollections ? (Environment.NewLine + "using System.Collections.Generic;") : "", + inHeader ? "" : Environment.NewLine) + : ""; + } +} + +public class TypeMapper +{ + private const string ExternalTypeNameAttributeName = @"http://schemas.microsoft.com/ado/2006/04/codegeneration:ExternalTypeName"; + + private readonly System.Collections.IList _errors; + private readonly CodeGenerationTools _code; + private readonly MetadataTools _ef; + + public static string FixNamespaces(string typeName) + { + return typeName.Replace("System.Data.Spatial.", "System.Data.Entity.Spatial."); + } + + public TypeMapper(CodeGenerationTools code, MetadataTools ef, System.Collections.IList errors) + { + ArgumentNotNull(code, "code"); + ArgumentNotNull(ef, "ef"); + ArgumentNotNull(errors, "errors"); + + _code = code; + _ef = ef; + _errors = errors; + } + + public string GetTypeName(TypeUsage typeUsage) + { + return typeUsage == null ? null : GetTypeName(typeUsage.EdmType, _ef.IsNullable(typeUsage), modelNamespace: null); + } + + public string GetTypeName(EdmType edmType) + { + return GetTypeName(edmType, isNullable: null, modelNamespace: null); + } + + public string GetTypeName(TypeUsage typeUsage, string modelNamespace) + { + return typeUsage == null ? null : GetTypeName(typeUsage.EdmType, _ef.IsNullable(typeUsage), modelNamespace); + } + + public string GetTypeName(EdmType edmType, string modelNamespace) + { + return GetTypeName(edmType, isNullable: null, modelNamespace: modelNamespace); + } + + public string GetTypeName(EdmType edmType, bool? isNullable, string modelNamespace) + { + if (edmType == null) + { + return null; + } + + var collectionType = edmType as CollectionType; + if (collectionType != null) + { + return String.Format(CultureInfo.InvariantCulture, "ICollection<{0}>", GetTypeName(collectionType.TypeUsage, modelNamespace)); + } + + var typeName = _code.Escape(edmType.MetadataProperties + .Where(p => p.Name == ExternalTypeNameAttributeName) + .Select(p => (string)p.Value) + .FirstOrDefault()) + ?? (modelNamespace != null && edmType.NamespaceName != modelNamespace ? + _code.CreateFullName(_code.EscapeNamespace(edmType.NamespaceName), _code.Escape(edmType)) : + _code.Escape(edmType)); + + if (edmType is StructuralType) + { + return typeName; + } + + if (edmType is SimpleType) + { + var clrType = UnderlyingClrType(edmType); + if (!IsEnumType(edmType)) + { + typeName = _code.Escape(clrType); + } + + typeName = FixNamespaces(typeName); + + return clrType.IsValueType && isNullable == true ? + String.Format(CultureInfo.InvariantCulture, "Nullable<{0}>", typeName) : + typeName; + } + + throw new ArgumentException("edmType"); + } + + public Type UnderlyingClrType(EdmType edmType) + { + ArgumentNotNull(edmType, "edmType"); + + var primitiveType = edmType as PrimitiveType; + if (primitiveType != null) + { + return primitiveType.ClrEquivalentType; + } + + if (IsEnumType(edmType)) + { + return GetEnumUnderlyingType(edmType).ClrEquivalentType; + } + + return typeof(object); + } + + public object GetEnumMemberValue(MetadataItem enumMember) + { + ArgumentNotNull(enumMember, "enumMember"); + + var valueProperty = enumMember.GetType().GetProperty("Value"); + return valueProperty == null ? null : valueProperty.GetValue(enumMember, null); + } + + public string GetEnumMemberName(MetadataItem enumMember) + { + ArgumentNotNull(enumMember, "enumMember"); + + var nameProperty = enumMember.GetType().GetProperty("Name"); + return nameProperty == null ? null : (string)nameProperty.GetValue(enumMember, null); + } + + public System.Collections.IEnumerable GetEnumMembers(EdmType enumType) + { + ArgumentNotNull(enumType, "enumType"); + + var membersProperty = enumType.GetType().GetProperty("Members"); + return membersProperty != null + ? (System.Collections.IEnumerable)membersProperty.GetValue(enumType, null) + : Enumerable.Empty(); + } + + public bool EnumIsFlags(EdmType enumType) + { + ArgumentNotNull(enumType, "enumType"); + + var isFlagsProperty = enumType.GetType().GetProperty("IsFlags"); + return isFlagsProperty != null && (bool)isFlagsProperty.GetValue(enumType, null); + } + + public bool IsEnumType(GlobalItem edmType) + { + ArgumentNotNull(edmType, "edmType"); + + return edmType.GetType().Name == "EnumType"; + } + + public PrimitiveType GetEnumUnderlyingType(EdmType enumType) + { + ArgumentNotNull(enumType, "enumType"); + + return (PrimitiveType)enumType.GetType().GetProperty("UnderlyingType").GetValue(enumType, null); + } + + public string CreateLiteral(object value) + { + if (value == null || value.GetType() != typeof(TimeSpan)) + { + return _code.CreateLiteral(value); + } + + return string.Format(CultureInfo.InvariantCulture, "new TimeSpan({0})", ((TimeSpan)value).Ticks); + } + + public bool VerifyCaseInsensitiveTypeUniqueness(IEnumerable types, string sourceFile) + { + ArgumentNotNull(types, "types"); + ArgumentNotNull(sourceFile, "sourceFile"); + + var hash = new HashSet(StringComparer.InvariantCultureIgnoreCase); + if (types.Any(item => !hash.Add(item))) + { + _errors.Add( + new CompilerError(sourceFile, -1, -1, "6023", + String.Format(CultureInfo.CurrentCulture, CodeGenerationTools.GetResourceString("Template_CaseInsensitiveTypeConflict")))); + return false; + } + return true; + } + + public IEnumerable GetEnumItemsToGenerate(IEnumerable itemCollection) + { + return GetItemsToGenerate(itemCollection) + .Where(e => IsEnumType(e)); + } + + public IEnumerable GetItemsToGenerate(IEnumerable itemCollection) where T: EdmType + { + return itemCollection + .OfType() + .Where(i => !i.MetadataProperties.Any(p => p.Name == ExternalTypeNameAttributeName)) + .OrderBy(i => i.Name); + } + + public IEnumerable GetAllGlobalItems(IEnumerable itemCollection) + { + return itemCollection + .Where(i => i is EntityType || i is ComplexType || i is EntityContainer || IsEnumType(i)) + .Select(g => GetGlobalItemName(g)); + } + + public string GetGlobalItemName(GlobalItem item) + { + if (item is EdmType) + { + return ((EdmType)item).Name; + } + else + { + return ((EntityContainer)item).Name; + } + } + + public IEnumerable GetSimpleProperties(EntityType type) + { + return type.Properties.Where(p => p.TypeUsage.EdmType is SimpleType && p.DeclaringType == type); + } + + public IEnumerable GetSimpleProperties(ComplexType type) + { + return type.Properties.Where(p => p.TypeUsage.EdmType is SimpleType && p.DeclaringType == type); + } + + public IEnumerable GetComplexProperties(EntityType type) + { + return type.Properties.Where(p => p.TypeUsage.EdmType is ComplexType && p.DeclaringType == type); + } + + public IEnumerable GetComplexProperties(ComplexType type) + { + return type.Properties.Where(p => p.TypeUsage.EdmType is ComplexType && p.DeclaringType == type); + } + + public IEnumerable GetPropertiesWithDefaultValues(EntityType type) + { + return type.Properties.Where(p => p.TypeUsage.EdmType is SimpleType && p.DeclaringType == type && p.DefaultValue != null); + } + + public IEnumerable GetPropertiesWithDefaultValues(ComplexType type) + { + return type.Properties.Where(p => p.TypeUsage.EdmType is SimpleType && p.DeclaringType == type && p.DefaultValue != null); + } + + public IEnumerable GetNavigationProperties(EntityType type) + { + return type.NavigationProperties.Where(np => np.DeclaringType == type); + } + + public IEnumerable GetCollectionNavigationProperties(EntityType type) + { + return type.NavigationProperties.Where(np => np.DeclaringType == type && np.ToEndMember.RelationshipMultiplicity == RelationshipMultiplicity.Many); + } + + public FunctionParameter GetReturnParameter(EdmFunction edmFunction) + { + ArgumentNotNull(edmFunction, "edmFunction"); + + var returnParamsProperty = edmFunction.GetType().GetProperty("ReturnParameters"); + return returnParamsProperty == null + ? edmFunction.ReturnParameter + : ((IEnumerable)returnParamsProperty.GetValue(edmFunction, null)).FirstOrDefault(); + } + + public bool IsComposable(EdmFunction edmFunction) + { + ArgumentNotNull(edmFunction, "edmFunction"); + + var isComposableProperty = edmFunction.GetType().GetProperty("IsComposableAttribute"); + return isComposableProperty != null && (bool)isComposableProperty.GetValue(edmFunction, null); + } + + public IEnumerable GetParameters(EdmFunction edmFunction) + { + return FunctionImportParameter.Create(edmFunction.Parameters, _code, _ef); + } + + public TypeUsage GetReturnType(EdmFunction edmFunction) + { + var returnParam = GetReturnParameter(edmFunction); + return returnParam == null ? null : _ef.GetElementType(returnParam.TypeUsage); + } + + public bool GenerateMergeOptionFunction(EdmFunction edmFunction, bool includeMergeOption) + { + var returnType = GetReturnType(edmFunction); + return !includeMergeOption && returnType != null && returnType.EdmType.BuiltInTypeKind == BuiltInTypeKind.EntityType; + } +} + +public static void ArgumentNotNull(T arg, string name) where T : class +{ + if (arg == null) + { + throw new ArgumentNullException(name); + } +} +#> \ No newline at end of file diff --git a/taarak int008/WebApplication2/WebApplication2/Models/Module.Designer.cs b/taarak int008/WebApplication2/WebApplication2/Models/Module.Designer.cs new file mode 100644 index 0000000..88be0de --- /dev/null +++ b/taarak int008/WebApplication2/WebApplication2/Models/Module.Designer.cs @@ -0,0 +1,10 @@ +// T4 code generation is enabled for model 'c:\users\taarak.dhingra\documents\visual studio 2015\Projects\WebApplication2\WebApplication2\Models\Module.edmx'. +// To enable legacy code generation, change the value of the 'Code Generation Strategy' designer +// property to 'Legacy ObjectContext'. This property is available in the Properties Window when the model +// is open in the designer. + +// If no context and entity classes have been generated, it may be because you created an empty model but +// have not yet chosen which version of Entity Framework to use. To generate a context class and entity +// classes for your model, open the model in the designer, right-click on the designer surface, and +// select 'Update Model from Database...', 'Generate Database from Model...', or 'Add Code Generation +// Item...'. \ No newline at end of file diff --git a/taarak int008/WebApplication2/WebApplication2/Models/Module.cs b/taarak int008/WebApplication2/WebApplication2/Models/Module.cs new file mode 100644 index 0000000..7cc0662 --- /dev/null +++ b/taarak int008/WebApplication2/WebApplication2/Models/Module.cs @@ -0,0 +1,9 @@ +//------------------------------------------------------------------------------ +// +// This code was generated from a template. +// +// Manual changes to this file may cause unexpected behavior in your application. +// Manual changes to this file will be overwritten if the code is regenerated. +// +//------------------------------------------------------------------------------ + diff --git a/taarak int008/WebApplication2/WebApplication2/Models/Module.edmx b/taarak int008/WebApplication2/WebApplication2/Models/Module.edmx new file mode 100644 index 0000000..386b031 --- /dev/null +++ b/taarak int008/WebApplication2/WebApplication2/Models/Module.edmx @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/taarak int008/WebApplication2/WebApplication2/Models/Module.edmx.diagram b/taarak int008/WebApplication2/WebApplication2/Models/Module.edmx.diagram new file mode 100644 index 0000000..9354c30 --- /dev/null +++ b/taarak int008/WebApplication2/WebApplication2/Models/Module.edmx.diagram @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/taarak int008/WebApplication2/WebApplication2/Models/Module.tt b/taarak int008/WebApplication2/WebApplication2/Models/Module.tt new file mode 100644 index 0000000..037bc67 --- /dev/null +++ b/taarak int008/WebApplication2/WebApplication2/Models/Module.tt @@ -0,0 +1,733 @@ +<#@ template language="C#" debug="false" hostspecific="true"#> +<#@ include file="EF6.Utility.CS.ttinclude"#><#@ + output extension=".cs"#><# + +const string inputFile = @"Module.edmx"; +var textTransform = DynamicTextTransformation.Create(this); +var code = new CodeGenerationTools(this); +var ef = new MetadataTools(this); +var typeMapper = new TypeMapper(code, ef, textTransform.Errors); +var fileManager = EntityFrameworkTemplateFileManager.Create(this); +var itemCollection = new EdmMetadataLoader(textTransform.Host, textTransform.Errors).CreateEdmItemCollection(inputFile); +var codeStringGenerator = new CodeStringGenerator(code, typeMapper, ef); + +if (!typeMapper.VerifyCaseInsensitiveTypeUniqueness(typeMapper.GetAllGlobalItems(itemCollection), inputFile)) +{ + return string.Empty; +} + +WriteHeader(codeStringGenerator, fileManager); + +foreach (var entity in typeMapper.GetItemsToGenerate(itemCollection)) +{ + fileManager.StartNewFile(entity.Name + ".cs"); + BeginNamespace(code); +#> +<#=codeStringGenerator.UsingDirectives(inHeader: false)#> +<#=codeStringGenerator.EntityClassOpening(entity)#> +{ +<# + var propertiesWithDefaultValues = typeMapper.GetPropertiesWithDefaultValues(entity); + var collectionNavigationProperties = typeMapper.GetCollectionNavigationProperties(entity); + var complexProperties = typeMapper.GetComplexProperties(entity); + + if (propertiesWithDefaultValues.Any() || collectionNavigationProperties.Any() || complexProperties.Any()) + { +#> + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")] + public <#=code.Escape(entity)#>() + { +<# + foreach (var edmProperty in propertiesWithDefaultValues) + { +#> + this.<#=code.Escape(edmProperty)#> = <#=typeMapper.CreateLiteral(edmProperty.DefaultValue)#>; +<# + } + + foreach (var navigationProperty in collectionNavigationProperties) + { +#> + this.<#=code.Escape(navigationProperty)#> = new HashSet<<#=typeMapper.GetTypeName(navigationProperty.ToEndMember.GetEntityType())#>>(); +<# + } + + foreach (var complexProperty in complexProperties) + { +#> + this.<#=code.Escape(complexProperty)#> = new <#=typeMapper.GetTypeName(complexProperty.TypeUsage)#>(); +<# + } +#> + } + +<# + } + + var simpleProperties = typeMapper.GetSimpleProperties(entity); + if (simpleProperties.Any()) + { + foreach (var edmProperty in simpleProperties) + { +#> + <#=codeStringGenerator.Property(edmProperty)#> +<# + } + } + + if (complexProperties.Any()) + { +#> + +<# + foreach(var complexProperty in complexProperties) + { +#> + <#=codeStringGenerator.Property(complexProperty)#> +<# + } + } + + var navigationProperties = typeMapper.GetNavigationProperties(entity); + if (navigationProperties.Any()) + { +#> + +<# + foreach (var navigationProperty in navigationProperties) + { + if (navigationProperty.ToEndMember.RelationshipMultiplicity == RelationshipMultiplicity.Many) + { +#> + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] +<# + } +#> + <#=codeStringGenerator.NavigationProperty(navigationProperty)#> +<# + } + } +#> +} +<# + EndNamespace(code); +} + +foreach (var complex in typeMapper.GetItemsToGenerate(itemCollection)) +{ + fileManager.StartNewFile(complex.Name + ".cs"); + BeginNamespace(code); +#> +<#=codeStringGenerator.UsingDirectives(inHeader: false, includeCollections: false)#> +<#=Accessibility.ForType(complex)#> partial class <#=code.Escape(complex)#> +{ +<# + var complexProperties = typeMapper.GetComplexProperties(complex); + var propertiesWithDefaultValues = typeMapper.GetPropertiesWithDefaultValues(complex); + + if (propertiesWithDefaultValues.Any() || complexProperties.Any()) + { +#> + public <#=code.Escape(complex)#>() + { +<# + foreach (var edmProperty in propertiesWithDefaultValues) + { +#> + this.<#=code.Escape(edmProperty)#> = <#=typeMapper.CreateLiteral(edmProperty.DefaultValue)#>; +<# + } + + foreach (var complexProperty in complexProperties) + { +#> + this.<#=code.Escape(complexProperty)#> = new <#=typeMapper.GetTypeName(complexProperty.TypeUsage)#>(); +<# + } +#> + } + +<# + } + + var simpleProperties = typeMapper.GetSimpleProperties(complex); + if (simpleProperties.Any()) + { + foreach(var edmProperty in simpleProperties) + { +#> + <#=codeStringGenerator.Property(edmProperty)#> +<# + } + } + + if (complexProperties.Any()) + { +#> + +<# + foreach(var edmProperty in complexProperties) + { +#> + <#=codeStringGenerator.Property(edmProperty)#> +<# + } + } +#> +} +<# + EndNamespace(code); +} + +foreach (var enumType in typeMapper.GetEnumItemsToGenerate(itemCollection)) +{ + fileManager.StartNewFile(enumType.Name + ".cs"); + BeginNamespace(code); +#> +<#=codeStringGenerator.UsingDirectives(inHeader: false, includeCollections: false)#> +<# + if (typeMapper.EnumIsFlags(enumType)) + { +#> +[Flags] +<# + } +#> +<#=codeStringGenerator.EnumOpening(enumType)#> +{ +<# + var foundOne = false; + + foreach (MetadataItem member in typeMapper.GetEnumMembers(enumType)) + { + foundOne = true; +#> + <#=code.Escape(typeMapper.GetEnumMemberName(member))#> = <#=typeMapper.GetEnumMemberValue(member)#>, +<# + } + + if (foundOne) + { + this.GenerationEnvironment.Remove(this.GenerationEnvironment.Length - 3, 1); + } +#> +} +<# + EndNamespace(code); +} + +fileManager.Process(); + +#> +<#+ + +public void WriteHeader(CodeStringGenerator codeStringGenerator, EntityFrameworkTemplateFileManager fileManager) +{ + fileManager.StartHeader(); +#> +//------------------------------------------------------------------------------ +// +// <#=CodeGenerationTools.GetResourceString("Template_GeneratedCodeCommentLine1")#> +// +// <#=CodeGenerationTools.GetResourceString("Template_GeneratedCodeCommentLine2")#> +// <#=CodeGenerationTools.GetResourceString("Template_GeneratedCodeCommentLine3")#> +// +//------------------------------------------------------------------------------ +<#=codeStringGenerator.UsingDirectives(inHeader: true)#> +<#+ + fileManager.EndBlock(); +} + +public void BeginNamespace(CodeGenerationTools code) +{ + var codeNamespace = code.VsNamespaceSuggestion(); + if (!String.IsNullOrEmpty(codeNamespace)) + { +#> +namespace <#=code.EscapeNamespace(codeNamespace)#> +{ +<#+ + PushIndent(" "); + } +} + +public void EndNamespace(CodeGenerationTools code) +{ + if (!String.IsNullOrEmpty(code.VsNamespaceSuggestion())) + { + PopIndent(); +#> +} +<#+ + } +} + +public const string TemplateId = "CSharp_DbContext_Types_EF6"; + +public class CodeStringGenerator +{ + private readonly CodeGenerationTools _code; + private readonly TypeMapper _typeMapper; + private readonly MetadataTools _ef; + + public CodeStringGenerator(CodeGenerationTools code, TypeMapper typeMapper, MetadataTools ef) + { + ArgumentNotNull(code, "code"); + ArgumentNotNull(typeMapper, "typeMapper"); + ArgumentNotNull(ef, "ef"); + + _code = code; + _typeMapper = typeMapper; + _ef = ef; + } + + public string Property(EdmProperty edmProperty) + { + return string.Format( + CultureInfo.InvariantCulture, + "{0} {1} {2} {{ {3}get; {4}set; }}", + Accessibility.ForProperty(edmProperty), + _typeMapper.GetTypeName(edmProperty.TypeUsage), + _code.Escape(edmProperty), + _code.SpaceAfter(Accessibility.ForGetter(edmProperty)), + _code.SpaceAfter(Accessibility.ForSetter(edmProperty))); + } + + public string NavigationProperty(NavigationProperty navProp) + { + var endType = _typeMapper.GetTypeName(navProp.ToEndMember.GetEntityType()); + return string.Format( + CultureInfo.InvariantCulture, + "{0} {1} {2} {{ {3}get; {4}set; }}", + AccessibilityAndVirtual(Accessibility.ForNavigationProperty(navProp)), + navProp.ToEndMember.RelationshipMultiplicity == RelationshipMultiplicity.Many ? ("ICollection<" + endType + ">") : endType, + _code.Escape(navProp), + _code.SpaceAfter(Accessibility.ForGetter(navProp)), + _code.SpaceAfter(Accessibility.ForSetter(navProp))); + } + + public string AccessibilityAndVirtual(string accessibility) + { + return accessibility + (accessibility != "private" ? " virtual" : ""); + } + + public string EntityClassOpening(EntityType entity) + { + return string.Format( + CultureInfo.InvariantCulture, + "{0} {1}partial class {2}{3}", + Accessibility.ForType(entity), + _code.SpaceAfter(_code.AbstractOption(entity)), + _code.Escape(entity), + _code.StringBefore(" : ", _typeMapper.GetTypeName(entity.BaseType))); + } + + public string EnumOpening(SimpleType enumType) + { + return string.Format( + CultureInfo.InvariantCulture, + "{0} enum {1} : {2}", + Accessibility.ForType(enumType), + _code.Escape(enumType), + _code.Escape(_typeMapper.UnderlyingClrType(enumType))); + } + + public void WriteFunctionParameters(EdmFunction edmFunction, Action writeParameter) + { + var parameters = FunctionImportParameter.Create(edmFunction.Parameters, _code, _ef); + foreach (var parameter in parameters.Where(p => p.NeedsLocalVariable)) + { + var isNotNull = parameter.IsNullableOfT ? parameter.FunctionParameterName + ".HasValue" : parameter.FunctionParameterName + " != null"; + var notNullInit = "new ObjectParameter(\"" + parameter.EsqlParameterName + "\", " + parameter.FunctionParameterName + ")"; + var nullInit = "new ObjectParameter(\"" + parameter.EsqlParameterName + "\", typeof(" + TypeMapper.FixNamespaces(parameter.RawClrTypeName) + "))"; + writeParameter(parameter.LocalVariableName, isNotNull, notNullInit, nullInit); + } + } + + public string ComposableFunctionMethod(EdmFunction edmFunction, string modelNamespace) + { + var parameters = _typeMapper.GetParameters(edmFunction); + + return string.Format( + CultureInfo.InvariantCulture, + "{0} IQueryable<{1}> {2}({3})", + AccessibilityAndVirtual(Accessibility.ForMethod(edmFunction)), + _typeMapper.GetTypeName(_typeMapper.GetReturnType(edmFunction), modelNamespace), + _code.Escape(edmFunction), + string.Join(", ", parameters.Select(p => TypeMapper.FixNamespaces(p.FunctionParameterType) + " " + p.FunctionParameterName).ToArray())); + } + + public string ComposableCreateQuery(EdmFunction edmFunction, string modelNamespace) + { + var parameters = _typeMapper.GetParameters(edmFunction); + + return string.Format( + CultureInfo.InvariantCulture, + "return ((IObjectContextAdapter)this).ObjectContext.CreateQuery<{0}>(\"[{1}].[{2}]({3})\"{4});", + _typeMapper.GetTypeName(_typeMapper.GetReturnType(edmFunction), modelNamespace), + edmFunction.NamespaceName, + edmFunction.Name, + string.Join(", ", parameters.Select(p => "@" + p.EsqlParameterName).ToArray()), + _code.StringBefore(", ", string.Join(", ", parameters.Select(p => p.ExecuteParameterName).ToArray()))); + } + + public string FunctionMethod(EdmFunction edmFunction, string modelNamespace, bool includeMergeOption) + { + var parameters = _typeMapper.GetParameters(edmFunction); + var returnType = _typeMapper.GetReturnType(edmFunction); + + var paramList = String.Join(", ", parameters.Select(p => TypeMapper.FixNamespaces(p.FunctionParameterType) + " " + p.FunctionParameterName).ToArray()); + if (includeMergeOption) + { + paramList = _code.StringAfter(paramList, ", ") + "MergeOption mergeOption"; + } + + return string.Format( + CultureInfo.InvariantCulture, + "{0} {1} {2}({3})", + AccessibilityAndVirtual(Accessibility.ForMethod(edmFunction)), + returnType == null ? "int" : "ObjectResult<" + _typeMapper.GetTypeName(returnType, modelNamespace) + ">", + _code.Escape(edmFunction), + paramList); + } + + public string ExecuteFunction(EdmFunction edmFunction, string modelNamespace, bool includeMergeOption) + { + var parameters = _typeMapper.GetParameters(edmFunction); + var returnType = _typeMapper.GetReturnType(edmFunction); + + var callParams = _code.StringBefore(", ", String.Join(", ", parameters.Select(p => p.ExecuteParameterName).ToArray())); + if (includeMergeOption) + { + callParams = ", mergeOption" + callParams; + } + + return string.Format( + CultureInfo.InvariantCulture, + "return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction{0}(\"{1}\"{2});", + returnType == null ? "" : "<" + _typeMapper.GetTypeName(returnType, modelNamespace) + ">", + edmFunction.Name, + callParams); + } + + public string DbSet(EntitySet entitySet) + { + return string.Format( + CultureInfo.InvariantCulture, + "{0} virtual DbSet<{1}> {2} {{ get; set; }}", + Accessibility.ForReadOnlyProperty(entitySet), + _typeMapper.GetTypeName(entitySet.ElementType), + _code.Escape(entitySet)); + } + + public string UsingDirectives(bool inHeader, bool includeCollections = true) + { + return inHeader == string.IsNullOrEmpty(_code.VsNamespaceSuggestion()) + ? string.Format( + CultureInfo.InvariantCulture, + "{0}using System;{1}" + + "{2}", + inHeader ? Environment.NewLine : "", + includeCollections ? (Environment.NewLine + "using System.Collections.Generic;") : "", + inHeader ? "" : Environment.NewLine) + : ""; + } +} + +public class TypeMapper +{ + private const string ExternalTypeNameAttributeName = @"http://schemas.microsoft.com/ado/2006/04/codegeneration:ExternalTypeName"; + + private readonly System.Collections.IList _errors; + private readonly CodeGenerationTools _code; + private readonly MetadataTools _ef; + + public TypeMapper(CodeGenerationTools code, MetadataTools ef, System.Collections.IList errors) + { + ArgumentNotNull(code, "code"); + ArgumentNotNull(ef, "ef"); + ArgumentNotNull(errors, "errors"); + + _code = code; + _ef = ef; + _errors = errors; + } + + public static string FixNamespaces(string typeName) + { + return typeName.Replace("System.Data.Spatial.", "System.Data.Entity.Spatial."); + } + + public string GetTypeName(TypeUsage typeUsage) + { + return typeUsage == null ? null : GetTypeName(typeUsage.EdmType, _ef.IsNullable(typeUsage), modelNamespace: null); + } + + public string GetTypeName(EdmType edmType) + { + return GetTypeName(edmType, isNullable: null, modelNamespace: null); + } + + public string GetTypeName(TypeUsage typeUsage, string modelNamespace) + { + return typeUsage == null ? null : GetTypeName(typeUsage.EdmType, _ef.IsNullable(typeUsage), modelNamespace); + } + + public string GetTypeName(EdmType edmType, string modelNamespace) + { + return GetTypeName(edmType, isNullable: null, modelNamespace: modelNamespace); + } + + public string GetTypeName(EdmType edmType, bool? isNullable, string modelNamespace) + { + if (edmType == null) + { + return null; + } + + var collectionType = edmType as CollectionType; + if (collectionType != null) + { + return String.Format(CultureInfo.InvariantCulture, "ICollection<{0}>", GetTypeName(collectionType.TypeUsage, modelNamespace)); + } + + var typeName = _code.Escape(edmType.MetadataProperties + .Where(p => p.Name == ExternalTypeNameAttributeName) + .Select(p => (string)p.Value) + .FirstOrDefault()) + ?? (modelNamespace != null && edmType.NamespaceName != modelNamespace ? + _code.CreateFullName(_code.EscapeNamespace(edmType.NamespaceName), _code.Escape(edmType)) : + _code.Escape(edmType)); + + if (edmType is StructuralType) + { + return typeName; + } + + if (edmType is SimpleType) + { + var clrType = UnderlyingClrType(edmType); + if (!IsEnumType(edmType)) + { + typeName = _code.Escape(clrType); + } + + typeName = FixNamespaces(typeName); + + return clrType.IsValueType && isNullable == true ? + String.Format(CultureInfo.InvariantCulture, "Nullable<{0}>", typeName) : + typeName; + } + + throw new ArgumentException("edmType"); + } + + public Type UnderlyingClrType(EdmType edmType) + { + ArgumentNotNull(edmType, "edmType"); + + var primitiveType = edmType as PrimitiveType; + if (primitiveType != null) + { + return primitiveType.ClrEquivalentType; + } + + if (IsEnumType(edmType)) + { + return GetEnumUnderlyingType(edmType).ClrEquivalentType; + } + + return typeof(object); + } + + public object GetEnumMemberValue(MetadataItem enumMember) + { + ArgumentNotNull(enumMember, "enumMember"); + + var valueProperty = enumMember.GetType().GetProperty("Value"); + return valueProperty == null ? null : valueProperty.GetValue(enumMember, null); + } + + public string GetEnumMemberName(MetadataItem enumMember) + { + ArgumentNotNull(enumMember, "enumMember"); + + var nameProperty = enumMember.GetType().GetProperty("Name"); + return nameProperty == null ? null : (string)nameProperty.GetValue(enumMember, null); + } + + public System.Collections.IEnumerable GetEnumMembers(EdmType enumType) + { + ArgumentNotNull(enumType, "enumType"); + + var membersProperty = enumType.GetType().GetProperty("Members"); + return membersProperty != null + ? (System.Collections.IEnumerable)membersProperty.GetValue(enumType, null) + : Enumerable.Empty(); + } + + public bool EnumIsFlags(EdmType enumType) + { + ArgumentNotNull(enumType, "enumType"); + + var isFlagsProperty = enumType.GetType().GetProperty("IsFlags"); + return isFlagsProperty != null && (bool)isFlagsProperty.GetValue(enumType, null); + } + + public bool IsEnumType(GlobalItem edmType) + { + ArgumentNotNull(edmType, "edmType"); + + return edmType.GetType().Name == "EnumType"; + } + + public PrimitiveType GetEnumUnderlyingType(EdmType enumType) + { + ArgumentNotNull(enumType, "enumType"); + + return (PrimitiveType)enumType.GetType().GetProperty("UnderlyingType").GetValue(enumType, null); + } + + public string CreateLiteral(object value) + { + if (value == null || value.GetType() != typeof(TimeSpan)) + { + return _code.CreateLiteral(value); + } + + return string.Format(CultureInfo.InvariantCulture, "new TimeSpan({0})", ((TimeSpan)value).Ticks); + } + + public bool VerifyCaseInsensitiveTypeUniqueness(IEnumerable types, string sourceFile) + { + ArgumentNotNull(types, "types"); + ArgumentNotNull(sourceFile, "sourceFile"); + + var hash = new HashSet(StringComparer.InvariantCultureIgnoreCase); + if (types.Any(item => !hash.Add(item))) + { + _errors.Add( + new CompilerError(sourceFile, -1, -1, "6023", + String.Format(CultureInfo.CurrentCulture, CodeGenerationTools.GetResourceString("Template_CaseInsensitiveTypeConflict")))); + return false; + } + return true; + } + + public IEnumerable GetEnumItemsToGenerate(IEnumerable itemCollection) + { + return GetItemsToGenerate(itemCollection) + .Where(e => IsEnumType(e)); + } + + public IEnumerable GetItemsToGenerate(IEnumerable itemCollection) where T: EdmType + { + return itemCollection + .OfType() + .Where(i => !i.MetadataProperties.Any(p => p.Name == ExternalTypeNameAttributeName)) + .OrderBy(i => i.Name); + } + + public IEnumerable GetAllGlobalItems(IEnumerable itemCollection) + { + return itemCollection + .Where(i => i is EntityType || i is ComplexType || i is EntityContainer || IsEnumType(i)) + .Select(g => GetGlobalItemName(g)); + } + + public string GetGlobalItemName(GlobalItem item) + { + if (item is EdmType) + { + return ((EdmType)item).Name; + } + else + { + return ((EntityContainer)item).Name; + } + } + + public IEnumerable GetSimpleProperties(EntityType type) + { + return type.Properties.Where(p => p.TypeUsage.EdmType is SimpleType && p.DeclaringType == type); + } + + public IEnumerable GetSimpleProperties(ComplexType type) + { + return type.Properties.Where(p => p.TypeUsage.EdmType is SimpleType && p.DeclaringType == type); + } + + public IEnumerable GetComplexProperties(EntityType type) + { + return type.Properties.Where(p => p.TypeUsage.EdmType is ComplexType && p.DeclaringType == type); + } + + public IEnumerable GetComplexProperties(ComplexType type) + { + return type.Properties.Where(p => p.TypeUsage.EdmType is ComplexType && p.DeclaringType == type); + } + + public IEnumerable GetPropertiesWithDefaultValues(EntityType type) + { + return type.Properties.Where(p => p.TypeUsage.EdmType is SimpleType && p.DeclaringType == type && p.DefaultValue != null); + } + + public IEnumerable GetPropertiesWithDefaultValues(ComplexType type) + { + return type.Properties.Where(p => p.TypeUsage.EdmType is SimpleType && p.DeclaringType == type && p.DefaultValue != null); + } + + public IEnumerable GetNavigationProperties(EntityType type) + { + return type.NavigationProperties.Where(np => np.DeclaringType == type); + } + + public IEnumerable GetCollectionNavigationProperties(EntityType type) + { + return type.NavigationProperties.Where(np => np.DeclaringType == type && np.ToEndMember.RelationshipMultiplicity == RelationshipMultiplicity.Many); + } + + public FunctionParameter GetReturnParameter(EdmFunction edmFunction) + { + ArgumentNotNull(edmFunction, "edmFunction"); + + var returnParamsProperty = edmFunction.GetType().GetProperty("ReturnParameters"); + return returnParamsProperty == null + ? edmFunction.ReturnParameter + : ((IEnumerable)returnParamsProperty.GetValue(edmFunction, null)).FirstOrDefault(); + } + + public bool IsComposable(EdmFunction edmFunction) + { + ArgumentNotNull(edmFunction, "edmFunction"); + + var isComposableProperty = edmFunction.GetType().GetProperty("IsComposableAttribute"); + return isComposableProperty != null && (bool)isComposableProperty.GetValue(edmFunction, null); + } + + public IEnumerable GetParameters(EdmFunction edmFunction) + { + return FunctionImportParameter.Create(edmFunction.Parameters, _code, _ef); + } + + public TypeUsage GetReturnType(EdmFunction edmFunction) + { + var returnParam = GetReturnParameter(edmFunction); + return returnParam == null ? null : _ef.GetElementType(returnParam.TypeUsage); + } + + public bool GenerateMergeOptionFunction(EdmFunction edmFunction, bool includeMergeOption) + { + var returnType = GetReturnType(edmFunction); + return !includeMergeOption && returnType != null && returnType.EdmType.BuiltInTypeKind == BuiltInTypeKind.EntityType; + } +} + +public static void ArgumentNotNull(T arg, string name) where T : class +{ + if (arg == null) + { + throw new ArgumentNullException(name); + } +} +#> \ No newline at end of file diff --git a/taarak int008/WebApplication2/WebApplication2/Models/User.cs b/taarak int008/WebApplication2/WebApplication2/Models/User.cs new file mode 100644 index 0000000..0900936 --- /dev/null +++ b/taarak int008/WebApplication2/WebApplication2/Models/User.cs @@ -0,0 +1,21 @@ +//------------------------------------------------------------------------------ +// +// This code was generated from a template. +// +// Manual changes to this file may cause unexpected behavior in your application. +// Manual changes to this file will be overwritten if the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace WebApplication2.Models +{ + using System; + using System.Collections.Generic; + + public partial class User + { + public string Name { get; set; } + public string Password { get; set; } + public Nullable Points { get; set; } + } +} diff --git a/taarak int008/WebApplication2/WebApplication2/Properties/AssemblyInfo.cs b/taarak int008/WebApplication2/WebApplication2/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..8f75a06 --- /dev/null +++ b/taarak int008/WebApplication2/WebApplication2/Properties/AssemblyInfo.cs @@ -0,0 +1,35 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("WebApplication2")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("WebApplication2")] +[assembly: AssemblyCopyright("Copyright © 2019")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("1c64174d-4556-4404-a241-cb3addff9282")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Revision and Build Numbers +// by using the '*' as shown below: +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/taarak int008/WebApplication2/WebApplication2/Web.Debug.config b/taarak int008/WebApplication2/WebApplication2/Web.Debug.config new file mode 100644 index 0000000..2e302f9 --- /dev/null +++ b/taarak int008/WebApplication2/WebApplication2/Web.Debug.config @@ -0,0 +1,30 @@ + + + + + + + + + + \ No newline at end of file diff --git a/taarak int008/WebApplication2/WebApplication2/Web.Release.config b/taarak int008/WebApplication2/WebApplication2/Web.Release.config new file mode 100644 index 0000000..c358444 --- /dev/null +++ b/taarak int008/WebApplication2/WebApplication2/Web.Release.config @@ -0,0 +1,31 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/taarak int008/WebApplication2/WebApplication2/Web.config b/taarak int008/WebApplication2/WebApplication2/Web.config new file mode 100644 index 0000000..c2350bf --- /dev/null +++ b/taarak int008/WebApplication2/WebApplication2/Web.config @@ -0,0 +1,55 @@ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/taarak int008/WebApplication2/WebApplication2/WebApplication2.csproj b/taarak int008/WebApplication2/WebApplication2/WebApplication2.csproj new file mode 100644 index 0000000..3d5b43e --- /dev/null +++ b/taarak int008/WebApplication2/WebApplication2/WebApplication2.csproj @@ -0,0 +1,237 @@ + + + + + + + Debug + AnyCPU + + + 2.0 + {1C64174D-4556-4404-A241-CB3ADDFF9282} + {349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc} + Library + Properties + WebApplication2 + WebApplication2 + v4.5.2 + true + + + + + + + + + + true + full + false + bin\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\ + TRACE + prompt + 4 + + + + ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll + True + + + ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll + True + + + ..\packages\Microsoft.ApplicationInsights.Agent.Intercept.1.2.1\lib\net45\Microsoft.AI.Agent.Intercept.dll + True + + + ..\packages\Microsoft.ApplicationInsights.DependencyCollector.2.0.0\lib\net45\Microsoft.AI.DependencyCollector.dll + True + + + ..\packages\Microsoft.ApplicationInsights.PerfCounterCollector.2.0.0\lib\net45\Microsoft.AI.PerfCounterCollector.dll + True + + + ..\packages\Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.2.0.0\lib\net45\Microsoft.AI.ServerTelemetryChannel.dll + True + + + ..\packages\Microsoft.ApplicationInsights.Web.2.0.0\lib\net45\Microsoft.AI.Web.dll + True + + + ..\packages\Microsoft.ApplicationInsights.WindowsServer.2.0.0\lib\net45\Microsoft.AI.WindowsServer.dll + True + + + ..\packages\Microsoft.ApplicationInsights.2.0.0\lib\net45\Microsoft.ApplicationInsights.dll + True + + + ..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\lib\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll + True + + + + ..\packages\Newtonsoft.Json.6.0.4\lib\net45\Newtonsoft.Json.dll + True + + + + ..\packages\Microsoft.AspNet.WebApi.Client.5.2.7\lib\net45\System.Net.Http.Formatting.dll + True + + + + + ..\packages\Microsoft.AspNet.Cors.5.2.7\lib\net45\System.Web.Cors.dll + True + + + + + + + + + + + + ..\packages\Microsoft.AspNet.WebApi.Core.5.2.7\lib\net45\System.Web.Http.dll + True + + + ..\packages\Microsoft.AspNet.WebApi.Cors.5.2.7\lib\net45\System.Web.Http.Cors.dll + True + + + ..\packages\Microsoft.AspNet.WebApi.WebHost.5.2.3\lib\net45\System.Web.Http.WebHost.dll + True + + + + + + + + + + + + + PreserveNewest + + + EntityModelCodeGenerator + Module.Designer.cs + + + Module.edmx + + + Web.config + + + Web.config + + + + + + TextTemplatingFileGenerator + Module.edmx + Module.Context.cs + + + TextTemplatingFileGenerator + Module.edmx + Module.cs + + + + + + + + + + Global.asax + + + True + True + Module.Context.tt + + + True + True + Module.tt + + + True + True + Module.edmx + + + + Module.tt + + + + + + + + + + 10.0 + $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) + + + + + + + + + True + True + 55877 + / + http://localhost:55877/ + False + False + + + False + + + + + + + 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}. + + + + + + \ No newline at end of file diff --git a/taarak int008/WebApplication2/WebApplication2/WebApplication2.csproj.user b/taarak int008/WebApplication2/WebApplication2/WebApplication2.csproj.user new file mode 100644 index 0000000..d475ee1 --- /dev/null +++ b/taarak int008/WebApplication2/WebApplication2/WebApplication2.csproj.user @@ -0,0 +1,38 @@ + + + + true + 600 + True + False + True + + WebApplication2.Models.tictactoeEntities + False + + + + + + + + CurrentPage + True + False + False + False + + + + + + + + + True + True + + + + + \ No newline at end of file diff --git a/taarak int008/WebApplication2/WebApplication2/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/taarak int008/WebApplication2/WebApplication2/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000000000000000000000000000000000000..5f3ec86f0b5a46f87ce83d2511c2673755ba8f0a GIT binary patch literal 14178 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 literal 0 HcmV?d00001 diff --git a/taarak int008/WebApplication2/WebApplication2/obj/Debug/TempPE/Models.Module.Designer.cs.dll b/taarak int008/WebApplication2/WebApplication2/obj/Debug/TempPE/Models.Module.Designer.cs.dll new file mode 100644 index 0000000000000000000000000000000000000000..98b6930b4cc1b516437e14e42ea6c5e34b5825f4 GIT binary patch literal 2048 zcmeHH%}Z2K6#u>PYt%GNktC?=jM465jGH229LLPi6h{k6$oHO?@xhyShxgu?wg?GA z+O_Hr2wJrjk{02jRnWf>E?Y*lYGdcT_okUZ25KoC=A838ANQVn&b{*%9=t>wfOg{J zW8i=^Q$CWd#V&>WFTL-_e)s3G17rU4*vh68h^nv4zF85r>3KR7mJ)u=6OJc}izQLf z8%p-|^^7N5FUHU(q!LmvSp~YL$c5F@F^BGker*Why<`M zedTI9IYXY@oYP6%M0udlWd0TWLH#rF*;44hk^rhy!(it>P@#0EU?i(~Zd;RbLgprN zSFiDA9dJqR6K9`N+f?Km<5K85UO6C$0jkY+nO!Ymm@r>mc6N2HNP3*?dA19#wn#IP z%jg;gy4mI<6Ty+FMqxxgDXP5nrx(p;J+uMj^{_op7fSr4q^wWL!xWRp6982dt(J{-O4noHc>aL`^j8CcjlJd74TLnogbeFt;bf4Vyv%}rJ zwd)`AuWrqL&)Tm8v>1O^Aw@1CsP8=X9Qkv5Y5%tapkN^0c3Z&vSWZ)V$8 zRi4Glrmr6d2IY0dSA?&b`e5lTWC@Fg-Hht*JoY`B)_&1-7fi>C??I_(EF3+)OnXFM XjOO*H7K`}XGMqcL9sX~u#RPr<;)A*N literal 0 HcmV?d00001 diff --git a/taarak int008/WebApplication2/WebApplication2/obj/Debug/TempPE/Models.Module.cs.dll b/taarak int008/WebApplication2/WebApplication2/obj/Debug/TempPE/Models.Module.cs.dll new file mode 100644 index 0000000000000000000000000000000000000000..daac83cf1afa8935ccf0359f0d705e172e29e104 GIT binary patch literal 2048 zcmeHH&r1|>6#vY+>Z)mqAxKbP*QDEEtd}5SU02NT7p^9hkTc_#b>O=*%gn54hmfK} zx1dw^jzSkf=})MjTI_g|s~K$`gY z7&su!l#k`vVu!*#SKswuuj6p&z?eB4TH0_!Q4RcZU{!=;d7d8$TZ*9O3D*(cD*?!2bAUYG=Cj1;EdKUl4wc7&|xGDef4Qi=C>mb4(w69c_5rWn`FRM%J|L$7H; z{yC@e)6m*v7tt>5JDl=(@>@NdRkR zAeHav8uH}koHpVn$^(Ta^RM6$_0Pn$rO=860j$y)20Q0YX9hV6p#ZPH9! zYWpRigN>g?4g*Q;ya)Hd<7H;d3`nipa2>le%BfiP<25egW1LaX=EL0EiNlp2 zUq-$mEes>mB4D%<=0D literal 0 HcmV?d00001 diff --git a/taarak int008/WebApplication2/WebApplication2/obj/Debug/TempPE/Module.Designer.cs.dll b/taarak int008/WebApplication2/WebApplication2/obj/Debug/TempPE/Module.Designer.cs.dll new file mode 100644 index 0000000000000000000000000000000000000000..90778edb8eea11b4d99f7d012b6805d047ba5644 GIT binary patch literal 2048 zcmeHH&r1|>6#vY+>Z)mqB1lkQcZ+U=v0j9TbzQN-O>worgq#__tlyZOS!QNUBSeS} z-s;q;OMiickn|UL5xUjULv-oZv5UPoGuw_JLS5}K@5kr8_x*m~d*7KUFTX|`fHd*R z32;D~sSwKZ#SVr0u6^pme%I0Hfi`qOZQ5ohX~IyF50e1nu$y8 z90Ix+{L=Cmj%w#UxCb6DGuu&5GS(fqi9H(SOehEO4wvznvY4Vw?xPEDNe+BgyWkbury8yK4|4@bt2cQac2ja=nXFQ$ecc}D$#>r8K2vd+CPu6yn? zU!%Ov=t}T4+Z-hDlWoz$Nvru@N4_Uhu2-_{vZ0)4?ox)+;ONN>+9Ui!B-dXUTSWhs ObpFD0{J+t}1bzdk*0y{A literal 0 HcmV?d00001 diff --git a/taarak int008/WebApplication2/WebApplication2/obj/Debug/TempPE/Module.cs.dll b/taarak int008/WebApplication2/WebApplication2/obj/Debug/TempPE/Module.cs.dll new file mode 100644 index 0000000000000000000000000000000000000000..a5d5e6c3a6c10b6c38a55e17e3bc133e7b312e2c GIT binary patch literal 2048 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 literal 0 HcmV?d00001 diff --git a/taarak int008/WebApplication2/WebApplication2/obj/Debug/WebApplication2.dll b/taarak int008/WebApplication2/WebApplication2/obj/Debug/WebApplication2.dll new file mode 100644 index 0000000000000000000000000000000000000000..e98d4f3244036c8cd8a0989190371f6b522f032e GIT binary patch literal 12800 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 a&3* literal 0 HcmV?d00001 diff --git a/taarak int008/WebApplication2/WebApplication2/obj/Debug/WebApplication2.pdb b/taarak int008/WebApplication2/WebApplication2/obj/Debug/WebApplication2.pdb new file mode 100644 index 0000000000000000000000000000000000000000..8c35de021ef395da30245e8ec52eb90002be3726 GIT binary patch literal 22016 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 + + + + + + + + + + + + + \ No newline at end of file diff --git a/taarak int008/WebApplication2/WebApplication2/obj/Debug/edmxResourcesToEmbed/Models/Module.msl b/taarak int008/WebApplication2/WebApplication2/obj/Debug/edmxResourcesToEmbed/Models/Module.msl new file mode 100644 index 0000000..f50221c --- /dev/null +++ b/taarak int008/WebApplication2/WebApplication2/obj/Debug/edmxResourcesToEmbed/Models/Module.msl @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/taarak int008/WebApplication2/WebApplication2/obj/Debug/edmxResourcesToEmbed/Models/Module.ssdl b/taarak int008/WebApplication2/WebApplication2/obj/Debug/edmxResourcesToEmbed/Models/Module.ssdl new file mode 100644 index 0000000..8e76280 --- /dev/null +++ b/taarak int008/WebApplication2/WebApplication2/obj/Debug/edmxResourcesToEmbed/Models/Module.ssdl @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/taarak int008/WebApplication2/WebApplication2/packages.config b/taarak int008/WebApplication2/WebApplication2/packages.config new file mode 100644 index 0000000..ef15ee6 --- /dev/null +++ b/taarak int008/WebApplication2/WebApplication2/packages.config @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From 652112a2093d93bd477dccbd040fa5143bb00e52 Mon Sep 17 00:00:00 2001 From: taarakdhingra Date: Tue, 12 Feb 2019 13:03:11 +0530 Subject: [PATCH 4/4] c# file was deleted,again added modified file..backend added --- taarak int008/.gitignore | 8 +- .../TicTacApi.sln} | 10 +- .../TicTacApi}/App_Start/WebApiConfig.cs | 4 +- .../TicTacApi}/ApplicationInsights.config | 0 .../TicTacApi}/Controllers/UsersController.cs | 4 +- taarak int008/TicTacApi/TicTacApi/Global.asax | 1 + .../TicTacApi}/Global.asax.cs | 2 +- .../TicTacApi/Models/TicModel.Context.cs} | 2 +- .../TicTacApi/Models/TicModel.Context.tt} | 2 +- .../TicTacApi/Models/TicModel.Designer.cs} | 2 +- .../TicTacApi/Models/TicModel.cs} | 0 .../TicTacApi/Models/TicModel.edmx} | 3 - .../TicTacApi/Models/TicModel.edmx.diagram} | 2 +- .../TicTacApi/Models/TicModel.tt} | 2 +- .../TicTacApi}/Models/User.cs | 3 +- .../TicTacApi}/Properties/AssemblyInfo.cs | 6 +- .../TicTacApi/TicTacApi.csproj} | 46 ++-- .../TicTacApi/TicTacApi.csproj.user} | 2 +- .../TicTacApi}/Web.Debug.config | 0 .../TicTacApi}/Web.Release.config | 0 .../TicTacApi}/Web.config | 4 +- ...gnTimeResolveAssemblyReferencesInput.cache | Bin 0 -> 13857 bytes .../TempPE/Models.TicModel.Designer.cs.dll} | Bin 2048 -> 2048 bytes .../obj/Debug/TempPE/Models.TicModel.cs.dll} | Bin 2048 -> 2048 bytes ...le_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs | 0 ...le_5937a670-0e60-4077-877b-f7221da3dda1.cs | 0 ...le_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs | 0 .../TicTacApi.csproj.FileListAbsolute.txt | 48 +++++ ...acApi.csprojResolveAssemblyReference.cache | Bin 0 -> 106568 bytes .../TicTacApi/obj/Debug/TicTacApi.dll | Bin 0 -> 12288 bytes .../TicTacApi/obj/Debug/TicTacApi.pdb} | Bin 22016 -> 22016 bytes .../Models/TicModel.csdl} | 1 - .../edmxResourcesToEmbed/Models/TicModel.msl} | 1 - .../Models/TicModel.ssdl} | 1 - .../TicTacApi}/packages.config | 0 .../WebApplication2/Global.asax | 1 - ...gnTimeResolveAssemblyReferencesInput.cache | Bin 14178 -> 0 bytes .../obj/Debug/TempPE/Models.Module.cs.dll | Bin 2048 -> 0 bytes .../obj/Debug/TempPE/Module.cs.dll | Bin 2048 -> 0 bytes ...ebApplication2.csproj.FileListAbsolute.txt | 48 ----- ...tion2.csprojResolveAssemblyReference.cache | Bin 121979 -> 0 bytes .../obj/Debug/WebApplication2.dll | Bin 12800 -> 0 bytes taarak int008/tic.css | 113 +++++++++- taarak int008/ticbackend.js | 196 ++++++++++++++++++ taarak int008/tictacsql.sql | 6 - taarak int008/tictacsqlupdated.sql | 13 ++ taarak int008/tictactoe.html | 76 ++++++- 47 files changed, 485 insertions(+), 122 deletions(-) rename taarak int008/{WebApplication2/WebApplication2.sln => TicTacApi/TicTacApi.sln} (59%) rename taarak int008/{WebApplication2/WebApplication2 => TicTacApi/TicTacApi}/App_Start/WebApiConfig.cs (94%) rename taarak int008/{WebApplication2/WebApplication2 => TicTacApi/TicTacApi}/ApplicationInsights.config (100%) rename taarak int008/{WebApplication2/WebApplication2 => TicTacApi/TicTacApi}/Controllers/UsersController.cs (97%) create mode 100644 taarak int008/TicTacApi/TicTacApi/Global.asax rename taarak int008/{WebApplication2/WebApplication2 => TicTacApi/TicTacApi}/Global.asax.cs (93%) rename taarak int008/{WebApplication2/WebApplication2/Models/Module.Context.cs => TicTacApi/TicTacApi/Models/TicModel.Context.cs} (96%) rename taarak int008/{WebApplication2/WebApplication2/Models/Module.Context.tt => TicTacApi/TicTacApi/Models/TicModel.Context.tt} (99%) rename taarak int008/{WebApplication2/WebApplication2/Models/Module.Designer.cs => TicTacApi/TicTacApi/Models/TicModel.Designer.cs} (87%) rename taarak int008/{WebApplication2/WebApplication2/Models/Module.cs => TicTacApi/TicTacApi/Models/TicModel.cs} (100%) rename taarak int008/{WebApplication2/WebApplication2/Models/Module.edmx => TicTacApi/TicTacApi/Models/TicModel.edmx} (93%) rename taarak int008/{WebApplication2/WebApplication2/Models/Module.edmx.diagram => TicTacApi/TicTacApi/Models/TicModel.edmx.diagram} (89%) rename taarak int008/{WebApplication2/WebApplication2/Models/Module.tt => TicTacApi/TicTacApi/Models/TicModel.tt} (99%) rename taarak int008/{WebApplication2/WebApplication2 => TicTacApi/TicTacApi}/Models/User.cs (88%) rename taarak int008/{WebApplication2/WebApplication2 => TicTacApi/TicTacApi}/Properties/AssemblyInfo.cs (89%) rename taarak int008/{WebApplication2/WebApplication2/WebApplication2.csproj => TicTacApi/TicTacApi/TicTacApi.csproj} (91%) rename taarak int008/{WebApplication2/WebApplication2/WebApplication2.csproj.user => TicTacApi/TicTacApi/TicTacApi.csproj.user} (92%) rename taarak int008/{WebApplication2/WebApplication2 => TicTacApi/TicTacApi}/Web.Debug.config (100%) rename taarak int008/{WebApplication2/WebApplication2 => TicTacApi/TicTacApi}/Web.Release.config (100%) rename taarak int008/{WebApplication2/WebApplication2 => TicTacApi/TicTacApi}/Web.config (88%) create mode 100644 taarak int008/TicTacApi/TicTacApi/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache rename taarak int008/{WebApplication2/WebApplication2/obj/Debug/TempPE/Models.Module.Designer.cs.dll => TicTacApi/TicTacApi/obj/Debug/TempPE/Models.TicModel.Designer.cs.dll} (56%) rename taarak int008/{WebApplication2/WebApplication2/obj/Debug/TempPE/Module.Designer.cs.dll => TicTacApi/TicTacApi/obj/Debug/TempPE/Models.TicModel.cs.dll} (87%) rename taarak int008/{WebApplication2/WebApplication2 => TicTacApi/TicTacApi}/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs (100%) rename taarak int008/{WebApplication2/WebApplication2 => TicTacApi/TicTacApi}/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs (100%) rename taarak int008/{WebApplication2/WebApplication2 => TicTacApi/TicTacApi}/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs (100%) create mode 100644 taarak int008/TicTacApi/TicTacApi/obj/Debug/TicTacApi.csproj.FileListAbsolute.txt create mode 100644 taarak int008/TicTacApi/TicTacApi/obj/Debug/TicTacApi.csprojResolveAssemblyReference.cache create mode 100644 taarak int008/TicTacApi/TicTacApi/obj/Debug/TicTacApi.dll rename taarak int008/{WebApplication2/WebApplication2/obj/Debug/WebApplication2.pdb => TicTacApi/TicTacApi/obj/Debug/TicTacApi.pdb} (52%) rename taarak int008/{WebApplication2/WebApplication2/obj/Debug/edmxResourcesToEmbed/Models/Module.csdl => TicTacApi/TicTacApi/obj/Debug/edmxResourcesToEmbed/Models/TicModel.csdl} (88%) rename taarak int008/{WebApplication2/WebApplication2/obj/Debug/edmxResourcesToEmbed/Models/Module.msl => TicTacApi/TicTacApi/obj/Debug/edmxResourcesToEmbed/Models/TicModel.msl} (90%) rename taarak int008/{WebApplication2/WebApplication2/obj/Debug/edmxResourcesToEmbed/Models/Module.ssdl => TicTacApi/TicTacApi/obj/Debug/edmxResourcesToEmbed/Models/TicModel.ssdl} (92%) rename taarak int008/{WebApplication2/WebApplication2 => TicTacApi/TicTacApi}/packages.config (100%) delete mode 100644 taarak int008/WebApplication2/WebApplication2/Global.asax delete mode 100644 taarak int008/WebApplication2/WebApplication2/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache delete mode 100644 taarak int008/WebApplication2/WebApplication2/obj/Debug/TempPE/Models.Module.cs.dll delete mode 100644 taarak int008/WebApplication2/WebApplication2/obj/Debug/TempPE/Module.cs.dll delete mode 100644 taarak int008/WebApplication2/WebApplication2/obj/Debug/WebApplication2.csproj.FileListAbsolute.txt delete mode 100644 taarak int008/WebApplication2/WebApplication2/obj/Debug/WebApplication2.csprojResolveAssemblyReference.cache delete mode 100644 taarak int008/WebApplication2/WebApplication2/obj/Debug/WebApplication2.dll create mode 100644 taarak int008/ticbackend.js delete mode 100644 taarak int008/tictacsql.sql create mode 100644 taarak int008/tictacsqlupdated.sql diff --git a/taarak int008/.gitignore b/taarak int008/.gitignore index ae654d7..a55c1fd 100644 --- a/taarak int008/.gitignore +++ b/taarak int008/.gitignore @@ -1,7 +1,7 @@ -WebApplication2/packages +TicTacApi/packages -WebApplication2/WebApplication2/scripts +TicTacApi/TicTacApi/scripts -WebApplication2/WebApplication2/bin +TicTacApi/TicTacApi/bin -WebApplication2/.vs \ No newline at end of file +TicTacApi/.vs \ No newline at end of file diff --git a/taarak int008/WebApplication2/WebApplication2.sln b/taarak int008/TicTacApi/TicTacApi.sln similarity index 59% rename from taarak int008/WebApplication2/WebApplication2.sln rename to taarak int008/TicTacApi/TicTacApi.sln index 10ae885..db77527 100644 --- a/taarak int008/WebApplication2/WebApplication2.sln +++ b/taarak int008/TicTacApi/TicTacApi.sln @@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Express 14 for Web VisualStudioVersion = 14.0.25420.1 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebApplication2", "WebApplication2\WebApplication2.csproj", "{1C64174D-4556-4404-A241-CB3ADDFF9282}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TicTacApi", "TicTacApi\TicTacApi.csproj", "{77320EE4-A3D1-4187-B7D1-5A9A79EB99E3}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -11,10 +11,10 @@ Global Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {1C64174D-4556-4404-A241-CB3ADDFF9282}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {1C64174D-4556-4404-A241-CB3ADDFF9282}.Debug|Any CPU.Build.0 = Debug|Any CPU - {1C64174D-4556-4404-A241-CB3ADDFF9282}.Release|Any CPU.ActiveCfg = Release|Any CPU - {1C64174D-4556-4404-A241-CB3ADDFF9282}.Release|Any CPU.Build.0 = Release|Any CPU + {77320EE4-A3D1-4187-B7D1-5A9A79EB99E3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {77320EE4-A3D1-4187-B7D1-5A9A79EB99E3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {77320EE4-A3D1-4187-B7D1-5A9A79EB99E3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {77320EE4-A3D1-4187-B7D1-5A9A79EB99E3}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/taarak int008/WebApplication2/WebApplication2/App_Start/WebApiConfig.cs b/taarak int008/TicTacApi/TicTacApi/App_Start/WebApiConfig.cs similarity index 94% rename from taarak int008/WebApplication2/WebApplication2/App_Start/WebApiConfig.cs rename to taarak int008/TicTacApi/TicTacApi/App_Start/WebApiConfig.cs index 8543b6e..a38257f 100644 --- a/taarak int008/WebApplication2/WebApplication2/App_Start/WebApiConfig.cs +++ b/taarak int008/TicTacApi/TicTacApi/App_Start/WebApiConfig.cs @@ -4,7 +4,7 @@ using System.Web.Http; using System.Web.Http.Cors; -namespace WebApplication2 +namespace TicTacApi { public static class WebApiConfig { @@ -12,8 +12,8 @@ public static void Register(HttpConfiguration config) { var cors = new EnableCorsAttribute("*", "*", "*"); config.EnableCors(cors); + config.MapHttpAttributeRoutes(); - config.Routes.MapHttpRoute( name: "DefaultApi", diff --git a/taarak int008/WebApplication2/WebApplication2/ApplicationInsights.config b/taarak int008/TicTacApi/TicTacApi/ApplicationInsights.config similarity index 100% rename from taarak int008/WebApplication2/WebApplication2/ApplicationInsights.config rename to taarak int008/TicTacApi/TicTacApi/ApplicationInsights.config diff --git a/taarak int008/WebApplication2/WebApplication2/Controllers/UsersController.cs b/taarak int008/TicTacApi/TicTacApi/Controllers/UsersController.cs similarity index 97% rename from taarak int008/WebApplication2/WebApplication2/Controllers/UsersController.cs rename to taarak int008/TicTacApi/TicTacApi/Controllers/UsersController.cs index f34afcc..3ade0d5 100644 --- a/taarak int008/WebApplication2/WebApplication2/Controllers/UsersController.cs +++ b/taarak int008/TicTacApi/TicTacApi/Controllers/UsersController.cs @@ -8,9 +8,9 @@ using System.Net.Http; using System.Web.Http; using System.Web.Http.Description; -using WebApplication2.Models; +using TicTacApi.Models; -namespace WebApplication2.Controllers +namespace TicTacApi.Controllers { public class UsersController : ApiController { diff --git a/taarak int008/TicTacApi/TicTacApi/Global.asax b/taarak int008/TicTacApi/TicTacApi/Global.asax new file mode 100644 index 0000000..ae443ea --- /dev/null +++ b/taarak int008/TicTacApi/TicTacApi/Global.asax @@ -0,0 +1 @@ +<%@ Application Codebehind="Global.asax.cs" Inherits="TicTacApi.WebApiApplication" Language="C#" %> diff --git a/taarak int008/WebApplication2/WebApplication2/Global.asax.cs b/taarak int008/TicTacApi/TicTacApi/Global.asax.cs similarity index 93% rename from taarak int008/WebApplication2/WebApplication2/Global.asax.cs rename to taarak int008/TicTacApi/TicTacApi/Global.asax.cs index 8e87ccd..266a57d 100644 --- a/taarak int008/WebApplication2/WebApplication2/Global.asax.cs +++ b/taarak int008/TicTacApi/TicTacApi/Global.asax.cs @@ -5,7 +5,7 @@ using System.Web.Http; using System.Web.Routing; -namespace WebApplication2 +namespace TicTacApi { public class WebApiApplication : System.Web.HttpApplication { diff --git a/taarak int008/WebApplication2/WebApplication2/Models/Module.Context.cs b/taarak int008/TicTacApi/TicTacApi/Models/TicModel.Context.cs similarity index 96% rename from taarak int008/WebApplication2/WebApplication2/Models/Module.Context.cs rename to taarak int008/TicTacApi/TicTacApi/Models/TicModel.Context.cs index 2482fa1..0dea978 100644 --- a/taarak int008/WebApplication2/WebApplication2/Models/Module.Context.cs +++ b/taarak int008/TicTacApi/TicTacApi/Models/TicModel.Context.cs @@ -7,7 +7,7 @@ // //------------------------------------------------------------------------------ -namespace WebApplication2.Models +namespace TicTacApi.Models { using System; using System.Data.Entity; diff --git a/taarak int008/WebApplication2/WebApplication2/Models/Module.Context.tt b/taarak int008/TicTacApi/TicTacApi/Models/TicModel.Context.tt similarity index 99% rename from taarak int008/WebApplication2/WebApplication2/Models/Module.Context.tt rename to taarak int008/TicTacApi/TicTacApi/Models/TicModel.Context.tt index 83762fa..c062200 100644 --- a/taarak int008/WebApplication2/WebApplication2/Models/Module.Context.tt +++ b/taarak int008/TicTacApi/TicTacApi/Models/TicModel.Context.tt @@ -2,7 +2,7 @@ <#@ include file="EF6.Utility.CS.ttinclude"#><#@ output extension=".cs"#><# -const string inputFile = @"Module.edmx"; +const string inputFile = @"TicModel.edmx"; var textTransform = DynamicTextTransformation.Create(this); var code = new CodeGenerationTools(this); var ef = new MetadataTools(this); diff --git a/taarak int008/WebApplication2/WebApplication2/Models/Module.Designer.cs b/taarak int008/TicTacApi/TicTacApi/Models/TicModel.Designer.cs similarity index 87% rename from taarak int008/WebApplication2/WebApplication2/Models/Module.Designer.cs rename to taarak int008/TicTacApi/TicTacApi/Models/TicModel.Designer.cs index 88be0de..b4a50a5 100644 --- a/taarak int008/WebApplication2/WebApplication2/Models/Module.Designer.cs +++ b/taarak int008/TicTacApi/TicTacApi/Models/TicModel.Designer.cs @@ -1,4 +1,4 @@ -// T4 code generation is enabled for model 'c:\users\taarak.dhingra\documents\visual studio 2015\Projects\WebApplication2\WebApplication2\Models\Module.edmx'. +// T4 code generation is enabled for model 'c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\Models\TicModel.edmx'. // To enable legacy code generation, change the value of the 'Code Generation Strategy' designer // property to 'Legacy ObjectContext'. This property is available in the Properties Window when the model // is open in the designer. diff --git a/taarak int008/WebApplication2/WebApplication2/Models/Module.cs b/taarak int008/TicTacApi/TicTacApi/Models/TicModel.cs similarity index 100% rename from taarak int008/WebApplication2/WebApplication2/Models/Module.cs rename to taarak int008/TicTacApi/TicTacApi/Models/TicModel.cs diff --git a/taarak int008/WebApplication2/WebApplication2/Models/Module.edmx b/taarak int008/TicTacApi/TicTacApi/Models/TicModel.edmx similarity index 93% rename from taarak int008/WebApplication2/WebApplication2/Models/Module.edmx rename to taarak int008/TicTacApi/TicTacApi/Models/TicModel.edmx index 386b031..8f3d861 100644 --- a/taarak int008/WebApplication2/WebApplication2/Models/Module.edmx +++ b/taarak int008/TicTacApi/TicTacApi/Models/TicModel.edmx @@ -10,7 +10,6 @@ - @@ -26,7 +25,6 @@ - @@ -42,7 +40,6 @@ - diff --git a/taarak int008/WebApplication2/WebApplication2/Models/Module.edmx.diagram b/taarak int008/TicTacApi/TicTacApi/Models/TicModel.edmx.diagram similarity index 89% rename from taarak int008/WebApplication2/WebApplication2/Models/Module.edmx.diagram rename to taarak int008/TicTacApi/TicTacApi/Models/TicModel.edmx.diagram index 9354c30..6b3edbc 100644 --- a/taarak int008/WebApplication2/WebApplication2/Models/Module.edmx.diagram +++ b/taarak int008/TicTacApi/TicTacApi/Models/TicModel.edmx.diagram @@ -4,7 +4,7 @@ - + diff --git a/taarak int008/WebApplication2/WebApplication2/Models/Module.tt b/taarak int008/TicTacApi/TicTacApi/Models/TicModel.tt similarity index 99% rename from taarak int008/WebApplication2/WebApplication2/Models/Module.tt rename to taarak int008/TicTacApi/TicTacApi/Models/TicModel.tt index 037bc67..b3cdc61 100644 --- a/taarak int008/WebApplication2/WebApplication2/Models/Module.tt +++ b/taarak int008/TicTacApi/TicTacApi/Models/TicModel.tt @@ -2,7 +2,7 @@ <#@ include file="EF6.Utility.CS.ttinclude"#><#@ output extension=".cs"#><# -const string inputFile = @"Module.edmx"; +const string inputFile = @"TicModel.edmx"; var textTransform = DynamicTextTransformation.Create(this); var code = new CodeGenerationTools(this); var ef = new MetadataTools(this); diff --git a/taarak int008/WebApplication2/WebApplication2/Models/User.cs b/taarak int008/TicTacApi/TicTacApi/Models/User.cs similarity index 88% rename from taarak int008/WebApplication2/WebApplication2/Models/User.cs rename to taarak int008/TicTacApi/TicTacApi/Models/User.cs index 0900936..894a4a1 100644 --- a/taarak int008/WebApplication2/WebApplication2/Models/User.cs +++ b/taarak int008/TicTacApi/TicTacApi/Models/User.cs @@ -7,7 +7,7 @@ // //------------------------------------------------------------------------------ -namespace WebApplication2.Models +namespace TicTacApi.Models { using System; using System.Collections.Generic; @@ -15,7 +15,6 @@ namespace WebApplication2.Models public partial class User { public string Name { get; set; } - public string Password { get; set; } public Nullable Points { get; set; } } } diff --git a/taarak int008/WebApplication2/WebApplication2/Properties/AssemblyInfo.cs b/taarak int008/TicTacApi/TicTacApi/Properties/AssemblyInfo.cs similarity index 89% rename from taarak int008/WebApplication2/WebApplication2/Properties/AssemblyInfo.cs rename to taarak int008/TicTacApi/TicTacApi/Properties/AssemblyInfo.cs index 8f75a06..9718e60 100644 --- a/taarak int008/WebApplication2/WebApplication2/Properties/AssemblyInfo.cs +++ b/taarak int008/TicTacApi/TicTacApi/Properties/AssemblyInfo.cs @@ -5,11 +5,11 @@ // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. -[assembly: AssemblyTitle("WebApplication2")] +[assembly: AssemblyTitle("TicTacApi")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("WebApplication2")] +[assembly: AssemblyProduct("TicTacApi")] [assembly: AssemblyCopyright("Copyright © 2019")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] @@ -20,7 +20,7 @@ [assembly: ComVisible(false)] // The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("1c64174d-4556-4404-a241-cb3addff9282")] +[assembly: Guid("77320ee4-a3d1-4187-b7d1-5a9a79eb99e3")] // Version information for an assembly consists of the following four values: // diff --git a/taarak int008/WebApplication2/WebApplication2/WebApplication2.csproj b/taarak int008/TicTacApi/TicTacApi/TicTacApi.csproj similarity index 91% rename from taarak int008/WebApplication2/WebApplication2/WebApplication2.csproj rename to taarak int008/TicTacApi/TicTacApi/TicTacApi.csproj index 3d5b43e..ddf1e30 100644 --- a/taarak int008/WebApplication2/WebApplication2/WebApplication2.csproj +++ b/taarak int008/TicTacApi/TicTacApi/TicTacApi.csproj @@ -9,12 +9,12 @@ 2.0 - {1C64174D-4556-4404-A241-CB3ADDFF9282} + {77320EE4-A3D1-4187-B7D1-5A9A79EB99E3} {349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc} Library Properties - WebApplication2 - WebApplication2 + TicTacApi + TicTacApi v4.5.2 true @@ -133,12 +133,12 @@ PreserveNewest - + EntityModelCodeGenerator - Module.Designer.cs + TicModel.Designer.cs - - Module.edmx + + TicModel.edmx Web.config @@ -149,15 +149,15 @@ - + TextTemplatingFileGenerator - Module.edmx - Module.Context.cs + TicModel.edmx + TicModel.Context.cs - + TextTemplatingFileGenerator - Module.edmx - Module.cs + TicModel.edmx + TicModel.cs @@ -169,25 +169,25 @@ Global.asax - + True True - Module.Context.tt + TicModel.Context.tt - + True True - Module.tt + TicModel.tt - + True True - Module.edmx + TicModel.edmx - - Module.tt + TicModel.tt + @@ -208,9 +208,9 @@ True True - 55877 + 65257 / - http://localhost:55877/ + http://localhost:65257/ False False diff --git a/taarak int008/WebApplication2/WebApplication2/WebApplication2.csproj.user b/taarak int008/TicTacApi/TicTacApi/TicTacApi.csproj.user similarity index 92% rename from taarak int008/WebApplication2/WebApplication2/WebApplication2.csproj.user rename to taarak int008/TicTacApi/TicTacApi/TicTacApi.csproj.user index d475ee1..0a48aab 100644 --- a/taarak int008/WebApplication2/WebApplication2/WebApplication2.csproj.user +++ b/taarak int008/TicTacApi/TicTacApi/TicTacApi.csproj.user @@ -7,7 +7,7 @@ False True - WebApplication2.Models.tictactoeEntities + TicTacApi.Models.tictactoeEntities False diff --git a/taarak int008/WebApplication2/WebApplication2/Web.Debug.config b/taarak int008/TicTacApi/TicTacApi/Web.Debug.config similarity index 100% rename from taarak int008/WebApplication2/WebApplication2/Web.Debug.config rename to taarak int008/TicTacApi/TicTacApi/Web.Debug.config diff --git a/taarak int008/WebApplication2/WebApplication2/Web.Release.config b/taarak int008/TicTacApi/TicTacApi/Web.Release.config similarity index 100% rename from taarak int008/WebApplication2/WebApplication2/Web.Release.config rename to taarak int008/TicTacApi/TicTacApi/Web.Release.config diff --git a/taarak int008/WebApplication2/WebApplication2/Web.config b/taarak int008/TicTacApi/TicTacApi/Web.config similarity index 88% rename from taarak int008/WebApplication2/WebApplication2/Web.config rename to taarak int008/TicTacApi/TicTacApi/Web.config index c2350bf..c7622a9 100644 --- a/taarak int008/WebApplication2/WebApplication2/Web.config +++ b/taarak int008/TicTacApi/TicTacApi/Web.config @@ -33,7 +33,9 @@ - + + + diff --git a/taarak int008/TicTacApi/TicTacApi/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/taarak int008/TicTacApi/TicTacApi/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000000000000000000000000000000000000..63fc81ed929d6167ade9eb9e772b82b52a6ae16d GIT binary patch literal 13857 zcmeHO-FF*D6_*lc8#_&jLrBx4Eh-dfi#tgEi~|82$xhtH##pKYM8+BIj^v5=Lzx-b zR*iWoFB}dW-~bPBfOih3j~xC0UihcrcURKtBZ`}zvuo$U>*MiycV>RSnYnZ4&Yiod zbSjnlA1?Y!*UM*+I4jatfexyMZAjhVZqYOx8L)idd4a!NSe(dg2&HA<-_A|5Ed5Mm z@(tHCl(_AShEd#|$gDLguCzZC%~G%<{M(i6RCT60SIy;|nJk~;=LquVGm!2yr0Wpg zvTuY6>JJpJ*M(y1TrKo+g#i?!Y5YxB68;gzbb1>(iK;2 z?mN=qMs#x0Q+=b_aNQ-vJ+T+4ozANgui)L4zIRK3>!7`F(!&y0HDRJ+#YRO7vx-Xe z+p^{dN)$wuqbrtuZNRU~u2u1SM`vnP*UI{;9A3p6Pd)D~m2uHdZ3bu-q!P9Xloa|> z-7#Dh1y}a=8aLbeQf=VDg}Mr==pky=WhH7-8`bO<7)8U3pf0?Qih4Vv2j%L(tChf) zJ3_rR{Bc3*y33mcI9RYPXg68~*HmB&tpl|H_R^qD5V>{{;jA}&BR$bBGFVfqm-MxU z7VDxal<-m2k_tRj`WQ96qB>8*Zn4f-XDut0I*as7I-R!gi!^oSZ|90lZG;E$#Q55V z1diPmzEIL;_t9C8at|LKkp(kigS!o}#-(~R8D%XRCH>k&#?yA7Tv_SPvFD#+b8~#g zo|(+uZWUoj z?{Ou{k+EB5tBa+`hMd@)W;1MZqGN)#&CSLAL+cgP^oz88s|=$>>9XNm@g3%D!%|SZ z>;!hh6TZ>q-Oxs8#3FvoSRYvG;P7vnTK-=RFTCE)RQ zRh`>Aye2fW!wrRX9WZYEFbnlMc1xVBNo*ZtZQDeMH-PBJkGK*z!VSeEyko-g_L(C& zB+Ij22j*t{n0MWv!d=ES-?!dKrXvTNg?*qA`-T}~y$M7o{zeTV0_n>@dJ;d9ww0`7 zx^s!?GC9fS->=X{Ih)PR&aubZ$^f=;%&?yH3HmKSm*a~5u{WhcNOKAZP*Y1xfC`C?}Y2sQru;PR`J8K*%mon?@LQYEfs zu)8;)g*My~ba1`}oCJ&|!dVxt;97K$vOxMI{!U(mGuSkvO$eLCnm$#AXSM7LGd)ut zd{3%22P(flc`C&xZc(UR9C#3^Ns#(9eo|eNV%Xkep@xkm3y)uHQ8(zjNtWyBy`Iv` zY%nvio&xKC9XIQOs0-hLXTRBY&Iby-$&%}idmr;*1&IAL*#G;u*{=yz%?CKd5b8PU z4=q9bXTbkI$IbtN^qpW&w?(&vS?&oO9p$&V?+f?nfoK(astmPd7Hvt?%oryBq^FLQ z9LhlK=D_YBC)?9U^XwZGVtf;f|9;$zkKj1O^FcJ{LG!;!(j=q15O@rpvRz3BysQuy z>;gL$z#5KHtAX;`d%sLX(-f9>C7H-L zxnXlXim9zCB4$fiLAWuUp|}f@jU>CI9R$NL5R$v{xENA-~x_!)|i#6D8V zKLoG893L-W-wSk0C-=H~+B!L+*2zZ`W*rpWq-Cj3ITeAJs4n=C=Y}F%0#KsMF9F?` z{u4qQp$Li7xSrFvo>(JT;|_}pLrS&~Iqd0kTUvfB&TqlZNm`$>*tDmfj#IE2UE>t6MtrRwBe`~vANq~Nq4g8Iy?k&_`i7$7DO`RTljqQS zi09W2O2a<@XdYT+ypJaaZWA?KJXq&@)tiZk#}c=>1J~hr7)A$}mqM8!fuZZ{KTlQMXMLx1s^X&WM>a3~AA+>b?EnA( literal 0 HcmV?d00001 diff --git a/taarak int008/WebApplication2/WebApplication2/obj/Debug/TempPE/Models.Module.Designer.cs.dll b/taarak int008/TicTacApi/TicTacApi/obj/Debug/TempPE/Models.TicModel.Designer.cs.dll similarity index 56% rename from taarak int008/WebApplication2/WebApplication2/obj/Debug/TempPE/Models.Module.Designer.cs.dll rename to taarak int008/TicTacApi/TicTacApi/obj/Debug/TempPE/Models.TicModel.Designer.cs.dll index 98b6930b4cc1b516437e14e42ea6c5e34b5825f4..cf90ac187dcbca0226ac41139e41d988a077f5e7 100644 GIT binary patch delta 273 zcmZn=Xb_mt!Cc>-II&xnQEcMMaK3usCo8g=PYz%* z(EY-|z@QvlQk0pOUJPV1hyZ0-Kw_c63=%-L0Eq1#>gfWcH72iR3N$>#z{cRt03wAM z)-&)kJOavq03(!SWZ-023FHX^Nj3&ahLw}`nbjFPCxV#w_`{t*l=IFVk7H6jC zr55QW7we_uYv! delta 272 zcmZn=Xb_mt!R&b|dSbUMqtL{a;fx0+GcwjQN=$A9l3yk>G6}O5FflMNPF7?!pB%ts zp!t4v-xUt)pSv@tUST7_q**8BWHAgSGST7|f2ZR~G0tl(e|CvJt1Q%RL W?LGO(Z<4cAZkVB%=;jobIm`f}VI6`1 delta 80 zcmZn=Xb_mt!My22^u}&qX7$pXR6Uo};>`5C)FQp)V!f1{91v#k%}+s=n*5(RRN(re Yx|*mHnZC_gmajV}Zh5vjg=G#i0OP|T$^ZZW diff --git a/taarak int008/WebApplication2/WebApplication2/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs b/taarak int008/TicTacApi/TicTacApi/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs similarity index 100% rename from taarak int008/WebApplication2/WebApplication2/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs rename to taarak int008/TicTacApi/TicTacApi/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs diff --git a/taarak int008/WebApplication2/WebApplication2/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs b/taarak int008/TicTacApi/TicTacApi/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs similarity index 100% rename from taarak int008/WebApplication2/WebApplication2/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs rename to taarak int008/TicTacApi/TicTacApi/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs diff --git a/taarak int008/WebApplication2/WebApplication2/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs b/taarak int008/TicTacApi/TicTacApi/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs similarity index 100% rename from taarak int008/WebApplication2/WebApplication2/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs rename to taarak int008/TicTacApi/TicTacApi/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs diff --git a/taarak int008/TicTacApi/TicTacApi/obj/Debug/TicTacApi.csproj.FileListAbsolute.txt b/taarak int008/TicTacApi/TicTacApi/obj/Debug/TicTacApi.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..cde11ff --- /dev/null +++ b/taarak int008/TicTacApi/TicTacApi/obj/Debug/TicTacApi.csproj.FileListAbsolute.txt @@ -0,0 +1,48 @@ +c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\bin\ApplicationInsights.config +c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\bin\roslyn\csc.exe +c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\bin\roslyn\Microsoft.Build.Tasks.CodeAnalysis.dll +c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\bin\roslyn\Microsoft.CodeAnalysis.CSharp.dll +c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\bin\roslyn\Microsoft.CodeAnalysis.dll +c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\bin\roslyn\Microsoft.CodeAnalysis.VisualBasic.dll +c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\bin\roslyn\Microsoft.CSharp.Core.targets +c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\bin\roslyn\Microsoft.VisualBasic.Core.targets +c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\bin\roslyn\System.Collections.Immutable.dll +c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\bin\roslyn\System.Reflection.Metadata.dll +c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\bin\roslyn\vbc.exe +c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\bin\roslyn\VBCSCompiler.exe +c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\bin\roslyn\VBCSCompiler.exe.config +c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\bin\TicTacApi.dll.config +c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\bin\TicTacApi.dll +c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\bin\TicTacApi.pdb +c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\bin\EntityFramework.dll +c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\bin\EntityFramework.SqlServer.dll +c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\bin\Microsoft.AI.Agent.Intercept.dll +c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\bin\Microsoft.AI.DependencyCollector.dll +c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\bin\Microsoft.AI.PerfCounterCollector.dll +c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\bin\Microsoft.AI.ServerTelemetryChannel.dll +c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\bin\Microsoft.AI.Web.dll +c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\bin\Microsoft.AI.WindowsServer.dll +c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\bin\Microsoft.ApplicationInsights.dll +c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\bin\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll +c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\bin\EntityFramework.xml +c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\bin\EntityFramework.SqlServer.xml +c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\bin\Microsoft.AI.DependencyCollector.xml +c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\bin\Microsoft.AI.ServerTelemetryChannel.xml +c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\bin\Microsoft.AI.Web.xml +c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\bin\Microsoft.AI.WindowsServer.xml +c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\bin\Microsoft.ApplicationInsights.xml +c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\bin\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.xml +c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\obj\Debug\TicTacApi.csprojResolveAssemblyReference.cache +c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\obj\Debug\TicTacApi.dll +c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\obj\Debug\TicTacApi.pdb +c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\bin\Newtonsoft.Json.dll +c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\bin\System.Net.Http.Formatting.dll +c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\bin\System.Web.Cors.dll +c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\bin\System.Web.Http.Cors.dll +c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\bin\System.Web.Http.dll +c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\bin\System.Web.Http.WebHost.dll +c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\bin\Newtonsoft.Json.xml +c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\bin\System.Net.Http.Formatting.xml +c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\bin\System.Web.Http.xml +c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\bin\System.Web.Http.Cors.xml +c:\users\taarak.dhingra\documents\visual studio 2015\Projects\TicTacApi\TicTacApi\bin\System.Web.Http.WebHost.xml diff --git a/taarak int008/TicTacApi/TicTacApi/obj/Debug/TicTacApi.csprojResolveAssemblyReference.cache b/taarak int008/TicTacApi/TicTacApi/obj/Debug/TicTacApi.csprojResolveAssemblyReference.cache new file mode 100644 index 0000000000000000000000000000000000000000..e95a6ddd50ae89426d0d587b8900eb7b06aa6fab GIT binary patch literal 106568 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 literal 0 HcmV?d00001 diff --git a/taarak int008/WebApplication2/WebApplication2/obj/Debug/WebApplication2.pdb b/taarak int008/TicTacApi/TicTacApi/obj/Debug/TicTacApi.pdb similarity index 52% rename from taarak int008/WebApplication2/WebApplication2/obj/Debug/WebApplication2.pdb rename to taarak int008/TicTacApi/TicTacApi/obj/Debug/TicTacApi.pdb index 8c35de021ef395da30245e8ec52eb90002be3726..92641e66e537b8c63bb2da9abccb25b261a76b47 100644 GIT binary patch delta 3401 zcma)8dsNfc9ltjul&2#EL>@8W{R$)y5EMuVB)m%GF>F~!H!-FfhXhUNvFFqix^`RZ z(YEBPPB+g^>#@!`XbagNv(=7u_8d2zr#)kT>`|*5XLhTsb*($PL)U%3zu!$rJ9PUV zK78-JpYQA5+p&Htp?w@bg(??Wyk!zG=@foID!J>^n1KJHdk~9cjJ= z*FxLk>!H3wm#_FQ_aAuAaw$K|y^?*>n_l&euYLc__ScIJ9sEPZqjy|k?rg`>hevu6 z6Cc}t^5bo34?S@DgB!mObGl1EQeFD&@~@6xeq-X*&HsEUaV}=ljBT3p7}(XR32C!F z;EF6I+-$RH20X5TVV7;pGZbmT8|`}7mt)oVJud&SYZ$pm3r=s;! zqOMq0U%OOR`bv?ufl=3bS5KWY8^*Pk6&E9**QGn~XQyA@hiHjmY&YtcL7kP6KA~Xj z8sa3<8q_2Uq4)H;e6rUc%!`Y2TW=d)d~=?|E|UqG^O6F8k&Ptl5^QJx$;6-eTl2q% zuuV}YHbrs^J5n!W&amwh$*XpeZKMw5qHU?xu7PjrfG(4W4h}PlPyi3Y_CCX{+~n2b^8^iGzSvB^q;Xb)CNR1Vk_ct#6iT= zjIEu|ZrI9s3b-50YMKv89O69UkCV0sXA3rSHRT{7;uAy~F6DEcaowY&YBeD2*ek<~0ltwg;U39>&1eFau{x@azaH7ihW!ks9ekV<)Lg1W>22a1a` z2SoA>=o1zV=9q?G7iT1&!e}XILF_c#EdDZ2g};{SGT#PGvYAjtj}hr^}) zqJ$BeEs9oF(*Fz$QZDq*-RyQx4WlTSw3tU;R{SiY2u(m3{be14ylYz$*wMUedt zI8*jjjFVoj%Y0hI!G(!PCdOF=XL*B~ei8+XW&c2~5pfKTmbdb0c(**juZJEsm^mL0 zO;*Hk1x=vxFn2#Bk20|BlaWc*FTGxN8CWfVbOX-J)##e zf_MsXL@{Fv@?f8MG1TJ*<7e;A#J{}$Sk4x>Ww zPBFG9`tOQe_CLP6wRh$F+AZ1_aLH&pMN8zm25W~l*Y0SkGS}E} znJZqayvf-%$+RuvkOzT|;zt;J2uD_lQJiE%DEfB9ePZN`ocA8wqsY;HK|+3z)Hwm? zJJ+b_+;5N;^g6blm0ENMOh~O;*czl(vJ<_+ceD~d?aWSA;>Z&6^wF$`!mg&oFR>D; z5oHh9?$_ud)31Ecy#=3jt=`c`Jlj}(OMQ*mR9ywuu6+EcUhL8qe9_W2Ha6mM4f{Rb zQHICIT+_C`9vZuf_$sKoUt7LxE`J6q{nG2u?{zyy{T{!^?PIl7bv3Py`Zi2b7$3eR z=cuf;|K%;6B2%5sVXCWgfTgRTLe2K$W+w6Kt4&q4L%qAbJKQe6FY0j^34?Fc7J7r` zMMk2m5uy;{km({H!<0@k*?`EP1GCKm7nfcVq(o@Cm5@jyj3@2w{qM zg8Y`Defv%16GK%AWjxp)mri#(ULfo@XiA!7H)#8HO=pprLR{uR97K9*6)hfV@rp~ov~$eUJ~L1pYc%2z(@GtP5BQSs`cgo delta 3910 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 diff --git a/taarak int008/WebApplication2/WebApplication2/obj/Debug/edmxResourcesToEmbed/Models/Module.csdl b/taarak int008/TicTacApi/TicTacApi/obj/Debug/edmxResourcesToEmbed/Models/TicModel.csdl similarity index 88% rename from taarak int008/WebApplication2/WebApplication2/obj/Debug/edmxResourcesToEmbed/Models/Module.csdl rename to taarak int008/TicTacApi/TicTacApi/obj/Debug/edmxResourcesToEmbed/Models/TicModel.csdl index b77216a..e56dcbb 100644 --- a/taarak int008/WebApplication2/WebApplication2/obj/Debug/edmxResourcesToEmbed/Models/Module.csdl +++ b/taarak int008/TicTacApi/TicTacApi/obj/Debug/edmxResourcesToEmbed/Models/TicModel.csdl @@ -5,7 +5,6 @@ - diff --git a/taarak int008/WebApplication2/WebApplication2/obj/Debug/edmxResourcesToEmbed/Models/Module.msl b/taarak int008/TicTacApi/TicTacApi/obj/Debug/edmxResourcesToEmbed/Models/TicModel.msl similarity index 90% rename from taarak int008/WebApplication2/WebApplication2/obj/Debug/edmxResourcesToEmbed/Models/Module.msl rename to taarak int008/TicTacApi/TicTacApi/obj/Debug/edmxResourcesToEmbed/Models/TicModel.msl index f50221c..92f342b 100644 --- a/taarak int008/WebApplication2/WebApplication2/obj/Debug/edmxResourcesToEmbed/Models/Module.msl +++ b/taarak int008/TicTacApi/TicTacApi/obj/Debug/edmxResourcesToEmbed/Models/TicModel.msl @@ -5,7 +5,6 @@ - diff --git a/taarak int008/WebApplication2/WebApplication2/obj/Debug/edmxResourcesToEmbed/Models/Module.ssdl b/taarak int008/TicTacApi/TicTacApi/obj/Debug/edmxResourcesToEmbed/Models/TicModel.ssdl similarity index 92% rename from taarak int008/WebApplication2/WebApplication2/obj/Debug/edmxResourcesToEmbed/Models/Module.ssdl rename to taarak int008/TicTacApi/TicTacApi/obj/Debug/edmxResourcesToEmbed/Models/TicModel.ssdl index 8e76280..1c5c07d 100644 --- a/taarak int008/WebApplication2/WebApplication2/obj/Debug/edmxResourcesToEmbed/Models/Module.ssdl +++ b/taarak int008/TicTacApi/TicTacApi/obj/Debug/edmxResourcesToEmbed/Models/TicModel.ssdl @@ -5,7 +5,6 @@ - diff --git a/taarak int008/WebApplication2/WebApplication2/packages.config b/taarak int008/TicTacApi/TicTacApi/packages.config similarity index 100% rename from taarak int008/WebApplication2/WebApplication2/packages.config rename to taarak int008/TicTacApi/TicTacApi/packages.config diff --git a/taarak int008/WebApplication2/WebApplication2/Global.asax b/taarak int008/WebApplication2/WebApplication2/Global.asax deleted file mode 100644 index 495d728..0000000 --- a/taarak int008/WebApplication2/WebApplication2/Global.asax +++ /dev/null @@ -1 +0,0 @@ -<%@ Application Codebehind="Global.asax.cs" Inherits="WebApplication2.WebApiApplication" Language="C#" %> diff --git a/taarak int008/WebApplication2/WebApplication2/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/taarak int008/WebApplication2/WebApplication2/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache deleted file mode 100644 index 5f3ec86f0b5a46f87ce83d2511c2673755ba8f0a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14178 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 diff --git a/taarak int008/WebApplication2/WebApplication2/obj/Debug/TempPE/Models.Module.cs.dll b/taarak int008/WebApplication2/WebApplication2/obj/Debug/TempPE/Models.Module.cs.dll deleted file mode 100644 index daac83cf1afa8935ccf0359f0d705e172e29e104..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2048 zcmeHH&r1|>6#vY+>Z)mqAxKbP*QDEEtd}5SU02NT7p^9hkTc_#b>O=*%gn54hmfK} zx1dw^jzSkf=})MjTI_g|s~K$`gY z7&su!l#k`vVu!*#SKswuuj6p&z?eB4TH0_!Q4RcZU{!=;d7d8$TZ*9O3D*(cD*?!2bAUYG=Cj1;EdKUl4wc7&|xGDef4Qi=C>mb4(w69c_5rWn`FRM%J|L$7H; z{yC@e)6m*v7tt>5JDl=(@>@NdRkR zAeHav8uH}koHpVn$^(Ta^RM6$_0Pn$rO=860j$y)20Q0YX9hV6p#ZPH9! zYWpRigN>g?4g*Q;ya)Hd<7H;d3`nipa2>le%BfiP<25egW1LaX=EL0EiNlp2 zUq-$mEes>mB4D%<=0D diff --git a/taarak int008/WebApplication2/WebApplication2/obj/Debug/TempPE/Module.cs.dll b/taarak int008/WebApplication2/WebApplication2/obj/Debug/TempPE/Module.cs.dll deleted file mode 100644 index a5d5e6c3a6c10b6c38a55e17e3bc133e7b312e2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2048 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 diff --git a/taarak int008/WebApplication2/WebApplication2/obj/Debug/WebApplication2.dll b/taarak int008/WebApplication2/WebApplication2/obj/Debug/WebApplication2.dll deleted file mode 100644 index e98d4f3244036c8cd8a0989190371f6b522f032e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12800 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 a&3* diff --git a/taarak int008/tic.css b/taarak int008/tic.css index d394054..555fe7a 100644 --- a/taarak int008/tic.css +++ b/taarak int008/tic.css @@ -9,19 +9,120 @@ table tr td { - border: 3px solid red; + /*border: 3px solid red;*/ + padding: 5px; + border-radius: 5px; + } body{ - margin-left:35% ; - margin-top: 15%; - background: #000000; + margin-left:40% ; + + background:url("https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQ7RBCMxVPLhddSVo0orzQC9lZVmWF99sbrwG4D6A6wRUn0pPpv"); + background-repeat: no-repeat; + background-size: cover; } table{ border-collapse: collapse; } +.stylingbutton{ + + border-radius: 15px; + cursor: pointer; + + margin-top: 9px; + margin-bottom: 9px; + margin-right: 5px; + box-shadow: 0px 7px #999; +} .stylingbutton:hover{ - background-color: yellow; -} \ No newline at end of file + background-color: #2F4F4F; +} +.stylingbutton:active{ + + + + box-shadow: 0 5px #FFF; + transform: translateY(4px); +} +/*.stylingbutton:focus{ + background:olive; +}*/ + +.player1details{ + + margin-top: 60px; + + + + height: 50px; + width: 90px; + font-size: 20px; + border-radius: 5px; + +} +.player2details{ + + margin-top: 60px; + + margin-left:150px; + height: 50px; + width: 90px; + font-size: 20px; +border-radius: 5px;} + +.player1points{ + + margin-top: 20px; + width: 90px; + height: 30px; + border-radius: 5px; + margin-top: 50px; +} +.player2points{ + + margin-top: 20px; + width: 90px; + height: 30px; + margin-left: 150px; + border-radius: 5px; + margin-top: 50px; +} +.datapost +{ + width:80px; + height: 50px; + font-size: 15px; + margin-top: 50px; + font-weight: bold; + +} + +.dataposttwo{ + + width:80px; + height: 50px; + font-size: 15px; + margin-left: 160px; + margin-top: 50px; + font-weight: bold; +} +.player2heading{ + + margin-left: 150px; + display: inline; + color: #FFFFFF; + font-size: 20px; + font-weight: bold; + margin-top: 70px; +} +.player1heading{ + display: inline; + color: #FFFFFF; + font-size: 20px; + font-weight: bold; + margin-top: 70px; +} + diff --git a/taarak int008/ticbackend.js b/taarak int008/ticbackend.js new file mode 100644 index 0000000..6016806 --- /dev/null +++ b/taarak int008/ticbackend.js @@ -0,0 +1,196 @@ +function postingdetails() +{ +var player1name=document.getElementById('player1details').value; + +var PostingData={ + "Name":player1name, + "Points":50 +} + + + $.ajax({ + type: 'POST', + url: 'http://localhost:65257/api/Users', + data:PostingData, + success: function(data) + { + alert("ENTERED DEATILS"); + $.ajax({ + type: 'GET', + url: 'http://localhost:65257/api/Users/' + player1name, + + success: function(data) + { + console.log(data); + document.getElementById("player1points").value=data.Points; + alert("wohoooo!! you receive50 bonus points"); + + } + }); + + } + }); +} + + +function postingdetailsplayer(){ +var player2name=document.getElementById('player2details').value; +console.log("good till now2"); + + +var PostingPlayer={ + "Name":player2name, + "Points":50 +} + + $.ajax({ + type: 'POST', + url: 'http://localhost:65257/api/Users', + data:PostingPlayer, + success: function(data) + { + alert("ENTERED DEATILS"); + + $.ajax({ + type: 'GET', + url: 'http://localhost:65257/api/Users/' + player2name, + + success: function(data) + { + console.log(data); + document.getElementById("player2points").value=data.Points; + alert("WOHOO!!!YOU RECEIVED 50 BONUS POINTS.."); + + } + }); + + } + }); +} + +function xwins() +{ + var pointsone=document.getElementById('player1points').value; + var playeronename=document.getElementById('player1details').value; + console.log(pointsone); + var updatepointsone={ + "Points": Number(pointsone) +10, + "Name":playeronename + + } + document.getElementById("player1points").value = updatepointsone.Points; + + console.log(updatepointsone); + + $.ajax({ + url: 'http://localhost:65257/api/Users/'+ playeronename, + type: 'PUT', + data:updatepointsone, + success: function(data) { + alert("HUURAH!WINNER GETS 10 POINTS");} + /* $.ajax({ + type: 'GET', + url: 'http://localhost:65257/api/Users/' + player1name, + + success: function(data) + { + console.log(data); + document.getElementById("player1points").value=data.Points; + + + } + }); + + }*/ +}); + } + + function oloss() + {var pointstwo=document.getElementById('player2points').value; + var playertwoname=document.getElementById('player2details').value + var updatepointstwo={ + "Points":pointstwo-5, + "Name":playertwoname + + } + document.getElementById("player2points").value = updatepointstwo.Points; + + + $.ajax({ + url: 'http://localhost:65257/api/Users/'+ playertwoname, + type: 'PUT', + data:updatepointstwo, + success: function(data) { + alert("MINUS 5 POINTS "); + + } +}); + + + } + + + + + + function xloss() +{ + var pointsone=document.getElementById('player1points').value; + var playeronename=document.getElementById('player1details').value; + console.log(pointsone); + var updatepointsone={ + "Points": Number(pointsone) -5, + "Name":playeronename + + } + document.getElementById("player1points").value = updatepointsone.Points; + + console.log(updatepointsone); + + $.ajax({ + url: 'http://localhost:65257/api/Users/'+ playeronename, + type: 'PUT', + data:updatepointsone, + success: function(data) { + alert("HUURAH!WINNER GETS 10 POINTS");} + /* $.ajax({ + type: 'GET', + url: 'http://localhost:65257/api/Users/' + player1name, + + success: function(data) + { + console.log(data); + document.getElementById("player1points").value=data.Points; + + + } + }); + + }*/ +}); + } + + function owins() + {var pointstwo=document.getElementById('player2points').value; + var playertwoname=document.getElementById('player2details').value + var updatepointstwo={ + "Points":Number(pointstwo) +10, + "Name":playertwoname + + } + document.getElementById("player2points").value = updatepointstwo.Points; + + + $.ajax({ + url: 'http://localhost:65257/api/Users/'+ playertwoname, + type: 'PUT', + data:updatepointstwo, + success: function(data) { + alert("MINUS 5 POINTS "); + + } +}); + + + } + diff --git a/taarak int008/tictacsql.sql b/taarak int008/tictacsql.sql deleted file mode 100644 index ff51d1f..0000000 --- a/taarak int008/tictacsql.sql +++ /dev/null @@ -1,6 +0,0 @@ - - -create table Users(Name varchar(255) primary key,Password varchar(16), Points int) -insert into Users values('taarak',3434343,50); -insert into Users values('risabh',5353,); -select * from Users; diff --git a/taarak int008/tictacsqlupdated.sql b/taarak int008/tictacsqlupdated.sql new file mode 100644 index 0000000..4bab856 --- /dev/null +++ b/taarak int008/tictacsqlupdated.sql @@ -0,0 +1,13 @@ + + +create table Users(Name varchar(255) primary key,Password varchar(16), Points int) +insert into Users values('taarak',3434343,50); +insert into Users(Name,Password) values('risasssbh',5353); + +ALTER TABLE Users ADD DEFAULT 50 FOR Points + + +delete from Users where Points IS NULL; +select * from Users; + +alter table Users drop column Password; diff --git a/taarak int008/tictactoe.html b/taarak int008/tictactoe.html index 16f4cc3..c2405b6 100644 --- a/taarak int008/tictactoe.html +++ b/taarak int008/tictactoe.html @@ -5,10 +5,15 @@ - - + + + + + + \ No newline at end of file