una vez cambiado el tipo etapa ya no se puede volver a seleccionar
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user