protected void btnSave_Click(object sender, EventArgs e) { try { IGrupoTerapeutico gruposbb = new BusinessLogic(); grupos = gruposbb.GetGrupos(); aplicacion = Session["Catalogo" + Catalogos.APLICACIONPRODUCTO.ToString().ToLower()] as List<CATALOGO>; formaProducto = Session["Catalogo" + Catalogos.FORMAPRODUCTO.ToString().ToLower()] as List<CATALOGO>; tipoMercado = Session["Catalogo" + Catalogos.TIPOMERCADO.ToString().ToLower()] as List<CATALOGO>; tipoProducto = Session["Catalogo" + Catalogos.TIPOPRODUCTO.ToString().ToLower()] as List<CATALOGO>; SubProductos subProductoSeleccionado = Session["subProductoSeleccionado"] as SubProductos; ISubProductos bdd = new BusinessLogic(); SUBPRODUCTO subProducto = null; Guid idProducto = Guid.Empty; if (subProductoSeleccionado == null) { subProducto = new SUBPRODUCTO(); subProducto.IDSUBPRODUCTO = Guid.NewGuid(); subProducto = subProducto.MarkAsAdded(); PRODUCTO selectedProduct = Session["selectedProduct"] as PRODUCTO; idProducto = selectedProduct.IDPRODUCTO; } else { subProducto = bdd.ObtenerSubProductoById(subProductoSeleccionado.IdSubProducto); subProducto = subProducto.MarkAsModified(); idProducto = subProductoSeleccionado.IdProducto; } subProducto.IDPRODUCTO = idProducto; subProducto.IDGRUPO = grupos.FirstOrDefault(x => x.NOMBREGRUPOTER == ddlGrupoTerapeutico.SelectedValue).IDGRUPO; subProducto.IDAPLICACION = aplicacion.FirstOrDefault(x => x.DESCRIPCIONCATALOGO == ddlAplicacion.SelectedValue).IDCATALAGO; subProducto.IDFORMAPROD = formaProducto.FirstOrDefault(x => x.DESCRIPCIONCATALOGO == ddlForma.SelectedValue).IDCATALAGO; subProducto.IDTIPOMERCADO = tipoMercado.FirstOrDefault(x => x.DESCRIPCIONCATALOGO == ddlTipoMercado.SelectedValue).IDCATALAGO; subProducto.IDTIPOPRODUCTO = tipoProducto.FirstOrDefault(x => x.DESCRIPCIONCATALOGO == ddlTipoProducto.SelectedValue).IDCATALAGO; subProducto.PRESENTACION = txtPresentacion.Text; subProducto.CONCENTRACION = string.IsNullOrEmpty(txtConcentracion.Text) ? 0 : double.Parse(txtConcentracion.Text); subProducto.UNIDAD = txtUnidad.Text; subProducto.CANTIDAD = string.IsNullOrEmpty(txtCantidad.Text) ? short.Parse("0") : short.Parse(txtCantidad.Text); subProducto.PRINCIPIOACTIVO = txtPrincipio.Text; subProducto.INDICACIONESDEUSO = txtIndicaciones.Text; if (ValidarFormulario(subProducto)) bdd.SaveSubProducto(subProducto); Response.Redirect("~/ui/MantenimientoProducto.aspx"); } catch (Exception ex) { lblError.Visible = true; lblError.Text = ex.Message; } }