protected void AgregarButton_Click(object sender, EventArgs e) { Paciente paciente = LlenaClase(); Enums.Resultado resultado = (Enums.Resultado)ResultadoDropDownList.SelectedIndex; AnalisisDetalle detalle = new AnalisisDetalle(); detalle.Id_Tipo_Analisis = Utilidades.Utilidades.ToInt(TipoAnalisisDropDownList.SelectedValue); detalle.Id_Paciente = paciente.Id_Paciente; detalle.Fecha = DateTime.Now; detalle.Resultado = resultado; ListaAnalisisDetalle.Add(detalle); BindGrid(); ResultadoDropDownList.SelectedIndex = 0; }
protected void BotonAgregarDetalle_Click(object sender, EventArgs e) { Analisis analisis = new Analisis(); analisis = (Analisis)ViewState["Analisis"]; int idAnalisis = Soporte.ToInt(IdTextBox.Text); int idPaciente = Soporte.ToInt(PacienteDropDownList.SelectedValue); int idTipo = Soporte.ToInt(TipoAnalisisDropDownList.SelectedValue); TipoAnalisis tipoAnalisis = new RepositorioBase <TipoAnalisis>().Buscar(idTipo); AnalisisDetalle detalle = new AnalisisDetalle(0, idAnalisis, idPaciente, idTipo, DateTime.Now, tipoAnalisis.Precio, tipoAnalisis.Precio); detalle.TipoAnalisis = tipoAnalisis; analisis.AnalisisDetalle.Add(detalle); ViewState["Analisis"] = analisis; LlenaGrid(); }
public override bool Modificar(Paciente entity) { Contexto context = new Contexto(); Paciente anterior = this.Buscar(entity.Id_Paciente); //Verificando los modificados o agregados foreach (AnalisisDetalle elementoAnterior in anterior.AnalisisDetalle) { AnalisisDetalle detalle = entity.AnalisisDetalle.Find(x => x.Id_Analisis_Detalle == elementoAnterior.Id_Analisis_Detalle || x.Id_Analisis_Detalle == 0); RepositorioBase <TipoAnalisis> repositorioTipo = new RepositorioBase <TipoAnalisis>(); if (detalle != null) { System.Data.Entity.EntityState newState = detalle.Id_Analisis_Detalle <= 0 ? System.Data.Entity.EntityState.Added : System.Data.Entity.EntityState.Modified; TipoAnalisis tipoAnalisis = repositorioTipo.Buscar(detalle.Id_Tipo_Analisis); if (newState == System.Data.Entity.EntityState.Added) { tipoAnalisis.Cantidad_Realizada += 1; } else { if (elementoAnterior.Id_Tipo_Analisis != detalle.Id_Tipo_Analisis) { TipoAnalisis TipoAnterior = repositorioTipo.Buscar(elementoAnterior.Id_Tipo_Analisis); TipoAnterior.Cantidad_Realizada -= 1; new RepositorioBase <TipoAnalisis>().Modificar(TipoAnterior); TipoAnalisis actual = repositorioTipo.Buscar(detalle.Id_Tipo_Analisis); actual.Cantidad_Realizada += 1; new RepositorioBase <TipoAnalisis>().Modificar(actual); } } context.Entry(elementoAnterior).State = newState; } else { TipoAnalisis TipoAnterior = repositorioTipo.Buscar(elementoAnterior.Id_Tipo_Analisis); TipoAnterior.Cantidad_Realizada -= 1; new RepositorioBase <TipoAnalisis>().Modificar(TipoAnterior); context.Entry(elementoAnterior).State = System.Data.Entity.EntityState.Deleted; } } context.Entry(entity).State = System.Data.Entity.EntityState.Modified; return(context.SaveChanges() > 0); }
protected void agregarButton_Click(object sender, EventArgs e) { List <AnalisisDetalle> detalles = new List <AnalisisDetalle>(); if (IsValid) { DateTime date = DateTime.Now.Date; int tipoId = Utils.ToIntObjetos(TipoAnalisisDropDownList.SelectedValue); string descripcion = Utils.Descripcion(tipoId); string resultado = ResultadoTextBox.Text; int precio = Utils.ToInt(PrecioTextBox.Text); if (String.IsNullOrWhiteSpace(ResultadoTextBox.Text)) { Utils.ShowToastr(this, "Debe escribir un Resultado para agregar", "Error", "error"); return; } if (String.IsNullOrWhiteSpace(PrecioTextBox.Text) || Convert.ToInt32(PrecioTextBox.Text) == 0) { Utils.ShowToastr(this, "Debe tener Precio", "Error", "error"); return; } else { if (detalleGridView.Rows.Count != 0) { analisis.Detalle = (List <AnalisisDetalle>)ViewState["Detalle"]; } AnalisisDetalle detalle = new AnalisisDetalle(); analisis.Detalle.Add(new AnalisisDetalle(0, detalle.AnalisisId, tipoId, descripcion, precio, resultado)); ViewState["Detalle"] = analisis.Detalle; detalleGridView.DataSource = ViewState["Detalle"]; detalleGridView.DataBind(); LlenaBalance(); ResultadoTextBox.Text = ""; } } }