public Mensaje InsertarDisgregacionValorDeclarado(string json, int IdValorDeclarado, string ListaArchivos, string ListaArchivosEliminados) { Mensaje mensaje = new Mensaje(); try { using (DbContextTransaction Transaccion = context.Database.BeginTransaction()) { try { JavaScriptSerializer serializer = new JavaScriptSerializer(); dynamic jsonObject = serializer.Deserialize <dynamic>(json); foreach (var registroList in jsonObject) { int IdValorDeclaradoDetalle = int.Parse(registroList["IdValorDeclaradoDetalle"]); short IdRamoPoliza = short.Parse(registroList["IdRamoPoliza"]); short IdTipoPoliza = short.Parse(registroList["IdTipoPoliza"]); decimal?ImporteValorDeclarado = registroList["ImporteValorDeclarado"] != null?Decimal.Parse(registroList["ImporteValorDeclarado"]) : null; short?IdUnidadMedida = registroList["IdUnidadMedida"] != null?short.Parse(registroList["IdUnidadMedida"]) : null; decimal?Cantidad = registroList["Cantidad"] != null?Decimal.Parse(registroList["Cantidad"]) : null; short IdMoneda = short.Parse(registroList["IdMoneda"]); context.SP_I_ValorDeclaradoDetalleDisgregado( IdValorDeclaradoDetalle, IdRamoPoliza, IdTipoPoliza, IdUnidadMedida, Cantidad, IdMoneda, ImporteValorDeclarado ); } ActualizacionArchivosValorDeclarado(IdValorDeclarado, ListaArchivos, ListaArchivosEliminados); mensaje = valorDeclaradoBL.ActualizarEstadoValorDeclarado(IdValorDeclarado, "DISGREG"); if (!mensaje.esError) { context.SaveChanges(); Transaccion.Commit(); mensaje.mensaje = "La operación se realizó correctamente"; mensaje.esError = false; } } catch (Exception ex) { Transaccion.Rollback(); throw ex; } } } catch (Exception) { mensaje.mensaje = "Ocurrió un error al realizar la disgregación"; mensaje.esError = true; } return(mensaje); }