public bool Insertar(TrazabilidadDetalleEntity objEntity)
 {
     string codigoRetorno = string.Empty;
     try
     {
         
         using (_DBMLTrazabilidadDataContext SQLDC = new _DBMLTrazabilidadDataContext(conexion))
         {
             SQLDC.pa_I_TrazabilidadDetalle(                       
                 objEntity.codigoTraza,
                 objEntity.codigoVenta,
                 objEntity.numeroKardex,
                 objEntity.codigoCompra,
                 objEntity.numeroOrden,
                 objEntity.numeroHojaMerma,
                 objEntity.nombreProducto,
                 objEntity.codigoFichaTecProducto
                 );
             objEntity.codigoTraza = codigoRetorno;
         }
     }
     catch (Exception ex)
     {
         log.Error(String.Concat("Insertar", " | ", ex.Message.ToString()));
         throw ex;
     }
     return codigoRetorno == string.Empty ? false : true;
 }
        public ActionResult GuardarTrazabilidad(List<KardexEntity> listakardex, List<OrdenDeCompraEntity> listaOrdenCompra, List<InformeVentaEntity> listaventa, List<HojaMermaEntity> listamerma, List<OrdenDeDespachoEntity> listadespacho, List<LibroRecetaEntity> listareceta, string CodigoProducto) //TrazabilidadEntity pentity)
        {
            string tipoDevol = null;
            object DataDevol = null;
            object jsonResponse;
            try
            {
                trazabilidadLogic = new TrazabilidadLogic();
                TrazabilidadEntity entity = new TrazabilidadEntity();
                TrazabilidadDetalleEntity detalle;
                List<TrazabilidadDetalleEntity> listadetalle= new List<TrazabilidadDetalleEntity>();
                //listadetalle.Add();
                foreach (KardexEntity item in listakardex)
                {
                    detalle = new TrazabilidadDetalleEntity();
                    detalle.numeroKardex = item.numeroKardex;
                    listadetalle.Add(detalle);
                }

                foreach (OrdenDeCompraEntity item in listaOrdenCompra)
                {
                    detalle = new TrazabilidadDetalleEntity();
                    detalle.codigoCompra = item.codigoCompra;
                    listadetalle.Add(detalle);
                }

                foreach (InformeVentaEntity item in listaventa)
                {
                    detalle = new TrazabilidadDetalleEntity();
                    detalle.codigoVenta = item.codigoVenta;
                    listadetalle.Add(detalle);
                }

                foreach (HojaMermaEntity item in listamerma)
                {
                    detalle = new TrazabilidadDetalleEntity();
                    detalle.numeroHojaMerma = item.numeroHojaMerma;
                    listadetalle.Add(detalle);
                }

                foreach (LibroRecetaEntity item in listareceta)
                {
                    detalle = new TrazabilidadDetalleEntity();
                    detalle.nombreProducto = item.codigolibroreceta;
                    listadetalle.Add(detalle);
                }

                foreach (OrdenDeDespachoEntity item in listadespacho)
                {
                    detalle = new TrazabilidadDetalleEntity();
                    detalle.numeroOrden = item.numeroOrden;
                    listadetalle.Add(detalle);
                }

                entity.estado = "CONSULTADO";
                entity.producto = CodigoProducto;
                entity.lstTrazabilidadDeta = listadetalle;

                trazabilidadLogic.Insertar(entity);
               
                //if (pSolicitud.Codigo != 0)
                //    returnValor = objSolicitudLogic.ActualizarSolicitud(pSolicitud);
                //else
                //    returnValor = objSolicitudLogic.RegistrarSolicitud(pSolicitud);

                DataDevol = returnValor.Message;
                tipoDevol = returnValor.Exitosa ? "C" : "I";

            }
            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);
        }