Пример #1
0
        protected void btnAgregarCampo_OnClick(object sender, EventArgs e)
        {
            try
            {
                if (txtDescripcionCampo.Text.Trim() == string.Empty)
                {
                    throw new Exception("Debe especificar una descripcion");
                }
                Regex rgx = new Regex("[a-zA-Z]");

                if (!rgx.IsMatch(txtDescripcionCampo.Text.Trim()))
                {
                    throw new Exception("La descripcion debe contener almenos un caracter Alfanumerico.");
                }

                if (divLongitudMinima.Visible)
                {
                    if (txtLongitudMinima.Text.Trim() == string.Empty)
                    {
                        throw new Exception("Debe especificar una longitud minima");
                    }
                }
                if (divLongitudMinima.Visible && !divLongitudMaxima.Visible)
                {
                    if (int.Parse(txtLongitudMinima.Text) >= 100)
                    {
                        throw new Exception("Debe especificar una longitud minima menor a 100");
                    }
                }

                if (divLongitudMaxima.Visible)
                {
                    if (txtLongitudMaxima.Text.Trim() == string.Empty)
                    {
                        throw new Exception("Debe especificar una longitud maxima");
                    }
                }

                if (divLongitudMinima.Visible && divLongitudMaxima.Visible)
                {
                    if (int.Parse(txtLongitudMinima.Text.Trim()) > int.Parse(txtLongitudMaxima.Text.Trim()))
                    {
                        throw new Exception("Longitud minima no puede ser mayor que longitud maxima");
                    }
                }

                if (divCatalgo.Visible)
                {
                    if (ddlCatalogosCampo.SelectedIndex == BusinessVariables.ComboBoxCatalogo.IndexSeleccione)
                    {
                        throw new Exception("Debe especificar un catalogo");
                    }
                }

                if (divMoneda.Visible)
                {
                    if (txtSimboloMoneda.Text.Trim() == string.Empty)
                    {
                        throw new Exception("Debe especificar una descripcion de moneda");
                    }
                }

                if (divValorMaximo.Visible)
                {
                    if (txtValorMinimo.Text.Trim() == string.Empty)
                    {
                        throw new Exception("Debe especificar un valor minimo");
                    }
                    if (txtValorMaximo.Text.Trim() == string.Empty)
                    {
                        throw new Exception("Debe especificar un valor maximo");
                    }
                    if (double.Parse(txtValorMinimo.Text) > double.Parse(txtValorMaximo.Text))
                    {
                        throw new Exception("El valor Minimo no debe ser mayor a valor Maximo");
                    }
                }
                if (divMascara.Visible)
                {
                    if (txtMascara.Text.Trim() == string.Empty)
                    {
                        throw new Exception("Debe especificar un Formulario de Cliente");
                    }
                }


                Mascara tmpMascara = ((Mascara)Session["MascaraAlta"]);

                if (bool.Parse(hfAltaCampo.Value))
                {
                    if (tmpMascara.CampoMascara == null)
                    {
                        tmpMascara.CampoMascara = new List <CampoMascara>();
                    }

                    if (tmpMascara.CampoMascara.Any(a => a.Descripcion == txtDescripcionCampo.Text.Trim()))
                    {
                        throw new Exception("Este campo ya existe.");
                    }

                    TipoCampoMascara tipoCampo = _servicioSistemaTipoCampoMascara.TipoCampoMascaraId(Convert.ToInt32(hfTipoCampo.Value));

                    Catalogos catalogo = null;
                    if (tipoCampo.Id == (int)BusinessVariables.EnumeradoresKiiniNet.EnumTiposCampo.RadioBoton ||
                        tipoCampo.Id == (int)BusinessVariables.EnumeradoresKiiniNet.EnumTiposCampo.ListaDespledable ||
                        tipoCampo.Id == (int)BusinessVariables.EnumeradoresKiiniNet.EnumTiposCampo.CasillaDeVerificación)
                    {
                        catalogo = new ServiceCatalogosClient().ObtenerCatalogo(int.Parse(ddlCatalogosCampo.SelectedValue));
                    }

                    tmpMascara.CampoMascara.Add(new CampoMascara
                    {
                        IdCatalogo         = tipoCampo.Catalogo ? Convert.ToInt32(ddlCatalogosCampo.SelectedValue) : (int?)null,
                        IdTipoCampoMascara = tipoCampo.Id,
                        Multiple           = tipoCampo.Multiple,
                        CheckBox           = tipoCampo.Checkbox,
                        RadioButton        = tipoCampo.RadioButton,
                        EsArchivo          = tipoCampo.UploadFile,
                        Descripcion        = txtDescripcionCampo.Text.Trim(),
                        Requerido          = chkRequerido.Checked,
                        LongitudMinima     = tipoCampo.Id == (int)BusinessVariables.EnumeradoresKiiniNet.EnumTiposCampo.Telefono ? int.Parse(tipoCampo.LongitudMaximaPermitida) :
                                             tipoCampo.Id == (int)BusinessVariables.EnumeradoresKiiniNet.EnumTiposCampo.CorreoElectronico ? int.Parse(tipoCampo.LongitudMaximaPermitida) :
                                             tipoCampo.LongitudMinima ? Convert.ToInt32(txtLongitudMinima.Text.Trim()) : tipoCampo.Mask ? 1 : (int?)null,
                        LongitudMaxima = tipoCampo.Id == (int)BusinessVariables.EnumeradoresKiiniNet.EnumTiposCampo.Texto ? int.Parse(tipoCampo.LongitudMaximaPermitida) :
                                         tipoCampo.Id == (int)BusinessVariables.EnumeradoresKiiniNet.EnumTiposCampo.AdjuntarArchivo ? 3900 :
                                         tipoCampo.Id == (int)BusinessVariables.EnumeradoresKiiniNet.EnumTiposCampo.Telefono ? 10 :
                                         tipoCampo.Id == (int)BusinessVariables.EnumeradoresKiiniNet.EnumTiposCampo.CorreoElectronico ? 10 :
                                         tipoCampo.LongitudMaxima ? Convert.ToInt32(txtLongitudMaxima.Text.Trim()) : tipoCampo.Mask ? txtMascara.Text.Trim().Length : (int?)null,
                        SimboloMoneda  = tipoCampo.SimboloMoneda ? txtSimboloMoneda.Text.Trim() : null,
                        ValorMinimo    = tipoCampo.ValorMinimo ? decimal.Parse(txtValorMinimo.Text.Trim()) : (decimal?)null,
                        ValorMaximo    = tipoCampo.ValorMaximo ? decimal.Parse(txtValorMaximo.Text.Trim()) : (decimal?)null,
                        MascaraDetalle = tipoCampo.Id == (int)BusinessVariables.EnumeradoresKiiniNet.EnumTiposCampo.Telefono ? "(99) 9999-9999" :
                                         tipoCampo.Mask ? txtMascara.Text.Trim() : null,
                        TipoCampoMascara = tipoCampo
                    });
                }
                else
                {
                    TipoCampoMascara tipoCampo = _servicioSistemaTipoCampoMascara.TipoCampoMascaraId(Convert.ToInt32(hfTipoCampo.Value));
                    Catalogos        catalogo  = null;
                    if (tipoCampo.Id == (int)BusinessVariables.EnumeradoresKiiniNet.EnumTiposCampo.RadioBoton ||
                        tipoCampo.Id == (int)BusinessVariables.EnumeradoresKiiniNet.EnumTiposCampo.ListaDespledable
                        ||
                        tipoCampo.Id == (int)BusinessVariables.EnumeradoresKiiniNet.EnumTiposCampo.CasillaDeVerificación)
                    {
                        catalogo = new ServiceCatalogosClient().ObtenerCatalogo(int.Parse(ddlCatalogosCampo.SelectedValue));
                    }

                    tmpMascara.CampoMascara[int.Parse(hfCampoEditado.Value)].IdCatalogo         = tipoCampo.Catalogo ? Convert.ToInt32(ddlCatalogosCampo.SelectedValue) : (int?)null;
                    tmpMascara.CampoMascara[int.Parse(hfCampoEditado.Value)].Catalogos          = catalogo;
                    tmpMascara.CampoMascara[int.Parse(hfCampoEditado.Value)].IdTipoCampoMascara = tipoCampo.Id;
                    tmpMascara.CampoMascara[int.Parse(hfCampoEditado.Value)].Descripcion        = txtDescripcionCampo.Text.Trim();
                    tmpMascara.CampoMascara[int.Parse(hfCampoEditado.Value)].Requerido          = chkRequerido.Checked;
                    tmpMascara.CampoMascara[int.Parse(hfCampoEditado.Value)].LongitudMinima     = tipoCampo.Id == (int)BusinessVariables.EnumeradoresKiiniNet.EnumTiposCampo.Telefono ? int.Parse(tipoCampo.LongitudMaximaPermitida) :
                                                                                                  tipoCampo.Id == (int)BusinessVariables.EnumeradoresKiiniNet.EnumTiposCampo.CorreoElectronico ? int.Parse(tipoCampo.LongitudMaximaPermitida) : tipoCampo.LongitudMinima ? Convert.ToInt32(txtLongitudMinima.Text.Trim()) : tipoCampo.Mask ? 1 : (int?)null;
                    tmpMascara.CampoMascara[int.Parse(hfCampoEditado.Value)].LongitudMaxima = tipoCampo.Id == (int)BusinessVariables.EnumeradoresKiiniNet.EnumTiposCampo.Texto ? int.Parse(tipoCampo.LongitudMaximaPermitida) :
                                                                                              tipoCampo.Id == (int)BusinessVariables.EnumeradoresKiiniNet.EnumTiposCampo.AdjuntarArchivo ? 3900 :
                                                                                              tipoCampo.Id == (int)BusinessVariables.EnumeradoresKiiniNet.EnumTiposCampo.Telefono ? 10 :
                                                                                              tipoCampo.Id == (int)BusinessVariables.EnumeradoresKiiniNet.EnumTiposCampo.CorreoElectronico ? 10 :
                                                                                              tipoCampo.LongitudMaxima ? Convert.ToInt32(txtLongitudMaxima.Text.Trim()) : tipoCampo.Mask ? txtMascara.Text.Trim().Length : (int?)null;
                    tmpMascara.CampoMascara[int.Parse(hfCampoEditado.Value)].SimboloMoneda    = tipoCampo.SimboloMoneda ? txtSimboloMoneda.Text.Trim() : null;
                    tmpMascara.CampoMascara[int.Parse(hfCampoEditado.Value)].ValorMinimo      = tipoCampo.ValorMinimo ? decimal.Parse(txtValorMinimo.Text.Trim()) : (decimal?)null;
                    tmpMascara.CampoMascara[int.Parse(hfCampoEditado.Value)].ValorMaximo      = tipoCampo.ValorMaximo ? decimal.Parse(txtValorMaximo.Text.Trim()) : (decimal?)null;
                    tmpMascara.CampoMascara[int.Parse(hfCampoEditado.Value)].MascaraDetalle   = tipoCampo.Id == (int)BusinessVariables.EnumeradoresKiiniNet.EnumTiposCampo.Telefono ? "(99) 9999-9999" : tipoCampo.Mask ? txtMascara.Text.Trim() : null;
                    tmpMascara.CampoMascara[int.Parse(hfCampoEditado.Value)].TipoCampoMascara = tipoCampo;
                }

                rptControles.DataSource = tmpMascara.CampoMascara;
                rptControles.DataBind();
                Session["MascaraAlta"] = tmpMascara;
                LimpiarModalCampo();
                ScriptManager.RegisterClientScriptBlock(Page, typeof(Page), "Script", "CierraPopup(\"#modalAgregarCampoMascara\");", true);
            }
            catch (Exception ex)
            {
                if (_lstError == null)
                {
                    _lstError = new List <string>();
                }
                _lstError.Add(ex.Message);
                Alerta = _lstError;
            }
        }