1: var app = angular.module("myapp", ["ngAnimate"]);
2: //service
3: app.factory('DataPost', function ($http, $q) {
4:
5: return {
6:
7: get: function (url, json) {
8: var mydeffered = $q.defer();
9: $http.post(url, json)
10: .success(mydeffered.resolve).error(mydeffered.reject);
11: return mydeffered.promise;
12: }
13: }
14: });
15: // controller
16: app.controller("SignInCtrl", function ($scope, DataPost, $rootScope) {
17:
18: /// Privates
19: var _signIn = function (user) {
20: DataPost.get("/vm/SignIn", user).then(function (data) {
21: console.log(data);
22: user.authenticated = true;
23: $rootScope.user = user;
24: $scope.CurrentUser = user.UserName;
25:
26: }, function (e) {
27: console.log("error " + e + "");
28: user.authenticated = false;
29: $rootScope.user = {};
30: });
31: }
32: var _signOut = function (user) {
33: DataPost.get("/vm/SignOut", user).then(function (data) {
34: $rootScope.user = {};
35: user.authenticated = false;
36:
37: });
38: }
39: var _doSomething = function (user) {
40: DataPost.get("/vm/PerformAction", user).then(function (data) {
41: console.log(data);
42: $scope.responseError = false;
43: $scope.response = data;
44: }, function (e) {
45: console.log("Unauthorized access");
46: $scope.responseError = true;
47: });
48:
49: }
50:
51: // $scope
52: $scope.signIn = function () {
53: console.log($scope.user);
54: _signIn($scope.user);
55: }
56: $scope.signOut = function () {
57: _signOut($scope.user);
58: $scope.performclicked = false;
59: }
60: $scope.Perform = function () {
61: _doSomething($scope.user);
62: $scope.performclicked = true;
63: }
64: $scope.init = function () {
65: // for display only
66: $scope.performclicked = false;
67: $scope.response = "";
68: $scope.responseError = false;
69: }
70: $scope.init();
71: });