Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public JsonResult Register(User u)
- {
- string message = "";
- //Here we will save data to the database
- if (ModelState.IsValid)
- {
- using (MyDatabaseEntities dc = new MyDatabaseEntities())
- {
- //check username available
- var user = dc.Users.Where(a =>
- a.Username.Equals(u.Username)).FirstOrDefault();
- if (user == null)
- {
- //Save here
- dc.Users.Add(u);
- dc.SaveChanges();
- message = "Success";
- }
- else
- {
- message = "Username not available!";
- }
- }
- }
- else
- {
- message = "Failed!";
- }
- return new JsonResult { Data = message, JsonRequestBehavior =
- JsonRequestBehavior.AllowGet };
- }
- }
- }
- PART6.CSHTML
- @{
- ViewBag.Title = "Part6";
- }
- <style>
- input {
- padding: 5px;
- border: 1px solid #A5A5A5;
- }
- input.ng-dirty.ng-invalid {
- border: 1px solid red;
- background-color: rgb(255, 244, 244);
- }
- .error {
- color: red;
- }
- </style>
- <h2>Patient Registration Form</h2>
- <div ng-controller="Part6Controller">
- <form novalidate name="f1" ng-submit="SaveData(User)">
- <div style="color:red">{{message}}</div>
- <table>
- <tr>
- <td>Full Name : </td>
- <td>
- <input type="text" ng-model="User.FullName"
- name="uFullName" ng-class="submitted?'ng-dirty':''" required autofocus />
- <span class="error" ng-show="
- (f1.uFullName.$dirty || submitted) && f1.uFullName.$error.required">Fullname
- required!</span>
- <!-- here (f1.uFullName.$dirty || submitted)
- means if submit button clicked or it is dirty -->
- </td>
- </tr>
- <tr>
- <td>Email ID : </td>
- <td>
- <input type="email" ng-model="User.EmailID"
- name="uEmailID" ng-class="submitted?'ng-dirty':''" /> <!-- Not required-->
- <span class="error" ng-show="(f1.uEmailID.$dirty
- || submitted) && f1.uEmailID.$error.email">Email ID not valid!</span>
- @* here f1.uEmailID.$error.email will check is
- provided email id valid or not *@
- </td>
- </tr>
- <tr>
- <td>Username : </td>
- <td>
- <input type="text" ng-model="User.Username"
- name="uUsername" ng-class="submitted?'ng-dirty':''" required />
- <span class="error" ng-show="
- (f1.uUsername.$dirty || submitted) &&
- f1.uUsername.$error.required">Username required!</span>
- </td>
- </tr>
- <tr>
- <td>Password : </td>
- <td>
- <input type="password" ng-model="User.Password"
- name="uPassword" ng-class="submitted?'ng-dirty':''" required />
- <span class="error" ng-show="
- (f1.uPassword.$dirty || submitted) && f1.uPassword.$error.required">Password
- required!</span>
- </td>
- </tr>
- <tr>
- <td> Gender : </td>
- <td>
- <input type="radio" ng-model="User.Gender"
- name="uGender" value="Male" required /> Male
- <input type="radio" ng-model="User.Gender"
- name="uGender" value="Female" required /> Female
- <span class="error" ng-show="(f1.uGender.$dirty
- || submitted) && f1.uGender.$error.required">Gender required!</span>
- </td>
- </tr>
- <tr>
- <td></td>
- <td>
- <input type="submit" value="{{submitText}}" />
- </td>
- </tr>
- </table>
- </form>
- </div>
- @section Scripts{
- <script src="~/Scripts/Part6Controller.js"></script>
- }
- PART6CONTROLLER.JS
- angular.module('MyApp') //extending angular module from First Part
- .controller('Part6Controller', function ($scope,
- RegistrationService) { //explained about controller in Part 2
- //Default Variable
- debugger;
- $scope.submitText = "Save";
- $scope.submitted = false;
- $scope.message = '';
- $scope.isFormValid = false;
- $scope.User = {
- Username: '',
- Password: '',
- FullName: '',
- EmailID: '',
- Gender: ''
- };
- //Check form Validation // here f1 is our form name
- $scope.$watch('f1.$valid', function (newValue) {
- $scope.isFormValid = newValue;
- });
- //Save Data
- $scope.SaveData = function (data) {
- if ($scope.submitText == 'Save') {
- $scope.submitted = true;
- $scope.message = '';
- debugger;
- if ($scope.isFormValid) {
- $scope.submitText = 'Please Wait...';
- $scope.User = data;
- RegistrationService.SaveFormData($scope.User).then(function (d) {
- alert(d);
- if (d == 'Success') {
- //have to clear form here
- ClearForm();
- }
- debugger;
- $scope.submitText = "Save";
- });
- }
- else {
- $scope.message = 'Please fill required fields
- value';
- }
- }
- }
- //Clear Form (reset)
- function ClearForm() {
- $scope.User = {};
- $scope.f1.$setPristine(); //here f1 our form name
- $scope.submitted = false;
- }
- })
- .factory('RegistrationService', function ($http, $q) {
- //explained about factory in Part 2
- //here $q is a angularjs service with help us to run
- asynchronous function and return result when processing done
- var fac = {};
- fac.SaveFormData = function (data) {
- debugger;
- var defer = $q.defer();
- $http({
- url: '/Data/Register',
- method: 'POST',
- data: JSON.stringify(data),
- headers: { 'content-type': 'application/json' }
- }).then(function (d) {
- // Success callback
- defer.resolve(d);
- }).catch(function (e) {
- //Failed Callback
- alert('Error!');
- defer.reject(e);
- });
- return defer.promise;
- }
- return fac;
- });
- namespace MvcApplicationAngularJS
- {
- using System;
- using System.Data.Entity;
- using System.Data.Entity.Infrastructure;
- public partial class MyDatabaseEntities : DbContext
- {
- public MyDatabaseEntities()
- : base("name=MyDatabaseEntities")
- {
- }
- protected override void OnModelCreating(DbModelBuilder modelBuilder)
- {
- throw new UnintentionalCodeFirstException();
- }
- public DbSet<Contact> Contacts { get; set; }
- public DbSet<User> Users { get; set; }
- public DbSet<Employee> Employees { get; set; }
- public DbSet<Country> Countries { get; set; }
- public DbSet<State> States { get; set; }
- }
- }
- [1]: https://i.stack.imgur.com/BzpgR.jpg
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement