Wednesday, December 31, 2014

kendo ui template Password texbox field

For password field you can use this:

 <input style="margin-left:10px" class="k-textbox single-line password" data-bind="value: Password" data-val="true" data-val-required="Password required" id="Password" name="Password" type="password" value="" />  

Tuesday, December 30, 2014

kendo ui grid template check null value and set empty value

if you want to check null value in kendo UI grid template you can use this.

  <dt>Student Id:</dt> #= StudentId != null ? StudentId : '' #  

Monday, December 15, 2014

kendo ui datetimepicker to C# converting value

Get value

 entity.ExpiredDate = ParseDate(model.ExpiredDate);  
 private static DateTime ParseDate(string input)  
       return DateTime.ParseExact(input, formats, CultureInfo.InvariantCulture, DateTimeStyles.None);  
  private static string[] formats = new string[]  
     "MM/dd/yyyy HH:mm:ss tt",  
     "MM/dd/yyyy HH:mm:ss",  
     "M/dd/yyyy H:mm:ss tt",  
     "M/dd/yyyy H:mm:ss"  ,  
     "MM/dd/yyyy hh:mm tt"  

Set Value

 viewModel.ExpiredDate = entity.ExpiredDate.ToString("MM/dd/yyyy hh:mm tt", CultureInfo.InvariantCulture);       

kendo ui grid template if else

Use if else condition in kendo  UI template

 <script type="text/x-kendo-template" id="template">  
               <div id="details-container">  
                 <dt> Name:</dt> #= Name #  
                 <dt>Selected Device: </dt> iOS:-# if (PushToiOS == true) { #Yes# } else { #No# } #,  
                               Android:-# if (PushToAndroid == true) { #Yes# } else { #No# } #,  
                               WP:-# if (PushToWP == true) { #Yes# } else { #No# } #  
                 <dt>Expire Date:</dt> #= kendo.toString(ExpiredDate, "MM/dd/yyyy") #  

Sunday, December 14, 2014

Javascript Yes / No confirm dialog

You can see this

  function Remove(ctrl) {   
    if (confirm('Pressing OK will delete this record. Do you want to continue?') == false) {   
     return false;   
    var row = $(ctrl).parent().parent().parent().children().index($(ctrl).parent().parent());   
  //  alert(row);   
    var form = $("#frmStudentDetails");   
    var serializedForm = form.serialize();   
    var url = "/Student/RemoveStudentDetails";   
    $.post(url, serializedForm, function (result) {   
    }, "html");   
    return false;   

Custome command in kendo UI Grid toolbar

   toolbar: [  
             name: "Add",  
             text: "Make Passive 3 Times Unsuccesful Ones",  
             click: function (e) { console.log("foo"); return false; }  

in the grid script

   $(".k-grid-Add", "#DefaultGrid").bind("click", function (ev) {  
                      type: "POST",  
                      url: "http://localhost/Notifier/Devices/MakePassive/model",  
                      contentType: "application/json; charset=utf-8",  
                      dataType: "json",  
                      async: false,  
                      success: function (data) {  
                        if (data.ResponseCode == 800) {  
                        } else {  

Tuesday, December 9, 2014

kendoDropDownList json datasource

if you want to load your kendoDropDownList  from json we service you can follow this


                       // optionLabel: "Select branch...",  
                       dataTextField: "text",  
                       dataValueField: "value",  
                       change: function () {  
                         e.model.BranchRef = this.text();  
                       dataSource: {  
                         transport: {  
                           read: function (e) {  
                               url: 'http://localhost/Notifier/Branches/GetDropDown/token',  
                               type: 'GET',  
                               dataType: 'json',  
                               success: function (data) {  

service call

     public HttpResponseMessage GetAllBranches(string SecurityToken)  
       List<BranchDTO> Branches = BranchService.GetAllBranchDTO(database, false);  
       return Request.CreateResponse<List<BranchDTO>>(HttpStatusCode.OK, Branches);  

Monday, December 1, 2014

How do you add a user in TFS 2012

Just follow the image.

Now select user for your tfs member & press ok, you will get all the user in member assign in the browser.

Thursday, November 27, 2014

ASP.NET MVC razor SAP Crystal report

Crete a new project:

Add a aspx Master Page

Create a new folder Reports and 2 sub folder crystal & crystalviewer

Now add a web form page in crystalviewer  folder.
Add the master page namespace in your web form page.


Replace your web form by this code

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">

Now go to design mode of your web form drag & drop the crystal report viewer in your web form.

After that your page will be look look like this.

Replace the code:

<CR:CrystalReportViewer ID="EmployeeList" runat="server"  HasCrystalLogo="False"
    AutoDataBind="True"  Height="50px"  EnableParameterPrompt="false" EnableDatabaseLogonPrompt="false" ToolPanelWidth="200px"
    Width="350px" ToolPanelView="None" />

I am also add a preview button if you need you can add more control as you need.
 Now add a crystal report 

Right click the field expert field then select the database (I will use store procedure)

Select your store procedure.

 Design your report based on your store procedure.
Add the namespace in your web form cs file
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;

replace the code in your button event
public string thisConnectionString = ConfigurationManager.ConnectionStrings["ConnectionStringOther"].ConnectionString;
        CrystalDecisions.CrystalReports.Engine.ReportDocument reportDocument = null;

        protected void Page_Load(object sender, EventArgs e)
            if (Page.IsPostBack)
        protected void Preview_Click(object sender, EventArgs e)
        private void LoadReport()
            if (this.reportDocument != null)
            SqlConnectionStringBuilder SConn = new SqlConnectionStringBuilder(ConfigurationManager.ConnectionStrings["ConnectionStringOther"].ConnectionString);
            SqlConnection thisConnection = new SqlConnection(thisConnectionString);
            // store procedure
            SqlCommand mySelectCommand = new System.Data.SqlClient.SqlCommand("PIS_GetAllEmployeeInfo", thisConnection);
            mySelectCommand.CommandType = CommandType.StoredProcedure;
            reportDocument = new ReportDocument();
            //Report path
            string reportPath = Server.MapPath("~/Report/Crystal/EmployeeListCrystalReport.rpt");
            // Report connection
            ConnectionInfo connInfo = new ConnectionInfo();
            connInfo.ServerName = SConn.DataSource;
            connInfo.DatabaseName = SConn.InitialCatalog;
            connInfo.UserID = SConn.UserID;
            connInfo.Password = SConn.Password;
            TableLogOnInfo tableLogOnInfo = new TableLogOnInfo();
            tableLogOnInfo.ConnectionInfo = connInfo;
            foreach (CrystalDecisions.CrystalReports.Engine.Table table in reportDocument.Database.Tables)
                table.LogOnInfo.ConnectionInfo.ServerName = connInfo.ServerName;
                table.LogOnInfo.ConnectionInfo.DatabaseName = connInfo.DatabaseName;
                table.LogOnInfo.ConnectionInfo.UserID = connInfo.UserID;
                table.LogOnInfo.ConnectionInfo.Password = connInfo.Password;
                table.Location = "dbo." + table.Location;
           // You can pass parameter in your store procedure if you need
            //reportDocument.SetParameterValue("@FromDate", ProjectUtilities.ConvertToDate(txtFromDate.Text));
            //reportDocument.SetParameterValue("@ToDate", ProjectUtilities.ConvertToDate(txtToDate.Text));

            EmployeeListCrystalReport.ReportSource = reportDocument;

Add the connection string in you web config file.

Add a new class name ReportViewerViewModel in your model folder

public class ReportViewerViewModel
        public string ReportPath { get; set; }

Add a report controller & define action
public class ReportController : Controller
        // GET: /Report/

        public ActionResult EmployeeListReport()
            ReportViewerViewModel model = new ReportViewerViewModel();
            string content = Url.Content("~/Report/ReportViewer/EmployeeListReport.aspx");
            model.ReportPath = content;
            return View("ReportViewer", model);


Add a Reportviewer  viewer & replace the code

    ViewBag.Title = "ReportViewer";
    Layout = "~/Views/Shared/_Layout.cshtml";

@model MvcApplicationCrystalReport.Models.ReportViewerViewModel
<iframe src="@Model.ReportPath"  style="width:100%; height:1000px; border:none;"></iframe>

Now run the solution set debugger in report controller

click report

Your report will not view, you need to add a folder aspnet_client in which there will be crystalreportviewers13 folder of your crystal report set up.

 Now preview you will see your report.

You can download the code sample

Tuesday, November 18, 2014

Posting JSON data via jQuery to ASP .NET MVC 4 controller action not working

The grid data if I want to save data in json call then if the json data cross the limit of JsonDeserializer then it will not work on controller action. 

  function SaveMenuPrivilege() {  
     var postUrl;  
     var paramValue;  
     var gridData = $("#MenuPrivilegeKendoGrid").data("kendoGrid");  
     // set model data   
     for (var i = 0; i < gridData.length; i++) {  
       gridData[i].NewRoleId = $("#RoleId").val();  
     postUrl = '@Url.Content("~/Admin/MenuPrivilege/SaveMenuPrivilege")';  
     paramValue = JSON.stringify({ MenuPrivilegeList: gridData }); // you can also set model data using','   
       url: postUrl,  
       type: 'POST',  
       dataType: 'json',  
       data: paramValue,  
       contentType: 'application/json; charset=utf-8',  
       success: function (result) {  
       error: function (objAjaxRequest, strError) {  
         var respText = objAjaxRequest.responseText;  

   public ActionResult SaveMenuPrivilege(MenuViewModel menuViewModel)  

 To resolve this problem you just need to add in your web config appsetting

  <add key="aspnet:MaxJsonDeserializerMembers" value="50000000" />

vfpoledeb.1 provider is not registered on the local machine

Have u Install VFP Ole DB Provider in your System ? If No then Please Install it from following link.