public async Task UpdateEstado(Propuesta model) { try { var _model = await dbGI.DbSetPropuesta.FirstOrDefaultAsync(e => e.Id == model.Id); if (_model != null) { _model.EstadoFlujoId = model.EstadoFlujoId; if (model.EstadoFlujoId == 10) { _model.FechaValidacion = DateTime.Now; } await dbGI.SaveChangesAsync(); //if (model.EstadoFlujoId == 10 && model.TipoAcceso==1) //{ // NuevoOCRepository nuevo = new NuevoOCRepository(); // await nuevo.Create(new NuevoOC("GI", "PROP", _model.NombreTecnico, // "indexGI.html#/detallesbuscarPropuestas/" + _model.Id, // _model.Id.ToString() // )); //} } } catch (Exception e) { throw new Exception(e.Message, e); } }
private void validar(Propuesta prop, string idioma) { if (prop != null) { if (prop.nivel == 1) { if (getText("s.titulo", prop) == "") { addError(1, Tools.tr("El titulo del manifiesto no puede ser vacio", idioma)); getVariable("s.titulo").className = "errorfino"; } if (getText("s.vision", prop) == "") { addError(1, Tools.tr("La vision no puede ser vacia", idioma)); getVariable("s.vision").className = "errorfino"; } } else if (prop.nivel == 2) { if (getText("s.mision", prop) == "") { addError(2, Tools.tr("La mision no ser vacia", idioma)); } } else if (prop.nivel == 3) { if (getText("s.objetivo", prop) == "") { addError(2, Tools.tr("El objetivo no puede ser vacio", idioma)); } } } }
public async Task <IActionResult> Proponer([Bind("PropuestaId,Titulo,Descripcion,Tipo,UsuarioId,FechaPublicacion,FechaFinalizacion,Problema,ResultadoEsperado,Riesgos,Beneficios")] Propuesta propuesta) { if (ModelState.IsValid) { using (var cl = new HttpClient()) { propuesta.Pendiente = true; cl.BaseAddress = new Uri(baseurl); var content = JsonConvert.SerializeObject(propuesta); var buffer = System.Text.Encoding.UTF8.GetBytes(content); var byteContent = new ByteArrayContent(buffer); byteContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json"); var postTask = cl.PostAsync("api/Propuesta", byteContent).Result; if (postTask.IsSuccessStatusCode) { NotifyDelete("El registro se ha agregado correctamente"); return(RedirectToAction(nameof(Proponer))); } else { NotifyError("El registro no puede ser creado ya que no se completaron todos los datos.", notificationType: NotificationType.error); return(RedirectToAction(nameof(Proponer))); } } } var user = await userManager.FindByNameAsync(User.Identity.Name); List <IdentityUser> listUser = new List <IdentityUser>(); listUser.Add(user); ViewData["UsuarioId"] = new SelectList(listUser, "Id", "Email", propuesta.UsuarioId); return(RedirectToAction(nameof(Proponer))); }
public ActionResult PostAnswer(int id, string NewComment) { Pregunta pregunta = db.Preguntas.Where(x => x.Id == id).First(); Propuesta propuesta = pregunta.Propuesta; try { if (String.Empty != NewComment) { Usuario usuarioActual = ObtenerUsuarioActual(User); //si la propuesta no esta ya cerrada if (propuesta.Activa == true) { //si no soy el dueno if (propuesta.Creador.Id == usuarioActual.Id) { if (usuarioActual.Id == propuesta.Creador.Id) { pregunta.AnswerString = NewComment; db.SaveChanges(); } db.SaveChanges(); } } } } catch { return(RedirectToAction("Details", new { Id = propuesta.Id })); } return(RedirectToAction("Details", new { Id = propuesta.Id })); }
public async Task <IActionResult> OnPostDeleteTecnicoAsync(int id, int TecnicoToDeleteID) { Propuesta propuestaToUpdate = await _context.Propuestas .Include(l => l.Puesto) .Include(a => a.AsiganrTecnico) .ThenInclude(a => a.Tecnico) .FirstOrDefaultAsync(m => m.ID == id); await TryUpdateModelAsync <Propuesta>(propuestaToUpdate); var TecnicoToDelete = propuestaToUpdate.AsiganrTecnico.Where(a => a.TecnicoID == TecnicoToDeleteID).FirstOrDefault(); if (TecnicoToDelete != null) { propuestaToUpdate.AsiganrTecnico.Remove(TecnicoToDelete); } try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!PropuestaExists(Propuesta.ID)) { return(NotFound()); } else { throw; } } return(Redirect(Request.Path + $"?id={id}")); }
public void GetPropuestasPorAno() { Object[] propuestasPorAno = new Object[2]; IList <Object> ListaPropuestasPorAno = new List <Object>(); IList <Object[]> ListaCompletaPropuestas = new List <Object[]>(); Core.LogicaNegocio.Comandos.ComandoPropuesta.ConsultarPropuestasxEmision comandoConsulta = Core.LogicaNegocio.Fabricas.FabricaComandosPropuesta.CrearComandoConsultarPropuestasxEmision(); IList <Core.LogicaNegocio.Entidades.Propuesta> propuestas = comandoConsulta.Ejecutar(); int ano = 0; foreach (Core.LogicaNegocio.Entidades.Propuesta propuesta in propuestas) { if (ano == propuesta.FechaInicio.Year) { ListaPropuestasPorAno.Add(propuesta); } else { ano = propuesta.FechaInicio.Year; ListaPropuestasPorAno = new List <Object>(); ListaPropuestasPorAno.Add(propuesta); propuestasPorAno = new Object[2]; propuestasPorAno[0] = ano; propuestasPorAno[1] = ListaPropuestasPorAno; ListaCompletaPropuestas.Add(propuestasPorAno); } } Assert.AreEqual((int)ListaCompletaPropuestas[0][0], 2009); ListaPropuestasPorAno = (IList <Object>)ListaCompletaPropuestas[0][1]; Propuesta asserta = (Propuesta)ListaPropuestasPorAno[0]; Assert.AreEqual(asserta.FechaInicio.Year, 2009); }
public async Task OnGetAsync(int?id, int?empresaID) { // Use LINQ to get list of genres. IQueryable <string> genreQuery = from m in _context.Propuestas orderby m.Empresa.Nombre select m.Empresa.Nombre; Empresas = new SelectList(await genreQuery.Distinct().ToListAsync()); Propuesta = new IgnisIndexData(); Propuesta.Propuestas = await _context.Propuestas .Where(s => !string.IsNullOrEmpty(SearchString)?s.Title.Contains(SearchString) : true) .Where(x => !string.IsNullOrEmpty(PropuestaEmpresa) ? x.Empresa.Nombre == PropuestaEmpresa : true) .Include(l => l.Puesto) .Include(c => c.AsiganrTecnico) .ThenInclude(c => c.Tecnico) .AsNoTracking() .ToListAsync(); if (id != null) { PropuestaID = id.Value; Propuesta propuesta = Propuesta.Propuestas.Where(m => m.ID == id.Value).Single(); Propuesta.Tecnicos = propuesta.AsiganrTecnico.Select(a => a.Tecnico); } if (empresaID != null) { empresaID = id.Value; } }
public async Task <IActionResult> Edit(int id, [Bind("PropuestaId,Titulo,Descripcion,Pendiente,Tipo,UsuarioId,FechaPublicacion,FechaFinalizacion,Problema,ResultadoEsperado,Riesgos,Beneficios")] Propuesta propuesta) { if (id != propuesta.PropuestaId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(propuesta); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!PropuestaExists(propuesta.PropuestaId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["UsuarioId"] = new SelectList(_context.AspNetUsers, "Id", "UserName", propuesta.UsuarioId); return(View(propuesta)); }
public async System.Threading.Tasks.Task <ActionResult> Postularse(int id) { Propuesta propuesta = await db.Propuestas.FindAsync(id); Usuario usuario = ObtenerUsuarioActual(User); if (usuario.Id != propuesta.Creador.Id) { if (usuario.Rol != propuesta.Creador.Rol) { if (propuesta.Activa == true) { Postulacion postulacion = new Postulacion(); postulacion.Propuesta = propuesta; postulacion.PropuestaId = propuesta.Id; postulacion.Usuario = usuario; postulacion.UsuarioId = usuario.Id; propuesta.Postulaciones.Add(postulacion); usuario.Postulaciones.Add(postulacion); db.Entry(propuesta).State = EntityState.Modified; db.SaveChanges(); } } } int idaux = propuesta.Id; return(RedirectToAction("Details", new { Id = idaux })); }
private void validar(Propuesta prop) { if (prop != null) { if (getText("s.nombre", prop) == "") { addError(1, "Se debe definir un nombre para la publicacion"); getVariable("s.nombre").className = "errorfino"; } if (getText("s.URL", prop) == "") { addError(1, "Se debe definir una URL para la publicacion"); getVariable("s.URL").className = "errorfino"; } if (getText("s.autor", prop) == "") { addError(1, "Se debe definir un autor para la publicacion"); getVariable("s.autor").className = "errorfino"; } for (int i = 1; i <= preguntas; i++) { if ((float)getValue("f.p" + i, prop) == 0) { addError(1, "Se deben responder todas las preguntas para completar la evalaución"); break; } } } }
public void TestPropuesta() { Propuesta propuesta1 = new Propuesta(); propuesta1.Title = "Propuesta X"; propuesta1.DescripcionDeLaPropuesta = "Descripcion X"; }
FacturasEmitidas(Factura entidad) { IList <Core.LogicaNegocio.Entidades.Factura> factura = new List <Core.LogicaNegocio.Entidades.Factura>(); try { SqlParameter[] arParms = new SqlParameter[2]; arParms[0] = new SqlParameter("@FechaIngreso1", SqlDbType.SmallDateTime); arParms[0].Value = entidad.Fechaingreso.ToShortDateString(); arParms[1] = new SqlParameter("@FechaIngreso2", SqlDbType.SmallDateTime); arParms[1].Value = entidad.Fechapago.ToShortDateString(); DbDataReader reader = SqlHelper.ExecuteReader(_conexion.GetConnection(), "FacturasEmitidas", arParms); while (reader.Read()) { Factura _factura = new Factura(); Propuesta _propuesta = new Propuesta(); _factura.Prop = new Propuesta(); _factura.Numero = (int)reader.GetValue(0); _factura.Titulo = (string)reader.GetValue(1); _factura.Descripcion = (string)reader.GetValue(2); _factura.Fechaingreso = (DateTime)reader.GetValue(3); _factura.Estado = (string)reader.GetValue(4); _propuesta.Titulo = (string)reader.GetValue(5); _factura.Prop.Titulo = _propuesta.Titulo; factura.Add(_factura); } return(factura); } catch (SqlException e) { throw new ReportesException("Error al consultar en la base de datos", e); } catch (Exception e) { throw new ReportesException("Error en consultar facturas emitidas", e); } return(factura); }
public override void evaluacionSubmit(string accion, string parametro, Propuesta prop, Grupo g, string email) { if (accion.StartsWith("f.p") && accion.EndsWith("_set")) { string id = accion.Split('_')[0]; prop.bag[id] = float.Parse(parametro); } }
public ActionResult DeleteConfirmed(int id) { Propuesta propuesta = db.Propuestas.Find(id); db.Propuestas.Remove(propuesta); db.SaveChanges(); return(RedirectToAction("Index")); }
public override Propuesta createProp(Tema t) { Propuesta ret = new Propuesta(); ret.bag["f.evaluadoID"] = t.evaluadoID; ret.bag["s.basadoEnTemaExistente"] = "si"; return(ret); }
public override string documentSubmit(string accion, string parametro, List <Propuesta> props, Grupo g, string email, int width, Modelo.eModo modo) { if (accion == "agregarTema" && props.Count == 1) { Propuesta p = props[0]; float temas = (float)p.bag["f.temas"]; if (temas < 10) { p.bag["f.temas"] = temas + 1.0; } } else if (accion == "s.participan_agregar" && getVariable("s.participan").nivel <= props.Count) { Variable v = getVariable("s.participan"); Propuesta prop; prop = props[v.nivel - 1]; if (prop.nivel == v.nivel) { string value = (string)prop.bag["s.participan"]; if (value == "*") { prop.bag["s.participan"] = parametro; //caso inicial } else { prop.bag["s.participan"] += "|" + parametro; } } } else if (accion == "s.participan_quitar" && getVariable("s.participan").nivel <= props.Count) { Variable v = getVariable("s.participan"); Propuesta prop; prop = props[v.nivel - 1]; if (prop.nivel == v.nivel) { string value = (string)prop.bag["s.participan"]; //quito string ret = ""; foreach (string item in value.Split('|')) { if (!item.StartsWith(parametro.Split(':')[0])) { ret += item + "|"; } } if (ret != "") { ret = ret.Substring(0, ret.Length - 1); } prop.bag["s.participan"] = ret; } } return(toHTML(props, g, email, width, modo)); }
/// <summary> /// Metodo utilizado para generar una lista de facturas parametrizada por un rango de fechas /// y por el tipo de factura /// </summary> /// <param name="desde">Fecha Inicial(DateTime)</param> /// <param name="hasta">Fecha fin(DateTime)</param> /// <param name="cobradas">Si la factura es de tipo "cobrada" true; /// Si es de tipo "por cobrar" false</param> /// <returns>Una lista de facturas</returns> public IList <Factura> ConsultarFacturasPorEstado(DateTime desde, DateTime hasta, Boolean cobradas) { try { DbDataReader reader; SqlParameter[] arParms = new SqlParameter[2]; arParms[0] = new SqlParameter("@Fecha1", SqlDbType.SmallDateTime); arParms[0].Value = desde; arParms[1] = new SqlParameter("@Fecha2", SqlDbType.SmallDateTime); arParms[1].Value = hasta; if (cobradas) { reader = SqlHelper.ExecuteReader(GetConnection(), "ConsultarFacturasCobradas", arParms); } else { reader = SqlHelper.ExecuteReader(GetConnection(), "ConsultarFacturasPorCobrar", arParms); } Factura factura; Propuesta propuesta; IList <Factura> listaFacturas = new List <Factura>(); DateTime fecha; while (reader.Read()) { factura = new Factura(); factura.Numero = int.Parse(reader["IdFactura"].ToString()); factura.Titulo = reader["Titulo"].ToString(); factura.Descripcion = reader["Descripcion"].ToString(); factura.Procentajepagado = float.Parse(reader["Porcentaje"].ToString()); fecha = DateTime.Parse(reader["Fecha"].ToString()); factura.Fechapago = DateTime.Parse(fecha.ToShortTimeString()); fecha = DateTime.Parse(reader["FechaIngreso"].ToString()); factura.Fechaingreso = DateTime.Parse(reader["FechaIngreso"].ToString()); factura.Estado = reader["Estado"].ToString(); propuesta = new Propuesta(); propuesta.Titulo = reader["NombrePropuesta"].ToString(); propuesta.MontoTotal = float.Parse(reader["Monto"].ToString()); factura.Prop = propuesta; listaFacturas.Add(factura); } return(listaFacturas); } catch (SqlException e) { throw new Core.LogicaNegocio.Excepciones.Facturas.AccesoDatos.ConsultarFacturaADException("Error de SQL consultando las facturas por estado en la Base de Datos", e); } catch (Exception e) { throw new ConsultarFacturaADException("Error consultando las facturas por estado en la Base de Datos", e); } }
public ActionResult Delete(int id) { Propuesta propuesta = db.Propuestas.Find(id); propuesta.Activa = false; db.Entry(propuesta).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Dashboard", "Usuario", null)); }
private void validar(Propuesta prop) { if (prop != null) { if (prop.nivel == 1) { if (getText("s.etiqueta", prop) == "") { addError(2, "La etiqueta determina el nombre con que aparece en el arbol, no puede ser vacia"); getVariable("s.etiqueta").className = "errorfino"; } if (getText("s.titulo", prop) == "") { addError(2, "El titulo de la escapada no puede ser vacio"); getVariable("s.titulo").className = "errorfino"; } } else if (prop.nivel == 2) { if (getText("r.donde", prop) == "") { addError(2, "Completar todos los niveles"); getVariable("r.donde").className = "errorfino"; } } else if (prop.nivel == 3) { if (getText("r.que", prop) == "") { addError(3, "Completar todos los niveles"); getVariable("r.que").className = "errorfino"; } } else if (prop.nivel == 4) { if (getText("r.quemas", prop) == "") { addError(4, "Completar todos los niveles"); getVariable("r.quemas").className = "errorfino"; } } else if (prop.nivel == 5) { if (getFloat("f.costo", prop) == 0) { addError(5, "Completar todos los niveles"); getVariable("f.costo").className = "errorfino"; } if (getText("s.gastos", prop) == "") { addError(5, "Completar todos los niveles"); getVariable("s.gastos").className = "errorfino"; } } } }
private void validar(Propuesta prop) { if (prop != null) { if (prop.nivel == 1) { if (getText("s.etiqueta", prop) == "") { addError(1, "La etiqueta determina el nombre con que aparece en el arbol, no puede ser vacia"); getVariable("s.etiqueta").className = "errorfino"; } if (getText("s.titulo", prop) == "") { addError(1, "El titulo del documento no puede ser vacio"); getVariable("s.titulo").className = "errorfino"; } if (getText("s.introduccion", prop) == "") { addError(1, "La introduccion no puede ser vacia"); getVariable("s.introduccion").className = "errorfino"; } } else if (prop.nivel == 2) { if (getText("s.objetivo", prop) == "" && getText("s.descripcion", prop) == "" && getText("s.aquien", prop) == "") { addError(2, "La propuesta no puede estar completamente vacia"); } } else if (prop.nivel == 3) { if (getText("s.materiales", prop) == "" && getText("s.software", prop) == "" && getText("s.rrhh", prop) == "") { addError(3, "La propuesta no puede estar completamente vacia"); } } else if (prop.nivel == 4) { if (getText("s.fases", prop) == "") { addError(4, "La propuesta no puede estar completamente vacia"); } } else if (prop.nivel == 5) { if (getText("s.presupuesto", prop) == "") { addError(5, "La propuesta no puede estar completamente vacia"); } } } }
public override Propuesta createProp(Tema t) { Propuesta ret = new Propuesta(); ret.bag["s.nombre"] = t.nombre; ret.bag["s.URL"] = t.URL; ret.bag["s.autor"] = t.autor; ret.bag["s.basadoEnTemaExistente"] = "si"; return(ret); }
// GET: Propuestas/Details/5 public ActionResult Details(int id) { Propuesta propuesta = db.Propuestas.Find(id); if (propuesta == null) { return(HttpNotFound()); } return(View(propuesta)); }
public ActionResult Create(CrearPropuestaModel model) { if (ModelState.IsValid) { HttpPostedFileBase file = model.File; Propuesta propuesta = model.Propuesta; //asignar usuario dueno Usuario usuarioActual = ObtenerUsuarioActual(User); propuesta.UsuarioId = usuarioActual.Id; propuesta.Creador = usuarioActual; usuarioActual.Propuestas.Add(propuesta); //aca codigo de la imagen if (file != null && file.ContentLength > 0) { Guid guid = Guid.NewGuid(); string str = guid.ToString(); string path = Path.Combine(Server.MapPath("~/PropuestasPictures"), str + ".jpg"); using (MemoryStream outStream = new MemoryStream()) { using (ImageFactory imageFactory = new ImageFactory(preserveExifData: false)) { Size size = new Size(1000, 800); ISupportedImageFormat format = new JpegFormat { Quality = 80 }; imageFactory.Load(file.InputStream) //.Constrain(size) .Resize(new ResizeLayer(size, ResizeMode.Pad, AnchorPosition.Center, true)) .BackgroundColor(Color.White) .Format(format) .Save(path); } } propuesta.URLFoto = str; propuesta.Activa = true; db.Propuestas.Add(propuesta); db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.UsuarioId = new SelectList(db.Usuarios, "Id", "Nombre", propuesta.UsuarioId); return(View(propuesta)); } return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "Id,Nombre,Descripccion,FechaCreacion,FechaCierre,URLFoto,UsuarioId,Activa,Lugar")] Propuesta propuesta) { if (ModelState.IsValid) { db.Entry(propuesta).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.UsuarioId = new SelectList(db.Usuarios, "Id", "Nombre", propuesta.UsuarioId); return(View(propuesta)); }
public async Task <IActionResult> Create([Bind("PropuestaId,Titulo,Descripcion,Pendiente,Tipo,UsuarioId,FechaPublicacion,FechaFinalizacion,Problema,ResultadoEsperado,Riesgos,Beneficios")] Propuesta propuesta) { if (ModelState.IsValid) { _context.Add(propuesta); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["UsuarioId"] = new SelectList(_context.AspNetUsers, "Id", "UserName", propuesta.UsuarioId); return(View(propuesta)); }
public override void evaluacionSubmit(string accion, string parametro, Propuesta prop, Grupo g, string email) { if (accion.StartsWith("f.p") && accion.EndsWith("_set")) { string id = accion.Split('_')[0]; prop.bag[id] = float.Parse(parametro); } //else if (accion == "f.evaluadoID_changed") //{ // evaluadoID = prop.bag["f.evaluadoID"].ToString(); //} }
public override void evaluacionSubmit(string evento, string parametro, Propuesta prop, Grupo g, string email) { if (evento.StartsWith("f.p") && evento.EndsWith("_set")) { string id = evento.Split('_')[0]; prop.bag[id] = float.Parse(parametro); } else if (evento == "f.evaluadoID_changed") { evaluadoID = prop.bag["f.evaluadoID"].ToString(); } }
/// <summary> /// Metodo para el reporte de facturas cobradas en un año especifico /// </summary> /// <param name="entidad">Entidad Factura</param> /// <returns>Objeto Factura</returns> /// public IList <Core.LogicaNegocio.Entidades.Factura> ObtenerFacturasCobradas(Factura facturas) { IList <Core.LogicaNegocio.Entidades.Factura> factura = new List <Core.LogicaNegocio.Entidades.Factura>(); try { SqlParameter[] parametro = new SqlParameter[1]; parametro[0] = new SqlParameter("@yearFecha", SqlDbType.DateTime); parametro[0].Value = facturas.Fechapago; DbDataReader reader = SqlHelper.ExecuteReader(_conexion.GetConnection(), "FacturasCobradasAnuales", parametro); int i = 0; while (reader.Read()) { Factura _factura = new Factura(); Propuesta _propuesta = new Propuesta(); _factura.Numero = (int)reader["IdFactura"]; _factura.Titulo = (string)reader["Titulo"]; _factura.Descripcion = (string)reader["Descripcion"]; _factura.Fechaingreso = (DateTime)reader["FechaIngreso"]; _factura.Estado = (string)reader["Nombre"]; _factura.Fechapago = (DateTime)reader["Fecha"]; _factura.Procentajepagado = float.Parse(reader["Porcentaje"].ToString()); factura.Add(_factura); } } catch (ConsultarException e) { throw new ConsultarException("Error al consultar", e); } catch (Exception e) { throw new ConsultarException("error", e); } return(factura); }
/// <summary> /// Metodo Anterior de Consulta de Propuesta Usado Por Factura y Gasto /// </summary> /// <param name="estado">Estado Aprobada de La Version</param> /// <returns>Lista de Propeusta con version Aprobada</returns> public IList <Propuesta> ConsultarPropuesta(int estado) { try { SqlParameter EstadoP = new SqlParameter(); EstadoP = new SqlParameter("@Estado", SqlDbType.Int); EstadoP.Value = estado; DbDataReader conexion = SqlHelper.ExecuteReader(_conexion.GetConnection(), "ConsultarPropuesta", EstadoP); int i = 0; while (conexion.Read()) { Propuesta _Propuesta = new Propuesta(); Propuesta _PropuestaEquipo = new Propuesta(); _Propuesta.Titulo = (string)conexion["Titulo"]; _Propuesta.Version = (string)conexion["NumeroVersion"].ToString(); _Propuesta.FechaFirma = (DateTime)conexion["FechaFirma"]; _Propuesta.FechaInicio = (DateTime)conexion["FechaInicio"]; _Propuesta.FechaFin = (DateTime)conexion["FechaFin"]; _Propuesta.MontoTotal = float.Parse(conexion["Monto"].ToString()); _Propuesta.Id = (int)conexion["IdPropuesta"]; _PropuestaEquipo = BuscarEmpleado(_Propuesta.Id); _Propuesta.EquipoTrabajo = _PropuestaEquipo.EquipoTrabajo; #region Busqueda del Receptor int j = 0; List <string> ListR = new List <string>(); ListR = BuscarReceptor(_Propuesta.Id); for (j = 0; j < ListR.Count; j++) { _Propuesta.NombreReceptor = ListR.ElementAt(j); j++; _Propuesta.ApellidoReceptor = ListR.ElementAt(j); j++; _Propuesta.CargoReceptor = ListR.ElementAt(j); } #endregion ListaPropuesta.Insert(i, _Propuesta); i++; } return(ListaPropuesta); } catch (SqlException e) { throw new ConsultarPropuestaBDException("Error En acceso a Base de Datos", e); } }
/// <summary> /// Metodo que consulta las propuestas activas que tienen versiones en espera /// se trae la ultima version en espera /// </summary> /// <returns></returns> public IList <Propuesta> ConsultarPropuestaAModificar() { try { DbDataReader conexion = SqlHelper.ExecuteReader (_conexion.GetConnection(), "ConsultarPropuestasVersiones"); int i = 0; while (conexion.Read()) { Propuesta _Propuesta = new Propuesta(); Propuesta _PropuestaEquipo = new Propuesta(); _Propuesta.Titulo = (string)conexion["Titulo"]; _Propuesta.Version = (string)conexion["NumeroVersion"].ToString(); _Propuesta.FechaFirma = (DateTime)conexion["FechaFirma"]; _Propuesta.FechaInicio = (DateTime)conexion["FechaInicio"]; _Propuesta.FechaFin = (DateTime)conexion["FechaFin"]; _Propuesta.MontoTotal = float.Parse(conexion["Monto"].ToString()); _Propuesta.Id = (int)conexion["IdPropuesta"]; _PropuestaEquipo = BuscarEmpleado(_Propuesta.Id); _Propuesta.EquipoTrabajo = _PropuestaEquipo.EquipoTrabajo; #region Busqueda del Receptor int j = 0; List <string> ListR = new List <string>(); ListR = BuscarReceptor(_Propuesta.Id); for (j = 0; j < ListR.Count; j++) { _Propuesta.NombreReceptor = ListR.ElementAt(j); j++; _Propuesta.ApellidoReceptor = ListR.ElementAt(j); j++; _Propuesta.CargoReceptor = ListR.ElementAt(j); } #endregion ListaPropuesta.Insert(i, _Propuesta); i++; } return(ListaPropuesta); } catch (SqlException e) { throw new Exception(e.ToString()); } }
protected override string toHTMLContenido(int nivel, Propuesta prop, Grupo g, string email, int width) { string ret = ""; Usuario u = g.getUsuario(email); bool tieneFlores = false; if (u != null) tieneFlores = u.floresDisponibles().Count > 0; bool editar = (prop == null && tieneFlores && modo != eModo.prevista && modo != eModo.consenso) || (prop != null && prop.esPrevista() && (modo == eModo.revisar || modo == eModo.editar)); editar = editar && !consensoAlcanzado; bool puedeVariante = prop != null && !prop.esPrevista() && modo == eModo.editar && tieneFlores; //validaciones de este nivel validar(prop); if (nivel == 1) { titulo = (string)getValue("s.titulo", prop); etiqueta = "Manifiesto"; //titulo ret += "<div class='titulo1'><nobr>" + nombre + ":" + txt("s.titulo", prop, width - 250, tieneFlores) + "</nobr></div>"; //etiqueta ret += "<div class='titulo2'><nobr>" + tr("Etiqueta") + ": Manifiesto "; if (prop == null) ret += "<span style='color:gray;font-size:12px;'>" + tr("(Etiqueta en el arbol)") + "</span>"; ret += "</nobr></div>"; //fecha if (modo == eModo.consenso) ret += "<div class='titulo2'><nobr>" + tr("Fecha") + ":" + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString() + "</nobr></div>"; //tema ret += "<div class='tema'>" + tr("Visión") + "</div>"; if (editar) ret += "<div class='smalltip' style='width:" + width + "px'>" + tr("La vision") + "</div>"; ret += area("s.vision", prop, width, 120, tieneFlores); } else if (nivel == 2) { //Mision ret += "<div class='tema'>" + tr("Mision") + "</div>"; if (editar) ret += "<div class='smalltip' style='width:" + width + "px'>" + tr("Mision") + "</div>"; ret += area("s.mision", prop, width, 120, tieneFlores); //variante if (puedeVariante) ret += "<div style='width:" + width + "px;text-align:right;'><input type='button' class='btn' value='" + tr("Proponer variante") + "' onclick='doVariante(" + prop.nodoID + ")'></div>"; } else if (nivel == 3) { //Objetivo ret += "<div class='tema'>" + tr("Objetivo") + "</div>"; if (editar) ret += "<div class='smalltip' style='width:" + width + "px'>" + tr("Objetivo") + "</div>"; ret += area("s.objetivo", prop, width, 120, tieneFlores); //variante if (puedeVariante) ret += "<div style='width:" + width + "px;text-align:right;'><input type='button' class='btn' value='" + tr("Proponer variante") + "' onclick='doVariante(" + prop.nodoID + ")'></div>"; } else if (nivel == 4) { ret += "<div class='tema'>" + tr("Servicios") + "</div>"; if (editar) ret += "<div class='smalltip' style='width:" + width + "px'>" + tr("Servicios") + "</div>"; ret += area("s.servicios", prop, width, 120, tieneFlores); //variante if (puedeVariante) ret += "<div style='width:" + width + "px;text-align:right;'><input type='button' class='btn' value='" + tr("Proponer variante") + "' onclick='doVariante(" + prop.nodoID + ")'></div>"; } else { throw new Exception("Nivel [" + nivel + "] no existe en este modelo"); } //fin nivel if (prop != null && prop.nodoID != 0 && modo != eModo.consenso) ret += HTMLFlores(g.arbol.getNodo(prop.nodoID), false, g.getUsuario(email)); //mensajes de error if (errores.ContainsKey(nivel)) { ret += "<div class='error' style='width:" + (width-4) + "px'>" + errores[nivel] + "</div>"; } return ret; }
private void validar(Propuesta prop) { if (prop != null) { if (prop.nivel == 1) { if ((string)getValue("s.titulo", prop) == "") { addError(1, "El titulo del manifiesto no puede ser vacio"); getVariable("s.titulo").className = "errorfino"; } if ((string)getValue("s.vision", prop) == "") { addError(1, "La vision no puede ser vacia"); getVariable("s.vision").className = "errorfino"; } } else if (prop.nivel == 2) { if ((string)getValue("s.mision", prop) == "") { addError(2, "La mision no ser vacia"); } } else if (prop.nivel == 3) { if ((string)getValue("s.objetivo", prop) == "") { addError(2, "El objetivo no puede ser vacio"); } } } }
private void validar(Propuesta prop) { if (prop != null) { if (prop.nivel == 1) { if ((string)getValue("s.etiqueta", prop) == "") { addError(1, "La etiqueta determina el nombre con que aparece en el arbol, no puede ser vacia"); getVariable("s.etiqueta").className = "errorfino"; } if ((string)getValue("s.titulo", prop) == "") { addError(1, "El titulo del documento no puede ser vacio"); getVariable("s.titulo").className = "errorfino"; } if ((string)getValue("s.introduccion", prop) == "") { addError(1, "La introduccion no puede ser vacia"); getVariable("s.introduccion").className = "errorfino"; } } else if (prop.nivel == 2) { if ((string)getValue("s.objetivo", prop) == "" && (string)getValue("s.descripcion", prop) == "" && (string)getValue("s.aquien", prop) == "") { addError(2, "La propuesta no puede estar completamente vacia"); } } else if (prop.nivel == 3) { if ((string)getValue("s.materiales", prop) == "" && (string)getValue("s.software", prop) == "" && (string)getValue("s.rrhh", prop) == "") { addError(2, "La propuesta no puede estar completamente vacia"); } } } }
protected override string toHTMLContenido(int nivel, Propuesta prop, Grupo g, string email, int width) { string ret = ""; Usuario u = g.getUsuario(email); bool tieneFlores = false; if (u != null) tieneFlores = u.floresDisponibles().Count > 0; bool editar = (prop == null && tieneFlores && modo != eModo.prevista && modo != eModo.consenso) || (prop != null && prop.esPrevista() && (modo == eModo.revisar || modo == eModo.editar)); editar = editar && !consensoAlcanzado; bool puedeVariante = prop != null && !prop.esPrevista() && modo == eModo.editar && tieneFlores; //validaciones de este nivel validar(prop); if (nivel == 1) { titulo = (string)getValue("s.titulo", prop); etiqueta = (string)getValue("s.etiqueta", prop); //titulo ret += "<div class='titulo1'><nobr>" + nombre + ":" + txt("s.titulo", prop, width - 250, tieneFlores) + "</nobr></div>"; //etiqueta ret += "<div class='titulo2'><nobr>" + tr("Etiqueta") + ":" + txt("s.etiqueta", prop, 20 * 5, tieneFlores); if (prop == null) ret += "<span style='color:gray;font-size:12px;'>" + tr("(Etiqueta en el arbol)") + "</span>"; ret += "</nobr></div>"; //fecha if (modo == eModo.consenso) ret += "<div class='titulo2'><nobr>" + tr("Fecha") + ":" + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString() + "</nobr></div>"; //tema ret += "<div class='tema'>" + tr("Resumen y motivacion") + "</div>"; if (editar) ret += "<div class='smalltip' style='width:" + width + "px'>" + tr("El consenso es un proceso cooperativo. Somos constructivos con nuestras propuestas y consideramos el bien comun") + "</div>"; ret += area("s.introduccion", prop, width, 120, tieneFlores); } else if (nivel == 2) { //Objetivo a lograr ret += "<div class='tema'>" + tr("Objetivo a lograr") + "</div>"; if (editar) ret += "<div class='smalltip' style='width:" + width + "px'>" + tr("Describe que pretendes que logremos") + "</div>"; ret += area("s.objetivo", prop, width, 120, tieneFlores); //Descripcion ret += "<div class='tema'>" + tr("Descripcion") + "</div>"; if (editar) ret += "<div class='smalltip' style='width:" + width + "px'>" + tr("Describe con mayor detalle como sera") + "</div>"; ret += area("s.descripcion", prop, width, 120, tieneFlores); //A quien va dirigido ret += "<div class='tema'>" + tr("A quien va dirigido") + "</div>"; if (editar) ret += "<div class='smalltip' style='width:" + width + "px'>" + tr("Quienes se beneficiaran") + "</div>"; ret += area("s.aquien", prop, width, 120, tieneFlores); //variante if (puedeVariante) ret += "<div style='width:" + width + "px;text-align:right;'><input type='button' class='btn' value='" + tr("Proponer variante") + "' onclick='doVariante(" + prop.nodoID + ")'></div>"; } else if (nivel == 3) { //Materiales ret += "<div class='tema'>" + tr("Materiales") + "</div>"; if (editar) ret += "<div class='smalltip' style='width:" + width + "px'>" + tr("Describe los recursos que seran necesarios sin olvidar un presupuesto estimado") + "</div>"; ret += area("s.materiales", prop, width, 120, tieneFlores); //Software ret += "<div class='tema'>" + tr("Software") + "</div>"; if (editar) ret += "<div class='smalltip' style='width:" + width + "px'>" + tr("Describe los recursos que seran necesarios sin olvidar un presupuesto estimado") + "</div>"; ret += area("s.software", prop, width, 120, tieneFlores); //RRHH ret += "<div class='tema'>" + tr("RRHH") + "</div>"; if (editar) ret += "<div class='smalltip' style='width:" + width + "px'>" + tr("Describe los recursos que seran necesarios sin olvidar un presupuesto estimado") + "</div>"; ret += area("s.rrhh", prop, width, 120, tieneFlores); //variante if (puedeVariante) ret += "<div style='width:" + width + "px;text-align:right;'><input type='button' class='btn' value='" + tr("Proponer variante") + "' onclick='doVariante(" + prop.nodoID + ")'></div>"; } else if (nivel == 4) { ret += "<div class='tema'>" + tr("Fases") + "</div>"; if (editar) ret += "<div class='smalltip' style='width:" + width + "px'>" + tr("Describe las fases que se deben alcanzar para lograr el objetivo") + "</div>"; ret += area("s.fases", prop, width, 120, tieneFlores); //variante if (puedeVariante) ret += "<div style='width:" + width + "px;text-align:right;'><input type='button' class='btn' value='" + tr("Proponer variante") + "' onclick='doVariante(" + prop.nodoID + ")'></div>"; } else if (nivel == 5) { ret += "<div class='tema'>" + tr("Presupuesto y plazo de entrega") + "</div>"; if (editar) ret += "<div class='smalltip' style='width:" + width + "px'>" + tr("Estimación") + "</div>"; ret += area("s.presupuesto", prop, width, 120, tieneFlores); //variante if (puedeVariante) ret += "<div style='width:" + width + "px;text-align:right;'><input type='button' class='btn' value='" + tr("Proponer variante") + "' onclick='doVariante(" + prop.nodoID + ")'></div>"; } else { throw new Exception("Nivel [" + nivel + "] no existe en este modelo"); } //fin nivel if (prop != null && prop.nodoID != 0 && modo != eModo.consenso) ret += HTMLFlores(g.arbol.getNodo(prop.nodoID), false, g.getUsuario(email)); //mensajes de error if (errores.ContainsKey(nivel)) { ret += "<div class='error' style='width:" + (width-4) + "px'>" + errores[nivel] + "</div>"; } return ret; }