protected void btnSaveRefresh_Click(object sender, EventArgs e) { string Mode = Request.QueryString["Mode"].ToString(); OperationResult objOperationResult = new OperationResult(); _protocolcomponentListDTO = new List <protocolcomponentDto>(); _protocolDTO = new protocolDto(); var id = cbOrganization.SelectedValue.ToString().Split('|'); var id1 = cbOrganizationInvoice.SelectedValue.ToString().Split('|'); var id2 = cbIntermediaryOrganization.SelectedValue.ToString().Split('|'); _protocolDTO.v_Name = txtProtocolName.Text; _protocolDTO.v_EmployerOrganizationId = id[0]; _protocolDTO.v_EmployerLocationId = id[1]; _protocolDTO.i_EsoTypeId = int.Parse(cbEsoType.SelectedValue.ToString()); _protocolDTO.v_GroupOccupationId = cbGeso.SelectedValue.ToString(); _protocolDTO.v_CustomerOrganizationId = id1[0]; _protocolDTO.v_CustomerLocationId = id1[1]; _protocolDTO.v_WorkingOrganizationId = id2[0]; _protocolDTO.v_WorkingLocationId = cbIntermediaryOrganization.SelectedValue.ToString() != "-1" ? id2[1] : "-1"; _protocolDTO.i_MasterServiceId = int.Parse(cbService.SelectedValue.ToString()); _protocolDTO.v_CostCenter = txtCostCenter.Text; _protocolDTO.i_MasterServiceTypeId = int.Parse(cbServiceType.SelectedValue.ToString()); _protocolDTO.i_HasVigency = 0; _protocolDTO.i_ValidInDays = 0; _protocolDTO.i_IsActive = 1; _protocolDTO.v_NombreVendedor = ""; if (Mode == "New") { if (IsExistsProtocolName()) { Alert.Show("Este protocolo ya existe"); return; } CheckBoxField field1 = (CheckBoxField)grdData.FindColumn("CheckBoxField2"); for (int i = 0; i < grdData.Rows.Count; i++) { if (field1.GetCheckedState(i) == true) { _protocolDTO.v_ProtocolId = null; GridRow row = grdData.Rows[i]; System.Web.UI.WebControls.TextBox txtPrice = (System.Web.UI.WebControls.TextBox)row.FindControl("r_Price"); protocolcomponentDto protocolComponent = new protocolcomponentDto(); protocolComponent.v_ComponentId = grdData.Rows[i].Values[5]; protocolComponent.r_Price = float.Parse(txtPrice.Text.ToString());// float.Parse(grdData.Rows[i].Values[4].ToString()); //protocolComponent.i_OperatorId = -1; //protocolComponent.i_Age = 0; //protocolComponent.i_GenderId = 3; //protocolComponent.i_IsAdditional = 0; //protocolComponent.i_IsConditionalId =0; System.Web.UI.WebControls.TextBox txtEdad = (System.Web.UI.WebControls.TextBox)row.FindControl("i_Age"); CheckBoxField fieldAdicional = (CheckBoxField)grdData.FindColumn("CheckBoxField3"); bool ChecAdicional = fieldAdicional.GetCheckedState(i); CheckBoxField fieldCondicional = (CheckBoxField)grdData.FindColumn("CheckBoxField4"); bool ChecCondicional = fieldCondicional.GetCheckedState(i); protocolComponent.i_Age = int.Parse(txtEdad.Text.ToString()); protocolComponent.i_IsAdditional = ChecAdicional == true ? 1 : 0; protocolComponent.i_IsConditionalId = ChecCondicional == true ? 1 : 0; System.Web.UI.WebControls.DropDownList ddlOperador = (System.Web.UI.WebControls.DropDownList)grdData.Rows[i].FindControl("ddlOperador"); System.Web.UI.WebControls.DropDownList ddlGender = (System.Web.UI.WebControls.DropDownList)grdData.Rows[i].FindControl("ddlGender"); protocolComponent.i_GenderId = int.Parse(ddlGender.SelectedValue.ToString()); protocolComponent.i_OperatorId = int.Parse(ddlOperador.SelectedValue.ToString()); protocolComponent.i_IsConditionalIMC = 0; protocolComponent.r_Imc = 0; _protocolcomponentListDTO.Add(protocolComponent); } } _protocolBL.AddProtocol(ref objOperationResult, _protocolDTO, _protocolcomponentListDTO, ((ClientSession)Session["objClientSession"]).GetAsList()); } else if (Mode == "Edit") { _protocolDTO.v_ProtocolId = Session["ProtocolId"].ToString(); //Eliminar Fisicamente registros de protocolcomponent _protocolBL.EliminarProtocolComponentByProtocolId(ref objOperationResult, Session["ProtocolId"].ToString()); //Grabar de nuevo la entidad CheckBoxField field1 = (CheckBoxField)grdData.FindColumn("CheckBoxField2"); for (int i = 0; i < grdData.Rows.Count; i++) { if (field1.GetCheckedState(i) == true) { protocolcomponentDto protocolComponent = new protocolcomponentDto(); GridRow row = grdData.Rows[i]; System.Web.UI.WebControls.TextBox txtPrice = (System.Web.UI.WebControls.TextBox)row.FindControl("r_Price"); System.Web.UI.WebControls.TextBox txtEdad = (System.Web.UI.WebControls.TextBox)row.FindControl("i_Age"); CheckBoxField fieldAdicional = (CheckBoxField)grdData.FindColumn("CheckBoxField3"); bool ChecAdicional = fieldAdicional.GetCheckedState(i); CheckBoxField fieldCondicional = (CheckBoxField)grdData.FindColumn("CheckBoxField4"); bool ChecCondicional = fieldCondicional.GetCheckedState(i); System.Web.UI.WebControls.DropDownList ddlOperador = (System.Web.UI.WebControls.DropDownList)grdData.Rows[i].FindControl("ddlOperador"); System.Web.UI.WebControls.DropDownList ddlGender = (System.Web.UI.WebControls.DropDownList)grdData.Rows[i].FindControl("ddlGender"); protocolComponent.v_ComponentId = grdData.Rows[i].Values[5]; protocolComponent.r_Price = float.Parse(txtPrice.Text.ToString()); protocolComponent.i_Age = int.Parse(txtEdad.Text.ToString()); protocolComponent.i_IsAdditional = ChecAdicional == true ? 1:0; protocolComponent.i_IsConditionalId = ChecCondicional == true ? 1 : 0; protocolComponent.i_GenderId = int.Parse(ddlGender.SelectedValue.ToString()); protocolComponent.i_OperatorId = int.Parse(ddlOperador.SelectedValue.ToString()); protocolComponent.i_IsConditionalIMC = 0; protocolComponent.r_Imc = 0; _protocolcomponentListDTO.Add(protocolComponent); } } _protocolBL.AddProtocol(ref objOperationResult, _protocolDTO, _protocolcomponentListDTO, ((ClientSession)Session["objClientSession"]).GetAsList()); } //Analizar el resultado de la operación if (objOperationResult.Success == 1) // Operación sin error { // Cerrar página actual y hacer postback en el padre para actualizar PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); } else // Operación con error { Alert.ShowInTop("Error en operación:" + System.Environment.NewLine + objOperationResult.ExceptionMessage); // Se queda en el formulario. } }