コード例 #1
0
        public static Necesidad Insertar(Necesidad Necesidad)
        {
            DataSource DataSource         = DataSource.GetInstancia();
            Necesidad  NecesidadInsertada = null;

            try
            {
                using (SqlDataReader Reader =
                           DataSource.ConsultarProcedimiento("NecesidadInsertar", Necesidad.ToParams()))
                {
                    if (Reader != null && Reader.Read())
                    {
                        NecesidadInsertada               = new Necesidad();
                        NecesidadInsertada.Clave         = Convert.ToInt32(Reader["cveNecesidad"]);
                        NecesidadInsertada.FechaCreacion = Convert.ToDateTime(Reader["fechaCreacion"]);
                        NecesidadInsertada.ClaveArea     = Convert.ToInt32(Reader["cveArea"]);
                        NecesidadInsertada.ClavePeriodo  = Convert.ToInt32(Reader["cvePeriodo"]);
                        NecesidadInsertada.ClaveEstatus  = Convert.ToInt32(Reader["cveEstatusNecesidad"]);
                    }

                    DataSource.Cerrar();
                }
            }
            catch (Exception e)
            {
                throw e;
            }



            return(NecesidadInsertada);
        }
コード例 #2
0
        protected void btnEnivar_Click(object sender, EventArgs e)
        {
            string clave = Request.QueryString["id"];

            Necesidad Necesidad = NecesidadDAO.Get(Convert.ToInt32(clave));
            Necesidad.ClaveEstatus = 4;
            Necesidad NecesidadNueva = NecesidadDAO.Actualizar(Convert.ToInt32(clave),Necesidad);

            if (NecesidadNueva == null)
            {
                Mensaje Mensaje = new Mensaje()
                {
                    Titulo = "Algo salió mal",
                    Contenido = "La Necesidad no pudo guardarse. Para más información consulte al administrador del sistema",
                    Tipo = TipoMensaje.ALERTA
                };
                litMensaje.Text = Disenio.GenerarMensaje(Mensaje);
                return;
            }else
            {
                Mensaje Mensaje = new Mensaje()
                {
                    Titulo = "Necesidad enviada!",
                    Contenido = "La Necesidad fue enviada a la zona con exito, notifique a su jefe de zona",
                    Tipo = TipoMensaje.EXITO
                };
                litMensaje.Text = Disenio.GenerarMensaje(Mensaje);
            }

        }
コード例 #3
0
        public static List <Necesidad> Listar()
        {
            DataSource       DataSource  = DataSource.GetInstancia();
            List <Necesidad> Necesidades = new List <Necesidad>();

            try
            {
                using (SqlDataReader Reader =
                           DataSource.ConsultarProcedimiento("NecesidadListar"))
                {
                    if (Reader != null)
                    {
                        while (Reader.Read())
                        {
                            Necesidad Necesidad = new Necesidad();
                            Necesidad.Clave         = Convert.ToInt32(Reader["cveNecesidad"]);
                            Necesidad.FechaCreacion = Convert.ToDateTime(Reader["fechaCreacion"]);
                            Necesidad.ClaveArea     = Convert.ToInt32(Reader["cveArea"]);
                            Necesidad.ClavePeriodo  = Convert.ToInt32(Reader["cvePeriodo"]);
                            Necesidad.ClaveEstatus  = Convert.ToInt32(Reader["cveEstatusNecesidad"]);
                            Necesidades.Add(Necesidad);
                        }
                    }

                    DataSource.Cerrar();
                }
            }catch (Exception e)
            {
                throw e;
            }



            return(Necesidades);
        }
コード例 #4
0
        private static string GetPersonaAsignada(this Necesidad necesidad)
        {
            var personaAsignada = string.Empty;

            //Necesidad Cerrada
            if (necesidad.EstadoNecesidadId == (int)EstadoNecesidadEnum.Cerrada)
            {
                //Contratacion == Cambio Interno
                if (necesidad.TipoContratacionId == (int)TipoContratacionEnum.CambioInterno)
                {
                    personaAsignada = necesidad.PersonaAsignada;
                }
                else if (necesidad.CartasOferta.Any())
                {
                    var candidato = necesidad.CartasOferta.FirstOrDefault().Candidatura.Candidato;
                    personaAsignada = string.Format("{0} {1}", candidato.Nombre, candidato.Apellidos);
                }
            }
            else if (necesidad.EstadoNecesidadId == (int)EstadoNecesidadEnum.Preasignada && (necesidad.TipoContratacionId == (int)TipoContratacionEnum.CambioInterno ||
                                                                                             necesidad.TipoContratacionId == (int)TipoContratacionEnum.Contratación))
            {
                personaAsignada = necesidad.PersonaAsignada;
            }

            return(personaAsignada);
        }
コード例 #5
0
        public List <Necesidad> GetAll()
        {
            Necesidad necesidad_1 = new Necesidad(1, "necesidad 1", "primera necesidad");
            Necesidad necesidad_2 = new Necesidad(2, "necesidad 2", "segunda necesidad");

            lista.Add(necesidad_1);
            lista.Add(necesidad_2);
            return(lista);
        }
コード例 #6
0
        protected void Page_Load(object sender, EventArgs e)
        {
            Usuario = Utilerias.FiltrarUsuario(this);

            string ClaveArea = Request.QueryString["id"];

            if (ClaveArea == null)
            {
                Mensaje Mensaje = new Mensaje()
                {
                    Titulo    = "No se eligió una área",
                    Contenido = "No se ha determinado el área a consultar",
                    Tipo      = TipoMensaje.ALERTA
                };

                Session["mensaje"] = Mensaje;
                Response.Redirect(ResolveUrl("~/App/Division/Requerimientos.aspx"));
            }

            Area = AreaDAO.Get(Convert.ToInt32(ClaveArea)).Rellenar();
            if (Area == null)
            {
                Mensaje Mensaje = new Mensaje()
                {
                    Titulo    = "No se encontró la área seleccionada",
                    Contenido = "El sistema no ha encontrado la área seleccionada",
                    Tipo      = TipoMensaje.ERROR
                };

                Session["mensaje"] = Mensaje;
                Response.Redirect(ResolveUrl("~/App/Division/Requerimientos.aspx"));
            }

            if (!IsPostBack)
            {
                PeriodoSeleccionado = Usuario.ConsultarPeriodoActual();

                PresupuestoDivision PresupuestoDivisional = Usuario.Division.PresupuestoActual(PeriodoSeleccionado.Clave);
                PresupuestoZona     PresupuestoZona       = Area.Zona.PresupuestoActual(PresupuestoDivisional.Clave);
                PresupuestoArea  = Area.PresupuestoActual(PresupuestoZona.Clave);
                presupuesto.Text = PresupuestoArea.Monto.ToString();

                NecesidadActual = Area.NecesidadActual(PeriodoSeleccionado.Clave) ?? new Necesidad();
                necesidad.Text  = NecesidadActual.CalcularImporte().ToString();


                GenerarTablaDetalles();
            }
        }
コード例 #7
0
 private void AgregarEdificiosUtiles()
 {
     Edificio[] edificios = GameObject.FindObjectsOfType <Edificio>();
     foreach (Edificio edificio in edificios)
     {
         if (edificio.transform.parent.name != ciudad.name || !edificio.gameObject.activeSelf)
         {
             continue;
         }
         if (necesidades.Exists(x => x.Nombre == edificio.data.necesidad))
         {
             Necesidad necesidad = necesidades.Find(x => x.Nombre == edificio.data.necesidad);
             necesidad.EdificioUtil = edificio.data;
         }
     }
 }
コード例 #8
0
        public static NecesidadRowViewModel ConvertToNecesidadRowViewModel(this Necesidad necesidad)
        {
            var necesidadRowViewModel = new NecesidadRowViewModel
            {
                NecesidadId       = necesidad.NecesidadId,
                Cliente           = necesidad.Proyecto.Cliente.Nombre,
                Proyecto          = necesidad.Proyecto.Nombre,
                FechaCreacion     = necesidad.Created,
                FechaModificacion = necesidad.Modified.HasValue ? (DateTime)necesidad.Modified : DateTime.MinValue,
                Tecnologia        = necesidad.TipoTecnologia.Nombre,
                Perfil            = necesidad.TipoPerfil.Nombre,
                Estado            = necesidad.EstadoNecesidad.Nombre,
                FechaSolicitud    = necesidad.FechaSolicitud,
                FechaCompromiso   = necesidad.FechaCompromiso.Value,
                Nombre            = necesidad.Nombre,
                TipoPrevisionId   = necesidad.TipoPrevision.Nombre,
                Centro            = necesidad.Centro.Nombre,
                PersonaAsignada   = necesidad.GetPersonaAsignada(),
                Modulo            = necesidad.Modulo,
                TipoContratacion  = necesidad.TipoContratacion.Nombre
            };

            if (necesidad.FechaCierre.HasValue)
            {
                necesidadRowViewModel.FechaCierre = (DateTime)necesidad.FechaCierre;
            }
            if ((necesidad.EstadoNecesidadId == (int)EstadoNecesidadEnum.Preasignada ||
                 necesidad.EstadoNecesidadId == (int)EstadoNecesidadEnum.Cerrada) &&
                necesidad.TipoContratacionId == (int)TipoContratacionEnum.CambioInterno)
            {
                necesidadRowViewModel.PersonaAsignadaId          = necesidad.PersonaAsignadaId;
                necesidadRowViewModel.PersonaAsignadaNroEmpleado = necesidad.PersonaAsignadaNroEmpleado;
            }
            else if ((necesidad.EstadoNecesidadId == (int)EstadoNecesidadEnum.Preasignada ||
                      necesidad.EstadoNecesidadId == (int)EstadoNecesidadEnum.Cerrada) &&
                     necesidad.TipoContratacionId == (int)TipoContratacionEnum.Contratación)
            {
                necesidadRowViewModel.PersonaAsignadaId          = necesidad.PersonaAsignadaId;
                necesidadRowViewModel.PersonaAsignadaNroEmpleado = null;
            }
            if (necesidad.AsignadaCorrectamente.HasValue)
            {
                necesidadRowViewModel.AsignadaCorrectamente = (necesidad.AsignadaCorrectamente.Value) ? "Si": "No";
            }

            return(necesidadRowViewModel);
        }
コード例 #9
0
        protected void btnAprobar_Click(object sender, EventArgs e)
        {
            try
            {
                Usuario                      = Utilerias.FiltrarUsuario(this);
                PeriodoSeleccionado          = Usuario.ConsultarPeriodoActual();
                NecesidadActual              = Area.NecesidadActual(PeriodoSeleccionado.Clave) ?? new Necesidad();
                NecesidadActual.ClaveEstatus = 1;
                Necesidad necesidad = NecesidadDAO.Actualizar(NecesidadActual.Clave, NecesidadActual);
                if (necesidad == null)
                {
                    Mensaje MensajeAlerta = new Mensaje
                    {
                        Titulo    = "Algo salió mal",
                        Contenido = "No se ha podido actualizar el estatus",
                        Tipo      = TipoMensaje.ALERTA
                    };

                    litMensaje.Text = Disenio.GenerarMensaje(MensajeAlerta);
                    return;
                }
                else
                {
                    Mensaje MensajeAlerta = new Mensaje
                    {
                        Titulo    = "Necesidad aprobada",
                        Contenido = "La necesidad fue aprobada",
                        Tipo      = TipoMensaje.EXITO
                    };

                    litMensaje.Text = Disenio.GenerarMensaje(MensajeAlerta);
                    return;
                }
            }
            catch (Exception ex)
            {
                Mensaje Mensaje = new Mensaje
                {
                    Titulo    = "Error al aprobar la necesidad",
                    Contenido = ex.Message,
                    Tipo      = TipoMensaje.ERROR
                };

                litMensaje.Text = Disenio.GenerarMensaje(Mensaje);
            }
        }
コード例 #10
0
        private void GenerarTablaAreas()
        {
            litTablaAreas.Text = Disenio.GenerarTabla(Areas, a =>
            {
                Necesidad NecesidadActualArea  = (a.NecesidadActual(PeriodoSeleccionado.Clave) ?? new Necesidad()).Rellenar();
                Necesidad NecesidadInicialArea = a.NecesidadInicial(PeriodoSeleccionado.Clave) ?? new Necesidad();

                string NecesidadActual  = Utilerias.ToCurrency(NecesidadActualArea.CalcularImporte());
                string NecesidadInicial = Utilerias.ToCurrency(NecesidadInicialArea.CalcularImporte());

                string Estatus = NecesidadActualArea.Estatus?.Descripcion ?? "Sin registro";

                string Url = "RequerimientosArea.aspx?id=" + a.Clave;

                return(new string[] { a.Nombre, NecesidadActual, NecesidadInicial, Estatus, "<a href='" + Url + "' class='btn btn-default btn-block'>Ver detalles</a>" });
            });
        }
コード例 #11
0
        protected void btnCrearPrograma_Click(object sender, EventArgs e)
        {
            try
            {
                Programa Programa = new Programa();
                Programa.FechaCreacion = Utilerias.ParsearFecha(txtFechaCreacion.Text);
                //falta agregar que solamente la necesidad aprobada sea a la que se le signara el programa de ejecucion  && r.ClaveEstatus == 1
                Modelo.Area Area            = AreaDAO.Get(Convert.ToInt32(Usuario.ClaveArea)).Rellenar();
                Necesidad   NecesidadActual = Area.NecesidadActual(Periodo.Clave) ?? new Necesidad();

                Necesidades             = NecesidadDAO.Listar().Where(r => r.ClaveArea == Usuario.ClaveArea).ToList();
                Programa.ClaveNecesidad = NecesidadActual.Clave;

                Programa ProgramaNuevo = ProgramaDAO.Insertar(Programa);

                if (ProgramaNuevo == null)
                {
                    Mensaje Mensaje = new Mensaje()
                    {
                        Titulo    = "Algo salió mal",
                        Contenido = "El programa no pudo guardarse. Para más información consulte al administrador del sistema",
                        Tipo      = TipoMensaje.ALERTA
                    };
                    litMensaje.Text = Disenio.GenerarMensaje(Mensaje);
                    return;
                }
                else
                {
                    Response.Redirect(ResolveUrl("~/App/Area/CrearProgramaDetalle.aspx?id=" + ProgramaNuevo.Clave + "&idNec=" + NecesidadActual.Clave));
                }
            }
            catch (Exception Ex)
            {
                Mensaje Mensaje = new Mensaje()
                {
                    Titulo    = "Error al guardar el programa",
                    Contenido = Ex.Message,
                    Tipo      = TipoMensaje.ERROR
                };

                litMensaje.Text = Disenio.GenerarMensaje(Mensaje);
            }
        }
コード例 #12
0
    private IEnumerator DefinirDestino()
    {
        yield return(new WaitForSeconds(.5f));

        if (necesidades.Count == 0 && m_rutina.Length > 0)
        {
            movimiento.StartRutina(m_rutina, m_posRealesRutina);
            yield break;
        }

        List <EdificioData> edificiosUtiles = new List <EdificioData>();

        while (true)
        {
            if (estadoActual != EstadoNPC.Ocupado)
            {
                for (int i = 0; i < necesidadesInsatisfechas.Count; i++)
                {
                    Necesidad necesidad = necesidadesInsatisfechas[i];
                    if (dinero >= necesidad.EdificioUtil.costo)
                    {
                        edificiosUtiles.Add(necesidad.EdificioUtil);
                        necesidadesInsatisfechas.RemoveAt(i);
                        i--;
                    }
                }
                if (edificiosUtiles.Count > 0)
                {
                    movimiento.UpdateEdificiosUtiles(edificiosUtiles);
                    edificiosUtiles.Clear();
                }
            }
            if (movimientosRandoms && estadoActual == EstadoNPC.Quieto)
            {
                movimiento.StartRandom();
            }
            yield return(new WaitForSeconds(1));
        }
    }
コード例 #13
0
        protected void btnRegistrarNecesidad_Click(object sender, EventArgs e)
        {
            try
            {
                Necesidad Necesidad = new Necesidad();
                DateTime  fecha     = Utilerias.ParsearFecha(txtFechaCreacion.Text);
                Necesidad.FechaCreacion = fecha;
                Necesidad.ClaveArea     = Convert.ToInt32(Usuario.ClaveArea);
                Necesidad.ClavePeriodo  = Convert.ToInt32(Periodo.Clave);
                Necesidad.ClaveEstatus  = Convert.ToInt32(3);

                Necesidad NecesidadNueva = NecesidadDAO.Insertar(Necesidad);
                if (NecesidadNueva == null)
                {
                    Mensaje Mensaje = new Mensaje()
                    {
                        Titulo    = "Algo salió mal",
                        Contenido = "La Necesidad no pudo guardarse. Para más información consulte al administrador del sistema",
                        Tipo      = TipoMensaje.ALERTA
                    };
                    litMensaje.Text = Disenio.GenerarMensaje(Mensaje);
                    return;
                }

                Response.Redirect(ResolveUrl("~/App/Area/RegistroNecesidadDetalle.aspx?id=" + NecesidadNueva.Clave));
            }
            catch (Exception Ex)
            {
                Mensaje Mensaje = new Mensaje()
                {
                    Titulo    = "Error al guardar ejercicio",
                    Contenido = Ex.Message,
                    Tipo      = TipoMensaje.ERROR
                };

                litMensaje.Text = Disenio.GenerarMensaje(Mensaje);
            }
        }
コード例 #14
0
        public static StaffingNecesidadRowViewModel ConvertToStaffingNecesidadRowViewModel(this Necesidad necesidad)
        {
            var necesidadRowViewModel = new StaffingNecesidadRowViewModel()
            {
                NecesidadId     = necesidad.NecesidadId,
                Cliente         = necesidad.Proyecto.Cliente.Nombre,
                Proyecto        = necesidad.Proyecto.Nombre,
                FechaCompromiso = necesidad.FechaCompromiso,
                PerfilId        = necesidad.TipoPerfilId,
                Perfil          = necesidad.TipoPerfil.Nombre,
                PersonaAsignada = necesidad.PersonaAsignada,
                //El siguiente id no es de la persona asignada en si sino que varia y puede ser el de la candidatura o persona libre
                PersonaAsignadaId = necesidad.TipoContratacionId == (int)TipoContratacionEnum.CambioInterno ?
                                    necesidad.PersonaAsignadaId : necesidad.CandidaturaId,
                TecnologiaId          = necesidad.TipoTecnologiaId,
                TipoContratacionId    = necesidad.TipoContratacionId,
                Prioridad             = necesidad.Prioridad,
                ObservacionesStaffing = necesidad.ObservacionesStaffing
            };

            return(necesidadRowViewModel);
        }
コード例 #15
0
        protected void Page_Load(object sender, EventArgs e)
        {
            Usuario = Utilerias.FiltrarUsuario(this);
            Periodo = Usuario.ConsultarPeriodoActual();



            if (!IsPostBack)
            {
                Modelo.Area Area            = AreaDAO.Get(Convert.ToInt32(Usuario.ClaveArea)).Rellenar();
                Necesidad   NecesidadActual = Area.NecesidadActual(Periodo.Clave) ?? new Necesidad();

                txtFechaCreacion.Text = DateTime.Today.Date.ToShortDateString();
                //falta agregar que solamente la necesidad aprobada sea a la que se le signara el programa de ejecucion  && r.ClaveEstatus == 1
                Necesidades = NecesidadDAO.Listar().Where(r => r.ClaveArea == Usuario.ClaveArea).ToList();

                txtNecesidad.Text = NecesidadActual.FechaCreacion.ToString();
                List <Programa> Programas = new List <Programa>();


                foreach (Necesidad nec in Necesidades)
                {
                    try
                    {
                        Programas.Add(ProgramaDAO.Listar().Where(r => r.ClaveNecesidad == nec.Clave).First());
                    }
                    catch (Exception ex)
                    {
                        break;
                    }
                }



                if (NecesidadActual.ClaveEstatus != 1)
                {
                    btnCrearPrograma.Visible = false;
                }
                else if (NecesidadActual.ClaveEstatus == 1)
                {
                    btnCrearPrograma.Visible = true;
                }

                string Filas = "";

                if (Programas.Count != 0)
                {
                    foreach (Programa p in Programas)
                    {
                        string    url       = ResolveUrl("~/App/Area/CrearProgramaDetalle.aspx?id=" + p.Clave + "&idNec=" + p.ClaveNecesidad);
                        Necesidad Necesidad = NecesidadDAO.Get(p.ClaveNecesidad);
                        Filas += Disenio.GenerarFilaTabla(p.FechaCreacion.ToShortDateString(),
                                                          Necesidad.FechaCreacion.ToShortDateString(),
                                                          "<a href='" + url + "' class='btn btn-default btn-block'>Editar</a>");
                    }
                }



                litTBody.Text = Filas;
            }
        }
コード例 #16
0
        protected void Page_Load(object sender, EventArgs e)
        {
            usuario = Utilerias.FiltrarUsuario(this);
            periodo = usuario.ConsultarPeriodoActual();
            string idArea = Request.QueryString["id"];


            if (!IsPostBack)
            {
                int necesidadC = NecesidadDAO.Listar().Where(r => r.ClaveArea == Convert.ToInt32(idArea) && r.ClavePeriodo == periodo.Clave).Count();
                if (necesidadC == 0)
                {
                    Mensaje mensaje = new Mensaje()
                    {
                        Titulo    = "ADVERTENCIA!",
                        Contenido = "No hay necesidades registradas",
                        Tipo      = TipoMensaje.ERROR
                    };
                    litMensaje.Text = Disenio.GenerarMensaje(mensaje);
                }
                else
                {
                    Necesidad necesidad = NecesidadDAO.Listar().Where(r => r.ClaveArea == Convert.ToInt32(idArea) && r.ClavePeriodo == periodo.Clave).First();
                    int       id        = necesidad.Rellenar().Clave;
                    int       programaC = ProgramaDAO.Listar().Where(r => r.ClaveNecesidad == Convert.ToInt32(id)).Count();
                    if (programaC == 0)
                    {
                        Mensaje mensaje = new Mensaje()
                        {
                            Titulo    = "ADVERTENCIA!",
                            Contenido = "No hay programa de ejecucion registrado",
                            Tipo      = TipoMensaje.ERROR
                        };
                        litMensaje.Text = Disenio.GenerarMensaje(mensaje);
                    }
                    else
                    {
                        programa         = ProgramaDAO.Listar().Where(r => r.ClaveNecesidad == Convert.ToInt32(id)).First();
                        programaDetalles = ProgramaDetalleDAO.Listar().Where(r => r.ClavePrograma == programa.Clave).ToList();


                        string Fila  = "";
                        string Fila2 = "";
                        foreach (ProgramaDetalle p in programaDetalles)
                        {
                            p.Rellenar();
                            int mesC = MesDAO.Listar().Where(r => r.ClaveDetallePrograma == p.Clave).Count();
                            if (mesC == 0)
                            {
                                break;
                            }
                            Mes mes = MesDAO.Listar().Where(r => r.ClaveDetallePrograma == p.Clave).First();
                            meses.Add(mes);
                            int programC = ProgramacionDAO.Listar().Where(x => x.ClaveMes == mes.Rellenar().Clave).Count();
                            if (programC == 0)
                            {
                                break;
                            }
                            Programacion program = ProgramacionDAO.Listar().Where(x => x.ClaveMes == mes.Rellenar().Clave).First();

                            int av = AvanceDAO.Listar().Where(r => r.ClaveProgramacion == program.Clave).Count();
                            if (av != 0)
                            {
                                Avance avances = AvanceDAO.Listar().Where(r => r.ClaveProgramacion == program.Rellenar().Clave).First();
                                Fila2 += Disenio.GenerarFilaTabla(
                                    avances.Ejecutado.ToString(),
                                    avances.Observacioens,
                                    avances.FechaCreacion.ToString(),
                                    mes.Rellenar().NombreMes
                                    );
                            }


                            if (p.TipoConcepto != null)
                            {
                                Fila += Disenio.GenerarFilaTabla(
                                    mes.NombreMes,
                                    program.Programado.ToString(),
                                    p.Circuito.Rellenar().Codigo,
                                    p.Concepto.Rellenar().Descripcion,
                                    p.TipoConcepto.Rellenar().Descripcion);
                            }
                            else
                            {
                                Fila += Disenio.GenerarFilaTabla(
                                    mes.NombreMes,
                                    program.Programado.ToString(),
                                    p.Circuito.Rellenar().Codigo,
                                    p.Concepto.Rellenar().Descripcion,
                                    "");
                            }
                        }

                        litTBody.Text  = Fila;
                        litTBody2.Text = Fila2;
                    }
                }
            }
        }
コード例 #17
0
        protected void Page_Load(object sender, EventArgs e)
        {
            usuario = Utilerias.FiltrarUsuario(this);
            periodo = usuario.ConsultarPeriodoActual();



            if (!IsPostBack)
            {
                Mensaje m = new Mensaje()
                {
                    Titulo    = "ADVERTENCIA!",
                    Contenido = "SEA CUIDADOSO AL CREAR UNA PROGRAMACION YA QUE NO PODRÁ SER MODIFICADA UNA VES QUE SE REGISTRE, si comete un error contacte al administrador",
                    Tipo      = TipoMensaje.ALERTA
                };
                advertencia.Text = Disenio.GenerarMensaje(m);

                int necesidadC = NecesidadDAO.Listar().Where(r => r.ClaveArea == usuario.ClaveArea && r.ClavePeriodo == periodo.Clave).Count();
                if (necesidadC == 0)
                {
                    Mensaje me = new Mensaje()
                    {
                        Titulo    = "ADVERTENCIA!",
                        Contenido = "no hay necesidades registradas o aprobadas para el periodo en curso",
                        Tipo      = TipoMensaje.ALERTA
                    };
                    advertencia.Text = Disenio.GenerarMensaje(me);
                }
                else
                {
                    Necesidad necesidad = NecesidadDAO.Listar().Where(r => r.ClaveArea == usuario.ClaveArea && r.ClavePeriodo == periodo.Clave).First();
                    int       id        = necesidad.Rellenar().Clave;

                    programa = ProgramaDAO.Listar().Where(r => r.ClaveNecesidad == Convert.ToInt32(id)).First();

                    programaDetalles = ProgramaDetalleDAO.Listar().Where(r => r.ClavePrograma == programa.Clave).ToList();

                    string Filas = "";
                    foreach (ProgramaDetalle p in programaDetalles)
                    {
                        if (p.Rellenar().Contrato != null)
                        {
                            if (p.Rellenar().TipoConcepto != null)
                            {
                                p.Rellenar();
                                string url = ResolveUrl("~/App/Division/Programa.aspx?id=" + p.Clave);
                                Filas += Disenio.GenerarFilaTabla(
                                    p.Cantidad.ToString(),
                                    p.FechaInicio.ToShortDateString(),
                                    p.PrecioUnitario.ToString(),
                                    p.Circuito.Rellenar().Descripcion,
                                    p.Contrato.Rellenar().Codigo,
                                    p.Concepto.Rellenar().Descripcion,
                                    p.TipoConcepto.Rellenar().Descripcion);
                            }
                            else
                            {
                                p.Rellenar();
                                string url = ResolveUrl("~/App/Division/Programa.aspx?id=" + p.Clave);
                                Filas += Disenio.GenerarFilaTabla(
                                    p.Cantidad.ToString(),
                                    p.FechaInicio.ToShortDateString(),
                                    p.PrecioUnitario.ToString(),
                                    p.Circuito.Rellenar().Descripcion,
                                    p.Contrato.Rellenar().Codigo,
                                    p.Concepto.Rellenar().Descripcion,
                                    "");
                            }
                        }
                        else
                        {
                            Mensaje Mensaje = new Mensaje()
                            {
                                Titulo    = "Error!",
                                Contenido = "Esta necesidad no tiene un contrato asignado",
                                Tipo      = TipoMensaje.ERROR
                            };

                            litMensaje.Text = Disenio.GenerarMensaje(Mensaje);
                        }
                    }
                    litTBody.Text = Filas;

                    cmbProgramacion.DataSource = programaDetalles;
                    cmbProgramacion.DataBind();

                    string Fila = "";
                    foreach (ProgramaDetalle p in programaDetalles)
                    {
                        p.Rellenar();
                        int mesC = MesDAO.Listar().Where(r => r.ClaveDetallePrograma == p.Clave).Count();
                        if (mesC == 0)
                        {
                            break;
                        }
                        Mes mes      = MesDAO.Listar().Where(r => r.ClaveDetallePrograma == p.Clave).First();
                        int programC = ProgramacionDAO.Listar().Where(x => x.ClaveMes == mes.Rellenar().Clave).Count();
                        if (programC == 0)
                        {
                            break;
                        }
                        Programacion program = ProgramacionDAO.Listar().Where(x => x.ClaveMes == mes.Rellenar().Clave).First();

                        if (p.TipoConcepto != null)
                        {
                            Fila += Disenio.GenerarFilaTabla(
                                mes.NombreMes,
                                program.Programado.ToString(),
                                p.Circuito.Rellenar().Codigo,
                                p.Concepto.Rellenar().Descripcion,
                                p.TipoConcepto.Rellenar().Descripcion);
                        }
                        else
                        {
                            Fila += Disenio.GenerarFilaTabla(
                                mes.NombreMes,
                                program.Programado.ToString(),
                                p.Circuito.Rellenar().Codigo,
                                p.Concepto.Rellenar().Descripcion,
                                "");
                        }
                    }

                    litTBody2.Text = Fila;
                }
            }
        }
コード例 #18
0
        public static CreateEditNecesidadViewModel ConvertToCreateEditNecesidadViewModel(this Necesidad necesidad)
        {
            var createEditNecesidadViewModel = new CreateEditNecesidadViewModel
            {
                NecesidadId                = necesidad.NecesidadId,
                Nombre                     = necesidad.Nombre,
                OficinaId                  = necesidad.OficinaId,
                OficinaNombre              = necesidad.Oficina?.Nombre,
                CentroId                   = necesidad.CentroId,
                SectorId                   = necesidad.SectorId,
                SectorNombre               = necesidad.Sector?.Nombre,
                ClienteId                  = necesidad.Proyecto.ClienteId,
                ClienteNombre              = necesidad.Proyecto.Cliente?.Nombre,
                ProyectoId                 = necesidad.ProyectoId,
                ProyectoNombre             = necesidad.Proyecto?.Nombre,
                TipoServicioId             = necesidad.TipoServicioId,
                TipoServicioNombre         = necesidad.TipoServicio?.Nombre,
                TipoPerfilId               = necesidad.TipoPerfilId,
                TipoPerfilNombre           = necesidad.TipoPerfil?.Nombre,
                TipoTecnologiaId           = necesidad.TipoTecnologiaId,
                TipoTecnologiaNombre       = necesidad.TipoTecnologia?.Nombre,
                TipoContratacionId         = necesidad.TipoContratacionId,
                TipoContratacionNombre     = necesidad.TipoContratacion?.Nombre,
                TipoPrevisionId            = necesidad.TipoPrevisionId,
                TipoPrevisionNombre        = necesidad.TipoPrevision?.Nombre,
                MesesAsignacionId          = necesidad.MesesAsignacionId,
                MesesAsignacionNombre      = necesidad.MesesAsignacion?.Nombre,
                DetalleTecnologia          = necesidad.Observaciones,
                DisponibilidadViajes       = (necesidad.DisponibilidadViaje == true),
                DisponibilidadReubicacion  = (necesidad.CambioResidencia == true),
                NecesidadIdioma            = (necesidad.NecesidadIdioma == true),
                FechaSolicitud             = necesidad.FechaSolicitud,
                FechaCompromiso            = necesidad.FechaCompromiso,
                FechaCierre                = necesidad.FechaCierre,
                EstadoNecesidadId          = necesidad.EstadoNecesidadId,
                EstadoNecesidadNombre      = necesidad.EstadoNecesidad?.Nombre,
                NombreCentro               = necesidad.Centro?.Nombre,
                PersonaAsignada            = necesidad.GetPersonaAsignada(),
                PersonaAsignadaId          = necesidad.PersonaAsignadaId,
                PersonaAsignadaNroEmpleado = necesidad.PersonaAsignadaNroEmpleado,
                Modulo                     = necesidad.Modulo,
                NombreModulo               = GetNombreModulo(necesidad.Modulo),
                candidaturaId              = necesidad.CandidaturaId,
                ReferenciaExterna          = necesidad.ReferenciaExterna,
                AsignadaCorrectamente      = necesidad.AsignadaCorrectamente,
                GrupoNecesidad             = necesidad.GrupoNecesidadId,
                GrupoNecesidadName         = necesidad.GrupoNecesidadId != null ? necesidad.GrupoNecesidad.Nombre : string.Empty,
                Activo                     = necesidad.IsActivo
            };

            if ((necesidad.EstadoNecesidadId == (int)EstadoNecesidadEnum.Preasignada ||
                 necesidad.EstadoNecesidadId == (int)EstadoNecesidadEnum.Cerrada) &&
                necesidad.TipoContratacionId == (int)TipoContratacionEnum.Contratación)
            {
                createEditNecesidadViewModel.PersonaAsignadaNroEmpleado = null;
            }

            if (necesidad.TipoContratacionId == (int)TipoContratacionEnum.CambioInterno)
            {
                createEditNecesidadViewModel.candidaturaId = null;
            }

            return(createEditNecesidadViewModel);
        }
コード例 #19
0
        public static void UpdateNecesidad(this Necesidad necesidad, CreateEditNecesidadViewModel createEditNecesidadViewModel, Proyecto proyecto)
        {
            if (createEditNecesidadViewModel.NecesidadId != null)
            {
                necesidad.NecesidadId = (int)createEditNecesidadViewModel.NecesidadId;

                necesidad.ModifiedBy = ModifiableEntityHelper.GetCurrentUser();
                necesidad.Modified   = ModifiableEntityHelper.GetCurrentDate();
            }
            else
            {
                necesidad.CreatedBy = ModifiableEntityHelper.GetCurrentUser();
                necesidad.Created   = ModifiableEntityHelper.GetCurrentDate();
            }
            necesidad.Nombre                = createEditNecesidadViewModel.Nombre;
            necesidad.OficinaId             = createEditNecesidadViewModel.OficinaId;
            necesidad.CentroId              = createEditNecesidadViewModel.CentroId;
            necesidad.SectorId              = createEditNecesidadViewModel.SectorId;
            necesidad.ProyectoId            = createEditNecesidadViewModel.ProyectoId;
            necesidad.TipoServicioId        = createEditNecesidadViewModel.TipoServicioId;
            necesidad.TipoPerfilId          = createEditNecesidadViewModel.TipoPerfilId;
            necesidad.TipoTecnologiaId      = createEditNecesidadViewModel.TipoTecnologiaId;
            necesidad.TipoContratacionId    = createEditNecesidadViewModel.TipoContratacionId;
            necesidad.DisponibilidadViaje   = createEditNecesidadViewModel.DisponibilidadViajes;
            necesidad.CambioResidencia      = createEditNecesidadViewModel.DisponibilidadReubicacion;
            necesidad.NecesidadIdioma       = createEditNecesidadViewModel.NecesidadIdioma;
            necesidad.TipoPrevisionId       = createEditNecesidadViewModel.TipoPrevisionId;
            necesidad.MesesAsignacionId     = createEditNecesidadViewModel.MesesAsignacionId;
            necesidad.Observaciones         = createEditNecesidadViewModel.DetalleTecnologia ?? necesidad.Observaciones;
            necesidad.EstadoNecesidadId     = createEditNecesidadViewModel.EstadoNecesidadId;
            necesidad.FechaSolicitud        = (DateTime)createEditNecesidadViewModel.FechaSolicitud;
            necesidad.FechaCompromiso       = createEditNecesidadViewModel.FechaCompromiso;
            necesidad.FechaCierre           = createEditNecesidadViewModel.FechaCierre;
            necesidad.IsActivo              = true;
            necesidad.ReferenciaExterna     = createEditNecesidadViewModel.ReferenciaExterna;
            necesidad.AsignadaCorrectamente = createEditNecesidadViewModel.AsignadaCorrectamente;
            necesidad.EstadoNecesidadId     = createEditNecesidadViewModel.EstadoNecesidadId;
            if ((createEditNecesidadViewModel.EstadoNecesidadId == (int)EstadoNecesidadEnum.Preasignada ||
                 createEditNecesidadViewModel.EstadoNecesidadId == (int)EstadoNecesidadEnum.Cerrada) &&
                createEditNecesidadViewModel.TipoContratacionId == (int)TipoContratacionEnum.CambioInterno)
            {
                necesidad.PersonaAsignada            = createEditNecesidadViewModel.PersonaAsignada;
                necesidad.PersonaAsignadaId          = createEditNecesidadViewModel.PersonaAsignadaId;
                necesidad.PersonaAsignadaNroEmpleado = createEditNecesidadViewModel.PersonaAsignadaNroEmpleado;
            }
            else if ((createEditNecesidadViewModel.EstadoNecesidadId == (int)EstadoNecesidadEnum.Preasignada ||
                      createEditNecesidadViewModel.EstadoNecesidadId == (int)EstadoNecesidadEnum.Cerrada) &&
                     createEditNecesidadViewModel.TipoContratacionId == (int)TipoContratacionEnum.Contratación)
            {
                necesidad.PersonaAsignada            = createEditNecesidadViewModel.PersonaAsignada;
                necesidad.PersonaAsignadaId          = createEditNecesidadViewModel.PersonaAsignadaId;
                necesidad.PersonaAsignadaNroEmpleado = null;
                necesidad.CandidaturaId = createEditNecesidadViewModel.candidaturaId;
            }
            else if (createEditNecesidadViewModel.EstadoNecesidadId == (int)EstadoNecesidadEnum.Abierta &&
                     createEditNecesidadViewModel.TipoContratacionId == (int)TipoContratacionEnum.Contratación &&
                     createEditNecesidadViewModel.PersonaAsignadaId != null)
            {
                necesidad.PersonaAsignadaId = null;
                necesidad.CandidaturaId     = null;
                necesidad.PersonaAsignada   = null;
            }
            else if (createEditNecesidadViewModel.EstadoNecesidadId == (int)EstadoNecesidadEnum.Abierta &&
                     createEditNecesidadViewModel.TipoContratacionId == (int)TipoContratacionEnum.CambioInterno &&
                     createEditNecesidadViewModel.PersonaAsignadaId != null)
            {
                necesidad.PersonaAsignadaId          = null;
                necesidad.PersonaAsignada            = null;
                necesidad.PersonaAsignadaNroEmpleado = null;
            }
            if (createEditNecesidadViewModel.TipoContratacionId == (int)TipoContratacionEnum.CambioInterno)
            {
                necesidad.CandidaturaId = null;
            }
            necesidad.Modulo = createEditNecesidadViewModel.Modulo;

            if (createEditNecesidadViewModel.EstadoNecesidadId == (int)EstadoNecesidadEnum.Cerrada && createEditNecesidadViewModel.AsignadaCorrectamente == null)
            {
                necesidad.AsignadaCorrectamente = false;
            }
            if (createEditNecesidadViewModel.GrupoNecesidad != null && createEditNecesidadViewModel.GrupoNecesidad != 0)
            {
                necesidad.GrupoNecesidadId = createEditNecesidadViewModel.GrupoNecesidad;
            }

            if (proyecto != null)
            {
                necesidad.CuentaProyecto  = proyecto.CuentaCargo;
                necesidad.PersonaProyecto = proyecto.Persona;
            }
        }
コード例 #20
0
        public static NecesidadStaffingRowExportToExcelViewModel ConvertToNecesidadStaffingRowExportToExcelViewModel(this Necesidad necesidad)
        {
            var necesidadStaffingRowExportToExcelViewModel = new NecesidadStaffingRowExportToExcelViewModel
            {
                Referencia      = necesidad.NecesidadId,
                Cliente         = necesidad.Proyecto.Cliente.Nombre,
                Proyecto        = necesidad.Proyecto.Nombre,
                Perfil          = necesidad.TipoPerfil.Nombre,
                FechaCompromiso = necesidad.FechaCompromiso.Value.ToShortDateString(),
                PersonaAsignada = necesidad.GetPersonaAsignada(),
                Observaciones   = necesidad.ObservacionesStaffing,
            };

            return(necesidadStaffingRowExportToExcelViewModel);
        }
コード例 #21
0
        public static NecesidadRowExportToExcelViewModel ConvertToNecesidadRowExportToExcelViewModel(this Necesidad necesidad)
        {
            var necesidadRowExportToExcelViewModel = new NecesidadRowExportToExcelViewModel
            {
                Referencia = necesidad.NecesidadId,
                Cliente    = necesidad.Proyecto.Cliente.Nombre,
                Proyecto   = necesidad.Proyecto.Nombre,
                Tecnologia = necesidad.TipoTecnologia.Nombre,
                Perfil     = necesidad.TipoPerfil.Nombre,
                Estado     = necesidad.EstadoNecesidad.Nombre,
                //FechaSolicitud = necesidad.FechaSolicitud.ToShortDateString(),
                FechaCompromiso = necesidad.FechaCompromiso.Value.ToShortDateString(),
                //Nombre = necesidad.Nombre,
                TipoPrevisionId       = necesidad.TipoPrevision.Nombre,
                Centro                = necesidad.Centro.Nombre,
                PersonaAsignada       = necesidad.GetPersonaAsignada(),
                TipoContratacion      = necesidad.TipoContratacion.Nombre,
                FechaCierre           = (necesidad.FechaCierre.HasValue) ? necesidad.FechaCierre.Value.ToShortDateString() : "",
                AsignadaCorrectamente = "",
                Sector                = necesidad.Sector.Nombre,
                FechaAlta             = necesidad.Created.ToShortDateString()
            };

            if (necesidad.AsignadaCorrectamente.HasValue)
            {
                if (necesidad.AsignadaCorrectamente == true)
                {
                    necesidadRowExportToExcelViewModel.AsignadaCorrectamente = "Si";
                }
                else
                {
                    necesidadRowExportToExcelViewModel.AsignadaCorrectamente = "No";
                }
            }

            return(necesidadRowExportToExcelViewModel);
        }
コード例 #22
0
        protected void Page_Load(object sender, EventArgs e)
        {

            Usuario = Utilerias.FiltrarUsuario(this);

            if (!IsPostBack)
            {
                string clave = Request.QueryString["id"];
                string claveDetalle = Request.QueryString["idNecesidadDetalle"];
                string tipo = Request.QueryString["tipo"];
                string Filas = "";

                try
                {
                  
                        Necesidad Necesidad = new Necesidad();
                        Necesidad = NecesidadDAO.Get(Convert.ToInt32(clave));

                    if (Necesidad.ClaveEstatus == 2 )
                        {
                            btnEnivar.Visible = false;
                        btnRegistrarNecesidad.Visible = false;
                        }
                    

                    if (claveDetalle != null && tipo == "editar")
                    {
                        NecesidadDetalle NecesidadDetalle = new NecesidadDetalle();
                        NecesidadDetalle = NecesidadDetalleDAO.Get(Convert.ToInt32(claveDetalle));
                        txtVolumen.Text = NecesidadDetalle.Volumen.ToString();
                        txtPrecioU.Text = NecesidadDetalle.PrecioUnitario.ToString();
                        Conceptos = new List<Concepto>();
                        Conceptos.Add(NecesidadDetalle.Rellenar().Concepto);
                        cmbConcepto.DataSource = Conceptos;
                        cmbConcepto.DataBind();
                        cmbConcepto.Enabled = false;
                        TiposConceptos = new List<TipoConcepto>();
                        TiposConceptos.Add(NecesidadDetalle.Rellenar().TipoConcepto);
                        cmbTipoConcepto.DataSource = TiposConceptos;
                        cmbTipoConcepto.DataBind();
                        cmbTipoConcepto.Enabled = false;



                    }
                    else if (claveDetalle != null && tipo == "eliminar")
                    {
                        int resultado = NecesidadDetalleDAO.Eliminar(Convert.ToInt32(claveDetalle));
                        if (resultado == 0)
                        {
                            Mensaje Mensaje = new Mensaje()
                            {
                                Titulo = "Algo salió mal",
                                Contenido = "La Necesidad no pudo guardarse. Para más información consulte al administrador del sistema",
                                Tipo = TipoMensaje.ALERTA
                            };
                            litMensaje.Text = Disenio.GenerarMensaje(Mensaje);
                            return;
                        }

                        Response.Redirect(ResolveUrl("~/App/Area/RegistroNecesidadDetalle.aspx?id=" + clave));

                    }
                    else
                    {
                        Conceptos = ConceptoDAO.Listar();
                        cmbConcepto.DataSource = Conceptos;
                        cmbConcepto.DataBind();

                        Concepto Concepto = new Concepto();
                        Concepto = ConceptoDAO.Get(Convert.ToInt32(cmbConcepto.SelectedValue));
                        TiposConceptos = Concepto.Rellenar().Tipos;
                        cmbTipoConcepto.DataSource = TiposConceptos;
                        cmbTipoConcepto.DataBind();
                    }
                    double importeTotal = 0;
                    List<NecesidadDetalle> NecesidadesDetalle = new List<NecesidadDetalle>();
                    NecesidadesDetalle = NecesidadDetalleDAO.Listar().Where(p => p.ClaveNecesidad == Convert.ToInt32(clave)).ToList();
                    foreach (NecesidadDetalle p in NecesidadesDetalle)
                    {
                        p.Rellenar();

                        string urlEdit = ResolveUrl("~/App/Area/RegistroNecesidadDetalle.aspx?id=" + clave + "&idNecesidadDetalle=" + p.Clave + "&tipo=editar");
                        string urlDelete = ResolveUrl("~/App/Area/RegistroNecesidadDetalle.aspx?id=" + clave + "&idNecesidadDetalle=" + p.Clave + "&tipo=eliminar");

                        if(p.TipoConcepto == null)
                        {
                            Filas += Disenio.GenerarFilaTabla(p.Volumen.ToString(),
                            p.PrecioUnitario.ToString(),
                            Utilerias.ToCurrency(p.CalcularImporte()),
                            p.Concepto.ToString(),
                            "",
                             "<a href='" + urlEdit + "' class='btn btn-default btn-block'>Editar</a>",
                             "<a href='" + urlDelete + "' class='btn btn-default btn-block'>Eliminar</a>");

                            importeTotal += p.Volumen * p.PrecioUnitario;
                        }else
                        {
                            Filas += Disenio.GenerarFilaTabla(p.Volumen.ToString(),
                            p.PrecioUnitario.ToString(),
                            Utilerias.ToCurrency(p.CalcularImporte()),
                            p.Concepto.ToString(),
                            p.TipoConcepto.ToString(),
                             "<a href='" + urlEdit + "' class='btn btn-default btn-block'>Editar</a>",
                             "<a href='" + urlDelete + "' class='btn btn-default btn-block'>Eliminar</a>");
                            importeTotal += p.Volumen * p.PrecioUnitario;
                        }
                        

                    }
                    litTBody.Text = Filas;
                    LitimporteTotal.Text = "IMPORTE TOTAL = $ " + importeTotal.ToString();
                }
                catch (Exception Ex)
                {

                    Mensaje Mensaje = new Mensaje()
                    {
                        Titulo = "Error al mostrar el detalle",
                        Contenido = Ex.Message,
                        Tipo = TipoMensaje.ERROR
                    };

                    litMensaje.Text = Disenio.GenerarMensaje(Mensaje);

                }
            }
        }
コード例 #23
0
        public static void UpdateCartaOferta(this CartaOferta cartaOferta, CompletarCartaOfertaViewModel completarCartaOfertaViewModel, int?cartaOfertaId, Necesidad necesidadOriginal, Necesidad necesidadNueva)
        {
            if (cartaOfertaId != null)
            {
                cartaOferta.CartaOfertaId = (int)cartaOfertaId;
                cartaOferta.ModifiedBy    = ModifiableEntityHelper.GetCurrentUser();
                cartaOferta.Modified      = ModifiableEntityHelper.GetCurrentDate();
            }
            else
            {
                cartaOferta.CreatedBy = ModifiableEntityHelper.GetCurrentUser();
                cartaOferta.Created   = ModifiableEntityHelper.GetCurrentDate();
            }

            if (completarCartaOfertaViewModel.CompletarCartaOferta.SuperaCartaOferta == (int)TipoDecisionEnum.SIN_DECISION_CARTAOFERTA)
            {
                cartaOferta.Acepta = null;
            }
            else
            {
                cartaOferta.Acepta = completarCartaOfertaViewModel.CompletarCartaOferta.SuperaCartaOferta == (int)TipoDecisionEnum.ACEPTA_CARTA_OFERTA;
            }

            cartaOferta.FechaIncorporacion = completarCartaOfertaViewModel.CompletarCartaOferta.FechaIncorporacion;
            cartaOferta.MotivoRechazoId    = completarCartaOfertaViewModel.CompletarCartaOferta.MotivoRechazoId;

            cartaOferta.NecesidadId = completarCartaOfertaViewModel.CompletarCartaOferta.NecesidadId;

            if ((necesidadOriginal != null) && (necesidadOriginal.NecesidadId != completarCartaOfertaViewModel.CompletarCartaOferta.NecesidadId))
            {
                necesidadOriginal.EstadoNecesidadId = (int)EstadoNecesidadEnum.Abierta;
            }

            if (necesidadNueva != null)
            {
                necesidadNueva.EstadoNecesidadId = (int)EstadoNecesidadEnum.Cerrada;
            }


            cartaOferta.Observaciones    = completarCartaOfertaViewModel.EntregaCartaOfertaViewModel.EntregaCartaOferta.ObservacionesCartaOferta;
            cartaOferta.FechaCartaOferta = Convert.ToDateTime(completarCartaOfertaViewModel.EntregaCartaOfertaViewModel.AgendarCartaOfertaViewModel.AgendarCartaOferta.FechaAgendarCarta);
        }
コード例 #24
0
        protected void Page_Load(object sender, EventArgs e)
        {
            usuario = Utilerias.FiltrarUsuario(this);
            periodo = usuario.ConsultarPeriodoActual();

            Mensaje mensaje = new Mensaje()
            {
                Titulo    = "ADVERTENCIA!",
                Contenido = "SEA CUIDADOSO AL REGISTRAR EL AVANCE YA QUE NO PODRÁ SER MODIFICADO",
                Tipo      = TipoMensaje.ERROR
            };

            litMensaje.Text = Disenio.GenerarMensaje(mensaje);



            if (!IsPostBack)
            {
                int necesidadC = NecesidadDAO.Listar().Where(r => r.ClaveArea == usuario.ClaveArea && r.ClavePeriodo == periodo.Clave).Count();

                if (necesidadC == 0)
                {
                    Mensaje m = new Mensaje()
                    {
                        Titulo    = "ADVERTENCIA!",
                        Contenido = "No hay una necesidad creada o aprobada para el periodo en curso",
                        Tipo      = TipoMensaje.ERROR
                    };
                    litMensaje.Text = Disenio.GenerarMensaje(m);
                }
                else
                {
                    Necesidad necesidad = NecesidadDAO.Listar().Where(r => r.ClaveArea == usuario.ClaveArea && r.ClavePeriodo == periodo.Clave).First();
                    int       id        = necesidad.Rellenar().Clave;
                    programa         = ProgramaDAO.Listar().Where(r => r.ClaveNecesidad == Convert.ToInt32(id)).First();
                    programaDetalles = ProgramaDetalleDAO.Listar().Where(r => r.ClavePrograma == programa.Clave).ToList();

                    txtFechaCreacion.Text     = DateTime.Today.ToShortDateString();
                    txtFechaCreacion.ReadOnly = true;

                    string Fila  = "";
                    string Fila2 = "";
                    foreach (ProgramaDetalle p in programaDetalles)
                    {
                        p.Rellenar();
                        int mesC = MesDAO.Listar().Where(r => r.ClaveDetallePrograma == p.Clave).Count();
                        if (mesC == 0)
                        {
                            break;
                        }
                        Mes mes = MesDAO.Listar().Where(r => r.ClaveDetallePrograma == p.Clave).First();
                        meses.Add(mes);
                        int programC = ProgramacionDAO.Listar().Where(x => x.ClaveMes == mes.Rellenar().Clave).Count();
                        if (programC == 0)
                        {
                            break;
                        }
                        Programacion program = ProgramacionDAO.Listar().Where(x => x.ClaveMes == mes.Rellenar().Clave).First();

                        int av = AvanceDAO.Listar().Where(r => r.ClaveProgramacion == program.Clave).Count();
                        if (av != 0)
                        {
                            Avance avances = AvanceDAO.Listar().Where(r => r.ClaveProgramacion == program.Rellenar().Clave).First();
                            Fila2 += Disenio.GenerarFilaTabla(
                                avances.Ejecutado.ToString(),
                                avances.Observacioens,
                                avances.FechaCreacion.ToString(),
                                mes.Rellenar().NombreMes
                                );
                        }


                        if (p.TipoConcepto != null)
                        {
                            Fila += Disenio.GenerarFilaTabla(
                                mes.NombreMes,
                                program.Programado.ToString(),
                                p.Circuito.Rellenar().Codigo,
                                p.Concepto.Rellenar().Descripcion,
                                p.TipoConcepto.Rellenar().Descripcion);
                        }
                        else
                        {
                            Fila += Disenio.GenerarFilaTabla(
                                mes.NombreMes,
                                program.Programado.ToString(),
                                p.Circuito.Rellenar().Codigo,
                                p.Concepto.Rellenar().Descripcion,
                                "");
                        }
                    }

                    litTBody.Text     = Fila;
                    litTBody2.Text    = Fila2;
                    cmbMes.DataSource = meses;
                    cmbMes.DataBind();
                }
            }
        }