Skip to main content

Post Kendo Grid data with model data to Controller in MVC

Your save button:

 <button type="submit" class="btn btn-mini btn-primary" id="btnAddCustomerAccountManage" name="btnAddCustomerAccountManage" onclick="SaveUserProjectDetails()">  
           <i class="icon-save bigger-125"></i>Save</button>  

button click function

  function SaveUserProjectDetails()  
   {  
     var projectPermissionType = 1;  
     var postUrl;  
     var paramValue;  
     if (projectPermissionType == 1) {  
       var gridData = $("#CustomerInfoKendoGrid").data("kendoGrid").dataSource.data();  
       // set model data  
       for (var i = 0; i < gridData.length; i++) {  
         gridData[i].ManagerGenInfoID = $("#GEmployeeGenInfoID").val();  
         gridData[i].AssignDate = $("#AssignDate").val();  
       }  
       postUrl = '@Url.Content("~/Billing/CustomerAccountManage/GetDepartmentWiseCategoryList")';  
       paramValue = JSON.stringify({ CustomerInformationList: gridData });// you can also set model data using','  
     }  
     $.ajax({  
       url: postUrl,  
       type: 'POST',  
       dataType: 'json',  
       data: paramValue,  
       contentType: 'application/json; charset=utf-8',  
       success: function (result) {  
         console.log(result);  
       },  
       error: function (objAjaxRequest, strError) {  
         var respText = objAjaxRequest.responseText;  
         console.log(respText);  
       }  
     });  
   }  

Controller:

   public JsonResult GetDepartmentWiseCategoryList(CustomerAccountManageViewModel CustomerAccountManagemodel)  
     {  
         var strMessage = string.Empty;  
         // Get grid value  
         foreach (var item in CustomerAccountManagemodel.CustomerInformationList.Where(m => m.SelectStatus == true))  
         {  
           CustomerAccountManageViewModel viewModel = new CustomerAccountManageViewModel();  
           viewModel.CustomerInformationList = new List<CustomerEntryViewModel>();  
           viewModel.EmployeeList = new List<EmployeeViewModel>();  
           var userName = HttpContext.User.Identity.Name;  
           viewModel.IUser = userName;  
           viewModel.IDate = DateTime.Now;  
           viewModel.EDate = DateTime.Now;  
           viewModel.CustomerAccountManageID = Guid.NewGuid();  
           viewModel.CustomerID= item.CustomerID;  
           viewModel.GEmployeeGenInfoID=item.ManagerGenInfoID;  
           viewModel.AssignDate=item.AssignDate;  
           viewModel.ActiveStatus = true;  
           var entity = viewModel.ToEntity();  
           _billingCommonservice.BillingUnit.CustomerAccountManageRepository.Add(entity);  
           _billingCommonservice.BillingUnit.CustomerAccountManageRepository.SaveChanges();  
         }  
       return Json(new { strMessage = strMessage });  
     }  



Comments

Popular posts from this blog

C# run powershell script as administrator

Recently I was fetching a problem that I need to run a PowerShell script that will change TFS user Display name and SID. I was trying to run that script from C# that was not working due to TFS security update and TLS certificate. Using this code block I resolve the Issue. var newProcessInfo = new System.Diagnostics.ProcessStartInfo(); newProcessInfo.FileName = @"C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe"; newProcessInfo.Verb = "runas"; // Define Run as administrator newProcessInfo.Arguments = script; //Define your powershell script newProcessInfo.UseShellExecute = false; newProcessInfo.RedirectStandardOutput = true; // This will enable to read Powershell run output newProcessInfo.RedirectStandardError = true; Process proces = System.Diagnostics.Process.Start(newProcessInfo); proces.WaitForExit(); // I want to read the output string from powershell window StringBuilder output = new StringBuilder(); output.Append("Started"); while (!proces.St

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. MasterPageFile ="~/Views/Shared/ReportSite.Master" Replace your web form by this code < asp : Content ID ="Content1" ContentPlaceHolderID ="ContentPlaceHolder1" runat ="server">      </ asp : Content > 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

mvc razor textboxfor change event change another textboxfor value

Based on value of Weight, Rate , CNF & AWB it will change the value of Freight , TTLCNF anfd TTLFright . Freight= Weight*Rate; TTLCNF  = Weight*CNF; TTLFright=  Freight+ TTLCNF  + AWB; @Html.TextBoxFor(model => model.Weight, new { onChange="return GetWight(this);"}) @Html.TextBoxFor(model => model.Rate, new { onChange="return GetWight(this);"})/Kg @Html.TextBoxFor(model => model.Freight, new {disabled = "disabled" , @readonly = "readonly" ,onChange="return GetTTLFright(this);"}) @Html.TextBoxFor(model => model.CNFPK, new { onChange="return GetCNFPK(this);"}) @Html.TextBoxFor(model => model.TTLCNF, new {disabled = "disabled" , @readonly = "readonly",onChange="return GetTTLFright(this);" }) @Html.TextBoxFor(model => model.AWB, new { onChange="return GetTTLFright(this);"}) and script <script> function GetW