private void Page_Load(object sender, System.EventArgs e) { #region User IsAuthenticated if (Session["Usuario"] != null) { this.usuario = (IUsuarios)Session["Usuario"]; } if (User.Identity.IsAuthenticated) { //this.SetCultura(); string sOpcion = "comisionesAgenciasMasivo"; SisPacK.Menu oMenu = (SisPacK.Menu) this.FindControl("Menu1"); this.ValidarSeguridad(oMenu, sOpcion); } #endregion if (!IsPostBack) { Session["dsComisionesAgenciasMasivo"] = null; LlenarCombos(); } IConceptoComisionEntidad conceptoComisionEntidad = ConceptoComisionEntidadFactory.GetConceptoComisionEntidad(); this.dsConceptosComisionesEntidades = conceptoComisionEntidad.GetConceptosComisionesEntidadesConMaximosDataSet(); this.BindGrilla(); }
private void Page_Load(object sender, System.EventArgs e) { if (Session["Usuario"] != null) { this.usuario = (IUsuarios)Session["Usuario"]; } if (User.Identity.IsAuthenticated) { //this.SetCultura(); string sOpcion = "comisionesUnidadVenta"; Menu oMenu = (Menu)this.FindControl("Menu1"); this.ValidarSeguridad(oMenu, sOpcion); } if (!IsPostBack) { Session["dsComisionesUV"] = null; this.txtUVentaID.Text = this.Request.QueryString["UVentaID"]; if (this.txtUVentaID.Text != "") { this.EditarUVenta(); } } IConceptoComisionEntidad conceptoComisionEntidad = ConceptoComisionEntidadFactory.GetConceptoComisionEntidad(); this.dsConceptosComisionesEntidades = conceptoComisionEntidad.GetConceptosComisionesEntidadesConMaximosDataSet(); this.BindGrilla(); }
protected void dtgComisiones_Delete(object sender, DataGridCommandEventArgs e) { this.dsComisiones = (DsConceptosComisionesEntidades)Session["dsComisiones"]; DsConceptosComisionesEntidades.DatosRow dr = (DsConceptosComisionesEntidades.DatosRow) this.dsComisiones.Datos.Rows[e.Item.DataSetIndex]; IConceptoComisionEntidad cce = ConceptoComisionEntidadFactory.GetConceptoComisionEntidad(); cce.ConceptoComisionEntidadID = dr.ConceptoComisionEntidadID; try { cce.Eliminar(usuario); this.dtgComisiones.EditItemIndex = -1; Session["dsComisiones"] = 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 Page_Load(object sender, System.EventArgs e) { #region User IsAuthenticated if (Session["Usuario"] != null) { this.usuario = (IUsuarios)Session["Usuario"]; } if (User.Identity.IsAuthenticated) { //this.SetCultura(); string sOpcion = "abmComisionAgencia"; Menu oMenu = (Menu)this.FindControl("Menu1"); this.ValidarSeguridad(oMenu, sOpcion); } #endregion if (!IsPostBack) { Session["dsComisionesAgencias"] = null; this.txtAgenciaID.Text = this.Request.QueryString["AgenciaID"] == null ? null : this.Request.QueryString["AgenciaID"]; if (this.txtAgenciaID.Text != "") { this.EditarAgencia(); } LlenarCombos(); } IConceptoComisionEntidad conceptoComisionEntidad = ConceptoComisionEntidadFactory.GetConceptoComisionEntidad(); this.dsConceptosComisionesEntidades = conceptoComisionEntidad.GetConceptosComisionesEntidadesConMaximosDataSet(); this.BindGrilla(); }
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); } }
protected void dtgComisiones_Update(object sender, DataGridCommandEventArgs e) { try { 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.dsComisionesVendedorUVenta = (DsComisionesVendedorUVenta)Session["dsComisionesVendedorUVenta"]; this.dsComisionesVendedorUVenta = (DsComisionesVendedorUVenta)this.dtgComisiones.DataSource; DsComisionesVendedorUVenta.DatosRow dr = (DsComisionesVendedorUVenta.DatosRow) this.dsComisionesVendedorUVenta.Datos.Rows[e.Item.DataSetIndex]; if (dr.MesDesde < 0) { throw new Exception("El mes inicial no es válido"); } if (dr.MesHasta < 0) { throw new Exception("El mes hasta no es válido"); } if (dr.MesDesde > dr.MesHasta) { throw new Exception("El mes inicial no puede ser mayor que el final"); } IComisionVendedorUVenta comisionVendedorUVenta = ComisionVendedorUVentaFactory.GetComisionVendedorUVenta(); comisionVendedorUVenta.VendedorID = Utiles.Validaciones.obtieneEntero(this.txtVendedorID.Text); //comisionVendedorUVenta.ConceptoComisionEntidadID = Utiles.Validaciones.obtieneEntero(((DropDownList)e.Item.FindControl("ddlConceptoComisionEntidad")).SelectedValue); //comisionVendedorUVenta.ConceptoComisionEntidadID = dr.ConceptoComisionEntidadID; int ccID = 0; int ecID = 0; if (this.txtConceptoComisionID.Text == "") { ccID = Utiles.Validaciones.obtieneEntero(((DropDownList)e.Item.FindControl("ddlConceptoComision")).SelectedValue); } else { ccID = Utiles.Validaciones.obtieneEntero(this.txtConceptoComisionID.Text); } if (this.txtEntidadComisionID.Text == "") { ecID = Utiles.Validaciones.obtieneEntero(((DropDownList)e.Item.FindControl("ddlEntidadComision")).SelectedValue); } else { ecID = Utiles.Validaciones.obtieneEntero(this.txtEntidadComisionID.Text); } IConceptoComisionEntidad cce = ConceptoComisionEntidadFactory.GetConceptoComisionEntidad(); System.Data.DataRow[] drCCE = (System.Data.DataRow[])cce.GetConceptosComisionesEntidadesDataSet().Datos.Select("ConceptoComisionID = " + ccID.ToString() + " AND EntidadComisionID=" + ecID.ToString()); comisionVendedorUVenta.ConceptoComisionEntidadID = Convert.ToInt32(drCCE[0]["ConceptoComisionEntidadID"]); comisionVendedorUVenta.MesDesde = Utiles.Validaciones.obtieneEntero(((TextBox)e.Item.FindControl("txtMesDesde")).Text); comisionVendedorUVenta.MesHasta = Utiles.Validaciones.obtieneEntero(((TextBox)e.Item.FindControl("txtMesHasta")).Text); comisionVendedorUVenta.ComisionVendedorUVentaID = Utiles.Validaciones.obtieneEntero(((Label)e.Item.FindControl("lblComisionVendedorUVentaID")).Text); if (rbtPorcentaje.Checked) { //comisionVendedorUVenta.ComisionPorcentaje = dr.IsComisionPorcentajeNull() ? 0 : dr.ComisionPorcentaje; comisionVendedorUVenta.ComisionPorcentaje = Utiles.Validaciones.obtieneDouble(((TextBox)e.Item.FindControl("txtPorcentaje")).Text); //comisionVendedorUVenta.BaseCalculoID = dr.IsBaseCalculoIDNull() || dr.ComisionPorcentaje == 0 ? 0 : dr.BaseCalculoID; comisionVendedorUVenta.BaseCalculoID = Utiles.Validaciones.obtieneEntero(((DropDownList)e.Item.FindControl("ddlBaseCalculo")).SelectedValue); //comisionVendedorUVenta.ComisionImporteFijo = 0; comisionVendedorUVenta.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; if (comisionVendedorUVenta.BaseCalculoID == (int)NegociosSisPackInterface.SisPack.BaseCalculo.GananciaRedespacho && (conceptoComisionID != (int)NegociosSisPackInterface.SisPack.ConceptoComision.Redespacho || !(ecID == (int)NegociosSisPackInterface.SisPack.EntidadComision.Vendedor || ecID == (int)NegociosSisPackInterface.SisPack.EntidadComision.SupervisorGeneral || ecID == (int)NegociosSisPackInterface.SisPack.EntidadComision.SupervisorRegional))) { throw new Exception("La base de cálculo válida para el concepto " + NegociosSisPackInterface.SisPack.ConceptoComision.Redespacho.ToString() + " y la entidad " + NegociosSisPackInterface.SisPack.EntidadComision.Vendedor.ToString() + " es " + NegociosSisPackInterface.SisPack.BaseCalculo.GananciaRedespacho.ToString()); } IConceptoComisionEntidad conceptoComisionEntidad = ConceptoComisionEntidadFactory.GetConceptoComisionEntidad(); foreach (DsComisionesVendedorUVenta.DatosRow drConceptoComisionVendedorUVenta in this.dsComisionesVendedorUVenta.Datos) { conceptoComisionEntidad.ConceptoComisionEntidadID = drConceptoComisionVendedorUVenta.ConceptoComisionEntidadID; conceptoComisionEntidad.Consultar(); if (((int)conceptoComisionEntidad.ConceptoComision) == conceptoComisionID && drConceptoComisionVendedorUVenta.ConceptoComisionEntidadID != dr.ConceptoComisionEntidadID) { suma += drConceptoComisionVendedorUVenta.IsComisionPorcentajeNull() ? 0 : drConceptoComisionVendedorUVenta.ComisionPorcentaje; } } suma += dr.IsComisionPorcentajeNull() ? 0 : dr.ComisionPorcentaje; if (suma > porcentajeMaximo) { ((ErrorWeb)this.phErrores.Controls[0]).setMensaje(this.TraducirTexto("Errores.Invalidos.SumaPorcentajes")); return; } } } } } else { //comisionVendedorUVenta.ComisionImporteFijo = dr.IsComisionImporteFijoNull() ? 0 : dr.ComisionImporteFijo; comisionVendedorUVenta.ComisionImporteFijo = Utiles.Validaciones.obtieneDouble(((TextBox)e.Item.FindControl("txtImporteFijo")).Text); comisionVendedorUVenta.ComisionPorcentaje = 0; comisionVendedorUVenta.BaseCalculoID = 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 (DsComisionesVendedorUVenta.DatosRow drConceptoComisionVendedorUVenta in this.dsComisionesVendedorUVenta.Datos) { conceptoComisionEntidad.ConceptoComisionEntidadID = drConceptoComisionVendedorUVenta.ConceptoComisionEntidadID; conceptoComisionEntidad.Consultar(); if (((int)conceptoComisionEntidad.ConceptoComision) == conceptoComisionID && drConceptoComisionVendedorUVenta.ConceptoComisionEntidadID != dr.ConceptoComisionEntidadID) { suma += drConceptoComisionVendedorUVenta.IsComisionImporteFijoNull() ? 0 : drConceptoComisionVendedorUVenta.ComisionImporteFijo; } } suma += dr.IsComisionImporteFijoNull() ? 0 : dr.ComisionImporteFijo; if (suma > importeFijoMaximo) { ((ErrorWeb)this.phErrores.Controls[0]).setMensaje(this.TraducirTexto("Errores.Invalidos.SumaImportes")); return; } } } } } if (comisionVendedorUVenta.EstadoComisionID == (int)NegociosSisPackInterface.SisPack.EstadoComision.Ninguno) { comisionVendedorUVenta.EstadoComisionID = (int)NegociosSisPackInterface.SisPack.EstadoComision.Habilitada; } try { char[] separador = { ',' }; string[] UVentaSel = this.txtUVentaID.Text.Split(separador); foreach (string unidadVta in UVentaSel) { comisionVendedorUVenta.UnidadVentaID = Convert.ToInt32(unidadVta); comisionVendedorUVenta.Guardar(usuario); } this.dtgComisiones.EditItemIndex = -1; Session["dsComisionesVendedorUVenta"] = null; this.BindGrilla(); this.txtConceptoComisionID.Text = ""; this.txtEntidadComisionID.Text = ""; } catch (Exception ex) { ManejaErrores(ex); } } catch (Exception ex) { ManejaErrores(ex); } }
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 BindGrilla() { SisPackController.AdministrarGrillas.Configurar(this.dtgComisiones, "ConceptoComisionEntidadID", this.CantidadOpciones); dtgComisiones.AllowPaging = false; if (Session["dsComisiones"] == null) { IConceptoComisionEntidad conceptoComision = ConceptoComisionEntidadFactory.GetConceptoComisionEntidad(); conceptoComision.TipoConceptoComision = (NegociosSisPackInterface.SisPack.TipoConceptoComision)Utiles.Validaciones.obtieneEntero(this.ddlTipoConceptoComision.SelectedValue.ToString()); this.dsComisiones = conceptoComision.GetConceptosComisionesEntidadesDataSet(); foreach (DsConceptosComisionesEntidades.DatosRow dr in this.dsComisiones.Datos) { dr.TipoImporte = dr.IsComisionPorcentajeNull() ? "ImporteFijo" : "Porcentaje"; } Session["dsComisiones"] = this.dsComisiones; } else { this.dsComisiones = (DsConceptosComisionesEntidades)Session["dsComisiones"]; if (this.dtgComisiones.EditItemIndex != -1) { DataGridItem item = this.dtgComisiones.Items[this.dtgComisiones.EditItemIndex]; DsConceptosComisionesEntidades.DatosRow dr = (DsConceptosComisionesEntidades.DatosRow) this.dsComisiones.Datos.Rows[item.DataSetIndex]; RadioButton rbtConceptoComision = (RadioButton)item.FindControl("rbtConceptoComision"); RadioButton rbtConceptoFacturacion = (RadioButton)item.FindControl("rbtConceptoFacturacion"); if (rbtConceptoComision.Checked) { dr.ConfigurarConceptoComision = true; dr.ConfigurarConceptoFacturacion = false; } else { dr.ConfigurarConceptoFacturacion = true; dr.ConfigurarConceptoComision = false; } DropDownList ddl = (DropDownList)item.FindControl("ddlConceptoComision"); string selValue = ddl.SelectedValue; dr.ConceptoComisionID = selValue == "" ? 0 : Convert.ToInt32(selValue); ddl = (DropDownList)item.FindControl("ddlConceptoFacturacion"); selValue = ddl.SelectedValue; dr.ConceptoFacturacionID = selValue == "" ? 0 : Convert.ToInt32(selValue); ddl = (DropDownList)item.FindControl("ddlEntidadComision"); selValue = ddl.SelectedValue; dr.EntidadComisionID = selValue == "" ? 0 : Convert.ToInt32(selValue); 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) { } ddl = (DropDownList)item.FindControl("ddlBaseCalculo"); 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["dsComisiones"] = this.dsComisiones; this.dtgComisiones.DataSource = this.dsComisiones; this.dtgComisiones.CurrentPageIndex = 0; this.dtgComisiones.DataBind(); }
protected void dtgComisiones_Update(object sender, DataGridCommandEventArgs e) { try { RadioButton rbtPorcentaje = (RadioButton)e.Item.FindControl("rbtPorcentaje"); RadioButton rbtConceptoComision = (RadioButton)e.Item.FindControl("rbtConceptoComision"); RadioButton rbtConceptoFacturacion = (RadioButton)e.Item.FindControl("rbtConceptoFacturacion"); if (rbtConceptoComision.Checked) { RequiredFieldValidator reqddlEntidadComision = (RequiredFieldValidator)((PlaceHolder)e.Item.FindControl("phValidConceptoComision")).FindControl("reqddlEntidadComision"); reqddlEntidadComision.Enabled = true; reqddlEntidadComision.Validate(); if (reqddlEntidadComision.IsValid == false) { //reqddlEntidadComision.Enabled = false; return; } } else { RequiredFieldValidator reqddlConceptoFacturacion = (RequiredFieldValidator)((PlaceHolder)e.Item.FindControl("phValidConceptoComision")).FindControl("reqddlConceptoFacturacion"); reqddlConceptoFacturacion.Enabled = true; reqddlConceptoFacturacion.Validate(); if (reqddlConceptoFacturacion.IsValid == false) { //reqddlConceptoFacturacion.Enabled = false; return; } } if (rbtPorcentaje.Checked) { if (((TextBox)e.Item.FindControl("txtPorcentaje")).Text == "0") { ((TextBox)e.Item.FindControl("txtPorcentaje")).Text = ""; } 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; } if (rbtConceptoComision.Checked) { req = (RequiredFieldValidator)((PlaceHolder)e.Item.FindControl("phValidBaseCalculo")).FindControl("ReqBaseCalculo"); req.Enabled = true; req.Validate(); if (!req.IsValid) { return; } } } else { if (((TextBox)e.Item.FindControl("txtImporteFijo")).Text == "0") { ((TextBox)e.Item.FindControl("txtImporteFijo")).Text = ""; } 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.dsComisiones = (DsConceptosComisionesEntidades)Session["dsComisiones"]; DsConceptosComisionesEntidades.DatosRow dr = (DsConceptosComisionesEntidades.DatosRow) this.dsComisiones.Datos.Rows[e.Item.DataSetIndex]; IConceptoComisionEntidad cce = ConceptoComisionEntidadFactory.GetConceptoComisionEntidad(); cce.ConceptoComisionEntidadID = dr.ConceptoComisionEntidadID; cce.ConceptoComision = (NegociosSisPackInterface.SisPack.ConceptoComision)dr.ConceptoComisionID; cce.ConceptoFacturacionID = dr.ConceptoFacturacionID; cce.EntidadComision = (NegociosSisPackInterface.SisPack.EntidadComision)dr.EntidadComisionID; if (rbtPorcentaje.Checked) { cce.ComisionPorcentaje = dr.IsComisionPorcentajeNull() ? 0 : dr.ComisionPorcentaje; cce.BaseCalculo = (NegociosSisPackInterface.SisPack.BaseCalculo)(dr.IsBaseCalculoIDNull() ? 0 : dr.BaseCalculoID); cce.ComisionImporteFijo = 0; if (cce.BaseCalculo == NegociosSisPackInterface.SisPack.BaseCalculo.GananciaRedespacho && ( cce.ConceptoComision != NegociosSisPackInterface.SisPack.ConceptoComision.Redespacho || !(cce.EntidadComision == NegociosSisPackInterface.SisPack.EntidadComision.Vendedor || cce.EntidadComision == NegociosSisPackInterface.SisPack.EntidadComision.SupervisorGeneral || cce.EntidadComision == NegociosSisPackInterface.SisPack.EntidadComision.SupervisorRegional))) { throw new Exception("La base de cálculo válida para el concepto " + NegociosSisPackInterface.SisPack.ConceptoComision.Redespacho.ToString() + " y la entidad " + NegociosSisPackInterface.SisPack.EntidadComision.Vendedor.ToString() + " es " + NegociosSisPackInterface.SisPack.BaseCalculo.GananciaRedespacho.ToString()); } //control de que la suma de porcentajes para ese concepto de comision no supere el maximo permitido if (dr.ConfigurarConceptoComision) { System.Data.DataRow[] drConceptoComision = (System.Data.DataRow[]) this.dsConceptosComisiones.Tables[0].Select("ConceptoComisionID=" + dr.ConceptoComisionID); if (drConceptoComision.Length > 0) { if (Convert.ToInt32(dr.EntidadComisionID) != 8 && Convert.ToInt32(dr.EntidadComisionID) != 9) //hacemos el control si la entidad no es Andesmar { if (drConceptoComision[0]["PorcentajeMaximo"] != System.DBNull.Value) { double porcentajeMaximo = Convert.ToDouble(drConceptoComision[0]["PorcentajeMaximo"]); int conceptoComisionID = Convert.ToInt32(drConceptoComision[0]["ConceptoComisionID"]); double suma = 0; foreach (DsConceptosComisionesEntidades.DatosRow drConceptoComisionEntidad in this.dsComisiones.Datos) { if (drConceptoComisionEntidad.IsConceptoComisionIDNull() == false && drConceptoComisionEntidad.ConceptoComisionID == conceptoComisionID && drConceptoComisionEntidad.EntidadComisionID != dr.EntidadComisionID && drConceptoComisionEntidad.EntidadComisionID != 8 /*8 = andesmar*/) { suma += drConceptoComisionEntidad.IsComisionPorcentajeNull() ? 0 : drConceptoComisionEntidad.ComisionPorcentaje; } } suma += dr.IsComisionPorcentajeNull() || dr.EntidadComisionID == 8 /*8 = andesmar*/ || dr.EntidadComisionID == 9 ? 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 { //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 (Convert.ToInt32(dr.EntidadComisionID) != 8 && Convert.ToInt32(dr.EntidadComisionID) != 9) //hacemos el control si la entidad no es Andesmar { if (conceptoFacturacion.PorcentajeMaximoComision != null) { double porcentajeMaximo = conceptoFacturacion.PorcentajeMaximoComision ?? 0; int conceptoFacturacionID = dr.ConceptoFacturacionID; double suma = 0; foreach (DsConceptosComisionesEntidades.DatosRow drConceptoComisionEntidad in this.dsComisiones.Datos) { if (drConceptoComisionEntidad.IsConceptoFacturacionIDNull() == false && drConceptoComisionEntidad.ConceptoFacturacionID == conceptoFacturacionID && drConceptoComisionEntidad.EntidadComisionID != dr.EntidadComisionID && drConceptoComisionEntidad.EntidadComisionID != 8 /*8 = andesmar*/) { suma += drConceptoComisionEntidad.IsComisionPorcentajeNull() ? 0 : drConceptoComisionEntidad.ComisionPorcentaje; } } suma += dr.IsComisionPorcentajeNull() || dr.EntidadComisionID == 8 /*8 = andesmar*/ || dr.EntidadComisionID == 9 ? 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 { cce.ComisionImporteFijo = dr.IsComisionImporteFijoNull() ? 0 : dr.ComisionImporteFijo; cce.ComisionPorcentaje = 0; cce.BaseCalculo = 0; //control de que la suma de importes fijos para ese concepto de comision no supere el maximo permitido if (dr.ConfigurarConceptoComision) { System.Data.DataRow[] drConceptoComision = (System.Data.DataRow[]) this.dsConceptosComisiones.Tables[0].Select("ConceptoComisionID=" + dr.ConceptoComisionID); if (drConceptoComision.Length > 0) { if (Convert.ToInt32(dr.EntidadComisionID) != 8 && Convert.ToInt32(dr.EntidadComisionID) != 9) //hacemos el control si la entidad no es Andesmar { if (drConceptoComision[0]["ImporteFijoMaximo"] != System.DBNull.Value) { double importeFijoMaximo = Convert.ToDouble(drConceptoComision[0]["ImporteFijoMaximo"]); int conceptoComisionID = Convert.ToInt32(drConceptoComision[0]["ConceptoComisionID"]); double suma = 0; foreach (DsConceptosComisionesEntidades.DatosRow drConceptoComisionEntidad in this.dsComisiones.Datos) { if (drConceptoComisionEntidad.IsConceptoComisionIDNull() == false && drConceptoComisionEntidad.ConceptoComisionID == conceptoComisionID && drConceptoComisionEntidad.EntidadComisionID != dr.EntidadComisionID && drConceptoComisionEntidad.EntidadComisionID != 8 /*8 = andesmar*/) { suma += drConceptoComisionEntidad.IsComisionImporteFijoNull() ? 0 : drConceptoComisionEntidad.ComisionImporteFijo; } } suma += dr.IsComisionImporteFijoNull() || dr.EntidadComisionID == 8 /*8 = andesmar*/ || dr.EntidadComisionID == 9 ? 0 : dr.ComisionImporteFijo; if (suma > importeFijoMaximo) { ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("La sumatoria de los importes fijos 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 (Convert.ToInt32(dr.EntidadComisionID) != 8 && Convert.ToInt32(dr.EntidadComisionID) != 9) //hacemos el control si la entidad no es Andesmar { if (conceptoFacturacion.ImporteMaximoComision != null) { double importeFijoMaximo = conceptoFacturacion.ImporteMaximoComision ?? 0; int conceptoComisionID = dr.ConceptoFacturacionID; double suma = 0; foreach (DsConceptosComisionesEntidades.DatosRow drConceptoComisionEntidad in this.dsComisiones.Datos) { if (drConceptoComisionEntidad.IsConceptoFacturacionIDNull() == false && drConceptoComisionEntidad.ConceptoFacturacionID == conceptoComisionID && drConceptoComisionEntidad.EntidadComisionID != dr.EntidadComisionID && drConceptoComisionEntidad.EntidadComisionID != 8 /*8 = andesmar*/) { suma += drConceptoComisionEntidad.IsComisionImporteFijoNull() ? 0 : drConceptoComisionEntidad.ComisionImporteFijo; } } suma += dr.IsComisionImporteFijoNull() || dr.EntidadComisionID == 8 /*8 = andesmar*/ || dr.EntidadComisionID == 9 ? 0 : dr.ComisionImporteFijo; if (suma > importeFijoMaximo) { ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("La sumatoria de los importes fijos de comisión para el concepto es mayor que el máximo permitido."); return; } } } } } if (cce.EstadoComision == NegociosSisPackInterface.SisPack.EstadoComision.Ninguno) { cce.EstadoComision = NegociosSisPackInterface.SisPack.EstadoComision.Habilitada; } try { cce.Guardar(usuario); this.dtgComisiones.EditItemIndex = -1; Session["dsComisiones"] = 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); } } catch (Exception ex) { ManejaErrores(ex); } }
private void dtgComisiones_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) { RadioButton rbtPorcentaje = (RadioButton)e.Item.FindControl("rbtPorcentaje"); if (rbtPorcentaje.Checked) { if (((TextBox)e.Item.FindControl("txtPorcentaje")).Text == "0") { ((TextBox)e.Item.FindControl("txtPorcentaje")).Text = ""; } 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 { if (((TextBox)e.Item.FindControl("txtImporteFijo")).Text == "0") { ((TextBox)e.Item.FindControl("txtImporteFijo")).Text = ""; } 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.dsComisiones = (DsComisionMasivaVendedor)Session["dsComisiones"]; DsComisionMasivaVendedor.DatosRow dr = (DsComisionMasivaVendedor.DatosRow) this.dsComisiones.Datos.Rows[e.Item.DataSetIndex]; IComisionMasivaVendedor cce = ComisionMasivaVendedorFactory.GetComisionMasivaVendedor(); //cce.ConceptoComisionEntidadID = dr.ConceptoComisionEntidadID; int ccID = 0; int ecID = 0; if (this.txtConceptoComisionID.Text == "") { ccID = Utiles.Validaciones.obtieneEntero(((DropDownList)e.Item.FindControl("ddlConceptoComision")).SelectedValue); } else { ccID = Utiles.Validaciones.obtieneEntero(this.txtConceptoComisionID.Text); } if (this.txtEntidadComisionID.Text == "") { ecID = Utiles.Validaciones.obtieneEntero(((DropDownList)e.Item.FindControl("ddlEntidadComision")).SelectedValue); } else { ecID = Utiles.Validaciones.obtieneEntero(this.txtEntidadComisionID.Text); } System.Data.DataRow[] drCCE = (System.Data.DataRow[])cce.GetComisionesMasivasVendedoresDataSet().Datos.Select("ConceptoComisionID = " + ccID.ToString() + " AND EntidadComisionID=" + ecID.ToString()); //GetConceptosComisionesEntidadesDataSet().Datos.Select("ConceptoComisionID = " + ccID.ToString() + " AND EntidadComisionID=" + ecID.ToString()); if (drCCE.Length > 0) { cce.ConceptoComisionEntidadID = Convert.ToInt32(drCCE[0]["ConceptoComisionEntidadID"]); } else { ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("No es posible asignar comisiones a esta entidad ya que no se ha definido el concepto de comisión correspondiente."); return; } // obtengo el id de la comision masiva del vendedor, si no lo puede recuperar // es porque es nuevo, entonces le asigno 0 int comisionMasivaVendedorID; try { comisionMasivaVendedorID = dr.ComisionMasivaVendedorID; } catch (Exception) { comisionMasivaVendedorID = 0; } if (rbtPorcentaje.Checked) { cce.ComisionPorcentaje = dr.IsComisionPorcentajeNull() ? 0 : dr.ComisionPorcentaje; cce.BaseCalculo = (NegociosSisPackInterface.SisPack.BaseCalculo)(dr.IsBaseCalculoIDNull() ? 0 : dr.BaseCalculoID); cce.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=" + cce.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; IComisionMasivaVendedor cceS = ComisionMasivaVendedorFactory.GetComisionMasivaVendedor(); cceS.UnidadVentaID = Utiles.Validaciones.obtieneEntero(this.txtUnidadVentaID.Text); DsComisionMasivaVendedor dsComisionMasivaVendedor = cceS.GetComisionesMasivasVendedoresDataSet(); foreach (DsComisionMasivaVendedor.DatosRow drComisionMasivaVendedor in dsComisionMasivaVendedor.Datos) { IConceptoComisionEntidad conceptoComisionEntidad = ConceptoComisionEntidadFactory.GetConceptoComisionEntidad(); conceptoComisionEntidad.ConceptoComisionEntidadID = Convert.ToInt32(drComisionMasivaVendedor.ConceptoComisionEntidadID); conceptoComisionEntidad.Consultar(); if (((int)conceptoComisionEntidad.ConceptoComision) == conceptoComisionID && comisionMasivaVendedorID != drComisionMasivaVendedor.ComisionMasivaVendedorID) { /* //&& drComisionMasivaVendedor.ConceptoComisionEntidadID != Convert.ToInt32(drConceptoComisionEntidad[0]["ConceptoComisionEntidadID"]) * && drComisionMasivaVendedor.EntidadComisionID != Convert.ToInt32(dr.EntidadComisionID) * && drComisionMasivaVendedor.MesDesde != Convert.ToInt32(dr.MesDesde) * && drComisionMasivaVendedor.MesHasta != Convert.ToInt32(dr.MesHasta)*/ //if (dr.ComisionMasivaVendedorID != drComisionMasivaVendedor.ComisionMasivaVendedorID) suma += drComisionMasivaVendedor.IsComisionPorcentajeNull() ? 0 : drComisionMasivaVendedor.ComisionPorcentaje; } } suma += dr.IsComisionPorcentajeNull() ? 0 : dr.ComisionPorcentaje; if (suma > porcentajeMaximo) { ((ErrorWeb)this.phErrores.Controls[0]).setMensaje(this.TraducirTexto("Errores.Invalidos.SumaPorcentajes")); return; } } } } } else { cce.ComisionImporteFijo = dr.IsComisionImporteFijoNull() ? 0 : dr.ComisionImporteFijo; cce.ComisionPorcentaje = 0; cce.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=" + cce.ConceptoComisionEntidadID); //System.Data.DataRow[] drConceptoComision = (System.Data.DataRow[]) this.dsConceptosComisiones.Tables[0].Select("ConceptoComisionID=" + dr.ConceptoComisionID); if (drConceptoComisionEntidad.Length > 0) { if (drConceptoComisionEntidad[0]["ImporteFijoMaximo"] != System.DBNull.Value) { double importeFijoMaximo = Convert.ToDouble(drConceptoComisionEntidad[0]["ImporteFijoMaximo"]); int conceptoComisionID = Convert.ToInt32(drConceptoComisionEntidad[0]["ConceptoComisionID"]); double suma = 0; IComisionMasivaVendedor cceS = ComisionMasivaVendedorFactory.GetComisionMasivaVendedor(); cceS.UnidadVentaID = Utiles.Validaciones.obtieneEntero(this.txtUnidadVentaID.Text); DsComisionMasivaVendedor dsComisionMasivaVendedor = cceS.GetComisionesMasivasVendedoresDataSet(); foreach (DsComisionMasivaVendedor.DatosRow drComisionMasivaVendedor in dsComisionMasivaVendedor.Datos) { IConceptoComisionEntidad conceptoComisionEntidad = ConceptoComisionEntidadFactory.GetConceptoComisionEntidad(); conceptoComisionEntidad.ConceptoComisionEntidadID = Convert.ToInt32(drComisionMasivaVendedor.ConceptoComisionEntidadID); conceptoComisionEntidad.Consultar(); // if(((int)conceptoComisionEntidad.ConceptoComision )== conceptoComisionID)// && drComisionMasivaVendedor.ConceptoComisionEntidadID != Convert.ToInt32(drConceptoComisionEntidad[0]["ConceptoComisionEntidadID"])) if (((int)conceptoComisionEntidad.ConceptoComision) == conceptoComisionID && comisionMasivaVendedorID != drComisionMasivaVendedor.ComisionMasivaVendedorID) { suma += drComisionMasivaVendedor.IsComisionImporteFijoNull() ? 0 : drComisionMasivaVendedor.ComisionImporteFijo; } } suma += dr.IsComisionImporteFijoNull() ? 0 : dr.ComisionImporteFijo; if (suma > importeFijoMaximo) { ((ErrorWeb)this.phErrores.Controls[0]).setMensaje(this.TraducirTexto("La sumatoria de los importes fijos de comisión para el concepto es mayor que el máximo permitido.")); return; } /*foreach (DsConceptosComisionesEntidades.DatosRow drConceptoComisionEntidad in this.dsComisiones.Datos) * { * if(drConceptoComisionEntidad.ConceptoComisionID == conceptoComisionID && drConceptoComisionEntidad.EntidadComisionID != dr.EntidadComisionID && drConceptoComisionEntidad.EntidadComisionID != 8) * { * suma+= drConceptoComisionEntidad.IsComisionImporteFijoNull() ? 0 : drConceptoComisionEntidad.ComisionImporteFijo; * } * } * suma+= dr.IsComisionImporteFijoNull() || dr.EntidadComisionID == 8 ? 0 : dr.ComisionImporteFijo; * if(suma > importeFijoMaximo) * { * ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("La sumatoria de los importes fijos de comisión para el concepto es mayor que el máximo permitido."); * return; * }*/ } } } if (cce.EstadoComision == NegociosSisPackInterface.SisPack.EstadoComision.Ninguno) { cce.EstadoComision = NegociosSisPackInterface.SisPack.EstadoComision.Habilitada; } cce.UnidadVentaID = Convert.ToInt32(this.txtUnidadVentaID.Text); try { /* * if (dr.MesDesde<0 || dr.MesDesde>12) * throw new Exception("El mes inicial no es válido"); * * if (dr.MesHasta<0 || dr.MesHasta>12) * throw new Exception("El mes hasta no es válido"); */ if (dr.MesDesde < 0) { throw new Exception("El mes inicial no es válido"); } if (dr.MesHasta < 0) { throw new Exception("El mes hasta no es válido"); } if (dr.MesDesde > dr.MesHasta) { throw new Exception("El mes inicial no puede ser mayor que el final"); } cce.MesDesde = Utiles.Validaciones.obtieneEntero(((TextBox)e.Item.FindControl("txtMesDesde")).Text); cce.MesHasta = Utiles.Validaciones.obtieneEntero(((TextBox)e.Item.FindControl("txtMesHasta")).Text); cce.Guardar(dr.IsComisionMasivaVendedorIDNull() ? 0 : dr.ComisionMasivaVendedorID); this.dtgComisiones.EditItemIndex = -1; Session["dsComisiones"] = 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); } }