/// <summary> /// Método para consultar los datos completos de un registro de comisión agencia. /// </summary> /// <returns>Retorna un booleando indicando si el registro de comisión agencia existe.</returns> public bool Consultar() { DsComisionesAgencias ds = this.GetComisionesAgenciasDataSet(); if (ds == null) { return(false); } DsComisionesAgencias.DatosRow dr = ds.Datos.FindByAgenciaIDConceptoComisionEntidadID(this.AgenciaID, this.ConceptoComisionEntidadID); if (dr == null) { return(false); } this.FechaAlta = dr.FechaAlta; this.ComisionImporteFijo = dr.IsComisionImporteFijoNull() ? 0 : dr.ComisionImporteFijo; this.ComisionPorcentaje = dr.IsComisionPorcentajeNull() ? 0 : dr.ComisionPorcentaje; this.BaseCalculo = (SisPack.BaseCalculo)(dr.IsBaseCalculoIDNull() ? 0 : dr.BaseCalculoID); this.EstadoComision = (SisPack.EstadoComision)dr.EstadoComisionID; return(true); }
protected void dtgComisiones_Update(object sender, DataGridCommandEventArgs e) { this.dsComisionesAgencias = (DsComisionesAgencias)Session["dsComisionesAgenciasMasivo"]; DsComisionesAgencias.DatosRow dr = (DsComisionesAgencias.DatosRow) this.dsComisionesAgencias.Datos.Rows[e.Item.DataSetIndex]; RadioButton rbtPorcentaje = (RadioButton)e.Item.FindControl("rbtPorcentaje"); if (rbtPorcentaje.Checked) { RequiredFieldValidator req; req = (RequiredFieldValidator)((PlaceHolder)e.Item.FindControl("phValidBaseCalculo")).FindControl("ReqPorcentaje"); req.Enabled = true; req.Validate(); if (!req.IsValid) { return; } BaseValidator valPtj = (BaseValidator)((PlaceHolder)e.Item.FindControl("phValidBaseCalculo")).FindControl("ValPorcentaje"); valPtj.Enabled = true; valPtj.Validate(); if (!valPtj.IsValid) { return; } if (dr.ConfigurarConceptoComision) { req = (RequiredFieldValidator)((PlaceHolder)e.Item.FindControl("phValidBaseCalculo")).FindControl("ReqBaseCalculo"); req.Enabled = true; req.Validate(); if (!req.IsValid) { return; } } } else { RequiredFieldValidator req = (RequiredFieldValidator)((PlaceHolder)e.Item.FindControl("phValidBaseCalculo")).FindControl("ReqImporteFijo"); req.Enabled = true; req.Validate(); if (!req.IsValid) { return; } BaseValidator valImp = (BaseValidator)((PlaceHolder)e.Item.FindControl("phValidBaseCalculo")).FindControl("ValImporteFijo"); valImp.Enabled = true; valImp.Validate(); if (!valImp.IsValid) { return; } } Page.Validate(); if (!Page.IsValid) { return; } IComisionAgencia comisionAgencia = ComisionAgenciaFactory.GetComisionAgencia(); for (int j = lstAgencia.Items.Count - 1; j >= 0; j--) { if (lstAgencia.Items[j].Selected) { comisionAgencia.AgenciasID.Add(Utiles.Validaciones.obtieneEntero(lstAgencia.Items[j].Value)); } } comisionAgencia.ConceptoComisionEntidadID = dr.ConceptoComisionEntidadID; if (rbtPorcentaje.Checked) { comisionAgencia.ComisionPorcentaje = dr.IsComisionPorcentajeNull() ? 0 : dr.ComisionPorcentaje; comisionAgencia.BaseCalculo = (NegociosSisPackInterface.SisPack.BaseCalculo)(dr.IsBaseCalculoIDNull() || dr.ComisionPorcentaje == 0 ? 0 : dr.BaseCalculoID); comisionAgencia.ComisionImporteFijo = 0; //control de que la suma de porcentajes para ese concepto de comision no supere el maximo permitido if (dr.ConfigurarConceptoComision) { //control de que la suma de porcentajes para ese concepto de comision no supere el maximo permitido System.Data.DataRow[] drConceptoComisionEntidad = (System.Data.DataRow[]) this.dsConceptosComisionesEntidades.Tables[0].Select("ConceptoComisionEntidadID=" + dr.ConceptoComisionEntidadID); if (drConceptoComisionEntidad.Length > 0) { if (Convert.ToInt32(drConceptoComisionEntidad[0]["EntidadComisionID"]) != 8) //hacemos el control si la entidad no es Andesmar { if (drConceptoComisionEntidad[0]["PorcentajeMaximo"] != System.DBNull.Value) { double porcentajeMaximo = Convert.ToDouble(drConceptoComisionEntidad[0]["PorcentajeMaximo"]); int conceptoComisionID = Convert.ToInt32(drConceptoComisionEntidad[0]["ConceptoComisionID"]); double suma = 0; IConceptoComisionEntidad conceptoComisionEntidad = ConceptoComisionEntidadFactory.GetConceptoComisionEntidad(); foreach (DsComisionesAgencias.DatosRow drConceptoComisionAgencia in this.dsComisionesAgencias.Datos) { conceptoComisionEntidad.ConceptoComisionEntidadID = drConceptoComisionAgencia.ConceptoComisionEntidadID; conceptoComisionEntidad.Consultar(); if (((int)conceptoComisionEntidad.ConceptoComision) == conceptoComisionID && drConceptoComisionAgencia.ConceptoComisionEntidadID != dr.ConceptoComisionEntidadID && (int)conceptoComisionEntidad.EntidadComision != 8 /*8 = andesmar*/) { suma += drConceptoComisionAgencia.IsComisionPorcentajeNull() ? 0 : drConceptoComisionAgencia.ComisionPorcentaje; } } suma += dr.IsComisionPorcentajeNull() || (int)conceptoComisionEntidad.EntidadComision == 8 /*8 = andesmar*/ ? 0 : dr.ComisionPorcentaje; if (suma > porcentajeMaximo) { ((SisPacK.ErrorWeb) this.phErrores.Controls[0]).setMensaje("La sumatoria de los porcentajes de comisión para el concepto es mayor que el máximo permitido."); return; } } } } } else { IConceptoFacturacion conceptoFacturacion = ConceptoFacturacionFactory.GetConceptoFacturacion(); conceptoFacturacion.GetOne(dr.ConceptoFacturacionID); if (conceptoFacturacion.PorcentajeMaximoComision != null) { double porcentajeMaximo = conceptoFacturacion.PorcentajeMaximoComision ?? 0; int conceptoFacturacionID = dr.ConceptoFacturacionID; double suma = 0; IConceptoComisionEntidad conceptoComisionEntidad = ConceptoComisionEntidadFactory.GetConceptoComisionEntidad(); foreach (DsComisionesAgencias.DatosRow drConceptoComisionAgencia in this.dsComisionesAgencias.Datos) { conceptoComisionEntidad.ConceptoComisionEntidadID = drConceptoComisionAgencia.ConceptoComisionEntidadID; conceptoComisionEntidad.Consultar(); if (conceptoComisionEntidad.ConceptoFacturacionID == conceptoFacturacionID && drConceptoComisionAgencia.ConceptoComisionEntidadID != dr.ConceptoComisionEntidadID && (int)conceptoComisionEntidad.EntidadComision != 8 /*8 = andesmar*/) { suma += drConceptoComisionAgencia.IsComisionPorcentajeNull() ? 0 : drConceptoComisionAgencia.ComisionPorcentaje; } } suma += dr.IsComisionPorcentajeNull() || (int)conceptoComisionEntidad.EntidadComision == 8 /*8 = andesmar*/ ? 0 : dr.ComisionPorcentaje; if (suma > porcentajeMaximo) { ((SisPacK.ErrorWeb) this.phErrores.Controls[0]).setMensaje("La sumatoria de los porcentajes de comisión para el concepto es mayor que el máximo permitido."); return; } } } } else { comisionAgencia.ComisionImporteFijo = dr.IsComisionImporteFijoNull() ? 0 : dr.ComisionImporteFijo; comisionAgencia.ComisionPorcentaje = 0; comisionAgencia.BaseCalculo = 0; //control de que la suma de importes fijos para ese concepto de comision no supere el maximo permitido if (dr.ConfigurarConceptoComision) { //control de que la suma de importes fijos para ese concepto de comision no supere el maximo permitido System.Data.DataRow[] drConceptoComisionEntidad = (System.Data.DataRow[]) this.dsConceptosComisionesEntidades.Tables[0].Select("ConceptoComisionEntidadID=" + dr.ConceptoComisionEntidadID); if (drConceptoComisionEntidad.Length > 0) { if (Convert.ToInt32(drConceptoComisionEntidad[0]["EntidadComisionID"]) != 8) //hacemos el control si la entidad no es Andesmar { if (drConceptoComisionEntidad[0]["ImporteFijoMaximo"] != System.DBNull.Value) { double importeFijoMaximo = Convert.ToDouble(drConceptoComisionEntidad[0]["ImporteFijoMaximo"]); int conceptoComisionID = Convert.ToInt32(drConceptoComisionEntidad[0]["ConceptoComisionID"]); double suma = 0; IConceptoComisionEntidad conceptoComisionEntidad = ConceptoComisionEntidadFactory.GetConceptoComisionEntidad(); foreach (DsComisionesAgencias.DatosRow drConceptoComisionAgencia in this.dsComisionesAgencias.Datos) { conceptoComisionEntidad.ConceptoComisionEntidadID = drConceptoComisionAgencia.ConceptoComisionEntidadID; conceptoComisionEntidad.Consultar(); if (((int)conceptoComisionEntidad.ConceptoComision) == conceptoComisionID && drConceptoComisionAgencia.ConceptoComisionEntidadID != dr.ConceptoComisionEntidadID && (int)conceptoComisionEntidad.EntidadComision != 8 /*8 = andesmar*/) { suma += drConceptoComisionAgencia.IsComisionImporteFijoNull() ? 0 : drConceptoComisionAgencia.ComisionImporteFijo; } } suma += dr.IsComisionImporteFijoNull() || (int)conceptoComisionEntidad.EntidadComision == 8 /*8 = andesmar*/ ? 0 : dr.ComisionImporteFijo; if (suma > importeFijoMaximo) { ((SisPacK.ErrorWeb) this.phErrores.Controls[0]).setMensaje("La sumatoria de los importes de comisión para el concepto es mayor que el máximo permitido."); return; } } } } } else { // control de que la suma de porcentajes para ese concepto de facturación no supere el maximo permitido IConceptoFacturacion conceptoFacturacion = ConceptoFacturacionFactory.GetConceptoFacturacion(); conceptoFacturacion.GetOne(dr.ConceptoFacturacionID); if (conceptoFacturacion.ImporteMaximoComision != null) { double importeFijoMaximo = conceptoFacturacion.ImporteMaximoComision ?? 0; int conceptoFacturacionID = dr.ConceptoFacturacionID; double suma = 0; IConceptoComisionEntidad conceptoComisionEntidad = ConceptoComisionEntidadFactory.GetConceptoComisionEntidad(); foreach (DsComisionesAgencias.DatosRow drConceptoComisionAgencia in this.dsComisionesAgencias.Datos) { conceptoComisionEntidad.ConceptoComisionEntidadID = drConceptoComisionAgencia.ConceptoComisionEntidadID; conceptoComisionEntidad.Consultar(); if (conceptoComisionEntidad.ConceptoFacturacionID == conceptoFacturacionID && drConceptoComisionAgencia.ConceptoComisionEntidadID != dr.ConceptoComisionEntidadID && (int)conceptoComisionEntidad.EntidadComision != 8 /*8 = andesmar*/) { suma += drConceptoComisionAgencia.IsComisionImporteFijoNull() ? 0 : drConceptoComisionAgencia.ComisionImporteFijo; } } suma += dr.IsComisionImporteFijoNull() || (int)conceptoComisionEntidad.EntidadComision == 8 /*8 = andesmar*/ ? 0 : dr.ComisionImporteFijo; if (suma > importeFijoMaximo) { ((SisPacK.ErrorWeb) this.phErrores.Controls[0]).setMensaje("La sumatoria de los importes de comisión para el concepto es mayor que el máximo permitido."); return; } } } } if (comisionAgencia.EstadoComision == NegociosSisPackInterface.SisPack.EstadoComision.Ninguno) { comisionAgencia.EstadoComision = NegociosSisPackInterface.SisPack.EstadoComision.Habilitada; } try { string script = ""; if (comisionAgencia.GuardarMasivo(usuario)) { this.dtgComisiones.EditItemIndex = -1; Session["dsComisionesAgenciasMasivo"] = null; this.BindGrilla(); this.txtRazonSocialBusqueda.Text = string.Empty; BuscarAgencias(); script += " alert('Los datos se guardaron correctamente.');\n";; ScriptManager.RegisterClientScriptBlock(this.UpdatePanel1, UpdatePanel1.GetType(), "muestraMensaje", script, true); } else { script += " alert('Los datos no se guardaron debido a errores.');\n";; ScriptManager.RegisterClientScriptBlock(this.UpdatePanel1, UpdatePanel1.GetType(), "muestraMensaje", script, true); } } catch (Exception ex) { string mensaje = ex.Message; try { mensaje = this.TraducirTexto(ex.Message); if (mensaje == "" || mensaje == null) { mensaje = ex.Message; } } catch (Exception) { mensaje = ex.Message; } ((SisPacK.ErrorWeb) this.phErrores.Controls[0]).setMensaje(mensaje); } }
private void dtgComisiones_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) { if (e.Item.ItemType == ListItemType.EditItem) { RadioButton rbtPorcentaje = (RadioButton)e.Item.FindControl("rbtPorcentaje"); rbtPorcentaje.Attributes.Add("onclick", "ChangeTipoImporte();"); RadioButton rbtImporteFijo = (RadioButton)e.Item.FindControl("rbtImporteFijo"); rbtImporteFijo.Attributes.Add("onclick", "ChangeTipoImporte();"); DropDownList ddlBaseCalculo = (DropDownList)e.Item.FindControl("ddlBaseCalculo"); SisPackController.LlenarCombos.BaseCalculo(ddlBaseCalculo, this.TraducirTexto("Combos.ElijaBaseCalculo")); PlaceHolder ph = (PlaceHolder)e.Item.FindControl("phValidBaseCalculo"); ph.Controls.Add(GenerarValidadores.Requerido("txtPorcentaje", this.TraducirTexto("Errores.Obligatorios.Porcentaje"), false, "ReqPorcentaje")); ph.Controls.Add(GenerarValidadores.Porcentaje("txtPorcentaje", this.TraducirTexto("Errores.Invalidos.Porcentaje"), false, "ValPorcentaje")); ph.Controls.Add(GenerarValidadores.Requerido("ddlBaseCalculo", this.TraducirTexto("Errores.Obligatorios.BaseCalculo"), false, "ReqBaseCalculo")); ph.Controls.Add(GenerarValidadores.Requerido("txtImporteFijo", this.TraducirTexto("Errores.Obligatorios.Importe"), false, "ReqImporteFijo")); ph.Controls.Add(GenerarValidadores.Decimal("txtImporteFijo", this.TraducirTexto("Errores.Invalidos.Importe"), false, "ValImporteFijo")); DsComisionesAgencias.DatosRow dr = (DsComisionesAgencias.DatosRow)((DataRowView)e.Item.DataItem).Row; rbtPorcentaje.Checked = dr.TipoImporte == "Porcentaje"; ddlBaseCalculo.SelectedValue = (dr.IsBaseCalculoIDNull() || dr.BaseCalculoID == 0) ? string.Empty : dr.BaseCalculoID.ToString(); rbtImporteFijo.Checked = dr.TipoImporte == "ImporteFijo"; if (dr.IsConfigurarConceptoComisionNull() == false && dr.ConfigurarConceptoComision) { ddlBaseCalculo.Style.Add("visibility", "visible"); } else { ddlBaseCalculo.Style.Add("visibility", "hidden"); } rbtPorcentaje.InputAttributes.Add("data-baseCalculo", ddlBaseCalculo.ClientID); rbtPorcentaje.InputAttributes.Add("data-porcentaje", ((TextBox)e.Item.FindControl("txtPorcentaje")).ClientID); rbtPorcentaje.InputAttributes.Add("data-valPtj", ((PlaceHolder)e.Item.FindControl("phValidBaseCalculo")).FindControl("ReqPorcentaje").ClientID); rbtPorcentaje.InputAttributes.Add("data-importeFijo", ((TextBox)e.Item.FindControl("txtImporteFijo")).ClientID); rbtPorcentaje.InputAttributes.Add("data-reqImpF", ((PlaceHolder)e.Item.FindControl("phValidBaseCalculo")).FindControl("ReqImporteFijo").ClientID); rbtPorcentaje.InputAttributes.Add("data-valImpF", ((PlaceHolder)e.Item.FindControl("phValidBaseCalculo")).FindControl("ReqImporteFijo").ClientID); rbtImporteFijo.InputAttributes.Add("data-importeFijo", ((TextBox)e.Item.FindControl("txtImporteFijo")).ClientID); rbtImporteFijo.InputAttributes.Add("data-valImpF", ((PlaceHolder)e.Item.FindControl("phValidBaseCalculo")).FindControl("ReqImporteFijo").ClientID); rbtImporteFijo.InputAttributes.Add("data-baseCalculo", ddlBaseCalculo.ClientID); rbtImporteFijo.InputAttributes.Add("data-porcentaje", ((TextBox)e.Item.FindControl("txtPorcentaje")).ClientID); rbtImporteFijo.InputAttributes.Add("data-reqPtj", ((PlaceHolder)e.Item.FindControl("phValidBaseCalculo")).FindControl("ReqPorcentaje").ClientID); rbtImporteFijo.InputAttributes.Add("data-valPtj", ((PlaceHolder)e.Item.FindControl("phValidBaseCalculo")).FindControl("ValPorcentaje").ClientID); rbtImporteFijo.InputAttributes.Add("data-reqBC", ((PlaceHolder)e.Item.FindControl("phValidBaseCalculo")).FindControl("ReqBaseCalculo").ClientID); } /* ESTO IRÍA PARA COLOREAR LA COMISION QUE SE HAYA DEFINIDO EN ESTE NIVEL, CHEQUEAR, PORQUE NO SE SI ESTÁ COLOREANDO TODO * LO QUE DEBERÍA........ES UN NUEVO REQUISITO PARA LA ETAPA 3 * else if (e.Item.ItemType == ListItemType.Item) * { * DsComisionesAgencias.DatosRow dr = (DsComisionesAgencias.DatosRow)((DataRowView)e.Item.DataItem).Row; * * if (dr.AgenciaID > 0) * { * e.Item.BackColor = System.Drawing.Color.Red; * } * } */ }