How to save data into DataTable in MVC3?

How to save data into DataTable in MVC3?

ashuthinksashuthinks Posts: 1Questions: 0Answers: 0
edited April 2012 in General
have mvc3 application in this i have used two partial views 1.controls 2.webgrid

inside controls i'm populating dropdownlists from actual database tables.

now i'm selecting values from these dropdown lists and when press insert button these values should have to go to Temp DataTable I'm newbie to MVC3 and dont know how to do this.

Controls.cshtml
@model Mapping.Models.SecurityIdentifierMappingViewModel
@using (Html.BeginForm())
{
@Html.ValidationSummary(true)

Mapping

@Html.Label("Pricing SecurityID")


@Html.HiddenFor(model => model.MappingControls.Id)
@Html.DropDownListFor(model => model.MappingControls.PricingSecurityID,
new SelectList(Model.PricingSecurities, "Value", "Text"),
"Select SecurityID"
)
@Html.ValidationMessageFor(model => model.MappingControls.PricingSecurityID)


@Html.Label("CUSIP ID")


@Html.DropDownListFor(model => model.MappingControls.CUSIP,
new SelectList(Model.CUSIPs, "Value", "Text"),
"Select CUSIP"
)
@Html.ValidationMessageFor(model => model.MappingControls.CUSIP)



@Html.Label("Calculation")


@Html.TextBoxFor(model => model.MappingControls.Calculation)
@Html.ValidationMessageFor(model => model.MappingControls.Calculation)






}

HomeController.cs
public class HomeController : Controller
{
//
// GET: /Home/

mydataEntities dbContext = new mydataEntities();
DataRepository objRepository = new DataRepository();

//GET

public ActionResult Index(string userAction , int uid = 0)
{
var mappingobj = new SecurityIdentifierMappingViewModel();
mappingobj.MappingWebGridList = dbContext.SecurityIdentifierMappings.ToList();

mappingobj.MappingControls = new SecurityIdentifierMapping();
mappingobj.MappingControls.PricingSecurityID = 0;
mappingobj.MappingControls.CUSIP = string.Empty;

mappingobj.PricingSecurities = objRepository.GetPricingSecurityID();
mappingobj.CUSIPs = objRepository.GetCUSIP();

return View(mappingobj);
}


//POST

[HttpPost]
public ActionResult Index(SecurityIdentifierMappingViewModel objModel)
{


if (objModel.MappingControls.Id > 0)
{
if (ModelState.IsValid)
{
dbContext.Entry(objModel.MappingControls).State = EntityState.Modified;
try
{
dbContext.SaveChanges();
//objModel = new SecurityIdentifierMappingViewModel();
//return RedirectToAction("Index", "Home");
}
catch (System.Data.Entity.Validation.DbEntityValidationException ex)
{
throw;
}
}

}

//insert code
else
{
if (ModelState.IsValid)
{
dbContext.SecurityIdentifierMappings.Add(objModel.MappingControls);
try
{
dbContext.SaveChanges();
}
catch (System.Data.Entity.Validation.DbEntityValidationException ex)
{
throw;
}
}

}

return RedirectToAction("Index");
}
}



public class SecurityIdentifierMappingViewModel
{
public IEnumerable MappingWebGridList { get; set; }
public SecurityIdentifierMapping MappingControls { get; set; }

public List PricingSecurities { get; set; }
public List CUSIPs { get; set; }
}

Currently using SecurityIdentifierMapping as a 3rd table in which inserting my form data but need to insert now into DataTable as it is temporary also need to display that DataTable into webgrid with edit and delete.
This discussion has been closed.