Beispiel #1
0
        public static List <VCFramework.EntidadFuniconal.ListaTricelFuncional> ObtenerListaTricelFuncional(int idTricel, int usuResponsable)
        {
            //ESTO ESTÁ TODO MALO!!!!!!! SE DEBEN LISTAR PRIMERO LOS TRICEL DONDE EL USUARIO SEA RESPONSABLE
            //LUEGO SI NO TIENE LISTAS ASOCIADAS HAY QUE GENERAR UN REGISTRO EN EL CUAL SE LE PERMITA CREAR UNA LISTA (ICONO CREAR)
            //SI TIENE LISTAS ASOCIADAS SE DEBE MOSTRAR ICONOS ELIMINAR O MODIFICAR LISTA

            //OBTENEMOS RESPONSABLES
            List <Entidad.ResponsableTricel>  responsablesBuscar = NegocioMySQL.ResponsableTricel.ObtenerResponsablesPorUsuId(usuResponsable);
            List <VCFramework.Entidad.Tricel> listaTriceles      = new List <Entidad.Tricel>();
            List <VCFramework.EntidadFuniconal.ListaTricelFuncional> listaRetorno = new List <EntidadFuniconal.ListaTricelFuncional>();

            if (responsablesBuscar != null && responsablesBuscar.Count > 0)
            {
                foreach (Entidad.ResponsableTricel resp in responsablesBuscar)
                {
                    //obtenemos los triceles del responsable
                    List <Entidad.Tricel> listaT = NegocioMySQL.Tricel.ObtenerTricelPorId(resp.TriId);
                    if (listaT != null && listaT.Count > 0)
                    {
                        Entidad.Tricel tricel = listaT[0];
                        listaTriceles.Add(tricel);
                    }
                }
                //ahora que tenemos los triceles verificamos si tienen o no tienen listas asociadas
                if (listaTriceles != null && listaTriceles.Count > 0)
                {
                    foreach (Entidad.Tricel tric in listaTriceles)
                    {
                        //VCFramework.EntidadFuniconal.ListaTricelFuncional listaTricelAgregar = new EntidadFuniconal.ListaTricelFuncional();

                        List <Entidad.ListaTricel> listitaTricel = NegocioMySQL.ListaTricel.ObtenerListaTricelPorTricelId(tric.Id);
                        if (listitaTricel != null && listitaTricel.Count > 0)
                        {
                            foreach (Entidad.ListaTricel lt in listitaTricel)
                            {
                                VCFramework.EntidadFuniconal.ListaTricelFuncional listaTricelAgregar = new EntidadFuniconal.ListaTricelFuncional();
                                //si tiene lista asociada entonces se debe mostrar los iconos editar y eliminar
                                //si la lista es del mismo usuario que esta logueado, entonces este puede editar y eliminar
                                if (lt.UsuId == usuResponsable)
                                {
                                    listaTricelAgregar.IconoEditar = true;
                                    //igual debe permitir ver el icono de crear, ya que pueden existir
                                    //más de una lista por TRICEL. CAMBIADO, SOLO PUEDE ESTAR ESTE ICONO
                                    //listaTricelAgregar.IconoCrear = true;
                                    listaTricelAgregar.IconoEliminar = true;
                                }
                                else
                                {
                                    //solo si no tiene ya una lista del mismo tricel, de lo contrario no mostrar
                                    if (!listitaTricel.Exists(p => p.UsuId == usuResponsable))
                                    {
                                        listaTricelAgregar.IconoCrear = true;
                                    }
                                }
                                listaTricelAgregar.Beneficios   = lt.Beneficios;
                                listaTricelAgregar.Descripcion  = lt.Descripcion;
                                listaTricelAgregar.Id           = lt.Id;
                                listaTricelAgregar.InstId       = lt.InstId;
                                listaTricelAgregar.Nombre       = lt.Nombre;
                                listaTricelAgregar.Objetivo     = lt.Objetivo;
                                listaTricelAgregar.Rol          = lt.Rol;
                                listaTricelAgregar.RptId        = lt.RptId;
                                listaTricelAgregar.TriId        = tric.Id;
                                listaTricelAgregar.FechaInicio  = lt.FechaInicio;
                                listaTricelAgregar.FechaTermino = lt.FechaTermino;

                                listaRetorno.Add(listaTricelAgregar);
                            }
                        }
                        else
                        {
                            VCFramework.EntidadFuniconal.ListaTricelFuncional listaTricelAgregar = new EntidadFuniconal.ListaTricelFuncional();
                            //no tiene lista asociada, el usuario puede crearla
                            listaTricelAgregar.IconoCrear = true;
                            listaTricelAgregar.Nombre     = "Sin Crear (Lista Pendiente)";
                            listaTricelAgregar.TriId      = tric.Id;
                            listaRetorno.Add(listaTricelAgregar);
                        }

                        //listaRetorno.Add(listaTricelAgregar);
                    }
                }
            }

            #region comentado

            //VCFramework.Negocio.Factory.Factory fac = new VCFramework.Negocio.Factory.Factory();
            //FiltroGenerico filtro = new FiltroGenerico();
            //filtro.Campo = "TRI_ID";
            //filtro.Valor = idTricel.ToString();
            //filtro.TipoDato = TipoDatoGeneral.Entero;

            ////List<object> lista = fac.Leer<VCFramework.Entidad.ListaTricel>(filtro);
            //List<object> lista = fac.Leer<VCFramework.Entidad.ListaTricel>();
            //List<VCFramework.Entidad.ListaTricel> lista2 = new List<VCFramework.Entidad.ListaTricel>();
            //if (lista != null)
            //{
            //    lista2 = lista.Cast<VCFramework.Entidad.ListaTricel>().ToList();
            //}
            //if (lista2 != null)
            //    lista2 = lista2.FindAll(p => p.Eliminado == 0);

            ////AHORA BUSCAMOS DENTRO DE LA LISTA LOS RESPONSABLES, SI EL USUARIO COINCIDE ENTONCES AGREGAMOS LA LISTA
            ////DE LO CONTRARIO NO
            //if (lista2 != null && lista2.Count > 0)
            //{
            //    foreach(Entidad.ListaTricel listaT in lista2)
            //    {
            //        List<Entidad.ResponsableTricel> responsables = NegocioMySQL.ResponsableTricel.ObtenerResponsables(listaT.TriId);
            //        if (responsables != null && responsables.Count > 0)
            //        {
            //            if (responsables.Exists(p=>p.UsuId == usuResponsable))
            //            {
            //                //existe, debe ser agregado a la lista para retornar
            //                EntidadFuniconal.ListaTricelFuncional entidad = new EntidadFuniconal.ListaTricelFuncional();
            //                entidad.Beneficios = listaT.Beneficios;
            //                entidad.Descripcion = listaT.Descripcion;
            //                entidad.Eliminado = listaT.Eliminado;
            //                entidad.Id = listaT.Id;
            //                entidad.InstId = listaT.InstId;
            //                entidad.Nombre = listaT.Nombre;
            //                entidad.Objetivo = listaT.Objetivo;
            //                entidad.Rol = listaT.Rol;
            //                entidad.RptId = listaT.RptId;
            //                entidad.TriId = listaT.TriId;
            //                listaRetorno.Add(entidad);

            //            }
            //        }
            //    }
            //}
            #endregion

            return(listaRetorno);
        }
Beispiel #2
0
        public static List <VCFramework.EntidadFuniconal.ListaTricelFuncional> ObtenerListaTricelFuncionalProyectos(int instId, int usuResponsable)
        {
            //OBTENEMOS RESPONSABLES
            List <Entidad.ResponsableTricel>  responsablesBuscar = NegocioMySQL.ResponsableTricel.ObtenerResponsablesPorUsuId(usuResponsable);
            List <VCFramework.Entidad.Tricel> listaTriceles      = new List <Entidad.Tricel>();
            List <VCFramework.EntidadFuniconal.ListaTricelFuncional> listaRetorno = new List <EntidadFuniconal.ListaTricelFuncional>();

            if (responsablesBuscar != null && responsablesBuscar.Count > 0)
            {
                foreach (Entidad.ResponsableTricel resp in responsablesBuscar)
                {
                    //obtenemos los triceles del responsable
                    List <Entidad.Tricel> listaT = NegocioMySQL.Tricel.ObtenerTricelPorId(resp.TriId);
                    if (listaT != null && listaT.Count > 0)
                    {
                        Entidad.Tricel tricel = listaT[0];
                        listaTriceles.Add(tricel);
                    }
                }

                //discriminamos por fecha   *************************************************************
                if (listaTriceles != null && listaTriceles.Count > 0)
                {
                    //listaTriceles = listaTriceles.FindAll(p => p.Eliminado == 0 && p.FechaInicio <= DateTime.Now.AddDays(-1));
                    listaTriceles = listaTriceles.FindAll(p => p.Eliminado == 0);
                }
                //***************************************************************************************

                //ahora que tenemos los triceles verificamos si tienen o no tienen listas asociadas
                if (listaTriceles != null && listaTriceles.Count > 0)
                {
                    foreach (Entidad.Tricel tric in listaTriceles)
                    {
                        //VCFramework.EntidadFuniconal.ListaTricelFuncional listaTricelAgregar = new EntidadFuniconal.ListaTricelFuncional();

                        List <Entidad.ListaTricel> listitaTricel = NegocioMySQL.ListaTricel.ObtenerListaTricelPorTricelId(tric.Id);
                        if (listitaTricel != null && listitaTricel.Count > 0)
                        {
                            foreach (Entidad.ListaTricel lt in listitaTricel)
                            {
                                if (lt.FechaInicio <= DateTime.Now.AddHours(-23) && lt.FechaTermino >= DateTime.Now.AddDays(1))
                                {
                                    VCFramework.EntidadFuniconal.ListaTricelFuncional listaTricelAgregar = new EntidadFuniconal.ListaTricelFuncional();
                                    //si tiene lista asociada entonces se debe mostrar los iconos editar y eliminar
                                    listaTricelAgregar.IconoEditar = true;
                                    //igual debe permitir ver el icono de crear, ya que pueden existir
                                    //más de una lista por TRICEL.
                                    listaTricelAgregar.IconoCrear    = true;
                                    listaTricelAgregar.IconoEliminar = true;
                                    listaTricelAgregar.Beneficios    = lt.Beneficios;
                                    listaTricelAgregar.Descripcion   = lt.Descripcion;
                                    listaTricelAgregar.Id            = lt.Id;
                                    listaTricelAgregar.InstId        = lt.InstId;
                                    listaTricelAgregar.Nombre        = lt.Nombre;
                                    listaTricelAgregar.Objetivo      = lt.Objetivo;
                                    listaTricelAgregar.Rol           = lt.Rol;
                                    listaTricelAgregar.RptId         = lt.RptId;
                                    listaTricelAgregar.TriId         = tric.Id;
                                    listaTricelAgregar.Tricel        = new Entidad.Tricel();
                                    listaTricelAgregar.Tricel        = tric;
                                    listaTricelAgregar.FechaInicio   = lt.FechaInicio;
                                    listaTricelAgregar.FechaTermino  = lt.FechaTermino;

                                    listaRetorno.Add(listaTricelAgregar);
                                }
                            }
                        }
                        else
                        {
                            VCFramework.EntidadFuniconal.ListaTricelFuncional listaTricelAgregar = new EntidadFuniconal.ListaTricelFuncional();
                            //no tiene lista asociada, el usuario puede crearla
                            listaTricelAgregar.IconoCrear = true;
                            listaTricelAgregar.Nombre     = "Sin Crear (Lista Pendiente)";
                            listaTricelAgregar.TriId      = tric.Id;
                            listaTricelAgregar.Tricel     = new Entidad.Tricel();
                            listaTricelAgregar.Tricel     = tric;
                            //se comenta porque en la página por defecto no se puede mostrar
                            //listaRetorno.Add(listaTricelAgregar);
                        }

                        //listaRetorno.Add(listaTricelAgregar);
                    }
                }
            }


            return(listaRetorno);
        }