2016-09-29 3 views
0

こんにちはすべて私はJsonを介していくつかの値をretrevingしていると私はオブジェクトに変換します。次に、DBAccess.csスクリプトを使用してそれらをデータベースに渡します。これはMVCを介して行われます。私が欲しかったすべての値がそのオブジェクトにオブジェクトの値を取得し、それらをさまざまな変数タイプに変換するにはどうすればよいですか?

を格納し取得する。ここController.cs

public IHttpActionResult PostRegister([FromBody] dynamic register) 
{ 
    try 
    { 

     Newtonsoft.Json.Linq.JObject employeeRes = (Newtonsoft.Json.Linq.JObject)register.employeedetails; 

     var employee = employeeRes.ToObject<Employee>(); 









     var inserted_id = uMgt.insertRegDetail(employeeRes); 
     int nid = (int)inserted_id; 

     return Ok("success"); 

    } 

    catch (Exception ex) 

    { 
     Console.WriteLine(ex.Message); 
     return Ok("fail"); 
    } 



} 

です。ここでuserManagement.cs

public int insertRegDetail(Employee emp) 
     { 

      try 
      { 
       var new_id = db.PassRegistraiondetails("new_insert_detail", emp.Fname, emp.Lname, Convert.ToDateTime(emp.Date_of_Birth), emp.Nic, emp.Gender, emp.Email, emp.Mobile_no, Convert.ToInt32(emp.Department_name), emp.Designation, Convert.ToDateTime(emp.Date_of_join)); 

       return (new_id); 
      } 

      catch(Exception ex) 
      { 
       Console.WriteLine(ex.Message); 
       return (0); 
      } 


     } 

そして最後にDBAccess.cs

public int PassRegistraiondetails(string spName, string FName, string LName, DateTime dob, string nic, string Gender, string email, int tel, int id, string Designation, DateTime doj) 
     { 
      try 
      { 

       SqlCommand cmd = new SqlCommand(); 
       SqlParameter param; 
       cmd.Connection = con; 
       cmd.CommandType = CommandType.StoredProcedure; 
       cmd.CommandText = spName; 


       param = new SqlParameter("@fname", SqlDbType.NChar); 
       param.Value = FName; 
       param.IsNullable = true; 
       cmd.Parameters.Add(param); 

       param = new SqlParameter("@lname", SqlDbType.NChar); 
       param.Value = LName; 
       param.IsNullable = true; 
       cmd.Parameters.Add(param); 

       param = new SqlParameter("@DOB", SqlDbType.Date); 
       param.Value = dob; 
       param.IsNullable = true; 
       cmd.Parameters.Add(param); 

       param = new SqlParameter("@gender", SqlDbType.NChar); 
       param.Value = Gender; 
       param.IsNullable = true; 
       cmd.Parameters.Add(param); 

       param = new SqlParameter("@email", SqlDbType.NChar); 
       param.Value = email; 
       param.IsNullable = true; 
       cmd.Parameters.Add(param); 

       param = new SqlParameter("@mobile_no", SqlDbType.Int); 
       param.Value = tel; 
       param.IsNullable = true; 
       cmd.Parameters.Add(param); 


       param = new SqlParameter("@designation", SqlDbType.VarChar); 
       param.Value = Designation; 
       param.IsNullable = true; 
       cmd.Parameters.Add(param); 

       param = new SqlParameter("@date_of_join", SqlDbType.Date); 
       param.Value = doj; 
       param.IsNullable = true; 
       cmd.Parameters.Add(param); 

       param = new SqlParameter("@nic", SqlDbType.NChar); 
       param.Value = nic; 
       param.IsNullable = true; 
       cmd.Parameters.Add(param); 

       param = new SqlParameter("@dept_id", SqlDbType.Int); 
       param.Value = id; 
       param.IsNullable = false; 
       cmd.Parameters.Add(param); 

       cmd.Parameters.Add("@new_id", SqlDbType.Int).Direction = ParameterDirection.Output; 



       using (SqlDataAdapter da = new SqlDataAdapter(cmd)) 
       { 

        this.OpenConnection(); 
        cmd.ExecuteNonQuery(); 
        int ID = Convert.ToInt32(cmd.Parameters["@new_id"].Value); 
        this.CloseConnection(); 
        return ID; 

       } 
      } 
      catch (Exception ex) 
      { 
       Console.WriteLine(ex.Message); 
       return (0); 
      } 
     } 
です

エラーは次のとおりです。

はDoman.Employee

<にNewtonsoft.Json.Linq.JObjectを変換できません - ここにドメインが、私はこの問題を解決するにはどうすればよいの基本クラス

です。ここにここに私のJSONデータ{"employeedetails":{"Fname":"awad","Lname":"adadad","Date_of_Birth":"09/13/2016","Nic":"asdasdasd","Gender" :"Male","Email":"[email protected]","Mobile_no":"1234234234","Designation":"asdasd","Date_of_join":"09/27/2016" ,"Department_name":"1"}}

は私Employee.cs

namespace Efutures.HR.LeaveManagement.Domain 
{ 
    public class Employee 
    { 
     public string Empid { get; set; } 
     public string Fname { get; set; } 
     public string Lname { get; set; } 
     public string Date_of_Birth { get; set; } 
     public string Gender { get; set; } 
     public string Email { get; set; } 
     public int Mobile_no { get; set; } 
     public string Designation { get; set; } 
     public string Date_of_join { get; set; } 
     public string Nic { get; set; } 
     public string Department_name { get; set; } 
    } 
} 
+1

も私たちにEmployeeクラスを示し、あなたのJSONデータの例をお願いし、どのように@SimonPrice必要な詳細情報が与えられている:) –

+0

従業員のプロパティにJSONから値を代入しています@Abdulありがとうたくさんの作品:) –

答えて

3

Ashaneアルヴィスだだ

高く評価あなたはJSONが表示された場合のHepは素晴らしいことだ、あなたはそれがでます employeedetailsと呼ばれる性質を持ってきています従業員情報を含むオブジェクトを持っている。

だから、あなたはのはのは、与えられたJSONでメインプロパティ employeedetailsのプロパティの残りの部分を持っている EmployeeDetailsを言わせタイプのものであり employeedetailsと呼ばれる性質を有する Employeeを言わせてクラスが必要です。

以下のコードスニペットを確認して、提供したJSONを従業員オブジェクトに変換します。

namespace TestProject 
{ 
    using Newtonsoft.Json; 
    using System; 

    class Program 
    { 
     static void Main(string[] args) 
     { 
      var json = "{\"employeedetails\":{\"Fname\":\"awad\",\"Lname\":\"adadad\",\"Date_of_Birth\":\"09/13/2016\",\"Nic\":\"asdasdasd\",\"Gender\":\"Male\",\"Email\":\"asQsa @c\",\"Mobile_no\":\"1234234234\",\"Designation\":\"asdasd\",\"Date_of_join\":\"09/27/2016\",\"Department_name\":\"1\"}}"; 
      var employee = JsonConvert.DeserializeObject(json, typeof(Employee)); 

      Console.ReadKey(); 
     } 
    } 

    public class Employee 
    { 
     public EmployeeDetails employeedetails { get; set; } 
    } 

    public class EmployeeDetails 
    { 
     public string Empid { get; set; } 

     public string Fname { get; set; } 

     public string Lname { get; set; } 

     public string Date_of_Birth { get; set; } 

     public string Gender { get; set; } 

     public string Email { get; set; } 

     public int Mobile_no { get; set; } 

     public string Designation { get; set; } 

     public string Date_of_join { get; set; } 

     public string Nic { get; set; } 

     public string Department_name { get; set; } 
    } 
} 
+0

こんにちは\オブジェクト –

関連する問題