Beispiel #1
0
        private void BindGrilla()
        {
            SisPackController.AdministrarGrillas.Configurar(this.dtgComisiones, "ConceptoComisionEntidadID", this.CantidadOpciones);
            dtgComisiones.AllowPaging = false;

            if (Session["dsComisiones"] == null)
            {
                IComisionMasivaAgencia conceptoComision = ComisionMasivaAgenciaFactory.GetComisionMasivaAgencia();
                conceptoComision.UnidadVentaID = Convert.ToInt32(this.txtUnidadVentaID.Text);
                this.dsComisiones = conceptoComision.GetComisionesMasivasAgenciasDataSet();
                //this.dsConceptosComisionesEntidades = conceptoComisionEntidad.GetConceptosComisionesEntidadesConMaximosDataSet();

                foreach (DsComisionMasivaAgencia.DatosRow dr in this.dsComisiones.Datos)
                {
                    dr.TipoImporte = dr.IsComisionPorcentajeNull() ? "ImporteFijo" : "Porcentaje";
                }
            }
            else
            {
                this.dsComisiones = (DsComisionMasivaAgencia)Session["dsComisiones"];
                if (this.dtgComisiones.EditItemIndex != -1)
                {
                    DataGridItem item = this.dtgComisiones.Items[this.dtgComisiones.EditItemIndex];
                    DsComisionMasivaAgencia.DatosRow dr = (DsComisionMasivaAgencia.DatosRow) this.dsComisiones.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["dsComisiones"]             = this.dsComisiones;
            this.dtgComisiones.DataSource       = this.dsComisiones;
            this.dtgComisiones.CurrentPageIndex = 0;
            this.dtgComisiones.DataBind();
        }
Beispiel #2
0
        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 = (DsComisionMasivaAgencia)Session["dsComisiones"];
            DsComisionMasivaAgencia.DatosRow dr = (DsComisionMasivaAgencia.DatosRow) this.dsComisiones.Datos.Rows[e.Item.DataSetIndex];

            IComisionMasivaAgencia cce = ComisionMasivaAgenciaFactory.GetComisionMasivaAgencia();

            cce.ConceptoComisionEntidadID = dr.ConceptoComisionEntidadID;

            System.Data.DataRow[] drCCE = (System.Data.DataRow[])cce.GetComisionesMasivasAgenciasDataSet().Datos.Select("ConceptoComisionEntidadID = " + cce.ConceptoComisionEntidadID.ToString());
            //System.Data.DataRow[] drCCE = (System.Data.DataRow[])cce.GetComisionesMasivasAgenciasDataSet().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;
             * }*/

            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;

                            IComisionMasivaAgencia cceS = ComisionMasivaAgenciaFactory.GetComisionMasivaAgencia();
                            cceS.UnidadVentaID = Utiles.Validaciones.obtieneEntero(this.txtUnidadVentaID.Text);
                            DsComisionMasivaAgencia dsComisionMasivaAgencia = cceS.GetComisionesMasivasAgenciasDataSet();

                            foreach (DsComisionMasivaAgencia.DatosRow drComisionMasivaAgencia in dsComisionMasivaAgencia.Datos)
                            {
                                IConceptoComisionEntidad conceptoComisionEntidad = ConceptoComisionEntidadFactory.GetConceptoComisionEntidad();
                                conceptoComisionEntidad.ConceptoComisionEntidadID = Convert.ToInt32(drComisionMasivaAgencia.ConceptoComisionEntidadID);
                                conceptoComisionEntidad.Consultar();

                                if (((int)conceptoComisionEntidad.ConceptoComision) == conceptoComisionID &&
                                    drComisionMasivaAgencia.ConceptoComisionEntidadID != Convert.ToInt32(drConceptoComisionEntidad[0]["ConceptoComisionEntidadID"]))
                                {
                                    //&& comisionMasivaVendedorID != drComisionMasivaAgencia.ComisionMasivaVendedorID)
                                    suma += drComisionMasivaAgencia.IsComisionPorcentajeNull() ? 0 : drComisionMasivaAgencia.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;


                        IComisionMasivaAgencia cceS = ComisionMasivaAgenciaFactory.GetComisionMasivaAgencia();
                        cceS.UnidadVentaID = Utiles.Validaciones.obtieneEntero(this.txtUnidadVentaID.Text);
                        DsComisionMasivaAgencia dsComisionMasivaAgencia = cceS.GetComisionesMasivasAgenciasDataSet();

                        foreach (DsComisionMasivaAgencia.DatosRow drComisionMasivaAgencia in dsComisionMasivaAgencia.Datos)
                        {
                            IConceptoComisionEntidad conceptoComisionEntidad = ConceptoComisionEntidadFactory.GetConceptoComisionEntidad();
                            conceptoComisionEntidad.ConceptoComisionEntidadID = Convert.ToInt32(drComisionMasivaAgencia.ConceptoComisionEntidadID);
                            conceptoComisionEntidad.Consultar();

                            //	if(((int)conceptoComisionEntidad.ConceptoComision )== conceptoComisionID)// && drComisionMasivaVendedor.ConceptoComisionEntidadID != Convert.ToInt32(drConceptoComisionEntidad[0]["ConceptoComisionEntidadID"]))
                            if (((int)conceptoComisionEntidad.ConceptoComision) == conceptoComisionID &&
                                drComisionMasivaAgencia.ConceptoComisionEntidadID != Convert.ToInt32(drConceptoComisionEntidad[0]["ConceptoComisionEntidadID"]))
                            {
                                suma += drComisionMasivaAgencia.IsComisionImporteFijoNull() ? 0 : drComisionMasivaAgencia.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;
                        }
                    }
                }


                //control de que la suma de importes fijos para ese concepto de comision no supere el maximo permitido

                /*System.Data.DataRow[] drConceptoComision = (System.Data.DataRow[]) this.dsConceptosComisiones.Tables[0].Select("ConceptoComisionID=" + dr.ConceptoComisionID);
                 * if(drConceptoComision.Length>0)
                 * {
                 *      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.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
            {
                cce.Guardar();
                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);
            }
        }