private void priorizarProyectos(List <ProyectoPorPriorizar> proyectos, Datos.AsignacionActa actaDePriorizacion) { using (Datos.FonadeDBDataContext db = new Datos.FonadeDBDataContext(System.Configuration.ConfigurationManager.ConnectionStrings["ApplicationServices"].ConnectionString)) { foreach (var proyectoParaPriorizar in proyectos) { var proyecto = (from p in db.Proyecto where p.Id_Proyecto == proyectoParaPriorizar.Codigo select p).FirstOrDefault(); if (proyectoParaPriorizar.Priorizado) { proyecto.CodEstado = Constantes.CONST_LegalizacionContrato; } var asignacionActaProyecto = new Datos.AsignacionActaProyecto { CodActa = actaDePriorizacion.Id_Acta, CodProyecto = proyectoParaPriorizar.Codigo, Asignado = proyectoParaPriorizar.Priorizado }; db.AsignacionActaProyecto.InsertOnSubmit(asignacionActaProyecto); db.SubmitChanges(); } } }
protected void btn_asignarRecursos_Click(object sender, EventArgs e) { try { lblError.Visible = false; lnkRutaActa.Visible = false; FieldValidate.ValidateString("Numero de acta", txtNumero.Text, true, 20); FieldValidate.ValidateString("Nombre de acta", txtNombre.Text, true, 250); FieldValidate.ValidateString("Fecha de acta", txtFecha.Text, true, 250); FieldValidate.ValidateString("Observaciones", txtObservaciones.Text, true, 1500); FieldValidate.ValidateString("Convocatoria", cmbConvocatoria.SelectedValue, true, 1500); DateTime fechaActa = DateTime.ParseExact(txtFecha.Text, "dd/MM/yyyy", CultureInfo.InvariantCulture); if (fechaActa > DateTime.Now.Date) { throw new ApplicationException("La fecha del acta no puede ser mayor a la fecha de hoy"); } Datos.AsignacionActa actaDePriorizacion = new Datos.AsignacionActa(); actaDePriorizacion.NumActa = txtNumero.Text; actaDePriorizacion.NomActa = txtNombre.Text; actaDePriorizacion.FechaActa = fechaActa; actaDePriorizacion.Observaciones = txtObservaciones.Text; actaDePriorizacion.CodConvocatoria = Convert.ToInt32(cmbConvocatoria.SelectedValue); actaDePriorizacion.Publicado = true; using (Datos.FonadeDBDataContext db = new Datos.FonadeDBDataContext(System.Configuration.ConfigurationManager.ConnectionStrings["ApplicationServices"].ConnectionString)) { db.AsignacionActas.InsertOnSubmit(actaDePriorizacion); db.SubmitChanges(); } List <ProyectoPorPriorizar> proyectosParaPriorizar = getProyectosParaPriorizar(); priorizarProyectos(proyectosParaPriorizar, actaDePriorizacion); showLinkActa(actaDePriorizacion); } catch (ApplicationException ex) { lblError.Visible = true; lblError.Text = "Advertencia : " + ex.Message; } catch (Exception ex) { lblError.Visible = true; lblError.Text = "Sucedio un error inesperado, intentelo de nuevo. detalle : " + ex.Message; } }
private void showLinkActa(Datos.AsignacionActa actaDePriorizacion) { gvProyectosAPriorizar.DataBind(); txtNumero.Text = ""; txtNombre.Text = ""; txtFecha.Text = ""; txtObservaciones.Text = ""; lnkRutaActa.Visible = true; lnkRutaActa.NavigateUrl = "VerActaAsignacionRecursos.aspx"; lnkRutaActa.Text = "Se ha generado el acta número " + actaDePriorizacion.NumActa + " de Asignación de recursos. Click aquí para verla."; lnkRutaActa.Focus(); Session["Id_Acta"] = actaDePriorizacion.Id_Acta; ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Mensaje", "alert('Nueva acta creada: " + actaDePriorizacion.NumActa + " satisfactoriamente!');", true); }