Monday, July 22, 2013

Get Country Name From Ip


1) Right Click on Project Solution 
 





 
 
 
2) copy past this link in Address bar
http://ip.fecundtechno.com/GetCountryCode.svc?wsdl 
 
 














sad




 
 
Give Namspace name you want and Click OK 
 
now add Add namespace in c# file  
like using ServiceReference2

now

call service

GetCountryCodeClient client = new GetCountryCodeClient();
 
client.GetCountryName("<here give ip address>"); 
 
 
 

Monday, July 15, 2013

Responsive Web Design for all Devices

HTML5 and CSS 3.0 are come up with resolution of this problem, where we can create one common web site and that will be loaded in different browser (Devices) with different format.
Below are the screens which we have opened in different devices with different format
  • Screen for general  desktop





Large screen 


 Screen for tablets





Tablates Screen 

Mobile Screen



Mobile Web site screen 


We have created same web site which is loading with different style based on selected device’s screen.
To achieve this solution I have used media query listeners of CSS 3.0.
Actually there is one Viewport metadata tag controls the logical dimensions and scaling of the mobile browser’s (chrome-less) window. Setting the width equal to the device-width works around the problem:
1
<meta name="viewport" content="width=device-width, initial-scale=1.0">
And also in CSS style we have added media object with all screen resolution with font and width allocation based on specified screens.

Below are the styles for this example.














@media screen and (max-width: 478px) &nbsp;&nbsp;&nbsp; {
h1 { font-size: 30px; padding: 1px; }
h2 { font-size: 1xpx; padding: 1px; }
body { font-size: 13px; }
}
 
@media screen and (max-width: 740px) &nbsp;&nbsp;&nbsp;
{
.left-col { width: 100%; }
.sidebar { width: 100%; }
}
 
@media screen and (max-width: 480px) {
}
In above code set different font size and padding based for screen 480px width and more than 740px as well as set sidebar width based on screen.
Other option about responsive design is define two separate css and load css based on screen size selection.



<link rel="stylesheet" type="text/css" media="screen and (max-device-width: 480px)" href=" media-queries_480.css" />


 

Tuesday, July 9, 2013

Create Shared Folder on google Drive with java script

<html>
<head>
    <meta http-equiv="Content-type" content="text/html;charset=UTF-8">

    <script type="text/javascript">
var CLIENT_ID = '<set client id here>';
var SCOPES = 'https://www.googleapis.com/auth/drive';

function appendResults(url) {
var results = document.getElementById('results');
var a = document.createElement('a');
a.href = url;
results.appendChild(a);
a.appendChild(document.createTextNode(url));
}

function createPublicFolder(folderName) {

var body = {
'title': folderName,
'mimeType': "application/vnd.google-apps.folder"
};

var request = gapi.client.drive.files.insert({
'resource': body
});

request.execute(function(resp) {
appendResults('http://googledrive.com/host/'+resp.id);
var permissionBody = {
'value': '',
'type': 'anyone',
'role': 'reader'
};
var permissionRequest = gapi.client.drive.permissions.insert({
'fileId': resp.id,
'resource': permissionBody
});
permissionRequest.execute(function(resp) { });
});
}

/**
* Called when the client library is loaded to start the auth flow.
*/
function handleClientLoad() {
window.setTimeout(checkAuth, 1);
}

/**
* Check if the current user has authorized the application.
*/
function checkAuth() {
gapi.auth.authorize({
'client_id': CLIENT_ID,
'scope': SCOPES,
'immediate': true}, handleAuthResult);
}

/**
* Called when authorization server replies.
*
* @param {Object} authResult Authorization result.
*/
function handleAuthResult(authResult) {
var authButton = document.getElementById('authorizeButton');
var filePicker = document.getElementById('publish');
authButton.style.display = 'none';
filePicker.style.display = 'none';
if (authResult && !authResult.error) {
// Access token has been successfully retrieved, requests can be sent to the API.
filePicker.style.display = 'block';
filePicker.onclick = uploadFile;
} else {
// No access token could be retrieved, show the button to start the authorization flow.
authButton.style.display = 'block';
authButton.onclick = function() {
gapi.auth.authorize({
'client_id': CLIENT_ID,
'scope': SCOPES,
'immediate': false}, handleAuthResult);
};
}
}

/**
* Start the file upload.
*
* @param {Object} evt Arguments from the file selector.
*/
function uploadFile(evt) {
gapi.client.load('drive', 'v2', function() {
var d = new Date();
var t = (d.getTime() - d.getMilliseconds())/1000;
var fname = document.getElementById('foldername');
createPublicFolder(fname.value);
});
}

    </script>

    <script type="text/javascript" src="https://apis.google.com/js/client.js?onload=handleClientLoad"></script>

</head>
<body>
    <!--Add a file picker for the user to start the upload process -->
    <input type="button" id="publish" style="display: none" value="Publish" />
    <input type="button" id="authorizeButton" style="display: none" value="Authorize" />
    <input type="text" id="foldername" placehoder="Give folder name" />
    <div id="results">
    </div>
</body>
</html>

Upload file on Google Drive and get Listing From Google Drive with java script


<html>
<head>
    <meta http-equiv="Content-type" content="text/html;charset=UTF-8">
    <style>
        li
        {
            background-color: white;
            box-shadow: 1px 1px 4px;
            margin-bottom: 10px;
            padding: 2px;
        }
    </style>

    <script type="text/javascript">
      var CLIENT_ID = '<Set your Client Here>';
      var SCOPES = [
          'https://www.googleapis.com/auth/drive.file',
          'https://www.googleapis.com/auth/userinfo.email',
          'https://www.googleapis.com/auth/userinfo.profile',
          // Add other scopes needed by your application.
        ];

//      'https://www.googleapis.com/auth/drive';

      /**
       * Called when the client library is loaded to start the auth flow.
       */
      function handleClientLoad() {
        window.setTimeout(checkAuth, 1);
      }

      /**
       * Check if the current user has authorized the application.
       */
//      function checkAuth() {
//        gapi.auth.authorize(
//            {'client_id': CLIENT_ID, 'scope': SCOPES, 'immediate': true},
//            handleAuthResult);
//      }
    function checkAuth() {
        gapi.auth.authorize(
            {'client_id': CLIENT_ID, 'scope': SCOPES.join(' '), 'immediate': true},
            handleAuthResult);
            makeApiCall();
      }


      /**
       * Called when authorization server replies.
       *
       * @param {Object} authResult Authorization result.
       */
      function handleAuthResult(authResult) {
        var authButton = document.getElementById('authorizeButton');
        var filePicker = document.getElementById('filePicker');
        authButton.style.display = 'none';
        filePicker.style.display = 'none';
        if (authResult && !authResult.error) {
          // Access token has been successfully retrieved, requests can be sent to the API.
          filePicker.style.display = 'block';
          filePicker.onchange = uploadFile;
        } else {
          // No access token could be retrieved, show the button to start the authorization flow.
          authButton.style.display = 'block';
          authButton.onclick = function() {
              gapi.auth.authorize(
                  {'client_id': CLIENT_ID, 'scope': SCOPES, 'immediate': false},
                  handleAuthResult);
          };
        }
      }

      /**
       * Start the file upload.
       *
       * @param {Object} evt Arguments from the file selector.
       */
      function uploadFile(evt) {
        gapi.client.load('drive', 'v2', function() {
          var file = evt.target.files[0];
          insertFile(file);
        });
      }

      /**
       * Insert new file.
       *
       * @param {File} fileData File object to read data from.
       * @param {Function} callback Function to call when the request is complete.
       */
      function insertFile(fileData, callback)
      {
     
        const boundary = '-------314159265358979323846';
        const delimiter = "\r\n--" + boundary + "\r\n";
        const close_delim = "\r\n--" + boundary + "--";

        var reader = new FileReader();
        reader.readAsBinaryString(fileData);
        reader.onload = function(e)
        {
          var contentType = fileData.type || 'application/octet-stream';
          var metadata = {
            'title': fileData.name,
            'mimeType': contentType
        };

          var base64Data = btoa(reader.result);
          var multipartRequestBody =
              delimiter +
              'Content-Type: application/json\r\n\r\n' +
              JSON.stringify(metadata) +
              delimiter +
              'Content-Type: ' + contentType + '\r\n' +
              'Content-Transfer-Encoding: base64\r\n' +
              '\r\n' +
              base64Data +
              close_delim;

          var request = gapi.client.request({
              'path': '/upload/drive/v2/files',
              'method': 'POST',
              'params': {'uploadType': 'multipart'},
              'headers': {
                'Content-Type': 'multipart/mixed; boundary="' + boundary + '"'
              },
              'body': multipartRequestBody});
          if (!callback) {
            callback = function(file) {
              console.log(file)
            };
          }
          request.execute(callback);
          makeApiCall();
        }
      }
     
       function makeApiCall() { 
      
            gapi.client.load('drive', 'v2', makeRequest);  
        }

        function makeRequest() {
            var request = gapi.client.drive.files.list({'maxResults': 100 });
            request.execute(function(resp) {         
                for (i=0; i<resp.items.length; i++) {
                    var titulo = resp.items[i].title;
                    var fechaUpd = resp.items[i].modifiedDate;
                    var userUpd = resp.items[i].lastModifyingUserName;
                    var userEmbed = resp.items[i].embedLink;
                    var userAltLink = resp.items[i].alternateLink;

                    var fileInfo = document.createElement('li');
                    fileInfo.appendChild(document.createTextNode('Title: ' + titulo +
                        ' - LAST MODIF: ' + fechaUpd + ' - By: ' + userUpd ));               
                    document.getElementById('content').appendChild(fileInfo);
                }
            });   
        }

        $(document).ready(function() {
        makeApiCall();
          $('#authorize-button').on('click', handleAuthClick);
          $.getScript('//apis.google.com/js/api.js', function() {
            gapi.load('auth:client', handleClientLoad);
          });
        });
    </script>

    <script type="text/javascript" src="https://apis.google.com/js/client.js?onload=handleClientLoad"></script>

</head>
<body>
    <!--Add a file picker for the user to start the upload process -->
    <input type="file" id="filePicker" style="display: none" />
    <input type="button" id="authorizeButton" style="display: none" value="Authorize" />
    <br />
    <div id="content">
        Files:</div>
</body>
</html>

Opps Part 1 : Abstraction

  Abstraction in C# is a fundamental concept of object-oriented programming (OOP) that allows developers t...