public static int TitlesUpdate(SequenceTitlesUpdateRequest model) { int id = 0; using (SqlConnection conn = new SqlConnection(WebConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString)) { conn.Open(); using (SqlCommand cmd = new SqlCommand()) { cmd.Connection = conn; cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.CommandText = "dbo.Sequence_TitlesUpdate"; PropertyDescriptorCollection properties = TypeDescriptor.GetProperties(typeof(SequenceUpdateRequest)); DataTable table = new DataTable(); foreach (PropertyDescriptor prop in properties) { table.Columns.Add(prop.Name, Nullable.GetUnderlyingType(prop.PropertyType) ?? prop.PropertyType); } foreach (SequenceUpdateRequest item in model.Sequences) { DataRow row = table.NewRow(); foreach (PropertyDescriptor prop in properties) { row[prop.Name] = prop.GetValue(item) ?? DBNull.Value; } table.Rows.Add(row); } cmd.Parameters.AddWithValue("@List", table); cmd.ExecuteNonQuery(); } if (model.Sequences.Find(sce => sce.Id == null) != null) { using (SqlCommand cmd = new SqlCommand()) { cmd.Connection = conn; cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.CommandText = "dbo.Sequence_InsertWithScenes"; SequenceAddRequest add = new SequenceAddRequest(); add = model.Sequences.Find(seq => seq.Id == null); MapCommonSequenceParameters(add, cmd); cmd.Parameters.AddWithValue("@UserIdCreated", _getId()); SqlParameter outputId = new SqlParameter("@SequenceId", System.Data.SqlDbType.Int) { Direction = System.Data.ParameterDirection.Output }; cmd.Parameters.Add(outputId); cmd.ExecuteNonQuery(); id = (int)outputId.Value; } } conn.Close(); } return(id); }
public HttpResponseMessage TitlesUpdate(SequenceTitlesUpdateRequest model) { if (!ModelState.IsValid) { return(Request.CreateResponse(HttpStatusCode.BadRequest, ModelState)); } ItemResponse <int> response = new ItemResponse <int>(); response.Item = SequenceService.TitlesUpdate(model); return(Request.CreateResponse(HttpStatusCode.OK, response)); }