Saturday, 31 August 2013

Back button issue after Logout Using Script (work for all browser)


Script

 <script type = "text/javascript" >
         function preventBack() { window.history.forward(); }
         setTimeout("preventBack()", 10);
         window.onunload = function () { null };
    </script>


Place  this script in each page or master page

Friday, 23 August 2013

Social network Scripts

 <script language="JavaScript">
        function gplus() {
            var url = "http://www.google.com/";
            window.open('https://plus.google.com/share?url=' + url, '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=600,width=600');
        }
        function fb() {
            var url = "https://www.goole.com/";
            window.open('http://www.facebook.com/sharer.php?u=' + url, '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=400,width=600');
        }
        function tweet() {
            var url = "http://www.goole.com/";
            var msg = "this is for iqmtest";
            window.open('https://twitter.com/intent/tweet?text=' + msg + '&url=' + url, '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=500,width=600');
        }
 </script>

         <div >
                <p >
                    Share us on
                </p>
                <div style="float: left; width: 120px; height: auto;">
                    <div >
                        <a href="javascript:void(0)" onclick="fb()">Facebook </a>
                    </div>
                    <div >
                        <a href="javascript:void(0)" onclick="tweet()">Twitter </a>
                    </div>
                    <div >
                        <a href="javascript:void(0)" onclick="gplus()">Gmail </a>
                    </div>
                </div>
            </div>
        </div>

SQL DATE PART

DATEADD (datepart , number , date )

DartPart day=day
wk=week
MONTH=month
YEAR=year
number increase or decrease the value

declare @DT datetime

SET @DT=DATEADD(day,-1,getdate())
print @DT

SET @DT=DATEADD(wk,1,getdate())
print @DT

SET @DT=DATEADD(MONTH,1,getdate())
print @DT

SET @DT=DATEADD(YEAR,1,getdate())
print @DT


Get the date part

DATEPART ( datepart , date )
DAY ( date )
MONTH( date )
YEAR( date )
DATEPART(Year,getdate())

get the name of month

declare @DT varchar(50)

set @DT=DATENAME  (month,getdate())
print @DT


Difference between start date and enddate

DATEDIFF ( datepart , startdate , enddate )

declare @DT int

SET @DT=DATEDIFF(wk,@startdate,@enddate)
print @DT


Wednesday, 21 August 2013

Logout in MVC using session that Logout when session expires


View:
<a href="@Url.Content("~/Home/Logout")">Logout</a>

Home Controller:

public ActionResult Logout()
{
    Session.Abandon();
    return RedirectToAction("Index");
}


Base Controller:

protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
    if (Session["User"] != null)
    {
        UDTO = (AccountDTO)HttpContext.Session[AccountController.USER];
    }
    else
    {
        filterContext.Result = new RedirectToRouteResult(new RouteValueDictionary{ { "action""Logout" }, { "controller""Home" }, {"area",""} });
    }
    base.OnActionExecuting(filterContext);
}



Wednesday, 14 August 2013

Date format

MVC4 (view)     @String.Format("{0:d}", item.LotDate)

 This example displays the following output to the console:
       d: 6/15/2008
       D: Sunday, June 15, 2008
       f: Sunday, June 15, 2008 9:15 PM
       F: Sunday, June 15, 2008 9:15:07 PM
       g: 6/15/2008 9:15 PM
       G: 6/15/2008 9:15:07 PM
       m: June 15
       o: 2008-06-15T21:15:07.0000000
       R: Sun, 15 Jun 2008 21:15:07 GMT
       s: 2008-06-15T21:15:07
       t: 9:15 PM
       T: 9:15:07 PM
       u: 2008-06-15 21:15:07Z
       U: Monday, June 16, 2008 4:15:07 AM
       y: June, 2008
     
       'h:mm:ss.ff t': 9:15:07.00 P
       'd MMM yyyy': 15 Jun 2008
       'HH:mm:ss.f': 21:15:07.0
       'dd MMM HH:mm:ss': 15 Jun 21:15:07
       '\Mon\t\h\: M': Month: 6
       'HH:mm:ss.ffffzzz': 21:15:07.0000-07:00

Datepicker disable specific weekdays

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title></title>
    <link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.6/themes/base/jquery-ui.css"
        type="text/css" media="all" />
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" type="text/javascript"></script>
    <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.6/jquery-ui.min.js"
        type="text/javascript"></script>
    <script type="text/javascript">
        $(function () {

            // 0 = monday, 1 = tuesday, 2 = wednesday, 3 = thursday,
            // 4=friday, 5 = saturday, 6=sunday

            var daysToDisable = [2, 4, 5];

            $('#txtDate').datepicker({
                beforeShowDay: disableSpecificWeekDays
            });

            function disableSpecificWeekDays(date) {
                var day = date.getDay();
                for (i = 0; i < daysToDisable.length; i++) {
                    if ($.inArray(day, daysToDisable) != -1) {
                        return [false];
                    }
                }
                return [true];
            }
        });

    </script>
</head>
<body>
    <form id="form1" runat="server">
    <input type="text" ID="txtDate" />
    </form>
</body>
</html>

OUTPUT



Tuesday, 13 August 2013

Login Popup

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Security;


namespace ABC.Controllers
{

    [Authorize]
    public class AccountController : Controller
    {
        public static readonly string USER = "User";

        DataContext context = new DataContext();
        //
        // GET: /Account/Login

        [AllowAnonymous]
        public ActionResult Login()
        {
            return ContextDependentView();
        }

        //
        // POST: /Account/JsonLogin

        [AllowAnonymous]
        [HttpPost]
        public JsonResult JsonLogin(LoginDTO model, string returnUrl)
        {
            if (ModelState.IsValid)
            {
             
                int st = context.Users.Where(p => p.Emai == model.Email && p.password == model.Password).Count();
                if (st == 1)
                {
                    var udet = context.Users.Where(p => p.Emai == model.Email && p.password == model.Password).SingleOrDefault();

                    if (udet != null)
                    {
                        int utid = udet.UtID;
                        Registration dto = new Registration();
                        dto.UID = udet.UID;
                        dto.UtID = udet.UtID;
                        dto.Email = udet.Emai;
                        dto.Firstname = udet.Firstname;

                        HttpContext.Session[USER] = dto;


                        if (utid == 1)
                        {
                            HttpContext.User.IsInRole("Admin");
                            return Json(new { success = true, redirect = Url.Action("Index", "Admin", new { area = "Admin" }) });
                        }
                        else if (utid == 2)
                        {
                            HttpContext.User.IsInRole("User");
                            return Json(new { success = true, redirect = Url.Action("Index", "User", new { area = "User" }) });
                        }
                    }
                }
                else
                {
                    ModelState.AddModelError("", "Invalid Username/Password.");
                }
            }
            // If we got this far, something failed
            return Json(new { errors = GetErrorsFromModelState() });
        }
   
        //
        // GET: /Account/LogOff

        public ActionResult LogOff()
        {          
            return RedirectToAction("Index", "Home");
        }
   
        private ActionResult ContextDependentView()
        {
            string actionName = ControllerContext.RouteData.GetRequiredString("action");
            if (Request.QueryString["content"] != null)
            {
                ViewBag.FormAction = "Json" + actionName;
                return PartialView();
            }
            else
            {
                ViewBag.FormAction = actionName;
                return View();
            }
        }

        private IEnumerable<string> GetErrorsFromModelState()
        {
            string[] str = new string[] { "Invalid Username/Password."};  
            return str;
        }    

    }
}

Variable 'name' issue in chrome

Variable 'name' issue in chrome

<input id="Name" name="Name" tabindex="0" type="text" value="Name:" />

<script type="text/javascript">
    var name = $("#Name");
    name.focus(function () {if ($(this).val() == "Name:") $(this).val('');});
    name.blur(function () {if ($(this).val() == "") $(this).val("Name:");});
</script>

solution:
Somehow Chrome doesn't like your variable to be named "name" in this case. The following works

<script type="text/javascript">
    var name2 = $("#Name");
    name2.focus(function () {if ($(this).val() == "Name:") $(this).val('');});
    name2.blur(function () {if ($(this).val() == "") $(this).val("Name:");});
</script>

Mask for textbox

 <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="https://raw.github.com/digitalBush/jquery.maskedinput/1.3.1/dist/jquery.maskedinput.min.js"></script>
        <input id="maskId" />
        <script>$("#maskId").mask("999,999.99", { placeholder: "" });</script>
        <input id="maskdate" />
        <script>$("#maskdate").mask("99/99/9999", { placeholder: "01/01/2011" });</script>  

OUTPUT :


Thursday, 8 August 2013

Google maps places autocomplete

<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<article>
    <p>
        <input type="text" id="address" style="width: 500px;"/>

        <script type="text/javascript" src="@Url.Content("http://maps.google.com/maps/api/js?sensor=false&libraries=places&language=en-AU")"></script>
        <script>
            var autocomplete = new google.maps.places.Autocomplete($("#address")[0], {});
            //autocomplete.setComponentRestrictions({ 'country': 'au' });
            //autocomplete.setComponentRestrictions({ 'country': 'us' });
            //autocomplete.setComponentRestrictions({ 'country': 'uk' });
            autocomplete.setComponentRestrictions({ 'country': 'in' });
            google.maps.event.addListener(autocomplete, 'place_changed', function () {
                var place = autocomplete.getPlace();
                alert('0: ' + place.address_components[0].long_name);
                alert('1: ' + place.address_components[1].short_name);
                alert('2: ' + place.address_components[2].short_name);
                alert('3: ' + place.address_components[3].long_name);
                alert('4: ' + place.address_components[4].long_name);
                alert('5: ' + place.address_components[5].long_name);
                alert('6: ' + place.address_components[6].long_name);
                alert('7: ' + place.address_components[7].long_name);
                console.log(place.address_components);
            });
        </script>
    </p>
</article>