diff --git a/Aspnet/Builder/DtoBuilder/ContratoDtoBuilder.cs b/Aspnet/Builder/DtoBuilder/ContratoDtoBuilder.cs index 038449b..5a3d4a0 100644 --- a/Aspnet/Builder/DtoBuilder/ContratoDtoBuilder.cs +++ b/Aspnet/Builder/DtoBuilder/ContratoDtoBuilder.cs @@ -36,14 +36,14 @@ public class ContratoDtoBuilder: Builder { bool Habilitado = habilitado == 0?false:true; bool Cancelado = cancelado == 0?false:true; - if (Habilitado == true && Cancelado == false){ + if (Habilitado == true && Cancelado == false){ data.Estado = "Alquiler Iniciado"; - } else if (Cancelado == true && Habilitado == true) { + } else if (Cancelado == true && Habilitado == false) { data.Estado = "Nunca Empezo Esta Cancelado"; - } - - if (Habilitado == false && Cancelado ==false){ + } else if (Habilitado == false && Cancelado ==false){ data.Estado = "Esta en Proceso"; + } else if (Habilitado == true && Cancelado == true){ + data.Estado = "Terminado"; } return this; } diff --git a/Aspnet/Builder/DtoBuilder/ContratoPropiedadDtoBuilder.cs b/Aspnet/Builder/DtoBuilder/ContratoPropiedadDtoBuilder.cs index e05d666..ab8a5e5 100644 --- a/Aspnet/Builder/DtoBuilder/ContratoPropiedadDtoBuilder.cs +++ b/Aspnet/Builder/DtoBuilder/ContratoPropiedadDtoBuilder.cs @@ -36,14 +36,14 @@ public class ContratoPropiedadDtoBuilder : Builder{ bool Habilitado = habilitado == 0?false:true; bool Cancelado = cancelado == 0?false:true; - if (Habilitado == true && Cancelado == false){ + if (Habilitado == true && Cancelado == false){ data.Estado = "Alquiler Iniciado"; - } else if (Cancelado == true && Habilitado == true) { + } else if (Cancelado == true && Habilitado == false) { data.Estado = "Nunca Empezo Esta Cancelado"; - } - - if (Habilitado == false && Cancelado ==false){ + } else if (Habilitado == false && Cancelado ==false){ data.Estado = "Esta en Proceso"; + } else if (Habilitado == true && Cancelado == true){ + data.Estado = "Terminado"; } return this; } diff --git a/Entidades/Dto/Chart/Chartjs.cs b/Entidades/Dto/Chart/Chartjs.cs new file mode 100644 index 0000000..9c52544 --- /dev/null +++ b/Entidades/Dto/Chart/Chartjs.cs @@ -0,0 +1,29 @@ +using System.Collections.Generic; +using System.Text.Json.Serialization; + +public class ChartData +{ + [JsonPropertyName("labels")] + public List Labels { get; set; }=new(); + + [JsonPropertyName("datasets")] + public List Datasets { get; set; }=new(); +} + +public class Dataset +{ + [JsonPropertyName("label")] + public string Label { get; set; } =""; + + [JsonPropertyName("data")] + public List Data { get; set; }= new(); +/* + [JsonPropertyName("backgroundColor")] + public List BackgroundColor { get; set; } + + [JsonPropertyName("borderColor")] + public List BorderColor { get; set; } +*/ + [JsonPropertyName("borderWidth")] + public int BorderWidth { get; set; }=1; +} diff --git a/Front/src/App.svelte b/Front/src/App.svelte index 2129670..8575022 100644 --- a/Front/src/App.svelte +++ b/Front/src/App.svelte @@ -17,10 +17,11 @@ import AdminUsuarios from "./paginas/AdminUsuarios.svelte"; import AdminPropiedades from "./paginas/AdminPropiedades.svelte"; import Notificaciones from "./paginas/Notificaciones.svelte"; - import ControlAlquileresInquilino from "./paginas/ControlAlquileresInquilino.svelte"; - import ControlAlquileresPropietario from "./paginas/ControlAlquileresPropietario.svelte"; - import ContratosPropietario from "./paginas/ContratosPropietario.svelte"; - import ContratoInquilino from "./paginas/ContratoInquilino.svelte"; + import ControlAlquileresInquilino from "./paginas/ControlAlquileresInquilino.svelte"; + import ControlAlquileresPropietario from "./paginas/ControlAlquileresPropietario.svelte"; + import ContratosPropietario from "./paginas/ContratosPropietario.svelte"; + import ContratoInquilino from "./paginas/ContratoInquilino.svelte"; + import Informes from "./paginas/Informes.svelte"; @@ -64,6 +65,11 @@ + + + + + diff --git a/Front/src/Componentes/Estadisticas/fChart.svelte b/Front/src/Componentes/Estadisticas/fChart.svelte new file mode 100644 index 0000000..20f4451 --- /dev/null +++ b/Front/src/Componentes/Estadisticas/fChart.svelte @@ -0,0 +1,49 @@ + + +
+ +
\ No newline at end of file diff --git a/Front/src/paginas/Informes.svelte b/Front/src/paginas/Informes.svelte new file mode 100644 index 0000000..1a75d59 --- /dev/null +++ b/Front/src/paginas/Informes.svelte @@ -0,0 +1,38 @@ + + + + +
+
+
+ +
+ + + + + + + + + +
#UbicacionDivisa
+
+
+ +
+
+ +
\ No newline at end of file diff --git a/Modelo/RepositorioCanons.cs b/Modelo/RepositorioCanons.cs index 8e2cdc8..f1811da 100644 --- a/Modelo/RepositorioCanons.cs +++ b/Modelo/RepositorioCanons.cs @@ -29,14 +29,28 @@ public class RepositorioCanons: RepositorioBase { public bool SetRecibo(Canon c, Recibo re) { var con = Context; - var cc = con.Canons.FirstOrDefault(x=>x.Id == c.Id); + var cc = con.Canons + .Include(x=>x.Idcontratos) + .ThenInclude(x=>x.Idcanons) + .FirstOrDefault(x=>x.Id == c.Id); if (cc == null) return false; + if (cc.Idcontratos.Count()!=1) return false; + Contrato ccc = cc.Idcontratos.First(); + if (ccc.Cancelado == 1 || ccc.Habilitado == 0) return false; + con.Entry(ccc).Reference(x=>x.IdpropiedadNavigation).Load(); + re.Id = (con.Recibos.Any()?con.Recibos.Max(x=>x.Id):0)+1; con.Recibos.Add(re); cc.Idrecibo = re.Id; cc.Pagado = 1; + + if (ccc.Idcanons.Where(x=>x.Pagado==1).Count() == ccc.MesesDurationContrato){ + ccc.Cancelado = 1; + ccc.IdpropiedadNavigation.Idestado = 3; + } + return Guardar(con); }