public JsonResult _validarCUD(int numeroCud)
        {
            try
            {
                UnidadDocumentalModel modeloUD = new UnidadDocumentalModel(db);
                int _cliNit = Convert.ToInt32(((Usuarios)this.Session["USUARIO"]).CliNit);

                int datos = modeloUD.validarCUD(numeroCud, _cliNit);
                return(Json(datos, JsonRequestBehavior.AllowGet));
            }
            catch (Exception)
            {
                throw;
            }
        }
        public IEnumerable <grilla_contenidoUD> _getContenidoUD(int ud)
        {
            UnidadDocumentalModel modeloUD = new UnidadDocumentalModel(db);
            GestorDocumentalEnt   dbo      = new GestorDocumentalEnt();

            var grilla = dbo.spAlm_ConsultaContenidoUD(ud);
            List <grilla_contenidoUD> _grillaAlm = new List <grilla_contenidoUD>();

            foreach (spAlm_ConsultaContenidoUD_Result item in grilla)
            {
                grilla_contenidoUD data = new grilla_contenidoUD();
                data._cud       = Convert.ToInt32(item.CUD);
                data._codBarras = item.CodBarras;
                data._negId     = Convert.ToInt32(item.NegId);
                data._fecha     = item.Fecha.ToString();

                _grillaAlm.Add(data);
            }

            return(_grillaAlm);
        }
        public IEnumerable <grilla_DetalleLote> _getDetalle(long loteONumeroUnico, int _cud)
        {
            UnidadDocumentalModel modeloUD = new UnidadDocumentalModel(db);
            GestorDocumentalEnt   dbo      = new GestorDocumentalEnt();

            var grilla = dbo.spAlm_DetalleLote(loteONumeroUnico, _cud);
            List <grilla_DetalleLote> _grillaAlm = new List <grilla_DetalleLote>();

            foreach (spAlm_DetalleLote_Result item in grilla)
            {
                grilla_DetalleLote data = new grilla_DetalleLote();
                data._negID          = item.NegId;
                data._paginas        = item.Paginas;
                data._codBarras      = item.CodBarras;
                data._gruDescripcion = item.GruDescripcion;

                _grillaAlm.Add(data);
            }

            return(_grillaAlm);
        }
        public JsonResult _getDataCUD(long numeroCud)
        {
            try
            {
                UnidadDocumentalModel modeloUD = new UnidadDocumentalModel(db);
                var datos = modeloUD.getCUD(numeroCud);

                //Obtiene la informacion de la Unidad documental consultada. Y extrae los subProductos asignados
                //a la Unidad documental.
                List <spAlm_ConsultaDataUD_Result> lstDatos = new List <spAlm_ConsultaDataUD_Result>();
                lstDatos = db.spAlm_ConsultaDataUD(numeroCud).ToList();

                Session["CUD"] = numeroCud;
                return(Json(datos, JsonRequestBehavior.AllowGet));
            }
            catch (Exception es)
            {
                LogRepository.registro("Error en  metodo _getDataCUD " + es.Message);
                throw;
            }
        }
        private IEnumerable <grillaResultadoAlm> _grillaResultado(long numero)
        {
            UnidadDocumentalModel modeloUD = new UnidadDocumentalModel(db);
            GestorDocumentalEnt   dbo      = new GestorDocumentalEnt();

            var grilla = dbo.spAlm_ConsultaDataUD(numero);
            List <grillaResultadoAlm> _grillaAlm = new List <grillaResultadoAlm>();

            foreach (spAlm_ConsultaDataUD_Result item in grilla)
            {
                grillaResultadoAlm data = new grillaResultadoAlm();
                data._CUD             = item.CUD;
                data._CliNombre       = item.CliNombre;
                data._Tipo            = item.Tipo;
                data._FechaCreacion   = item.FechaCreacion;
                data._UsuarioCreacion = item.UsuarioCreacion;
                data._Destino         = item.Destino;
                data._Subproductos    = item.SubProductos;

                _grillaAlm.Add(data);
            }
            return(_grillaAlm);
        }
        public IEnumerable <grilla_ReglasDocumentos> _getGrillaReglas(int ud, int clienteNit)
        {
            UnidadDocumentalModel modelUD = new UnidadDocumentalModel(db);
            GestorDocumentalEnt   dbo     = new GestorDocumentalEnt();

            var grilla = dbo.spAlm_GrillaReglas(ud, clienteNit);
            List <grilla_ReglasDocumentos> _grillaReglas = new List <grilla_ReglasDocumentos>();

            foreach (spAlm_GrillaReglas_Result item in grilla)
            {
                grilla_ReglasDocumentos data = new grilla_ReglasDocumentos();
                data._negID       = Convert.ToInt32(item.NegId);
                data._paginas     = Convert.ToInt32(item.Paginas);
                data._codBarras   = item.CodBarras;
                data._producto    = item.Producto;
                data._subProducto = item.SubProducto;
                data._campo1      = item.Campo1;
                data._campo2      = item.Campo2;
                data._campo3      = item.Campo3;

                _grillaReglas.Add(data);
            }
            return(_grillaReglas);
        }
        public IEnumerable <grilla_AlmacenarLote> _getAlmacenarLote(long NoLote)
        {
            UnidadDocumentalModel modeloUD = new UnidadDocumentalModel(db);
            GestorDocumentalEnt   dbo      = new GestorDocumentalEnt();

            var grilla = dbo.spAlm_AlmacenarLote(NoLote, long.Parse(Session["CUD"].ToString()));
            List <grilla_AlmacenarLote> _grillaAlm = new List <grilla_AlmacenarLote>();

            foreach (spAlm_AlmacenarLote_Result item in grilla)
            {
                grilla_AlmacenarLote data = new grilla_AlmacenarLote();
                data._id             = item.id;
                data._subgrupo       = item.subgrupo;
                data._principales    = item.principales;
                data._fechaRecepcion = item.fechaRecepcion.ToString();
                data._numeroLote     = item.numeroLote;
                data._fechaCargue    = item.fechaCargue.ToString();
                data._tipo           = "Lote";

                _grillaAlm.Add(data);
            }

            return(_grillaAlm);
        }
        public ActionResult Guardar(FormCollection collection)
        {
            alm_UnidadDocumental  unidadDObjeto = new alm_UnidadDocumental();
            alm_GruposCUD         grupoAlmacenado;
            alm_CapturaUD         capturaUD;
            List <alm_GruposCUD>  listaGrupos  = new List <alm_GruposCUD>();
            List <alm_CapturaUD>  listCaptura  = new List <alm_CapturaUD>();
            UnidadDocumentalModel unidadDModel = new UnidadDocumentalModel(db);
            ParametrosController  parametros   = new ParametrosController(db);

            unidadDObjeto.Cliente         = ((GestorDocumental.Models.Clientes)Session["CLIENTE"]).CliNit;
            unidadDObjeto.TipoContenedor  = Convert.ToInt32(collection["tipoContenedor"]);
            unidadDObjeto.DestinoId       = Convert.ToInt32(collection["destinoAlmacenamiento"]);
            unidadDObjeto.FechaCreacion   = DateTime.Now;
            unidadDObjeto.UsuarioCreacion = ((Usuarios)Session["USUARIO_LOGUEADO"]).IdUsuario;
            unidadDObjeto.Estado          = 1;
            unidadDObjeto.Oficina         = Convert.ToInt32(collection["oficina"]);

            //Guarda el los dato de la unidad documental creada
            //Y crea la nueva asignacion de tareas para la Unidad documental creada
            long   CUD = unidadDModel.Add(unidadDObjeto);
            string parametroImpresion = parametros.get("TYPO_PRINT_ALM");

            var llaves = collection.AllKeys;

            for (int i = 0; i < llaves.Length; i++)
            {
                //Busca los subproudctos seleccionados
                if (llaves[i].Contains("subProc_"))
                {
                    grupoAlmacenado       = new alm_GruposCUD();
                    grupoAlmacenado.CUD   = CUD;
                    grupoAlmacenado.GruId = Convert.ToInt32(llaves[i].Split(new String[] { "subProc_" },
                                                                            StringSplitOptions.RemoveEmptyEntries)[0].ToString());
                    grupoAlmacenado.Activo = true;
                    listaGrupos.Add(grupoAlmacenado);
                }

                //Busca los los campos dinamicos pintados
                IEnumerable <dynamic> campos = Session["listaCamposDinamicos"] as dynamic;

                if (llaves[i].Contains("idCampo_"))
                {
                    capturaUD = new alm_CapturaUD();

                    string idcampo = llaves[i].Split(new String[] { "idCampo_" },
                                                     StringSplitOptions.RemoveEmptyEntries)[0].ToString();

                    var campo = campos.Where(x => Extends.ObtenerValorReflexion(x, "CampId").ToString() == idcampo).FirstOrDefault();

                    if (campo.TcId == 5)
                    {
                        capturaUD.CUD     = CUD;
                        capturaUD.CampId  = int.Parse(idcampo);
                        capturaUD.Valor   = CodigoDelItemLista(int.Parse(collection[llaves[i]]));
                        capturaUD.Usuario = ((Usuarios)Session["USUARIO_LOGUEADO"]).IdUsuario;
                        capturaUD.Fecha   = DateTime.Now;
                    }
                    else
                    {
                        capturaUD.CUD     = CUD;
                        capturaUD.CampId  = int.Parse(idcampo);
                        capturaUD.Valor   = collection[llaves[i]];
                        capturaUD.Usuario = ((Usuarios)Session["USUARIO_LOGUEADO"]).IdUsuario;
                        capturaUD.Fecha   = DateTime.Now;
                    }

                    listCaptura.Add(capturaUD);
                }
            }

            //Guarda los datos de los grupos que estan almacenado en esa unidad documental
            unidadDModel.Add(listaGrupos);

            //Guarda los datos adicionales de la unidad documental
            unidadDModel.Add(listCaptura);

            ViewData["CUD"] = CUD;
            ViewData["parametroImpresion"] = parametroImpresion;

            if (parametroImpresion == "2")
            {
                //Queda pendiente crear el codigo de la zebra
            }

            return(View());
        }