public object[] ActualizarDetalleControl(ENTRADA_SALIDA_MATERIAL_DETALLE poDetalleControl)
        {
            using (var db = new ASIS_PRODEntities())
            {
                object[] resultado = new object[3];

                var buscarabecera = db.ENTRADA_SALIDA_MATERIAL_CABECERA.Find(poDetalleControl.IdCabeceraEntradaSalidaMaterial);
                if (buscarabecera.EstadoControl)
                {
                    resultado[0] = "003";
                    resultado[1] = "El control se encuetra aprobado, no puede ser modificado";
                    resultado[2] = poDetalleControl;
                }
                else
                {
                    var buscardetalle = db.ENTRADA_SALIDA_MATERIAL_DETALLE.Find(poDetalleControl.IdDetalleEntradaSalidaMateriales);
                    buscardetalle.FechaModificacionLog    = poDetalleControl.FechaIngresoLog;
                    buscardetalle.UsuarioModificacionLog  = poDetalleControl.UsuarioIngresoLog;
                    buscardetalle.TerminalModificacionLog = poDetalleControl.TerminalIngresoLog;
                    buscardetalle.Ingreso = poDetalleControl.Ingreso;
                    db.SaveChanges();
                    resultado[0] = "001";
                    resultado[1] = "Registro actualizado con éxito";
                    resultado[2] = poDetalleControl;
                }
                return(resultado);
            }
        }
        public object[] InactivarDetalleControl(ENTRADA_SALIDA_MATERIAL_DETALLE poDetalle, int IdCabecera)
        {
            using (var db = new ASIS_PRODEntities())
            {
                object[] resultado             = new object[3];
                var      BuscarCabeceraControl = db.ENTRADA_SALIDA_MATERIAL_CABECERA.Find(IdCabecera);
                if (BuscarCabeceraControl.EstadoControl)
                {
                    resultado[0] = "003";
                    resultado[1] = "No es posible inactivar el control, por que se encuentra aprobado";
                    resultado[2] = poDetalle;
                }
                else
                {
                    var BuscarDetalle = db.ENTRADA_SALIDA_MATERIAL_DETALLE.FirstOrDefault(x => x.IdDetalleEntradaSalidaMateriales == poDetalle.IdDetalleEntradaSalidaMateriales &&
                                                                                          x.EstadoRegistro == clsAtributos.EstadoRegistroActivo);

                    BuscarDetalle.EstadoRegistro          = clsAtributos.EstadoRegistroInactivo;
                    BuscarDetalle.FechaModificacionLog    = poDetalle.FechaIngresoLog;
                    BuscarDetalle.UsuarioModificacionLog  = poDetalle.UsuarioIngresoLog;
                    BuscarDetalle.TerminalModificacionLog = poDetalle.TerminalIngresoLog;
                    db.SaveChanges();
                    resultado[0] = "002";
                    resultado[1] = "Registro Inactivado con éxito";
                    resultado[2] = poDetalle;
                }
                return(resultado);
            }
        }
        public object[] GuardarDetalleControl(ENTRADA_SALIDA_MATERIAL_DETALLE poDetalleControl)
        {
            using (var db = new ASIS_PRODEntities())
            {
                object[] resultado     = new object[3];
                var      buscarabecera = db.ENTRADA_SALIDA_MATERIAL_CABECERA.Find(poDetalleControl.IdCabeceraEntradaSalidaMaterial);
                if (buscarabecera.EstadoControl)
                {
                    resultado[0] = "003";
                    resultado[1] = "El control se encuetra aprobado, no puede ser modificado";
                    resultado[2] = poDetalleControl;
                }
                else
                {
                    var buscarDetalle = db.ENTRADA_SALIDA_MATERIAL_DETALLE.Where(x => x.IdCabeceraEntradaSalidaMaterial == poDetalleControl.IdCabeceraEntradaSalidaMaterial && x.Material == poDetalleControl.Material && x.EstadoRegistro == clsAtributos.EstadoRegistroActivo).FirstOrDefault();

                    if (buscarDetalle == null)
                    {
                        db.ENTRADA_SALIDA_MATERIAL_DETALLE.Add(poDetalleControl);
                        db.SaveChanges();
                        resultado[0] = "000";
                        resultado[1] = "Registro ingresado con éxito";
                        resultado[2] = new
                        {
                            poDetalleControl.EstadoRegistro,
                            poDetalleControl.FechaIngresoLog,
                            poDetalleControl.FechaModificacionLog,
                            poDetalleControl.IdCabeceraEntradaSalidaMaterial,
                            poDetalleControl.IdDetalleEntradaSalidaMateriales,
                            poDetalleControl.TerminalIngresoLog,
                            poDetalleControl.TerminalModificacionLog,
                            poDetalleControl.UsuarioIngresoLog,
                            poDetalleControl.UsuarioModificacionLog
                        };
                    }
                    else
                    {
                        resultado[0] = "002";
                        resultado[1] = "Error, el registro ya existe";
                        resultado[2] = poDetalleControl;
                    }
                }

                return(resultado);
            }
        }