Monday, 25 April 2016

get all timezones and their time offset using c#

 foreach (TimeZoneInfo z in TimeZoneInfo.GetSystemTimeZones())
            {
                Console.WriteLine(z.Id);
                Console.WriteLine(z.BaseUtcOffset.TotalMinutes);
                Console.WriteLine(TimeZoneInfo.ConvertTimeToUtc(DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Unspecified), TimeZoneInfo.FindSystemTimeZoneById(z.Id)));
            }







Dateline Standard Time
-720
UTC-11
-660
Hawaiian Standard Time
-600
Alaskan Standard Time
-540
Pacific Standard Time (Mexico)
-480
Pacific Standard Time
-480
US Mountain Standard Time
-420
Mountain Standard Time (Mexico)
-420
Mountain Standard Time
-420
Central America Standard Time
-360
Central Standard Time
-360
Central Standard Time (Mexico)
-360
Canada Central Standard Time
-360
SA Pacific Standard Time
-300
Eastern Standard Time
-300
US Eastern Standard Time
-300
Venezuela Standard Time
-270
Paraguay Standard Time
-240
Atlantic Standard Time
-240
Central Brazilian Standard Time
-240
SA Western Standard Time
-240
Pacific SA Standard Time
-240
Newfoundland Standard Time
-210
E. South America Standard Time
-180
Argentina Standard Time
-180
SA Eastern Standard Time
-180
Greenland Standard Time
-180
Montevideo Standard Time
-180
Bahia Standard Time
-180
UTC-02
-120
Mid-Atlantic Standard Time
-120
Azores Standard Time
-60
Cape Verde Standard Time
-60
Morocco Standard Time
0
UTC
0
GMT Standard Time
0
Greenwich Standard Time
0
W. Europe Standard Time
60
Central Europe Standard Time
60
Romance Standard Time
60
Central European Standard Time
60
W. Central Africa Standard Time
60
Namibia Standard Time
60
Jordan Standard Time
120
GTB Standard Time
120
Middle East Standard Time
120
Egypt Standard Time
120
Syria Standard Time
120
E. Europe Standard Time
120
South Africa Standard Time
120
FLE Standard Time
120
Turkey Standard Time
120
Israel Standard Time
120
Libya Standard Time
120
Arabic Standard Time
180
Kaliningrad Standard Time
180
Arab Standard Time
180
E. Africa Standard Time
180
Iran Standard Time
210
Arabian Standard Time
240
Azerbaijan Standard Time
240
Russian Standard Time
240
Mauritius Standard Time
240
Georgian Standard Time
240
Caucasus Standard Time
240
Afghanistan Standard Time
270
West Asia Standard Time
300
Pakistan Standard Time
300
India Standard Time
330
Sri Lanka Standard Time
330
Nepal Standard Time
345
Central Asia Standard Time
360
Bangladesh Standard Time
360
Ekaterinburg Standard Time
360
Myanmar Standard Time
390
SE Asia Standard Time
420
N. Central Asia Standard Time
420
China Standard Time
480
North Asia Standard Time
480
Singapore Standard Time
480
W. Australia Standard Time
480
Taipei Standard Time
480
Ulaanbaatar Standard Time
480
North Asia East Standard Time
540
Tokyo Standard Time
540
Korea Standard Time
540
Cen. Australia Standard Time
570
AUS Central Standard Time
570
E. Australia Standard Time
600
AUS Eastern Standard Time
600
West Pacific Standard Time
600
Tasmania Standard Time
600
Yakutsk Standard Time
600
Central Pacific Standard Time
660
Vladivostok Standard Time
660
New Zealand Standard Time
720
UTC+12
720
Fiji Standard Time
720
Magadan Standard Time
720
Kamchatka Standard Time
720
Tonga Standard Time
780
Samoa Standard Time
780

Sunday, 24 April 2016

get Timezone Name using Javascript offset object

  function getTimezoneName() {
            var d = new Date();
            var summerOffset = -1 * d.getTimezoneOffset();
         
            var timeZoneHiddenField;

            if (-720 == summerOffset) { timeZoneHiddenField = 'Dateline Standard Time'; }
            else if (-660 == summerOffset ) { timeZoneHiddenField = 'UTC-11'; }
            else if (-660 == summerOffset ) { timeZoneHiddenField = 'Samoa Standard Time'; }
            else if (-660 == summerOffset ) { timeZoneHiddenField = 'Hawaiian Standard Time'; }
            else if (-570 == summerOffset ) { timeZoneHiddenField.value = 'Pacific/Marquesas'; }
                //                else if (-540 == summerOffset && -600 == winterOffset) { timeZoneHiddenField.value = 'America/Adak'; }
                //                else if (-540 == summerOffset && -540 == winterOffset) { timeZoneHiddenField.value = 'Pacific/Gambier'; }
            else if (-480 == summerOffset ) { timeZoneHiddenField = 'Alaskan Standard Time'; }
                //                else if (-480 == summerOffset && -480 == winterOffset) { timeZoneHiddenField = 'Pacific/Pitcairn'; }
            else if (-420 == summerOffset ) { timeZoneHiddenField = 'Pacific Standard Time'; }
            else if (-420 == summerOffset ) { timeZoneHiddenField = 'US Mountain Standard Time'; }
            else if (-360 == summerOffset ) { timeZoneHiddenField = 'Mountain Standard Time'; }
            else if (-360 == summerOffset ) { timeZoneHiddenField = 'Central America Standard Time'; }
                //                else if (-360 == summerOffset && -300 == winterOffset) { timeZoneHiddenField = 'Pacific/Easter'; }
            else if (-300 == summerOffset ) { timeZoneHiddenField = 'Central Standard Time'; }
            else if (-300 == summerOffset ) { timeZoneHiddenField = 'SA Pacific Standard Time'; }
            else if (-240 == summerOffset ) { timeZoneHiddenField = 'Eastern Standard Time'; }
            else if (-270 == summerOffset ) { timeZoneHiddenField = 'Venezuela Standard Time'; }
            else if (-240 == summerOffset ) { timeZoneHiddenField = 'SA Western Standard Time'; }
            else if (-240 == summerOffset ) { timeZoneHiddenField = 'Central Brazilian Standard Time'; }
            else if (-180 == summerOffset ) { timeZoneHiddenField = 'Atlantic Standard Time'; }
            else if (-180 == summerOffset ) { timeZoneHiddenField = 'Montevideo Standard Time'; }
            else if (-180 == summerOffset ) { timeZoneHiddenField = 'E. South America Standard Time'; }
            else if (-150 == summerOffset ) { timeZoneHiddenField = 'Mid-Atlantic Standard Time'; }
            else if (-120 == summerOffset ) { timeZoneHiddenField = 'America/Godthab'; }
            else if (-120 == summerOffset ) { timeZoneHiddenField = 'SA Eastern Standard Time'; }
            else if (-60 == summerOffset ) { timeZoneHiddenField = 'Cape Verde Standard Time'; }
            else if (0 == summerOffset ) { timeZoneHiddenField = 'Azores Daylight Time'; }
            else if (0 == summerOffset ) { timeZoneHiddenField = 'Morocco Standard Time'; }
            else if (60 == summerOffset ) { timeZoneHiddenField = 'GMT Standard Time'; }
            else if (60 == summerOffset ) { timeZoneHiddenField = 'Africa/Algiers'; }
            else if (60 == summerOffset ) { timeZoneHiddenField = 'Namibia Standard Time'; }
            else if (120 == summerOffset ) { timeZoneHiddenField = 'Central European Standard Time'; }
            else if (120 == summerOffset ) { timeZoneHiddenField = 'South Africa Standard Time'; }
            else if (180 == summerOffset ) { timeZoneHiddenField = 'GTB Standard Time'; }
            else if (180 == summerOffset ) { timeZoneHiddenField = 'E. Africa Standard Time'; }
            else if (240 == summerOffset ) { timeZoneHiddenField = 'Russian Standard Time'; }
            else if (240 == summerOffset ) { timeZoneHiddenField = 'Arabian Standard Time'; }
            else if (270 == summerOffset ) { timeZoneHiddenField = 'Iran Standard Time'; }
            else if (270 == summerOffset ) { timeZoneHiddenField = 'Afghanistan Standard Time'; }
            else if (300 == summerOffset ) { timeZoneHiddenField = 'Pakistan Standard Time'; }
            else if (300 == summerOffset ) { timeZoneHiddenField = 'West Asia Standard Time'; }
            else if (330 == summerOffset ) { timeZoneHiddenField = 'India Standard Time'; }
            else if (345 == summerOffset ) { timeZoneHiddenField = 'Nepal Standard Time'; }
            else if (360 == summerOffset ) { timeZoneHiddenField = 'N. Central Asia Standard Time'; }
            else if (360 == summerOffset ) { timeZoneHiddenField = 'Central Asia Standard Time'; }
            else if (390 == summerOffset ) { timeZoneHiddenField = 'Myanmar Standard Time'; }
            else if (420 == summerOffset ) { timeZoneHiddenField = 'North Asia Standard Time'; }
            else if (420 == summerOffset) { timeZoneHiddenField = 'SE Asia Standard Time'; }
            else if (480 == summerOffset ) { timeZoneHiddenField = 'North Asia East Standard Time'; }
            else if (480 == summerOffset ) { timeZoneHiddenField = 'China Standard Time'; }
            else if (540 == summerOffset ) { timeZoneHiddenField = 'Yakutsk Standard Time'; }
            else if (540 == summerOffset ) { timeZoneHiddenField = 'Tokyo Standard Time'; }
            else if (570 == summerOffset ) { timeZoneHiddenField = 'Cen. Australia Standard Time'; }
            else if (570 == summerOffset ) { timeZoneHiddenField = 'Australia/Adelaide'; }
            else if (600 == summerOffset ) { timeZoneHiddenField = 'Asia/Yakutsk'; }
            else if (600 == summerOffset ) { timeZoneHiddenField = 'E. Australia Standard Time'; }
            else if (600 == summerOffset ) { timeZoneHiddenField = 'AUS Eastern Standard Time'; }
            else if (630 == summerOffset ) { timeZoneHiddenField = 'Australia/Lord_Howe'; }
            else if (660 == summerOffset ) { timeZoneHiddenField = 'Tasmania Standard Time'; }
            else if (660 == summerOffset ) { timeZoneHiddenField = 'West Pacific Standard Time'; }
            else if (690 == summerOffset ) { timeZoneHiddenField = 'Central Pacific Standard Time'; }
            else if (720 == summerOffset ) { timeZoneHiddenField = 'Magadan Standard Time'; }
            else if (720 == summerOffset ) { timeZoneHiddenField = 'Fiji Standard Time'; }
            else if (720 == summerOffset ) { timeZoneHiddenField = 'New Zealand Standard Time'; }
            else if (765 == summerOffset) { timeZoneHiddenField = 'Pacific/Chatham'; }
            else if (780 == summerOffset ) { timeZoneHiddenField = 'Tonga Standard Time'; }
            else if (840 == summerOffset ) { timeZoneHiddenField = 'Pacific/Kiritimati'; }
            else { timeZoneHiddenField = 'US/Pacific'; }
            return timeZoneHiddenField;
        }

 //Return C# function
return TimeZoneInfo.ConvertTimeToUtc(DateTime.SpecifyKind(localtime, DateTimeKind.Unspecified), TimeZoneInfo.FindSystemTimeZoneById(TimeZZoneName));

Tuesday, 19 April 2016

UTC to Local date injector in Angular JS

Myservice.factory('dateintercepter', function () {
    return {
        request: function (config) {
            return config;
        },

        requestError: function (config) {
            return config;
        },

        response: function (res) {
            if (typeof (res.data) == "object") {
                if (res.data) {
                    if (res.data.length) {
                        angular.forEach(res.data, function (val, key) {
                            if (typeof (val) == "object") {
                                if (val) {
                                    if (val.length) {
                                        angular.forEach(val, function (val1, key1) {
                                            for (var prop in val1) {
                                                dateUTC.checkNested(prop, val1);
                                            }
                                        })
                                    }
                                    else {
                                        for (var prop in val) {
                                            dateUTC.checkNested(prop, val);
                                        }
                                    }
                                }
                            }
                        })
                    }
                    else {
                        for (var prop in res.data) {
                            dateUTC.checkNested(prop, res.data);
                        }
                    }
                }
            }
            return res;
        },

        responseError: function (res) {
            return res;
        },

    }
});
appModule.config(['$httpProvider', function ( $httpProvider) {
    $httpProvider.interceptors.push('dateintercepter');
}]);


//Namespace
var dateUTC = {};
dateUTC.checkNested = function (prop, val1) {
    //check for string
    if (typeof (val1[prop]) == "string") {
        if (isNaN(val1[prop])) {
            if (dateUTC.checkISOdate(val1[prop])) {
                val1[prop] = moment(moment.utc(val1[prop]).toDate()).format();
            }
        }
    }
    //check for object
    if (typeof (val1[prop]) == "object") {
        //start loop for array
        for (var prp in val1[prop]) {
            if (typeof (val1[prop][prp]) == "string") {
                if (dateUTC.checkISOdate(val1[prop][prp])) {
                    val1[prop][prp] = moment(moment.utc(val1[prop][prp]).toDate()).format();
                }
            }
            if (typeof (val1[prop][prp]) == "object") {
                //start loop for nested object
                for (var pr in val1[prop][prp]) {
                    if (typeof (val1[prop][prp][pr]) == "string") {
                        if (isNaN(val1[prop][prp][pr])) {
                            if (dateUTC.checkISOdate(val1[prop][prp][pr])) {
                                val1[prop][prp][pr] = moment(moment.utc(val1[prop][prp][pr]).toDate()).format();
                            }
                        }
                    }
                    if (typeof (val1[prop][prp][pr]) == "object") {
                        for (var p in val1[prop][prp][pr]) {
                            dateUTC.checkNested(p, val1[prop][prp][pr]);
                        }
                    }
                }
            }
        }
    }
};
dateUTC.checkISOdate = function (date) {
    if (moment(date, "YYYY-MM-DDTHH:mm:ss.SSS", true).isValid()
        || moment(date, "YYYY-MM-DDTHH:mm:ss.SS", true).isValid()
        || moment(date, "YYYY-MM-DDTHH:mm:ss.S", true).isValid()
        || moment(date, "YYYY-MM-DDTHH:mm:ss", true).isValid()) {
        return true;
    }
    return false;
}

get data between two dates c#

 if (DateTimeConvert.GetUTC(startdate.Date) <= Convert.ToDateTime(b.StartTime).Date && Convert.ToDateTime(b.StartTime).Date <= DateTimeConvert.GetUTC(enddate.Date))

Friday, 15 April 2016

Web config for access Wcf using Http

<system.serviceModel>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true"
      multipleSiteBindingsEnabled="true" />
    <services>
      <service behaviorConfiguration="EDItoCRMService.WPServiceBehavior" name="EDItoCRMService.EDItoCRM">
        <endpoint address="" binding="webHttpBinding"
          contract="EDItoCRMService.IeditoCRM" behaviorConfiguration="RESTDemoEndpointBehavior">
        </endpoint>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
      </service>
    </services>
    <bindings>
      <basicHttpBinding>
        <binding name="myBasicBinding" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" closeTimeout="01:50:00" openTimeout="01:50:00" sendTimeout="01:50:00" receiveTimeout="01:50:00" >
                <readerQuotas maxDepth="128" maxStringContentLength="8388608" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
            </binding>
      </basicHttpBinding>
    </bindings>
   
    <behaviors>
      <serviceBehaviors>
        <behavior name="EDItoCRMService.WPServiceBehavior">
          <serviceMetadata httpGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="true" />
        </behavior>
      </serviceBehaviors>
      <endpointBehaviors>
        <behavior name="RESTDemoEndpointBehavior">
          <webHttp />
        </behavior>
      </endpointBehaviors>
     
    </behaviors>
  </system.serviceModel>


[AspNetCompatibilityRequirements(
        RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]

Sunday, 3 April 2016

JWT angular

.factory('authService', ['$http', '$q', 'localStorageService', 'ngAuthSettings', '$window', function ($http, $q, localStorageService, ngAuthSettings, $window) {
    return {
        serviceBase: ngAuthSettings.apiServiceBaseUri,
        authentication: {
            isAuth: false,
            userId: ""
        },
        logOut: function () {
            localStorageService.remove('Token');
            this.authentication.isAuth = false;
            this.authentication.userId = "";
            //localStorageService.set('Token', this.authentication);
        },
        gettoken: function () {
           this.logOut();
            var deferred = $q.defer();
            var data = 'client_id=6241438034&client_secret=1929220595&grant_type=client_credentials';
            localStorageService.remove('Token');
            $http.post(this.serviceBase + 'oauth/token', data, { headers: { 'Content-Type': 'application/x-www-form-urlencoded' } }).success(function (response, status) {
                localStorageService.set('Token', { access_token: response.access_token });
                deferred.resolve({ data: response, status: status });
            }).error(function (err, status) {
                this.logOut();
                $window.location.reload();
                deferred.reject(err);
            });
            return deferred.promise;
        },
        UpdateToken: function (data) {
            localStorageService.set('Token', data);
        },
        GetCurrentToken: function () {
            return !localStorageService.get('Token') ? {} : localStorageService.get('Token');
        },
        fillAuthData: function () {
            var authData = localStorageService.get('Token');
            if (authData) {
                this.authentication.isAuth = true;
                this.authentication.userId = authData.UserId;
            }
        }
    }
}])
.factory('authInterceptorService', ['$q', '$injector', '$location', 'localStorageService', '$window', '$rootScope', function ($q, $injector, $location, localStorageService, $window, $rootScope) {
    return {
        request: function (config) {
            config.headers = config.headers || {};
            var authData = localStorageService.get('Token');
            if (authData) {
                config.headers.Authorization = 'Bearer ' + authData.access_token;
            }
            return config;
        },
        responseError: function (rejection) {
            if (rejection.status === 401) {
                var authService = $injector.get('authService');
                authService.logOut();
                //$location.path('#/sigin');

            }
            if (rejection.status === 0) {
                alert("Please check your Internet connection.");
            }
            return $q.reject(rejection);
        }
    }
}])



  .controller('SigninCntrl', ["$scope", "$window", "CoreService", 'localStorageService', 'authService', 'toaster', '$location', function ($scope, $window, CoreService, localStorageService, authService, toaster, $location) {
      //$scope.firstlogin = true;
      $scope.pop = function (state,title,body) {
          toaster.pop(state, title, body);
      };
      $scope.SignIn = function () {
          debugger;
          if ($scope.SignInData) {
              if ($scope.SignInData.Email && $scope.SignInData.Password) {
                  authService.gettoken().then(function (successs) {
                      if (successs.status == 200) {
                          CoreService.Login([$scope.SignInData.Email, $scope.SignInData.Password]).then(function (success) {
                              if (successs.status == 200) {
                                  angular.forEach(success.data.Attributes, function (obj, index) {
                                      if (obj.Key == 'iotap_isfirsttime') {
                                          if (obj.Value) {
                                              $location.path('/change');
                                              $window.location.reload();
                                          } else {
                                              //window.location.reload(true);
                                              $location.path('/dashboard');
                                              $window.location.reload();
                                          }
                                      }
                                  })
                              } else {
                                  $scope.pop('error', "Unauthorized", "Please Check your UserId and password.");
                              }
                          }, function (err) {
                              $scope.firstlogin = false;
                              $scope.pop('error', "Unauthorized", "Please Check your UserId and password.");
                          })
                      }
                  })


              };
          }
        
      }
      $scope.ChangePassword = function () {
          console.log($scope.Data);
          if ($scope.Data.NewPassword == $scope.Data.NewConfirmPassword) {
              var data = authService.GetCurrentToken();
              CoreService.Change(data.UserId, [$scope.Data.Password, $scope.Data.NewPassword, $scope.Data.NewConfirmPassword]).then(function (success, status) {
                  console.log(status)
                  if (data.IsfirstTime) {
                      CoreService.UpdateEntity(localStorageService.get('uid').UserId, [false]).then(function (success, status) {
                          data.IsfirstTime = false;
                          authService.UpdateToken(data);
                          $location.path('/dashboard');
                      })
                  } else {
                      $location.path('/dashboard');
                  }
              }, function (error) {
                  alert(error.Message);
              })
          }
      }
  }])

Wednesday, 30 March 2016

Get all days between two dates using javascript

// Code goes here

function populate_week_range_options(){
 
    var start_week_date = new Date("2016/03/01"); // no queries exist before this
    //console.log(start_week_date);
    var todays_date = new Date("2018/03/30");

    // array to hold week commencing dates
    var week_commencing_m= new Array();
    var week_commencing_t = new Array();
   
    //week_commencing_m.push(start_week_date);

    while(start_week_date < todays_date){
        var next_date = start_week_date.setDate(start_week_date.getDate() + 1);

        start_week_date = new Date(next_date);
        //console.log(start_week_date);
      
        if(start_week_date.getDay() == 0){
         
            week_commencing_m.push(start_week_date);
        }
       if(start_week_date.getDay() == 1){
            week_commencing_t.push(start_week_date);
        }
       //
    }

    return {"m": week_commencing_m,"T":week_commencing_t};
}
console.log(populate_week_range_options());

https://plnkr.co/edit/d8n7ZeztqkJu75qSFlb0?p=preview