Ejemplo n.º 1
0
        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);
        }