gclientes fraccionamientos
This commit is contained in:
@@ -18,13 +18,40 @@ namespace SIG.Web.AppCode.Contracts.Clientes
|
||||
int cveUsuarioEjecuta,
|
||||
string nombreDominio);
|
||||
|
||||
DbResult<int> GuardarFraccionamientoConEtapa(
|
||||
ModeloFraccionamiento fraccionamiento,
|
||||
ModeloEtapaFraccionamiento etapa,
|
||||
int cveUsuarioEjecuta,
|
||||
string nombreDominio);
|
||||
|
||||
DbResult<int> GuardarFraccionamiento(
|
||||
ModeloFraccionamiento fraccionamiento,
|
||||
int cveUsuarioEjecuta,
|
||||
string nombreDominio);
|
||||
|
||||
DbResult<List<ModeloEtapaFraccionamiento>> ListarEtapas(
|
||||
int cveFraccionamiento,
|
||||
int cveUsuarioEjecuta,
|
||||
string nombreDominio);
|
||||
|
||||
DbResult<ModeloEtapaFraccionamiento> ObtenerEtapa(
|
||||
int cveFraccionamientoEtapa,
|
||||
int cveUsuarioEjecuta,
|
||||
string nombreDominio);
|
||||
|
||||
DbResult<int> GuardarEtapa(
|
||||
ModeloEtapaFraccionamiento etapa,
|
||||
int cveUsuarioEjecuta,
|
||||
string nombreDominio);
|
||||
|
||||
DbResult<List<TramiteClienteListado>> ListarTramites(
|
||||
int cveFraccionamiento,
|
||||
int cveUsuarioEjecuta,
|
||||
string nombreDominio);
|
||||
|
||||
DbResult<List<TramiteClienteListado>> ListarTramites(
|
||||
int cveFraccionamiento,
|
||||
int? cveFraccionamientoEtapa,
|
||||
int cveUsuarioEjecuta,
|
||||
string nombreDominio);
|
||||
|
||||
|
||||
@@ -99,6 +99,85 @@ namespace SIG.Web.AppCode.Services.Clientes
|
||||
return resultado;
|
||||
}
|
||||
|
||||
public DbResult<int> GuardarFraccionamientoConEtapa(
|
||||
ModeloFraccionamiento fraccionamiento,
|
||||
ModeloEtapaFraccionamiento etapa,
|
||||
int cveUsuarioEjecuta,
|
||||
string nombreDominio)
|
||||
{
|
||||
UserSessionModel usuario;
|
||||
DbResult<bool> acceso = ValidarCliente(
|
||||
cveUsuarioEjecuta,
|
||||
out usuario);
|
||||
|
||||
if (!acceso.Success)
|
||||
{
|
||||
return Fallo<int>(acceso.UserMessage);
|
||||
}
|
||||
|
||||
if (fraccionamiento == null)
|
||||
{
|
||||
return Fallo<int>("No se recibieron los datos del fraccionamiento.");
|
||||
}
|
||||
|
||||
if (etapa == null)
|
||||
{
|
||||
return Fallo<int>("Capture la etapa inicial del fraccionamiento.");
|
||||
}
|
||||
|
||||
fraccionamiento.CveFraccionamiento = 0;
|
||||
fraccionamiento.CveCliente = usuario.CveCliente;
|
||||
fraccionamiento.CveEstatus = 1;
|
||||
fraccionamiento.EsActivo = true;
|
||||
|
||||
etapa.CveFraccionamientoEtapa = 0;
|
||||
etapa.CveCliente = usuario.CveCliente;
|
||||
etapa.CveFraccionamiento = 0;
|
||||
etapa.EsActivo = true;
|
||||
|
||||
return _servicioFraccionamiento.GuardarConEtapas(
|
||||
fraccionamiento,
|
||||
new List<ModeloEtapaFraccionamiento> { etapa },
|
||||
cveUsuarioEjecuta,
|
||||
nombreDominio);
|
||||
}
|
||||
|
||||
public DbResult<int> GuardarFraccionamiento(
|
||||
ModeloFraccionamiento fraccionamiento,
|
||||
int cveUsuarioEjecuta,
|
||||
string nombreDominio)
|
||||
{
|
||||
if (fraccionamiento == null ||
|
||||
fraccionamiento.CveFraccionamiento <= 0)
|
||||
{
|
||||
return Fallo<int>("Seleccione un fraccionamiento válido.");
|
||||
}
|
||||
|
||||
DbResult<ModeloFraccionamiento> actual =
|
||||
ObtenerFraccionamiento(
|
||||
fraccionamiento.CveFraccionamiento,
|
||||
cveUsuarioEjecuta,
|
||||
nombreDominio);
|
||||
|
||||
if (!actual.Success || actual.Data == null)
|
||||
{
|
||||
return DbResult<int>.Fail(
|
||||
actual.UserMessage,
|
||||
actual.TechnicalMessage,
|
||||
actual.Exception);
|
||||
}
|
||||
|
||||
actual.Data.Fraccionamiento = fraccionamiento.Fraccionamiento;
|
||||
actual.Data.Ubicacion = fraccionamiento.Ubicacion;
|
||||
actual.Data.Hectareas = fraccionamiento.Hectareas;
|
||||
|
||||
return _servicioFraccionamiento.Guardar(
|
||||
actual.Data,
|
||||
cveUsuarioEjecuta,
|
||||
nombreDominio);
|
||||
}
|
||||
|
||||
|
||||
public DbResult<List<ModeloEtapaFraccionamiento>> ListarEtapas(
|
||||
int cveFraccionamiento,
|
||||
int cveUsuarioEjecuta,
|
||||
@@ -122,10 +201,93 @@ namespace SIG.Web.AppCode.Services.Clientes
|
||||
nombreDominio);
|
||||
}
|
||||
|
||||
public DbResult<ModeloEtapaFraccionamiento> ObtenerEtapa(
|
||||
int cveFraccionamientoEtapa,
|
||||
int cveUsuarioEjecuta,
|
||||
string nombreDominio)
|
||||
{
|
||||
UserSessionModel usuario;
|
||||
DbResult<bool> acceso = ValidarCliente(
|
||||
cveUsuarioEjecuta,
|
||||
out usuario);
|
||||
|
||||
if (!acceso.Success)
|
||||
{
|
||||
return Fallo<ModeloEtapaFraccionamiento>(acceso.UserMessage);
|
||||
}
|
||||
|
||||
DbResult<ModeloEtapaFraccionamiento> resultado =
|
||||
_servicioFraccionamiento.ObtenerEtapa(
|
||||
cveFraccionamientoEtapa,
|
||||
cveUsuarioEjecuta,
|
||||
nombreDominio);
|
||||
|
||||
if (!resultado.Success || resultado.Data == null)
|
||||
{
|
||||
return resultado;
|
||||
}
|
||||
|
||||
if (resultado.Data.CveCliente != usuario.CveCliente)
|
||||
{
|
||||
return Fallo<ModeloEtapaFraccionamiento>(
|
||||
"No tiene acceso a la etapa seleccionada.");
|
||||
}
|
||||
|
||||
return resultado;
|
||||
}
|
||||
|
||||
public DbResult<int> GuardarEtapa(
|
||||
ModeloEtapaFraccionamiento etapa,
|
||||
int cveUsuarioEjecuta,
|
||||
string nombreDominio)
|
||||
{
|
||||
if (etapa == null || etapa.CveFraccionamiento <= 0)
|
||||
{
|
||||
return Fallo<int>("Seleccione un fraccionamiento válido.");
|
||||
}
|
||||
|
||||
DbResult<ModeloFraccionamiento> fraccionamiento =
|
||||
ObtenerFraccionamiento(
|
||||
etapa.CveFraccionamiento,
|
||||
cveUsuarioEjecuta,
|
||||
nombreDominio);
|
||||
|
||||
if (!fraccionamiento.Success || fraccionamiento.Data == null)
|
||||
{
|
||||
return DbResult<int>.Fail(
|
||||
fraccionamiento.UserMessage,
|
||||
fraccionamiento.TechnicalMessage,
|
||||
fraccionamiento.Exception);
|
||||
}
|
||||
|
||||
etapa.CveFraccionamientoEtapa = 0;
|
||||
etapa.CveCliente = fraccionamiento.Data.CveCliente;
|
||||
etapa.EsActivo = true;
|
||||
|
||||
return _servicioFraccionamiento.GuardarEtapa(
|
||||
etapa,
|
||||
cveUsuarioEjecuta,
|
||||
nombreDominio);
|
||||
}
|
||||
|
||||
|
||||
public DbResult<List<TramiteClienteListado>> ListarTramites(
|
||||
int cveFraccionamiento,
|
||||
int cveUsuarioEjecuta,
|
||||
string nombreDominio)
|
||||
{
|
||||
return ListarTramites(
|
||||
cveFraccionamiento,
|
||||
null,
|
||||
cveUsuarioEjecuta,
|
||||
nombreDominio);
|
||||
}
|
||||
|
||||
public DbResult<List<TramiteClienteListado>> ListarTramites(
|
||||
int cveFraccionamiento,
|
||||
int? cveFraccionamientoEtapa,
|
||||
int cveUsuarioEjecuta,
|
||||
string nombreDominio)
|
||||
{
|
||||
UserSessionModel usuario;
|
||||
DbResult<bool> acceso = ValidarCliente(
|
||||
@@ -149,10 +311,27 @@ namespace SIG.Web.AppCode.Services.Clientes
|
||||
fraccionamiento.UserMessage);
|
||||
}
|
||||
|
||||
if (cveFraccionamientoEtapa.HasValue)
|
||||
{
|
||||
DbResult<ModeloEtapaFraccionamiento> etapa =
|
||||
ObtenerEtapa(
|
||||
cveFraccionamientoEtapa.Value,
|
||||
cveUsuarioEjecuta,
|
||||
nombreDominio);
|
||||
|
||||
if (!etapa.Success ||
|
||||
etapa.Data == null ||
|
||||
etapa.Data.CveFraccionamiento != cveFraccionamiento)
|
||||
{
|
||||
return Fallo<List<TramiteClienteListado>>(
|
||||
"La etapa seleccionada no pertenece al fraccionamiento.");
|
||||
}
|
||||
}
|
||||
|
||||
DbResult<List<TramiteSolicitudModel>> solicitudes =
|
||||
_servicioTramites.ListForDevelopment(
|
||||
cveFraccionamiento,
|
||||
null,
|
||||
cveFraccionamientoEtapa,
|
||||
null,
|
||||
null,
|
||||
cveUsuarioEjecuta,
|
||||
@@ -169,7 +348,7 @@ namespace SIG.Web.AppCode.Services.Clientes
|
||||
DbResult<List<TramiteDocumentoSolicitudModel>> documentos =
|
||||
_servicioDocumentos.ListarRequisitos(
|
||||
cveFraccionamiento,
|
||||
null,
|
||||
cveFraccionamientoEtapa,
|
||||
null,
|
||||
cveUsuarioEjecuta,
|
||||
nombreDominio);
|
||||
@@ -186,7 +365,7 @@ namespace SIG.Web.AppCode.Services.Clientes
|
||||
_repositorio.ListarPagos(
|
||||
usuario.CveCliente,
|
||||
cveFraccionamiento,
|
||||
null,
|
||||
cveFraccionamientoEtapa,
|
||||
null,
|
||||
cveUsuarioEjecuta,
|
||||
nombreDominio);
|
||||
|
||||
@@ -4,22 +4,56 @@
|
||||
|
||||
<asp:Content ID="ContenidoEncabezado" ContentPlaceHolderID="H" runat="server">
|
||||
<style>
|
||||
.sig-cliente-desarrollo-cabecera {
|
||||
.sig-cliente-desarrollos-acciones {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: 12px;
|
||||
width: 100%;
|
||||
justify-content: flex-end;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
.sig-cliente-desarrollo-cabecera a {
|
||||
.sig-cliente-fraccionamiento-nombre {
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.sig-cliente-desarrollo-resumen {
|
||||
.sig-cliente-fraccionamiento-resumen {
|
||||
color: #7f8c8d;
|
||||
font-size: 12px;
|
||||
margin-left: 8px;
|
||||
}
|
||||
|
||||
.sig-cliente-etapa-enlace {
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.sig-cliente-fila-fraccionamiento > td {
|
||||
background: #eef6fb;
|
||||
vertical-align: middle !important;
|
||||
}
|
||||
|
||||
.sig-cliente-fila-etapa > td:first-child {
|
||||
padding-left: 30px;
|
||||
}
|
||||
|
||||
.sig-cliente-columna-acciones {
|
||||
width: 1%;
|
||||
white-space: nowrap;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.sig-cliente-accion-icono {
|
||||
align-items: center;
|
||||
display: inline-flex;
|
||||
height: 28px;
|
||||
justify-content: center;
|
||||
margin: 0 2px;
|
||||
padding: 0;
|
||||
width: 28px;
|
||||
}
|
||||
|
||||
.sig-cliente-modal-separador {
|
||||
border-top: 1px solid #e7ecf1;
|
||||
margin-top: 15px;
|
||||
padding-top: 15px;
|
||||
}
|
||||
</style>
|
||||
</asp:Content>
|
||||
|
||||
@@ -27,6 +61,15 @@
|
||||
<asp:UpdatePanel ID="UpDesarrollos" runat="server"
|
||||
UpdateMode="Conditional" ChildrenAsTriggers="true">
|
||||
<ContentTemplate>
|
||||
<div class="sig-cliente-desarrollos-acciones">
|
||||
<asp:LinkButton ID="BtnNuevoFraccionamiento" runat="server"
|
||||
CssClass="btn blue" CausesValidation="false"
|
||||
OnClick="NuevoFraccionamiento_Click">
|
||||
<i class="fa fa-plus" aria-hidden="true"></i>
|
||||
Agregar fraccionamiento
|
||||
</asp:LinkButton>
|
||||
</div>
|
||||
|
||||
<div class="table-responsive">
|
||||
<asp:GridView ID="GvDesarrollos" runat="server"
|
||||
AutoGenerateColumns="false"
|
||||
@@ -34,41 +77,260 @@
|
||||
CssClass="table table-hover Widthall sig-grid-agrupado"
|
||||
DataKeyNames="CveFraccionamiento,CveFraccionamientoEtapa,EsFraccionamiento"
|
||||
EmptyDataText="No tiene fraccionamientos activos."
|
||||
OnRowDataBound="EnlazarFila">
|
||||
OnRowDataBound="EnlazarFila"
|
||||
OnRowCommand="Desarrollos_Comando">
|
||||
<Columns>
|
||||
<asp:TemplateField HeaderStyle-CssClass="sig-grid-columna-grupo"
|
||||
ItemStyle-CssClass="sig-grid-columna-grupo">
|
||||
<asp:TemplateField HeaderText="Fraccionamiento">
|
||||
<ItemTemplate>
|
||||
<div class="sig-cliente-desarrollo-cabecera">
|
||||
<div>
|
||||
<asp:HyperLink runat="server"
|
||||
Text='<%# Server.HtmlEncode(Convert.ToString(Eval("Fraccionamiento"))) %>'
|
||||
NavigateUrl='<%# UrlDetalleFraccionamiento(Eval("CveFraccionamiento")) %>' />
|
||||
<span class="sig-cliente-desarrollo-resumen">
|
||||
<%#: ResumenFraccionamiento(Container.DataItem) %>
|
||||
</span>
|
||||
</div>
|
||||
<asp:Panel runat="server"
|
||||
Visible='<%# Convert.ToBoolean(Eval("EsFraccionamiento")) %>'>
|
||||
<button type="button"
|
||||
class="btn btn-circle btn-sm default sig-grid-alternar-grupo-accion sig-accion-icono"
|
||||
title="Mostrar u ocultar etapas" aria-label="Mostrar u ocultar etapas"
|
||||
class="btn btn-circle btn-xs default sig-grid-alternar-grupo-accion sig-cliente-accion-icono"
|
||||
title="Mostrar u ocultar etapas"
|
||||
aria-label="Mostrar u ocultar etapas"
|
||||
aria-expanded="true">
|
||||
<i class="fa fa-chevron-up sig-grid-icono-agrupacion" aria-hidden="true"></i>
|
||||
</button>
|
||||
</div>
|
||||
<asp:Literal runat="server" Mode="Encode"
|
||||
Text='<%# Eval("Fraccionamiento") %>' />
|
||||
<span class="sig-cliente-fraccionamiento-resumen">
|
||||
<%#: ResumenFraccionamiento(Container.DataItem) %>
|
||||
</span>
|
||||
</asp:Panel>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
|
||||
<asp:TemplateField HeaderText="Etapa">
|
||||
<ItemTemplate>
|
||||
<asp:HyperLink runat="server"
|
||||
CssClass="sig-cliente-etapa-enlace"
|
||||
Visible='<%# !Convert.ToBoolean(Eval("EsFraccionamiento")) %>'
|
||||
Text='<%# Server.HtmlEncode(Convert.ToString(Eval("Etapa"))) %>'
|
||||
NavigateUrl='<%# UrlDetalleEtapa(Eval("CveFraccionamientoEtapa")) %>' />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
|
||||
<asp:TemplateField HeaderText="Hectáreas">
|
||||
<ItemTemplate>
|
||||
<asp:Literal runat="server" Mode="Encode"
|
||||
Text='<%# FormatearHectareas(Container.DataItem) %>' />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
|
||||
<asp:TemplateField HeaderText="Fideicomiso">
|
||||
<ItemTemplate>
|
||||
<asp:CheckBox runat="server" Enabled="false"
|
||||
Visible='<%# !Convert.ToBoolean(Eval("EsFraccionamiento")) %>'
|
||||
Checked='<%# Convert.ToBoolean(Eval("Fideicomiso")) %>' />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
|
||||
<asp:TemplateField HeaderText="Activa">
|
||||
<ItemTemplate>
|
||||
<asp:CheckBox runat="server" Enabled="false"
|
||||
Checked='<%# Convert.ToBoolean(Eval("EsActivo")) %>' />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
|
||||
<asp:TemplateField HeaderText="Acciones"
|
||||
HeaderStyle-CssClass="sig-cliente-columna-acciones"
|
||||
ItemStyle-CssClass="sig-cliente-columna-acciones">
|
||||
<ItemTemplate>
|
||||
<asp:Panel runat="server"
|
||||
Visible='<%# Convert.ToBoolean(Eval("EsFraccionamiento")) %>'>
|
||||
<asp:LinkButton runat="server"
|
||||
CommandName="EditarFraccionamiento"
|
||||
CausesValidation="false"
|
||||
CssClass="btn btn-circle btn-xs blue sig-cliente-accion-icono"
|
||||
ToolTip="Editar fraccionamiento"
|
||||
aria-label="Editar fraccionamiento">
|
||||
<i class="fa fa-pencil" aria-hidden="true"></i>
|
||||
</asp:LinkButton>
|
||||
<asp:LinkButton runat="server"
|
||||
CommandName="AgregarEtapa"
|
||||
CausesValidation="false"
|
||||
CssClass="btn btn-circle btn-xs blue sig-cliente-accion-icono"
|
||||
ToolTip="Agregar etapa"
|
||||
aria-label="Agregar etapa">
|
||||
<i class="fa fa-plus" aria-hidden="true"></i>
|
||||
</asp:LinkButton>
|
||||
</asp:Panel>
|
||||
|
||||
<asp:HyperLink runat="server"
|
||||
Visible='<%# !Convert.ToBoolean(Eval("EsFraccionamiento")) %>'
|
||||
NavigateUrl='<%# UrlDetalleEtapa(Eval("CveFraccionamientoEtapa")) %>'
|
||||
CssClass="btn btn-circle btn-xs blue sig-cliente-accion-icono"
|
||||
ToolTip="Ver etapa"
|
||||
aria-label="Ver etapa">
|
||||
<i class="fa fa-eye" aria-hidden="true"></i>
|
||||
</asp:HyperLink>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:BoundField DataField="Etapa" HeaderText="Etapa"
|
||||
ItemStyle-CssClass="sig-grid-columna-dato-principal" />
|
||||
<asp:BoundField DataField="Hectareas" HeaderText="Hectáreas"
|
||||
DataFormatString="{0:N2}" />
|
||||
<asp:CheckBoxField DataField="Fideicomiso" HeaderText="Fideicomiso" />
|
||||
<asp:CheckBoxField DataField="EsActivo" HeaderText="Activa" />
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
|
||||
<div id="ModalFraccionamientoCliente" class="modal fade" tabindex="-1"
|
||||
role="dialog" aria-labelledby="TituloModalFraccionamientoCliente">
|
||||
<div class="modal-dialog modal-lg">
|
||||
<asp:UpdatePanel ID="UpModalFraccionamiento" runat="server"
|
||||
UpdateMode="Conditional" ChildrenAsTriggers="true">
|
||||
<ContentTemplate>
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal"
|
||||
aria-label="Cerrar">×</button>
|
||||
<h4 id="TituloModalFraccionamientoCliente" class="modal-title">
|
||||
<asp:Literal ID="LitTituloFraccionamiento" runat="server" Mode="Encode" />
|
||||
</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="row">
|
||||
<div class="form-group col-md-8">
|
||||
<asp:Label runat="server" AssociatedControlID="TxtFraccionamiento"
|
||||
Text="Fraccionamiento *" />
|
||||
<asp:TextBox ID="TxtFraccionamiento" runat="server"
|
||||
CssClass="form-control" MaxLength="200" />
|
||||
</div>
|
||||
<div class="form-group col-md-4">
|
||||
<asp:Label runat="server" AssociatedControlID="TxtHectareasFraccionamiento"
|
||||
Text="Hectáreas" />
|
||||
<asp:TextBox ID="TxtHectareasFraccionamiento" runat="server"
|
||||
CssClass="form-control" MaxLength="15" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<asp:Label runat="server" AssociatedControlID="TxtUbicacion"
|
||||
Text="Ubicación" />
|
||||
<asp:TextBox ID="TxtUbicacion" runat="server"
|
||||
CssClass="form-control" MaxLength="500" />
|
||||
</div>
|
||||
|
||||
<asp:Panel ID="PnlEtapaInicial" runat="server"
|
||||
CssClass="sig-cliente-modal-separador">
|
||||
<h4>Etapa inicial</h4>
|
||||
<div class="row">
|
||||
<div class="form-group col-md-7">
|
||||
<asp:Label runat="server" AssociatedControlID="TxtEtapaInicial"
|
||||
Text="Etapa *" />
|
||||
<asp:TextBox ID="TxtEtapaInicial" runat="server"
|
||||
CssClass="form-control" MaxLength="150" />
|
||||
</div>
|
||||
<div class="form-group col-md-3">
|
||||
<asp:Label runat="server" AssociatedControlID="TxtHectareasEtapaInicial"
|
||||
Text="Hectáreas" />
|
||||
<asp:TextBox ID="TxtHectareasEtapaInicial" runat="server"
|
||||
CssClass="form-control" MaxLength="15" />
|
||||
</div>
|
||||
<div class="form-group col-md-2">
|
||||
<div class="checkbox">
|
||||
<asp:CheckBox ID="ChkFideicomisoEtapaInicial" runat="server"
|
||||
Text=" Fideicomiso" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</asp:Panel>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn default" data-dismiss="modal">Cerrar</button>
|
||||
<asp:Button ID="BtnGuardarFraccionamiento" runat="server"
|
||||
Text="Guardar" CssClass="btn blue"
|
||||
OnClick="GuardarFraccionamiento_Click" />
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="ModalEtapaCliente" class="modal fade" tabindex="-1"
|
||||
role="dialog" aria-labelledby="TituloModalEtapaCliente">
|
||||
<div class="modal-dialog">
|
||||
<asp:UpdatePanel ID="UpModalEtapa" runat="server"
|
||||
UpdateMode="Conditional" ChildrenAsTriggers="true">
|
||||
<ContentTemplate>
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal"
|
||||
aria-label="Cerrar">×</button>
|
||||
<h4 id="TituloModalEtapaCliente" class="modal-title">Agregar etapa</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p>
|
||||
Fraccionamiento:
|
||||
<strong><asp:Literal ID="LitFraccionamientoEtapa" runat="server" Mode="Encode" /></strong>
|
||||
</p>
|
||||
<div class="form-group">
|
||||
<asp:Label runat="server" AssociatedControlID="TxtEtapa"
|
||||
Text="Etapa *" />
|
||||
<asp:TextBox ID="TxtEtapa" runat="server"
|
||||
CssClass="form-control" MaxLength="150" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<asp:Label runat="server" AssociatedControlID="TxtHectareasEtapa"
|
||||
Text="Hectáreas" />
|
||||
<asp:TextBox ID="TxtHectareasEtapa" runat="server"
|
||||
CssClass="form-control" MaxLength="15" />
|
||||
</div>
|
||||
<div class="checkbox">
|
||||
<asp:CheckBox ID="ChkFideicomisoEtapa" runat="server"
|
||||
Text=" Fideicomiso" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn default" data-dismiss="modal">Cerrar</button>
|
||||
<asp:Button ID="BtnGuardarEtapa" runat="server"
|
||||
Text="Guardar etapa" CssClass="btn blue"
|
||||
OnClick="GuardarEtapa_Click" />
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
</div>
|
||||
</asp:Content>
|
||||
|
||||
<asp:Content ID="ContenidoScripts" ContentPlaceHolderID="J" runat="server">
|
||||
<script>
|
||||
(function () {
|
||||
"use strict";
|
||||
|
||||
function nombreEtapaPredeterminado(nombreFraccionamiento) {
|
||||
var nombre = (nombreFraccionamiento || "").trim();
|
||||
return nombre.length ? nombre + " I" : "";
|
||||
}
|
||||
|
||||
function inicializarNombreEtapa() {
|
||||
var fraccionamiento = document.getElementById("<%= TxtFraccionamiento.ClientID %>");
|
||||
var etapa = document.getElementById("<%= TxtEtapaInicial.ClientID %>");
|
||||
|
||||
if (!fraccionamiento || !etapa ||
|
||||
fraccionamiento.getAttribute("data-sig-etapa-inicializada") === "1") {
|
||||
return;
|
||||
}
|
||||
|
||||
fraccionamiento.setAttribute("data-sig-etapa-inicializada", "1");
|
||||
|
||||
fraccionamiento.addEventListener("input", function () {
|
||||
if (etapa.getAttribute("data-sig-nombre-automatico") === "1") {
|
||||
etapa.value = nombreEtapaPredeterminado(fraccionamiento.value);
|
||||
}
|
||||
});
|
||||
|
||||
etapa.addEventListener("input", function () {
|
||||
etapa.setAttribute("data-sig-nombre-automatico", "0");
|
||||
});
|
||||
}
|
||||
|
||||
if (window.Sys && Sys.Application) {
|
||||
Sys.Application.add_load(inicializarNombreEtapa);
|
||||
} else if (document.readyState === "loading") {
|
||||
document.addEventListener("DOMContentLoaded", inicializarNombreEtapa);
|
||||
} else {
|
||||
inicializarNombreEtapa();
|
||||
}
|
||||
}());
|
||||
</script>
|
||||
</asp:Content>
|
||||
|
||||
@@ -5,6 +5,7 @@ using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using SIG.Web.AppCode.Configuration;
|
||||
using SIG.Web.AppCode.Infrastructure.WebForms;
|
||||
using SIG.Web.AppCode.Models.Common;
|
||||
using SIG.Web.AppCode.Models.Fraccionamientos;
|
||||
using SIG.Web.AppCode.Security;
|
||||
|
||||
@@ -12,6 +13,22 @@ namespace SIG.Web.Pages.Clientes
|
||||
{
|
||||
public partial class Desarrollos : ClsPaginaBase
|
||||
{
|
||||
#region Propiedades
|
||||
|
||||
private int CveFraccionamientoEdicion
|
||||
{
|
||||
get { return (int?)ViewState["CveFraccionamientoEdicion"] ?? 0; }
|
||||
set { ViewState["CveFraccionamientoEdicion"] = value; }
|
||||
}
|
||||
|
||||
private int CveFraccionamientoEtapaActual
|
||||
{
|
||||
get { return (int?)ViewState["CveFraccionamientoEtapaActual"] ?? 0; }
|
||||
set { ViewState["CveFraccionamientoEtapaActual"] = value; }
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
protected void Page_Load(object origen, EventArgs argumentos)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
@@ -39,35 +56,227 @@ namespace SIG.Web.Pages.Clientes
|
||||
|
||||
if (fila.EsFraccionamiento)
|
||||
{
|
||||
argumentos.Row.CssClass = "sig-grid-grupo";
|
||||
argumentos.Row.CssClass =
|
||||
(argumentos.Row.CssClass + " sig-grid-grupo sig-cliente-fila-fraccionamiento").Trim();
|
||||
argumentos.Row.Attributes["data-sig-group-row"] = "1";
|
||||
argumentos.Row.Attributes["data-sig-group-id"] = grupo;
|
||||
for (int indiceCelda = 0; indiceCelda < argumentos.Row.Cells.Count; indiceCelda++)
|
||||
{
|
||||
string claseCelda = indiceCelda == 0
|
||||
? "sig-grid-columna-grupo"
|
||||
: "sig-grid-columna-normal";
|
||||
argumentos.Row.Cells[indiceCelda].CssClass =
|
||||
(argumentos.Row.Cells[indiceCelda].CssClass + " " + claseCelda).Trim();
|
||||
}
|
||||
|
||||
argumentos.Row.Attributes["data-sig-level"] = "2";
|
||||
argumentos.Row.Attributes["data-sig-level"] = "2";
|
||||
argumentos.Row.Attributes["data-sig-expanded-default"] = "true";
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
argumentos.Row.CssClass =
|
||||
(argumentos.Row.CssClass + " sig-grid-fila-dato").Trim();
|
||||
(argumentos.Row.CssClass + " sig-grid-fila-dato sig-cliente-fila-etapa").Trim();
|
||||
argumentos.Row.Attributes["data-sig-item-row"] = "1";
|
||||
argumentos.Row.Attributes["data-sig-parent-group"] = grupo;
|
||||
argumentos.Row.Attributes["data-sig-level"] = "1";
|
||||
}
|
||||
|
||||
protected string UrlDetalleFraccionamiento(object clave)
|
||||
protected void NuevoFraccionamiento_Click(object origen, EventArgs argumentos)
|
||||
{
|
||||
return ResolveUrl("~/Pages/Clientes/FraccionamientoDetalle.aspx?id=") +
|
||||
Convert.ToInt32(clave).ToString(CultureInfo.InvariantCulture);
|
||||
CveFraccionamientoEdicion = 0;
|
||||
LitTituloFraccionamiento.Text = "Agregar fraccionamiento";
|
||||
TxtFraccionamiento.Text = string.Empty;
|
||||
TxtUbicacion.Text = string.Empty;
|
||||
TxtHectareasFraccionamiento.Text = string.Empty;
|
||||
TxtEtapaInicial.Text = string.Empty;
|
||||
TxtEtapaInicial.Attributes["data-sig-nombre-automatico"] = "1";
|
||||
TxtHectareasEtapaInicial.Text = string.Empty;
|
||||
ChkFideicomisoEtapaInicial.Checked = false;
|
||||
PnlEtapaInicial.Visible = true;
|
||||
UpModalFraccionamiento.Update();
|
||||
RegistraScript("$('#ModalFraccionamientoCliente').modal('show');");
|
||||
}
|
||||
|
||||
protected void Desarrollos_Comando(
|
||||
object origen,
|
||||
GridViewCommandEventArgs argumentos)
|
||||
{
|
||||
if (argumentos.CommandName != "EditarFraccionamiento" &&
|
||||
argumentos.CommandName != "AgregarEtapa")
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var control = argumentos.CommandSource as Control;
|
||||
var fila = control == null
|
||||
? null
|
||||
: control.NamingContainer as GridViewRow;
|
||||
|
||||
if (fila == null || fila.RowIndex < 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
int cveFraccionamiento = Convert.ToInt32(
|
||||
GvDesarrollos.DataKeys[fila.RowIndex].Values["CveFraccionamiento"]);
|
||||
|
||||
DbResult<ModeloFraccionamiento> consulta =
|
||||
AppServices.ServicioPortalCliente.ObtenerFraccionamiento(
|
||||
cveFraccionamiento,
|
||||
CurrentUser.CveUsuario,
|
||||
CurrentUser.NombreDominio);
|
||||
|
||||
if (!consulta.Success || consulta.Data == null)
|
||||
{
|
||||
Alert(
|
||||
consulta.Success
|
||||
? "No se encontró el fraccionamiento."
|
||||
: consulta.UserMessage,
|
||||
TipoMensaje.MsgAdvertencia);
|
||||
return;
|
||||
}
|
||||
|
||||
if (argumentos.CommandName == "EditarFraccionamiento")
|
||||
{
|
||||
AbrirEdicionFraccionamiento(consulta.Data);
|
||||
return;
|
||||
}
|
||||
|
||||
AbrirAltaEtapa(consulta.Data);
|
||||
}
|
||||
|
||||
protected void GuardarFraccionamiento_Click(object origen, EventArgs argumentos)
|
||||
{
|
||||
decimal? hectareasFraccionamiento;
|
||||
|
||||
if (!LeerHectareas(
|
||||
TxtHectareasFraccionamiento.Text,
|
||||
out hectareasFraccionamiento))
|
||||
{
|
||||
Alert("Capture hectáreas válidas.", TipoMensaje.MsgAdvertencia);
|
||||
return;
|
||||
}
|
||||
|
||||
DbResult<int> resultado;
|
||||
|
||||
if (CveFraccionamientoEdicion <= 0)
|
||||
{
|
||||
decimal? hectareasEtapa;
|
||||
|
||||
if (!LeerHectareas(
|
||||
TxtHectareasEtapaInicial.Text,
|
||||
out hectareasEtapa))
|
||||
{
|
||||
Alert(
|
||||
"Capture hectáreas válidas para la etapa.",
|
||||
TipoMensaje.MsgAdvertencia);
|
||||
return;
|
||||
}
|
||||
|
||||
string nombreEtapa = TxtEtapaInicial.Text.Trim();
|
||||
|
||||
if (nombreEtapa.Length == 0)
|
||||
{
|
||||
nombreEtapa = TxtFraccionamiento.Text.Trim() + " I";
|
||||
}
|
||||
|
||||
resultado = AppServices.ServicioPortalCliente.GuardarFraccionamientoConEtapa(
|
||||
new ModeloFraccionamiento
|
||||
{
|
||||
Fraccionamiento = TxtFraccionamiento.Text,
|
||||
Ubicacion = TxtUbicacion.Text,
|
||||
Hectareas = hectareasFraccionamiento
|
||||
},
|
||||
new ModeloEtapaFraccionamiento
|
||||
{
|
||||
Etapa = nombreEtapa,
|
||||
Hectareas = hectareasEtapa,
|
||||
Fideicomiso = ChkFideicomisoEtapaInicial.Checked,
|
||||
EsActivo = true
|
||||
},
|
||||
CurrentUser.CveUsuario,
|
||||
CurrentUser.NombreDominio);
|
||||
}
|
||||
else
|
||||
{
|
||||
resultado = AppServices.ServicioPortalCliente.GuardarFraccionamiento(
|
||||
new ModeloFraccionamiento
|
||||
{
|
||||
CveFraccionamiento = CveFraccionamientoEdicion,
|
||||
Fraccionamiento = TxtFraccionamiento.Text,
|
||||
Ubicacion = TxtUbicacion.Text,
|
||||
Hectareas = hectareasFraccionamiento
|
||||
},
|
||||
CurrentUser.CveUsuario,
|
||||
CurrentUser.NombreDominio);
|
||||
}
|
||||
|
||||
if (!resultado.Success)
|
||||
{
|
||||
Alert(resultado.UserMessage, TipoMensaje.MsgAdvertencia);
|
||||
return;
|
||||
}
|
||||
|
||||
bool eraNuevo = CveFraccionamientoEdicion <= 0;
|
||||
CveFraccionamientoEdicion = 0;
|
||||
Cargar();
|
||||
RegistraScript("$('#ModalFraccionamientoCliente').modal('hide');");
|
||||
Alert(
|
||||
eraNuevo
|
||||
? "Fraccionamiento registrado."
|
||||
: "Fraccionamiento actualizado.",
|
||||
TipoMensaje.ToastExito);
|
||||
}
|
||||
|
||||
protected void GuardarEtapa_Click(object origen, EventArgs argumentos)
|
||||
{
|
||||
if (CveFraccionamientoEtapaActual <= 0)
|
||||
{
|
||||
Alert(
|
||||
"Seleccione un fraccionamiento válido.",
|
||||
TipoMensaje.MsgAdvertencia);
|
||||
return;
|
||||
}
|
||||
|
||||
decimal? hectareas;
|
||||
|
||||
if (!LeerHectareas(TxtHectareasEtapa.Text, out hectareas))
|
||||
{
|
||||
Alert("Capture hectáreas válidas.", TipoMensaje.MsgAdvertencia);
|
||||
return;
|
||||
}
|
||||
|
||||
DbResult<int> resultado = AppServices.ServicioPortalCliente.GuardarEtapa(
|
||||
new ModeloEtapaFraccionamiento
|
||||
{
|
||||
CveFraccionamiento = CveFraccionamientoEtapaActual,
|
||||
Etapa = TxtEtapa.Text,
|
||||
Hectareas = hectareas,
|
||||
Fideicomiso = ChkFideicomisoEtapa.Checked,
|
||||
EsActivo = true
|
||||
},
|
||||
CurrentUser.CveUsuario,
|
||||
CurrentUser.NombreDominio);
|
||||
|
||||
if (!resultado.Success)
|
||||
{
|
||||
Alert(resultado.UserMessage, TipoMensaje.MsgAdvertencia);
|
||||
return;
|
||||
}
|
||||
|
||||
CveFraccionamientoEtapaActual = 0;
|
||||
Cargar();
|
||||
RegistraScript("$('#ModalEtapaCliente').modal('hide');");
|
||||
Alert("Etapa registrada.", TipoMensaje.ToastExito);
|
||||
}
|
||||
|
||||
protected string UrlDetalleEtapa(object clave)
|
||||
{
|
||||
if (clave == null || clave == DBNull.Value)
|
||||
{
|
||||
return string.Empty;
|
||||
}
|
||||
|
||||
int cveEtapa = Convert.ToInt32(clave, CultureInfo.InvariantCulture);
|
||||
|
||||
if (cveEtapa <= 0)
|
||||
{
|
||||
return string.Empty;
|
||||
}
|
||||
|
||||
return ResolveUrl("~/Pages/Clientes/EtapaDetalle.aspx?etapa=") +
|
||||
cveEtapa.ToString(CultureInfo.InvariantCulture);
|
||||
}
|
||||
|
||||
protected string ResumenFraccionamiento(object objeto)
|
||||
@@ -86,11 +295,56 @@ namespace SIG.Web.Pages.Clientes
|
||||
fila.NumeroEtapas);
|
||||
}
|
||||
|
||||
protected string FormatearHectareas(object objeto)
|
||||
{
|
||||
var fila = objeto as ModeloFilaDesarrollos;
|
||||
|
||||
if (fila == null)
|
||||
{
|
||||
return string.Empty;
|
||||
}
|
||||
|
||||
decimal? hectareas = fila.EsFraccionamiento
|
||||
? fila.HectareasFraccionamiento
|
||||
: fila.Hectareas;
|
||||
|
||||
return hectareas.HasValue
|
||||
? hectareas.Value.ToString("N2", CultureInfo.CurrentCulture)
|
||||
: string.Empty;
|
||||
}
|
||||
|
||||
private void AbrirEdicionFraccionamiento(ModeloFraccionamiento fraccionamiento)
|
||||
{
|
||||
CveFraccionamientoEdicion = fraccionamiento.CveFraccionamiento;
|
||||
LitTituloFraccionamiento.Text = "Editar fraccionamiento";
|
||||
TxtFraccionamiento.Text = fraccionamiento.Fraccionamiento;
|
||||
TxtUbicacion.Text = fraccionamiento.Ubicacion;
|
||||
TxtHectareasFraccionamiento.Text = fraccionamiento.Hectareas.HasValue
|
||||
? fraccionamiento.Hectareas.Value.ToString(
|
||||
CultureInfo.InvariantCulture)
|
||||
: string.Empty;
|
||||
PnlEtapaInicial.Visible = false;
|
||||
UpModalFraccionamiento.Update();
|
||||
RegistraScript("$('#ModalFraccionamientoCliente').modal('show');");
|
||||
}
|
||||
|
||||
private void AbrirAltaEtapa(ModeloFraccionamiento fraccionamiento)
|
||||
{
|
||||
CveFraccionamientoEtapaActual = fraccionamiento.CveFraccionamiento;
|
||||
LitFraccionamientoEtapa.Text = fraccionamiento.Fraccionamiento;
|
||||
TxtEtapa.Text = string.Empty;
|
||||
TxtHectareasEtapa.Text = string.Empty;
|
||||
ChkFideicomisoEtapa.Checked = false;
|
||||
UpModalEtapa.Update();
|
||||
RegistraScript("$('#ModalEtapaCliente').modal('show');");
|
||||
}
|
||||
|
||||
private void Cargar()
|
||||
{
|
||||
var resultado = AppServices.ServicioPortalCliente.ListarDesarrollos(
|
||||
CurrentUser.CveUsuario,
|
||||
CurrentUser.NombreDominio);
|
||||
DbResult<List<ModeloFilaDesarrollos>> resultado =
|
||||
AppServices.ServicioPortalCliente.ListarDesarrollos(
|
||||
CurrentUser.CveUsuario,
|
||||
CurrentUser.NombreDominio);
|
||||
|
||||
GvDesarrollos.DataSource = resultado.Success
|
||||
? resultado.Data
|
||||
@@ -103,5 +357,31 @@ namespace SIG.Web.Pages.Clientes
|
||||
Alert(resultado.UserMessage, TipoMensaje.MsgAdvertencia);
|
||||
}
|
||||
}
|
||||
|
||||
private static bool LeerHectareas(string texto, out decimal? hectareas)
|
||||
{
|
||||
hectareas = null;
|
||||
|
||||
if (string.IsNullOrWhiteSpace(texto))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
decimal valor;
|
||||
|
||||
if (!decimal.TryParse(
|
||||
texto.Trim(),
|
||||
NumberStyles.AllowDecimalPoint,
|
||||
CultureInfo.InvariantCulture,
|
||||
out valor) ||
|
||||
valor < 0m ||
|
||||
valor > 999999999.9999m)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
hectareas = valor;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
92
SIG.Web/Pages/Clientes/EtapaDetalle.aspx
Normal file
92
SIG.Web/Pages/Clientes/EtapaDetalle.aspx
Normal file
@@ -0,0 +1,92 @@
|
||||
<%@ Page Title="Detalle de etapa" Language="C#" MasterPageFile="~/Site.master"
|
||||
AutoEventWireup="true" CodeFile="EtapaDetalle.aspx.cs"
|
||||
Inherits="SIG.Web.Pages.Clientes.EtapaDetalle" %>
|
||||
<%@ Register TagPrefix="cliente" TagName="Tramites" Src="~/UserControl/Clientes/TramitesCliente.ascx" %>
|
||||
<%@ Register TagPrefix="cliente" TagName="Documentos" Src="~/UserControl/Clientes/DocumentosCliente.ascx" %>
|
||||
<%@ Register TagPrefix="cliente" TagName="Pagos" Src="~/UserControl/Clientes/PagosCliente.ascx" %>
|
||||
|
||||
<asp:Content ID="ContenidoEncabezado" ContentPlaceHolderID="H" runat="server">
|
||||
<style>
|
||||
.sig-cliente-etapa-resumen {
|
||||
background: #fff;
|
||||
border: 1px solid #e7ecf1;
|
||||
margin-bottom: 15px;
|
||||
padding: 12px;
|
||||
}
|
||||
|
||||
.sig-cliente-etapa-resumen h3 {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.sig-cliente-etapa-datos {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 8px 18px;
|
||||
}
|
||||
|
||||
.sig-cliente-etapa-regresar {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
</style>
|
||||
</asp:Content>
|
||||
|
||||
<asp:Content ID="ContenidoPrincipal" ContentPlaceHolderID="C" runat="server">
|
||||
<asp:Panel ID="PanelContenido" runat="server">
|
||||
<div class="sig-cliente-etapa-regresar">
|
||||
<asp:HyperLink ID="LnkDesarrollos" runat="server"
|
||||
NavigateUrl="~/Pages/Clientes/Desarrollos.aspx">
|
||||
<i class="fa fa-arrow-left" aria-hidden="true"></i>
|
||||
Regresar a desarrollos
|
||||
</asp:HyperLink>
|
||||
</div>
|
||||
|
||||
<div class="sig-cliente-etapa-resumen">
|
||||
<h3>
|
||||
<asp:Literal ID="LitEtapa" runat="server" Mode="Encode" />
|
||||
</h3>
|
||||
<div class="sig-cliente-etapa-datos">
|
||||
<span>
|
||||
<strong>Fraccionamiento:</strong>
|
||||
<asp:HyperLink ID="LnkFraccionamiento" runat="server" />
|
||||
</span>
|
||||
<span>
|
||||
<strong>Hectáreas:</strong>
|
||||
<asp:Literal ID="LitHectareas" runat="server" Mode="Encode" />
|
||||
</span>
|
||||
<span>
|
||||
<strong>Avance:</strong>
|
||||
<asp:Literal ID="LitAvance" runat="server" Mode="Encode" />
|
||||
</span>
|
||||
<span>
|
||||
<strong>Fideicomiso:</strong>
|
||||
<asp:Literal ID="LitFideicomiso" runat="server" Mode="Encode" />
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<ajax:TabContainer ID="Pestanas" runat="server"
|
||||
Width="100%" AutoPostBack="false"
|
||||
CssClass="ajax__tab_xp">
|
||||
<ajax:TabPanel ID="PestanaTramites" runat="server" HeaderText="Trámites">
|
||||
<ContentTemplate>
|
||||
<cliente:Tramites ID="UcTramites" runat="server" />
|
||||
</ContentTemplate>
|
||||
</ajax:TabPanel>
|
||||
|
||||
<ajax:TabPanel ID="PestanaDocumentos" runat="server" HeaderText="Documentos">
|
||||
<ContentTemplate>
|
||||
<cliente:Documentos ID="UcDocumentos" runat="server" />
|
||||
</ContentTemplate>
|
||||
</ajax:TabPanel>
|
||||
|
||||
<ajax:TabPanel ID="PestanaPagos" runat="server" HeaderText="Pagos">
|
||||
<ContentTemplate>
|
||||
<cliente:Pagos ID="UcPagos" runat="server" />
|
||||
</ContentTemplate>
|
||||
</ajax:TabPanel>
|
||||
</ajax:TabContainer>
|
||||
</asp:Panel>
|
||||
</asp:Content>
|
||||
|
||||
<asp:Content ID="ContenidoScripts" ContentPlaceHolderID="J" runat="server">
|
||||
</asp:Content>
|
||||
123
SIG.Web/Pages/Clientes/EtapaDetalle.aspx.cs
Normal file
123
SIG.Web/Pages/Clientes/EtapaDetalle.aspx.cs
Normal file
@@ -0,0 +1,123 @@
|
||||
using System;
|
||||
using System.Globalization;
|
||||
using SIG.Web.AppCode.Configuration;
|
||||
using SIG.Web.AppCode.Infrastructure.WebForms;
|
||||
using SIG.Web.AppCode.Models.Common;
|
||||
using SIG.Web.AppCode.Models.Fraccionamientos;
|
||||
using SIG.Web.AppCode.Security;
|
||||
|
||||
namespace SIG.Web.Pages.Clientes
|
||||
{
|
||||
public partial class EtapaDetalle : ClsPaginaBase
|
||||
{
|
||||
#region Propiedades
|
||||
|
||||
private int CveFraccionamientoEtapaActual
|
||||
{
|
||||
get { return (int?)ViewState["CveFraccionamientoEtapaActual"] ?? 0; }
|
||||
set { ViewState["CveFraccionamientoEtapaActual"] = value; }
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
protected void Page_Load(object origen, EventArgs argumentos)
|
||||
{
|
||||
if (IsPostBack)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
int cveFraccionamientoEtapa;
|
||||
|
||||
if (!int.TryParse(
|
||||
Request.QueryString["etapa"],
|
||||
NumberStyles.Integer,
|
||||
CultureInfo.InvariantCulture,
|
||||
out cveFraccionamientoEtapa) ||
|
||||
cveFraccionamientoEtapa <= 0)
|
||||
{
|
||||
PanelContenido.Visible = false;
|
||||
Alert(
|
||||
"Seleccione una etapa válida.",
|
||||
TipoMensaje.MsgAdvertencia);
|
||||
return;
|
||||
}
|
||||
|
||||
CveFraccionamientoEtapaActual = cveFraccionamientoEtapa;
|
||||
Cargar();
|
||||
}
|
||||
|
||||
private void Cargar()
|
||||
{
|
||||
DbResult<ModeloEtapaFraccionamiento> etapa =
|
||||
AppServices.ServicioPortalCliente.ObtenerEtapa(
|
||||
CveFraccionamientoEtapaActual,
|
||||
CurrentUser.CveUsuario,
|
||||
CurrentUser.NombreDominio);
|
||||
|
||||
if (!etapa.Success || etapa.Data == null)
|
||||
{
|
||||
PanelContenido.Visible = false;
|
||||
Alert(
|
||||
etapa.Success
|
||||
? "No se encontró la etapa."
|
||||
: etapa.UserMessage,
|
||||
TipoMensaje.MsgAdvertencia);
|
||||
return;
|
||||
}
|
||||
|
||||
DbResult<ModeloFraccionamiento> fraccionamiento =
|
||||
AppServices.ServicioPortalCliente.ObtenerFraccionamiento(
|
||||
etapa.Data.CveFraccionamiento,
|
||||
CurrentUser.CveUsuario,
|
||||
CurrentUser.NombreDominio);
|
||||
|
||||
if (!fraccionamiento.Success || fraccionamiento.Data == null)
|
||||
{
|
||||
PanelContenido.Visible = false;
|
||||
Alert(
|
||||
fraccionamiento.Success
|
||||
? "No se encontró el fraccionamiento."
|
||||
: fraccionamiento.UserMessage,
|
||||
TipoMensaje.MsgAdvertencia);
|
||||
return;
|
||||
}
|
||||
|
||||
ModeloEtapaFraccionamiento datosEtapa = etapa.Data;
|
||||
ModeloFraccionamiento datosFraccionamiento = fraccionamiento.Data;
|
||||
|
||||
LitEtapa.Text = datosEtapa.Etapa;
|
||||
LitHectareas.Text = datosEtapa.Hectareas.HasValue
|
||||
? datosEtapa.Hectareas.Value.ToString(
|
||||
"N2",
|
||||
CultureInfo.CurrentCulture)
|
||||
: string.Empty;
|
||||
LitAvance.Text = datosEtapa.Avance.ToString(
|
||||
"N2",
|
||||
CultureInfo.CurrentCulture) + " %";
|
||||
LitFideicomiso.Text = datosEtapa.Fideicomiso == true
|
||||
? "Sí"
|
||||
: "No";
|
||||
|
||||
LnkFraccionamiento.Text = datosFraccionamiento.Fraccionamiento;
|
||||
LnkFraccionamiento.NavigateUrl = ResolveUrl(
|
||||
"~/Pages/Clientes/FraccionamientoDetalle.aspx?id=") +
|
||||
datosFraccionamiento.CveFraccionamiento.ToString(
|
||||
CultureInfo.InvariantCulture);
|
||||
|
||||
Page.Title = datosEtapa.Etapa;
|
||||
|
||||
UcTramites.Cargar(
|
||||
datosFraccionamiento.CveFraccionamiento,
|
||||
datosEtapa.CveFraccionamientoEtapa);
|
||||
UcDocumentos.Cargar(
|
||||
datosFraccionamiento.CveFraccionamiento,
|
||||
datosEtapa.CveFraccionamientoEtapa,
|
||||
false);
|
||||
UcPagos.Cargar(
|
||||
datosFraccionamiento.CveFraccionamiento,
|
||||
datosEtapa.CveFraccionamientoEtapa,
|
||||
false);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
@@ -30,6 +30,12 @@ namespace SIG.Web.UserControl.Clientes
|
||||
set { ViewState["CveFraccionamientoFijo"] = value; }
|
||||
}
|
||||
|
||||
private int? CveFraccionamientoEtapaFija
|
||||
{
|
||||
get { return (int?)ViewState["CveFraccionamientoEtapaFija"]; }
|
||||
set { ViewState["CveFraccionamientoEtapaFija"] = value; }
|
||||
}
|
||||
|
||||
private bool MostrarFiltrosActual
|
||||
{
|
||||
get { return (bool?)ViewState["MostrarFiltrosActual"] ?? false; }
|
||||
@@ -81,13 +87,27 @@ namespace SIG.Web.UserControl.Clientes
|
||||
public void Cargar(
|
||||
int? cveFraccionamiento,
|
||||
bool mostrarFiltros)
|
||||
{
|
||||
Cargar(
|
||||
cveFraccionamiento,
|
||||
null,
|
||||
mostrarFiltros);
|
||||
}
|
||||
|
||||
public void Cargar(
|
||||
int? cveFraccionamiento,
|
||||
int? cveFraccionamientoEtapa,
|
||||
bool mostrarFiltros)
|
||||
{
|
||||
CveFraccionamientoFijo = cveFraccionamiento;
|
||||
CveFraccionamientoEtapaFija = cveFraccionamientoEtapa;
|
||||
MostrarFiltrosActual = mostrarFiltros;
|
||||
PanelFiltros.Visible = mostrarFiltros;
|
||||
|
||||
FiltroDocumentosCliente filtro = FiltroActual;
|
||||
filtro.CveFraccionamiento = cveFraccionamiento ?? filtro.CveFraccionamiento;
|
||||
filtro.CveFraccionamiento =
|
||||
cveFraccionamiento ?? filtro.CveFraccionamiento;
|
||||
filtro.CveFraccionamientoEtapa = cveFraccionamientoEtapa;
|
||||
FiltroActual = filtro;
|
||||
|
||||
Refrescar();
|
||||
@@ -110,8 +130,12 @@ namespace SIG.Web.UserControl.Clientes
|
||||
{
|
||||
FiltroActual = new FiltroDocumentosCliente
|
||||
{
|
||||
CveFraccionamiento = CveFraccionamientoFijo ?? LeerClave(DdlFraccionamientoFiltro),
|
||||
CveFraccionamientoEtapa = LeerClave(DdlEtapaFiltro),
|
||||
CveFraccionamiento =
|
||||
CveFraccionamientoFijo ??
|
||||
LeerClave(DdlFraccionamientoFiltro),
|
||||
CveFraccionamientoEtapa =
|
||||
CveFraccionamientoEtapaFija ??
|
||||
LeerClave(DdlEtapaFiltro),
|
||||
Agrupacion = string.IsNullOrWhiteSpace(DdlAgrupacionFiltro.SelectedValue)
|
||||
? null
|
||||
: DdlAgrupacionFiltro.SelectedValue
|
||||
@@ -132,7 +156,8 @@ namespace SIG.Web.UserControl.Clientes
|
||||
filtro.CveFraccionamiento = null;
|
||||
}
|
||||
|
||||
if (!nombres.Contains("Etapa"))
|
||||
if (!nombres.Contains("Etapa") &&
|
||||
!CveFraccionamientoEtapaFija.HasValue)
|
||||
{
|
||||
filtro.CveFraccionamientoEtapa = null;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
@@ -29,6 +29,12 @@ namespace SIG.Web.UserControl.Clientes
|
||||
set { ViewState["CveFraccionamientoFijo"] = value; }
|
||||
}
|
||||
|
||||
private int? CveFraccionamientoEtapaFija
|
||||
{
|
||||
get { return (int?)ViewState["CveFraccionamientoEtapaFija"]; }
|
||||
set { ViewState["CveFraccionamientoEtapaFija"] = value; }
|
||||
}
|
||||
|
||||
private bool MostrarFiltrosActual
|
||||
{
|
||||
get { return (bool?)ViewState["MostrarFiltrosActual"] ?? false; }
|
||||
@@ -81,13 +87,27 @@ namespace SIG.Web.UserControl.Clientes
|
||||
public void Cargar(
|
||||
int? cveFraccionamiento,
|
||||
bool mostrarFiltros)
|
||||
{
|
||||
Cargar(
|
||||
cveFraccionamiento,
|
||||
null,
|
||||
mostrarFiltros);
|
||||
}
|
||||
|
||||
public void Cargar(
|
||||
int? cveFraccionamiento,
|
||||
int? cveFraccionamientoEtapa,
|
||||
bool mostrarFiltros)
|
||||
{
|
||||
CveFraccionamientoFijo = cveFraccionamiento;
|
||||
CveFraccionamientoEtapaFija = cveFraccionamientoEtapa;
|
||||
MostrarFiltrosActual = mostrarFiltros;
|
||||
PanelFiltros.Visible = mostrarFiltros;
|
||||
|
||||
FiltroPagosCliente filtro = FiltroActual;
|
||||
filtro.CveFraccionamiento = cveFraccionamiento ?? filtro.CveFraccionamiento;
|
||||
filtro.CveFraccionamiento =
|
||||
cveFraccionamiento ?? filtro.CveFraccionamiento;
|
||||
filtro.CveFraccionamientoEtapa = cveFraccionamientoEtapa;
|
||||
FiltroActual = filtro;
|
||||
|
||||
Refrescar();
|
||||
@@ -110,8 +130,12 @@ namespace SIG.Web.UserControl.Clientes
|
||||
{
|
||||
FiltroActual = new FiltroPagosCliente
|
||||
{
|
||||
CveFraccionamiento = CveFraccionamientoFijo ?? LeerClave(DdlFraccionamientoFiltro),
|
||||
CveFraccionamientoEtapa = LeerClave(DdlEtapaFiltro),
|
||||
CveFraccionamiento =
|
||||
CveFraccionamientoFijo ??
|
||||
LeerClave(DdlFraccionamientoFiltro),
|
||||
CveFraccionamientoEtapa =
|
||||
CveFraccionamientoEtapaFija ??
|
||||
LeerClave(DdlEtapaFiltro),
|
||||
Agrupacion = string.IsNullOrWhiteSpace(DdlAgrupacionFiltro.SelectedValue)
|
||||
? null
|
||||
: DdlAgrupacionFiltro.SelectedValue
|
||||
@@ -132,7 +156,8 @@ namespace SIG.Web.UserControl.Clientes
|
||||
filtro.CveFraccionamiento = null;
|
||||
}
|
||||
|
||||
if (!nombres.Contains("Etapa"))
|
||||
if (!nombres.Contains("Etapa") &&
|
||||
!CveFraccionamientoEtapaFija.HasValue)
|
||||
{
|
||||
filtro.CveFraccionamientoEtapa = null;
|
||||
}
|
||||
|
||||
@@ -32,11 +32,31 @@ namespace SIG.Web.UserControl.Clientes
|
||||
}
|
||||
}
|
||||
|
||||
private int? CveFraccionamientoEtapaActual
|
||||
{
|
||||
get
|
||||
{
|
||||
return (int?)ViewState["CveFraccionamientoEtapaActual"];
|
||||
}
|
||||
set
|
||||
{
|
||||
ViewState["CveFraccionamientoEtapaActual"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
public void Cargar(int cveFraccionamiento)
|
||||
{
|
||||
Cargar(cveFraccionamiento, null);
|
||||
}
|
||||
|
||||
public void Cargar(
|
||||
int cveFraccionamiento,
|
||||
int? cveFraccionamientoEtapa)
|
||||
{
|
||||
CveFraccionamientoActual = cveFraccionamiento;
|
||||
CveFraccionamientoEtapaActual = cveFraccionamientoEtapa;
|
||||
Refrescar();
|
||||
}
|
||||
|
||||
@@ -113,6 +133,7 @@ namespace SIG.Web.UserControl.Clientes
|
||||
|
||||
var resultado = AppServices.ServicioPortalCliente.ListarTramites(
|
||||
CveFraccionamientoActual,
|
||||
CveFraccionamientoEtapaActual,
|
||||
usuario.CveUsuario,
|
||||
usuario.NombreDominio);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user