/// <summary>
        /// Método para consultar los datos completos de un Concepto de comisión entidad.
        /// </summary>
        /// <returns>Retorna un booleando indicando si el Concepto de comisión entidad existe.</returns>
        public bool Consultar()
        {
            DsConceptosComisionesEntidades ds = this.GetConceptosComisionesEntidadesDataSet();

            if (ds == null)
            {
                return(false);
            }

            DsConceptosComisionesEntidades.DatosRow dr = ds.Datos.FindByConceptoComisionEntidadID(this.ConceptoComisionEntidadID);
            if (dr == null)
            {
                return(false);
            }

            this.ConceptoComision = dr.IsConceptoComisionIDNull() == false ? (SisPack.ConceptoComision)dr.ConceptoComisionID : SisPack.ConceptoComision.Ninguno;

            ConceptoFacturacionID = dr.IsConceptoFacturacionIDNull() == false ? dr.ConceptoFacturacionID : 0;

            this.EntidadComision     = (SisPack.EntidadComision)dr.EntidadComisionID;
            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);
        }
        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();
        }
Exemplo n.º 4
0
        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);
            }
        }
Exemplo n.º 5
0
        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();
        }
        /// <summary>
        /// Método para llenar el dataset de conceptos de comisión entidad.
        /// Invoca al stored procedure ConceptosComisionesEntidadesALL.
        /// </summary>
        /// <returns>Retorna el dataset de conceptos de comisión</returns>
        public DsConceptosComisionesEntidades GetConceptosComisionesEntidadesConMaximosDataSet()
        {
            DsConceptosComisionesEntidades ds = new DsConceptosComisionesEntidades();

            Config.Conexion.LlenarTypeDataSet(ds.Datos, System.Data.CommandType.StoredProcedure, "ConceptosComisionesEntidadesConMaximosALL");

            return(ds);
        }
        /// <summary>
        /// Método para llenar el dataset de conceptos de comisión entidad.
        /// Invoca al stored procedure ConceptosComisionesEntidadesALL.
        /// </summary>
        /// <returns>Retorna el dataset de conceptos de comisión</returns>
        public DsConceptosComisionesEntidades GetConceptosComisionesEntidadesDataSet()
        {
            DsConceptosComisionesEntidades ds  = new DsConceptosComisionesEntidades();
            SqlParameter pTipoConceptoComision = new SqlParameter("@TipoConceptoComisionID", Utiles.BaseDatos.IntToSql((int)TipoConceptoComision));

            Config.Conexion.LlenarTypeDataSet(ds.Datos, System.Data.CommandType.StoredProcedure, "ConceptosComisionesEntidadesALL", pTipoConceptoComision);

            return(ds);
        }
Exemplo n.º 8
0
        protected void butAgregar_Click(object sender, System.EventArgs e)
        {
            DsConceptosComisionesEntidades ds = (DsConceptosComisionesEntidades)Session["dsComisiones"];

            DsConceptosComisionesEntidades.DatosRow dr = ds.Datos.NewDatosRow();
            dr.ConceptoComisionEntidadID     = 0;
            dr.ConceptoComisionID            = 0;
            dr.EntidadComisionID             = 0;
            dr.BaseCalculoID                 = 0;
            dr.EstadoComisionID              = Convert.ToInt32(NegociosSisPackInterface.SisPack.EstadoComision.Habilitada);
            dr.ConceptoFacturacionID         = 0;
            dr.ConfigurarConceptoComision    = true;
            dr.ConfigurarConceptoFacturacion = false;

            ds.Datos.AddDatosRow(dr);
            Session["dsComisiones"] = ds;

            int iNewItemIndex = this.dtgComisiones.Items.Count;

            this.dtgComisiones.DataSource    = ds; //(DsConceptosComisionesEntidades) Session["dsComisiones"];
            this.dtgComisiones.EditItemIndex = iNewItemIndex;
            this.dtgComisiones.DataBind();
        }
Exemplo n.º 9
0
        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();
        }
Exemplo n.º 10
0
        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);
            }
        }