una vez cambiado el tipo etapa ya no se puede volver a seleccionar

This commit is contained in:
Antonio Gonzalez
2020-05-04 15:43:47 -07:00
parent 4ad70c4950
commit 5d867ce57f
2 changed files with 62 additions and 10 deletions

View File

@@ -137,11 +137,11 @@
<div class="row">
<div class="form-group col-md-6 form-md-line-input input-iconright">
<asp:DropDownList ID="DdlTipoEtapa" Width="100%" runat="server" CssClass="form-control input-sm select2me">
<asp:ListItem Value="1" Text="Inicial"></asp:ListItem>
<asp:DropDownList ID="DdlTipoEtapa" Width="100%" runat="server" CssClass="form-control input-sm select2me" DataValueField="CveTipoEtapa" DataTextField="TipoEtapa">
<%--<asp:ListItem Value="1" Text="Inicial"></asp:ListItem>
<asp:ListItem Value="2" Text="Proceso"></asp:ListItem>
<asp:ListItem Value="3" Text="Terminado"></asp:ListItem>
<asp:ListItem Value="4" Text="Cancelado"></asp:ListItem>
<asp:ListItem Value="4" Text="Cancelado"></asp:ListItem>--%>
</asp:DropDownList>
<label for="<%=DdlTipoEtapa.ClientID.ToString()%>">Tipo de Etapa:</label>
</div>

View File

@@ -87,7 +87,18 @@ public partial class CRM_CatEtapasProceso : ClsPaginas
ViewState["CveTipoEtapaSeleccionada"] = value;
}
}
private DataTable DTEtapas
{
get
{
return (DataTable)ViewState["DTEtapas"];
}
set
{
ViewState["DTEtapas"] = value;
}
}
#endregion
protected void Page_Load(object sender, EventArgs e)
@@ -96,6 +107,7 @@ public partial class CRM_CatEtapasProceso : ClsPaginas
{
CveTipoProcesoSeleccionado = -1;
CveTipoEtapaSeleccionada = -1;
cargaEtapas();
CargaTiposProceso();
CargaDatos(-1);
}
@@ -164,6 +176,23 @@ public partial class CRM_CatEtapasProceso : ClsPaginas
UPFiltros.Update();
}
protected void cargaEtapas()
{
DataTable Etapas = new DataTable();
Etapas.Columns.Add("CveTipoEtapa",typeof(int));
Etapas.Columns.Add("TipoEtapa", typeof(string));
Etapas.Rows.Add(1,"Inicial");
Etapas.Rows.Add(2, "Proceso");
Etapas.Rows.Add(3, "Terminado");
Etapas.Rows.Add(4, "Cancelado");
DTEtapas = Etapas;
DdlTipoEtapa.DataSource = Etapas;
DdlTipoEtapa.DataBind();
}
#endregion
#region "ACCIONES"
@@ -172,6 +201,7 @@ public partial class CRM_CatEtapasProceso : ClsPaginas
EsEditar = 0;
limpiarCamposModal();
DivOrden.Visible = false;
bloquearEtapasAnteriores(-1);
DdlTipoProceso.SelectedValueExist(CveTipoProcesoSeleccionado);
DdlTipoEtapa.SelectedValueExist(CveTipoEtapaSeleccionada);
@@ -189,6 +219,7 @@ public partial class CRM_CatEtapasProceso : ClsPaginas
GridViewRow GvRow = (GridViewRow)(((LinkButton)sender).NamingContainer);
bloquearEtapasAnteriores(GvRow.DataKey("CveTipoEtapa").ToEntero());
CveEtapaProceso = GvRow.DataKey("CveEtapaProceso").ToEntero();
DdlTipoProceso.SelectedValueExist(GvRow.DataKey("CveTipoProceso"));
DdlTipoEtapa.SelectedValueExist(GvRow.DataKey("CveTipoEtapa"));
@@ -206,6 +237,28 @@ public partial class CRM_CatEtapasProceso : ClsPaginas
this.RegistraScript("$('#DivModal').modal();");
}
private void bloquearEtapasAnteriores(int CveTipoEtapa)
{
DataTable EtapasAux = DTEtapas.Copy();
int indice = 0;
for(int i = 1;i < CveTipoEtapa; i++)
{
DataRow TipoEtapaRow = EtapasAux.Rows[indice];
int CveTipoEtapaAux = TipoEtapaRow["CveTipoEtapa"].ToEntero();
if(CveTipoEtapaAux == 2)
{
indice++;
}else
{
EtapasAux.Rows.Remove(TipoEtapaRow);
}
}
EtapasAux.AcceptChanges();
DdlTipoEtapa.DataSource = EtapasAux;
DdlTipoEtapa.DataBind();
}
private bool validarInicialTerminadoCancelado(int CveTipoEtapa)
{
if (CveTipoEtapa == 2)
@@ -230,10 +283,7 @@ public partial class CRM_CatEtapasProceso : ClsPaginas
int Orden = TmpDT.FiltraParametros(String.Format("CveTipoProceso = {0} AND CveEstatus = 1", CveTipoProceso)).Rows.Count + 1;
Boolean Estatus = ChkEstatus.Checked;
int CveUsuarioIng = UsuarioActual.CveUsuario;
if (validarInicialTerminadoCancelado(CveTipoEtapa))
{
if (EsEditar == 0)
{
if (ObjCRM.AddEtapaProceso(EtapaProceso, Descripcion, CveTipoEtapa, Orden, CveTipoProceso, UsuarioActual.CveEmpresa, CveUsuarioIng))
@@ -250,10 +300,12 @@ public partial class CRM_CatEtapasProceso : ClsPaginas
Alert("La Etapa fue actualizada correctamente.", ModExtensiones.TipoMensaje.MsgInformacion);
}
}
}else
{
Alert(String.Format("No se pueden tener 2 etapas de tipo {0}",DdlTipoEtapa.SelectedItem),ModExtensiones.TipoMensaje.MsgAdvertencia);
}
//if (validarInicialTerminadoCancelado(CveTipoEtapa))
//{
//}else
//{
// Alert(String.Format("No se pueden tener 2 etapas de tipo {0}",DdlTipoEtapa.SelectedItem),ModExtensiones.TipoMensaje.MsgAdvertencia);
//}
// PRECARGAMOS LA SIGUIENTE ETAPA A AGREGAR CON LOS MISMA DATOS DE LA ETAPA QUE SE INSERTO
CveTipoProcesoSeleccionado = CveTipoProceso;