Advertisement
Guest User

Untitled

a guest
Aug 14th, 2017
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.41 KB | None | 0 0
  1. public JsonResult Register(User u)
  2. {
  3. string message = "";
  4. //Here we will save data to the database
  5. if (ModelState.IsValid)
  6. {
  7. using (MyDatabaseEntities dc = new MyDatabaseEntities())
  8. {
  9. //check username available
  10. var user = dc.Users.Where(a =>
  11. a.Username.Equals(u.Username)).FirstOrDefault();
  12.  
  13. if (user == null)
  14. {
  15. //Save here
  16. dc.Users.Add(u);
  17. dc.SaveChanges();
  18. message = "Success";
  19. }
  20. else
  21. {
  22. message = "Username not available!";
  23. }
  24. }
  25. }
  26. else
  27. {
  28. message = "Failed!";
  29. }
  30. return new JsonResult { Data = message, JsonRequestBehavior =
  31. JsonRequestBehavior.AllowGet };
  32. }
  33. }
  34. }
  35.  
  36.  
  37. PART6.CSHTML
  38.  
  39. @{
  40. ViewBag.Title = "Part6";
  41. }
  42. <style>
  43. input {
  44. padding: 5px;
  45. border: 1px solid #A5A5A5;
  46. }
  47.  
  48. input.ng-dirty.ng-invalid {
  49. border: 1px solid red;
  50. background-color: rgb(255, 244, 244);
  51. }
  52.  
  53. .error {
  54. color: red;
  55. }
  56. </style>
  57. <h2>Patient Registration Form</h2>
  58. <div ng-controller="Part6Controller">
  59. <form novalidate name="f1" ng-submit="SaveData(User)">
  60. <div style="color:red">{{message}}</div>
  61. <table>
  62. <tr>
  63. <td>Full Name : </td>
  64. <td>
  65. <input type="text" ng-model="User.FullName"
  66. name="uFullName" ng-class="submitted?'ng-dirty':''" required autofocus />
  67. <span class="error" ng-show="
  68. (f1.uFullName.$dirty || submitted) && f1.uFullName.$error.required">Fullname
  69. required!</span>
  70.  
  71. <!-- here (f1.uFullName.$dirty || submitted)
  72. means if submit button clicked or it is dirty -->
  73. </td>
  74. </tr>
  75. <tr>
  76. <td>Email ID : </td>
  77. <td>
  78. <input type="email" ng-model="User.EmailID"
  79. name="uEmailID" ng-class="submitted?'ng-dirty':''" /> <!-- Not required-->
  80. <span class="error" ng-show="(f1.uEmailID.$dirty
  81. || submitted) && f1.uEmailID.$error.email">Email ID not valid!</span>
  82.  
  83. @* here f1.uEmailID.$error.email will check is
  84. provided email id valid or not *@
  85. </td>
  86. </tr>
  87. <tr>
  88. <td>Username : </td>
  89. <td>
  90. <input type="text" ng-model="User.Username"
  91. name="uUsername" ng-class="submitted?'ng-dirty':''" required />
  92. <span class="error" ng-show="
  93. (f1.uUsername.$dirty || submitted) &&
  94. f1.uUsername.$error.required">Username required!</span>
  95. </td>
  96. </tr>
  97. <tr>
  98. <td>Password : </td>
  99. <td>
  100. <input type="password" ng-model="User.Password"
  101. name="uPassword" ng-class="submitted?'ng-dirty':''" required />
  102. <span class="error" ng-show="
  103. (f1.uPassword.$dirty || submitted) && f1.uPassword.$error.required">Password
  104. required!</span>
  105. </td>
  106. </tr>
  107. <tr>
  108. <td> Gender : </td>
  109. <td>
  110. <input type="radio" ng-model="User.Gender"
  111. name="uGender" value="Male" required /> Male
  112. <input type="radio" ng-model="User.Gender"
  113. name="uGender" value="Female" required /> Female
  114. <span class="error" ng-show="(f1.uGender.$dirty
  115. || submitted) && f1.uGender.$error.required">Gender required!</span>
  116. </td>
  117. </tr>
  118. <tr>
  119. <td></td>
  120. <td>
  121. <input type="submit" value="{{submitText}}" />
  122. </td>
  123. </tr>
  124. </table>
  125. </form>
  126. </div>
  127.  
  128. @section Scripts{
  129. <script src="~/Scripts/Part6Controller.js"></script>
  130. }
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138. PART6CONTROLLER.JS
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147. angular.module('MyApp') //extending angular module from First Part
  148. .controller('Part6Controller', function ($scope,
  149. RegistrationService) { //explained about controller in Part 2
  150. //Default Variable
  151. debugger;
  152. $scope.submitText = "Save";
  153. $scope.submitted = false;
  154. $scope.message = '';
  155. $scope.isFormValid = false;
  156. $scope.User = {
  157. Username: '',
  158. Password: '',
  159. FullName: '',
  160. EmailID: '',
  161. Gender: ''
  162. };
  163. //Check form Validation // here f1 is our form name
  164. $scope.$watch('f1.$valid', function (newValue) {
  165. $scope.isFormValid = newValue;
  166. });
  167. //Save Data
  168. $scope.SaveData = function (data) {
  169. if ($scope.submitText == 'Save') {
  170. $scope.submitted = true;
  171. $scope.message = '';
  172. debugger;
  173. if ($scope.isFormValid) {
  174. $scope.submitText = 'Please Wait...';
  175. $scope.User = data;
  176.  
  177.  
  178. RegistrationService.SaveFormData($scope.User).then(function (d) {
  179. alert(d);
  180. if (d == 'Success') {
  181. //have to clear form here
  182. ClearForm();
  183. }
  184. debugger;
  185. $scope.submitText = "Save";
  186. });
  187. }
  188. else {
  189. $scope.message = 'Please fill required fields
  190. value';
  191. }
  192. }
  193. }
  194. //Clear Form (reset)
  195. function ClearForm() {
  196. $scope.User = {};
  197. $scope.f1.$setPristine(); //here f1 our form name
  198. $scope.submitted = false;
  199. }
  200. })
  201. .factory('RegistrationService', function ($http, $q) {
  202. //explained about factory in Part 2
  203. //here $q is a angularjs service with help us to run
  204. asynchronous function and return result when processing done
  205. var fac = {};
  206. fac.SaveFormData = function (data) {
  207. debugger;
  208. var defer = $q.defer();
  209. $http({
  210. url: '/Data/Register',
  211. method: 'POST',
  212. data: JSON.stringify(data),
  213. headers: { 'content-type': 'application/json' }
  214. }).then(function (d) {
  215. // Success callback
  216. defer.resolve(d);
  217. }).catch(function (e) {
  218. //Failed Callback
  219. alert('Error!');
  220. defer.reject(e);
  221. });
  222. return defer.promise;
  223. }
  224. return fac;
  225. });
  226.  
  227. namespace MvcApplicationAngularJS
  228. {
  229. using System;
  230. using System.Data.Entity;
  231. using System.Data.Entity.Infrastructure;
  232.  
  233. public partial class MyDatabaseEntities : DbContext
  234. {
  235. public MyDatabaseEntities()
  236. : base("name=MyDatabaseEntities")
  237. {
  238. }
  239.  
  240. protected override void OnModelCreating(DbModelBuilder modelBuilder)
  241. {
  242. throw new UnintentionalCodeFirstException();
  243. }
  244.  
  245. public DbSet<Contact> Contacts { get; set; }
  246. public DbSet<User> Users { get; set; }
  247. public DbSet<Employee> Employees { get; set; }
  248. public DbSet<Country> Countries { get; set; }
  249. public DbSet<State> States { get; set; }
  250. }
  251. }
  252.  
  253. [1]: https://i.stack.imgur.com/BzpgR.jpg
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement