private void BindGrilla() { SisPackController.AdministrarGrillas.Configurar(this.dtgComisiones, "ConceptoComisionEntidadID", this.CantidadOpciones); this.dtgComisiones.AllowPaging = false; if (Session["dsComisionesAgenciasUVenta"] == null) { IComisionAgenciaUVenta comisionAgenciaUVenta = ComisionAgenciaUVentaFactory.GetComisionAgenciaUVenta(); comisionAgenciaUVenta.AgenciaID = Convert.ToInt32(this.txtAgenciaID.Text); comisionAgenciaUVenta.UnidadVentaID = Convert.ToInt32(this.txtUVentaID.Text); comisionAgenciaUVenta.Consultar(); this.dsComisionesAgenciasUVenta = comisionAgenciaUVenta.GetComisionesAgenciasUVentaDataSet(); foreach (DsComisionesAgenciasUVenta.DatosRow dr in this.dsComisionesAgenciasUVenta.Datos) { dr.TipoImporte = dr.IsComisionPorcentajeNull() ? "ImporteFijo" : "Porcentaje"; } } else { this.dsComisionesAgenciasUVenta = (DsComisionesAgenciasUVenta)Session["dsComisionesAgenciasUVenta"]; if (this.dtgComisiones.EditItemIndex != -1) { DataGridItem item = this.dtgComisiones.Items[this.dtgComisiones.EditItemIndex]; DsComisionesAgenciasUVenta.DatosRow dr = (DsComisionesAgenciasUVenta.DatosRow) this.dsComisionesAgenciasUVenta.Datos.Rows[item.DataSetIndex]; RadioButton rbt = (RadioButton)item.FindControl("rbtPorcentaje"); dr.TipoImporte = rbt.Checked ? "Porcentaje" : "ImporteFijo"; TextBox porcentaje = (TextBox)item.FindControl("txtPorcentaje"); try { dr.ComisionPorcentaje = porcentaje.Text != "" ? Convert.ToDouble(porcentaje.Text) : 0; } catch (Exception) {} DropDownList ddl = (DropDownList)item.FindControl("ddlBaseCalculo"); string selValue = ddl.SelectedValue; dr.BaseCalculoID = selValue == "" ? 0 : Convert.ToInt32(selValue); TextBox impFijo = (TextBox)item.FindControl("txtImporteFijo"); try { dr.ComisionImporteFijo = impFijo.Text != "" ? Convert.ToDouble(impFijo.Text) : 0; } catch (Exception) {} } } Session["dsComisionesAgenciasUVenta"] = this.dsComisionesAgenciasUVenta; this.dtgComisiones.DataSource = this.dsComisionesAgenciasUVenta; this.dtgComisiones.CurrentPageIndex = 0; this.dtgComisiones.DataBind(); }
protected void dtgComisiones_Update(object sender, DataGridCommandEventArgs e) { RadioButton rbtPorcentaje = (RadioButton)e.Item.FindControl("rbtPorcentaje"); if (rbtPorcentaje.Checked) { RequiredFieldValidator 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; } 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; } this.dsComisionesAgenciasUVenta = (DsComisionesAgenciasUVenta)Session["dsComisionesAgenciasUVenta"]; DsComisionesAgenciasUVenta.DatosRow dr = (DsComisionesAgenciasUVenta.DatosRow) this.dsComisionesAgenciasUVenta.Datos.Rows[e.Item.DataSetIndex]; IComisionAgenciaUVenta comisionAgenciaUVenta = ComisionAgenciaUVentaFactory.GetComisionAgenciaUVenta(); comisionAgenciaUVenta.AgenciaID = Convert.ToInt32(this.txtAgenciaID.Text); comisionAgenciaUVenta.ConceptoComisionEntidadID = dr.ConceptoComisionEntidadID; if (rbtPorcentaje.Checked) { comisionAgenciaUVenta.ComisionPorcentaje = dr.IsComisionPorcentajeNull() ? 0 : dr.ComisionPorcentaje; comisionAgenciaUVenta.BaseCalculo = (NegociosSisPackInterface.SisPack.BaseCalculo)(dr.IsBaseCalculoIDNull() || dr.ComisionPorcentaje == 0 ? 0 : dr.BaseCalculoID); comisionAgenciaUVenta.ComisionImporteFijo = 0; //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 (DsComisionesAgenciasUVenta.DatosRow drConceptoComisionAgenciaUVenta in this.dsComisionesAgenciasUVenta.Datos) { conceptoComisionEntidad.ConceptoComisionEntidadID = drConceptoComisionAgenciaUVenta.ConceptoComisionEntidadID; conceptoComisionEntidad.Consultar(); if (((int)conceptoComisionEntidad.ConceptoComision) == conceptoComisionID && drConceptoComisionAgenciaUVenta.ConceptoComisionEntidadID != dr.ConceptoComisionEntidadID && (int)conceptoComisionEntidad.EntidadComision != 8 /*8 = andesmar*/) { suma += drConceptoComisionAgenciaUVenta.IsComisionPorcentajeNull() ? 0 : drConceptoComisionAgenciaUVenta.ComisionPorcentaje; } } suma += dr.IsComisionPorcentajeNull() || (int)conceptoComisionEntidad.EntidadComision == 8 /*8 = andesmar*/? 0 : dr.ComisionPorcentaje; if (suma > porcentajeMaximo) { ((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 { comisionAgenciaUVenta.ComisionImporteFijo = dr.IsComisionImporteFijoNull() ? 0 : dr.ComisionImporteFijo; comisionAgenciaUVenta.ComisionPorcentaje = 0; comisionAgenciaUVenta.BaseCalculo = 0; //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 (DsComisionesAgenciasUVenta.DatosRow drConceptoComisionAgenciaUVenta in this.dsComisionesAgenciasUVenta.Datos) { conceptoComisionEntidad.ConceptoComisionEntidadID = drConceptoComisionAgenciaUVenta.ConceptoComisionEntidadID; conceptoComisionEntidad.Consultar(); if (((int)conceptoComisionEntidad.ConceptoComision) == conceptoComisionID && drConceptoComisionAgenciaUVenta.ConceptoComisionEntidadID != dr.ConceptoComisionEntidadID && (int)conceptoComisionEntidad.EntidadComision != 8 /*8 = andesmar*/) { suma += drConceptoComisionAgenciaUVenta.IsComisionImporteFijoNull() ? 0 : drConceptoComisionAgenciaUVenta.ComisionImporteFijo; } } suma += dr.IsComisionImporteFijoNull() || (int)conceptoComisionEntidad.EntidadComision == 8 /*8 = andesmar*/? 0 : dr.ComisionImporteFijo; if (suma > importeFijoMaximo) { ((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 (comisionAgenciaUVenta.EstadoComision == NegociosSisPackInterface.SisPack.EstadoComision.Ninguno) { comisionAgenciaUVenta.EstadoComision = NegociosSisPackInterface.SisPack.EstadoComision.Habilitada; } try { char[] separador = { ',' }; string[] UVentaSel = this.txtUVentaID.Text.Split(separador); foreach (string unidadVta in UVentaSel) { comisionAgenciaUVenta.UnidadVentaID = Convert.ToInt32(unidadVta); comisionAgenciaUVenta.Guardar(usuario); } this.dtgComisiones.EditItemIndex = -1; Session["dsComisionesAgenciasUVenta"] = null; this.BindGrilla(); } 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; } ((ErrorWeb)this.phErrores.Controls[0]).setMensaje(mensaje); } }
private void BindGrilla() { SisPackController.AdministrarGrillas.Configurar(this.dtgComisiones, "ConceptoComisionEntidadID", this.CantidadOpciones); dtgComisiones.AllowPaging = false; if (this.rbtClientesCorporativos.Checked == true) { this.dtgComisiones.Columns[5].Visible = true; this.dtgComisiones.Columns[6].Visible = false; IComisionCliente comisionCliente = ComisionClienteFactory.GetComisionCliente(); comisionCliente.ClienteID = Convert.ToInt32(this.busqCliente.ClienteID); comisionCliente.UnidadVentaID = Convert.ToInt32(this.ddlUnidadVenta.SelectedValue); comisionCliente.OrigenFleteID = 0; //this.txtOrigenID.Text==""? 0 :Convert.ToInt32(this.txtOrigenID.Text); comisionCliente.DestinoFleteID = 0; //this.txtDestinoID.Text==""? 0 :Convert.ToInt32(this.txtDestinoID.Text); comisionCliente.ZonaID = 0; //this.txtZonaID.Text==""? 0 :Convert.ToInt32(this.txtZonaID.Text); comisionCliente.AgrupacionDestinoID = 0; //this.txtAgrDestinoID.Text==""? 0 :Convert.ToInt32(this.txtAgrDestinoID.Text); if (this.rbtPorcentaje.Checked == true) { comisionCliente.ComisionPorcentaje = this.txtPorcentaje.Text == "" ? 0 : Convert.ToDouble(this.txtPorcentaje.Text); } else { comisionCliente.ComisionPorcentaje = 0; } if (this.rbtImporteFijo.Checked == true) { comisionCliente.ComisionImporteFijo = this.txtImporteFijo.Text == "" ? 0 : Convert.ToDouble(this.txtImporteFijo.Text); } else { comisionCliente.ComisionImporteFijo = 0; } comisionCliente.ConceptoFacturacionID = Convert.ToInt32(ddlConceptoFacturacion.SelectedValue); this.dsComisionesClientes = comisionCliente.GetComisionesClientesUVentaByPorcentajeMaximo(); foreach (DsComisionesClientes.DatosRow dr in this.dsComisionesClientes.Datos) { dr.TipoImporte = dr.IsComisionPorcentajeNull() ? "ImporteFijo" : "Porcentaje"; } Session["dsComisionesClientes"] = this.dsComisionesClientes; this.dtgComisiones.DataSource = this.dsComisionesClientes; } else if (this.rbtClientesCorporativosTodos.Checked == true) { this.dtgComisiones.Columns[5].Visible = true; this.dtgComisiones.Columns[6].Visible = false; IComisionCliente comisionCliente = ComisionClienteFactory.GetComisionCliente(); comisionCliente.ClienteID = 0; comisionCliente.UnidadVentaID = Convert.ToInt32(this.ddlUnidadVenta.SelectedValue); comisionCliente.OrigenFleteID = 0; //this.txtOrigenID.Text==""? 0 :Convert.ToInt32(this.txtOrigenID.Text); comisionCliente.DestinoFleteID = 0; //this.txtDestinoID.Text==""? 0 :Convert.ToInt32(this.txtDestinoID.Text); comisionCliente.ZonaID = 0; //this.txtZonaID.Text==""? 0 :Convert.ToInt32(this.txtZonaID.Text); comisionCliente.AgrupacionDestinoID = 0; //this.txtAgrDestinoID.Text==""? 0 :Convert.ToInt32(this.txtAgrDestinoID.Text); if (this.rbtPorcentaje.Checked == true) { comisionCliente.ComisionPorcentaje = this.txtPorcentaje.Text == "" ? 0 : Convert.ToDouble(this.txtPorcentaje.Text); } else { comisionCliente.ComisionPorcentaje = 0; } if (this.rbtImporteFijo.Checked == true) { comisionCliente.ComisionImporteFijo = this.txtImporteFijo.Text == "" ? 0 : Convert.ToDouble(this.txtImporteFijo.Text); } else { comisionCliente.ComisionImporteFijo = 0; } comisionCliente.ConceptoFacturacionID = Convert.ToInt32(ddlConceptoFacturacion.SelectedValue); this.dsComisionesClientes = comisionCliente.GetComisionesClientesUVentaByPorcentajeMaximo(); foreach (DsComisionesClientes.DatosRow dr in this.dsComisionesClientes.Datos) { dr.TipoImporte = dr.IsComisionPorcentajeNull() ? "ImporteFijo" : "Porcentaje"; } Session["dsComisionesClientes"] = this.dsComisionesClientes; this.dtgComisiones.DataSource = this.dsComisionesClientes; } else if (this.rbtClientesEventuales.Checked == true) { this.dtgComisiones.Columns[5].Visible = false; this.dtgComisiones.Columns[6].Visible = true; IComisionAgenciaUVenta comisionAgenciaUVenta = ComisionAgenciaUVentaFactory.GetComisionAgenciaUVenta(); comisionAgenciaUVenta.AgenciaID = this.busqAgencia.AgenciaID == "" ? 0 : Convert.ToInt32(this.busqAgencia.AgenciaID); comisionAgenciaUVenta.UnidadVentaID = Convert.ToInt32(this.ddlUnidadVenta.SelectedValue); if (this.rbtPorcentaje.Checked == true) { comisionAgenciaUVenta.ComisionPorcentaje = this.txtPorcentaje.Text == "" ? 0 : Convert.ToDouble(this.txtPorcentaje.Text); } else { comisionAgenciaUVenta.ComisionPorcentaje = 0; } if (this.rbtImporteFijo.Checked == true) { comisionAgenciaUVenta.ComisionImporteFijo = this.txtImporteFijo.Text == "" ? 0 : Convert.ToDouble(this.txtImporteFijo.Text); } else { comisionAgenciaUVenta.ComisionImporteFijo = 0; } comisionAgenciaUVenta.ConceptoFacturacionID = Convert.ToInt32(ddlConceptoFacturacion.SelectedValue); this.dsComisionesAgenciasUV = comisionAgenciaUVenta.GetComisionesAgenciasUVentaByPorcentajeMaximo(); foreach (DsComisionesAgenciasUVenta.DatosRow dr in this.dsComisionesAgenciasUV.Datos) { dr.TipoImporte = dr.IsComisionPorcentajeNull() ? "ImporteFijo" : "Porcentaje"; } Session["dsComisionesAgenciasUV"] = this.dsComisionesAgenciasUV; this.dtgComisiones.DataSource = this.dsComisionesAgenciasUV; } this.dtgComisiones.CurrentPageIndex = 0; this.dtgComisiones.DataBind(); this.busqCliente.ClienteID = ""; this.busqAgencia.AgenciaID = ""; }