public bool Insertar(InformeTrazabilidadEntity objEntity)
       {
           string codigoRetorno = string.Empty;
           try
           {

               using (_DBMLTrazabilidadDataContext SQLDC = new _DBMLTrazabilidadDataContext(conexion))
               {
                   SQLDC.pa_I_InformeTrazabilidad(
                       ref codigoRetorno,
                       objEntity.producto,
                       objEntity.detalleAnalisis,
                       objEntity.anexo,
                       objEntity.codigoTraza
                       );
                   objEntity.codigoInformeTrazabilidad = codigoRetorno;
               }
           }
           catch (Exception ex)
           {
               log.Error(String.Concat("Insertar", " | ", ex.Message.ToString()));
               throw ex;
           }
           return codigoRetorno == string.Empty ? false : true;
       }
       public ReturnValor Insertar(InformeTrazabilidadEntity entity)
       {       
               try
               {

                   oData = new InformeTrazabilidaData();                   
                   oReturnValor = new ReturnValor();
                   oReturnValor.Exitosa = oData.Insertar(entity);                                   
               }
               catch (Exception ex)
               {
                   oReturnValor = HelpException.mTraerMensaje(ex);
               }
      

           return oReturnValor;
       }
        public ActionResult GuardarInformeTrazabilidad(InformeTrazabilidadEntity entity, string codigoproducto) //TrazabilidadEntity pentity)
        {
            string tipoDevol = null;
            object DataDevol = null;
            object jsonResponse;
            returnValor = new ReturnValor();
            try
            {
                objInfTrazabilidadLogic = new InformeTrazabilidaLogic();
                
                entity.estado = "ACTUALIZADO";
                objInfTrazabilidadLogic.Insertar(entity);
                DataDevol = returnValor.Message;
                tipoDevol = returnValor.Exitosa ? "C" : "I";
                Reporte(entity.codigoInformeTrazabilidad, codigoproducto, entity.codigoTraza);

            }
            catch (Exception ex)
            {
                tipoDevol = "E";
                // log.Error(String.Concat("GuardarTrazabilidad", " | ", ex.Message));
                DataDevol = ex.Message;
            }
            finally
            {
                jsonResponse = new
                {
                    Type = tipoDevol,
                    Data = DataDevol,
                };
            }
            return Json(jsonResponse, JsonRequestBehavior.AllowGet);
        }