Compare commits
111 Commits
6e9e556117
...
informes
| Author | SHA1 | Date | |
|---|---|---|---|
| 3a60ab0dcf | |||
|
|
be585cff1d | ||
| 5479db7c97 | |||
| 9ca365f6ac | |||
| 208ebd6148 | |||
| 5b78d74e54 | |||
| 6092f6f08b | |||
| 628b33f922 | |||
| 4bc99e9cc6 | |||
| 84d414b536 | |||
| 8de480aed5 | |||
| 3616449d84 | |||
| 57b84cdf9a | |||
| c493033009 | |||
| aa3a281092 | |||
| 812b9a9fba | |||
| eb25f4700f | |||
| 1aba8e7cd5 | |||
| 390fafce97 | |||
| ae8dc07364 | |||
| 675d86f38d | |||
| 51676e6434 | |||
| 9b0bde293b | |||
| 04e6a0b9bb | |||
|
|
ad10d7dc30 | ||
|
|
f2457d4eaa | ||
| cefd645974 | |||
| 9bf517e851 | |||
| ab0a1185d4 | |||
| 57e1d4526e | |||
| 18ee45927a | |||
| 721c770fcd | |||
| ed59d68c8e | |||
| d72741b43e | |||
| 1baf2d9351 | |||
|
|
8ad9dc6e8b | ||
| 04704c4cc9 | |||
| 58d732320f | |||
| f51929c23d | |||
| abfd18e86f | |||
| 13ce2d317c | |||
| 56ec4226da | |||
| 82fc7a09c6 | |||
| aaa7f39a42 | |||
| 9f04a9c0af | |||
| c40f19e7c7 | |||
| 32bad7f9ac | |||
| 4139a58f6e | |||
| ea209bc4fc | |||
| ffd6001a08 | |||
| 2c8ca41f13 | |||
| ca71eefd6c | |||
|
|
14f1488e44 | ||
|
|
4584ea6529 | ||
|
|
5d29abefe6 | ||
|
|
bc4cbf98b6 | ||
| 6f63c32800 | |||
| 6a21854822 | |||
| 0aa21cfe31 | |||
| 3dbd862047 | |||
| 1df2d39e29 | |||
| 567bf7b788 | |||
| 07471878e7 | |||
| d04a2b25c8 | |||
| c42010f45b | |||
| f211b47850 | |||
| c0060e8c0d | |||
| 3fdab465f1 | |||
| ebe118536d | |||
| 6fe4bcd878 | |||
| 6192eed627 | |||
| 8050c95f7b | |||
| 2150a38fe6 | |||
| 2c653179a7 | |||
| 178680903f | |||
| 51ffddd858 | |||
| 48ecb90bda | |||
| af16d85f23 | |||
| 9ece6f89b1 | |||
| bcdfc473b7 | |||
| 36bf611d29 | |||
| f539ba493c | |||
| 1619dbfd1a | |||
| cea7acc36c | |||
| 4664305b0a | |||
| bcb27c3a90 | |||
| 6b622e77c0 | |||
| 4a3a28c7f9 | |||
|
|
89523878ce | ||
|
|
132c1c570f | ||
|
|
65c8469c92 | ||
| 0b073d51b9 | |||
|
|
ee0ec5f0e8 | ||
| 80293cb76b | |||
| 5318e28925 | |||
| 21c28bd280 | |||
| dd986beeed | |||
|
|
9775b405a1 | ||
|
|
100852347e | ||
|
|
712813e8cb | ||
|
|
46768f4f1b | ||
| 4e2e723ea4 | |||
| 619b6c5e04 | |||
| 31db6eb9ec | |||
| 1fc08aa076 | |||
| b8f612ba83 | |||
| 594a39806f | |||
| 4991f91cb9 | |||
| 5df3337d1d | |||
| 128486b84c | |||
| d1d217168a |
15
.gitignore
vendored
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
################################################################################
|
||||||
|
# This .gitignore file was automatically created by Microsoft(R) Visual Studio.
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
Vista/bin
|
||||||
|
Vista/obj
|
||||||
|
*.bbl
|
||||||
|
*.tex
|
||||||
|
.vs
|
||||||
|
Modelo/bin
|
||||||
|
Modelo/obj
|
||||||
|
Entidades/bin
|
||||||
|
Entidades/obj
|
||||||
|
Controladora/bin
|
||||||
|
Controladora/obj
|
||||||
17
Controladora/Controladora.csproj
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>net6.0</TargetFramework>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\Modelo\Modelo.csproj" />
|
||||||
|
<ProjectReference Include="..\Entidades\Entidades.csproj" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
58
Controladora/ControladoraCategorias.cs
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
using System.Collections.ObjectModel;
|
||||||
|
using Entidades;
|
||||||
|
using Modelo;
|
||||||
|
|
||||||
|
namespace Controladora
|
||||||
|
{
|
||||||
|
public class ControladoraCategorias : Singleton<ControladoraCategorias>
|
||||||
|
{
|
||||||
|
// Método para verificar si una categoría con un ID ya existe
|
||||||
|
private bool CategoriaExiste(int id)
|
||||||
|
{
|
||||||
|
var categorias = RepositorioCategoria.Instance.Listar();
|
||||||
|
return categorias.Any(c => c.Id == id);
|
||||||
|
}
|
||||||
|
|
||||||
|
public string Añadir(Categoria t)
|
||||||
|
{
|
||||||
|
if (t == null) return "La categoría es nula, fallo la carga";
|
||||||
|
|
||||||
|
if (CategoriaExiste(t.Id))
|
||||||
|
{
|
||||||
|
return $"Ya existe una categoría con el ID {t.Id}";
|
||||||
|
}
|
||||||
|
|
||||||
|
return (RepositorioCategoria.Instance.Add(t)) ?
|
||||||
|
$"La categoría {t.Descripcion} se cargó correctamente" :
|
||||||
|
$"Falló la carga de la categoría {t.Descripcion}";
|
||||||
|
}
|
||||||
|
|
||||||
|
public string Eliminar(Categoria t)
|
||||||
|
{
|
||||||
|
if (t == null) return "La categoría es nula, fallo la carga";
|
||||||
|
|
||||||
|
return (RepositorioCategoria.Instance.Del(t)) ?
|
||||||
|
$"La categoría {t.Descripcion} se eliminó correctamente" :
|
||||||
|
$"Falló la eliminación de la categoría {t.Descripcion}";
|
||||||
|
}
|
||||||
|
|
||||||
|
public string Modificar(Categoria t)
|
||||||
|
{
|
||||||
|
if (t == null) return "La categoría es nula, fallo la carga";
|
||||||
|
|
||||||
|
if (!CategoriaExiste(t.Id))
|
||||||
|
{
|
||||||
|
return $"No se encontró una categoría con el ID {t.Id}";
|
||||||
|
}
|
||||||
|
|
||||||
|
return (RepositorioCategoria.Instance.Mod(t)) ?
|
||||||
|
$"La categoría {t.Descripcion} se modificó correctamente" :
|
||||||
|
$"Falló la modificación de la categoría {t.Descripcion}";
|
||||||
|
}
|
||||||
|
|
||||||
|
public ReadOnlyCollection<Categoria> Listar()
|
||||||
|
{
|
||||||
|
return RepositorioCategoria.Instance.Listar();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
61
Controladora/ControladoraClientes.cs
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
using System.Collections.ObjectModel;
|
||||||
|
using Entidades;
|
||||||
|
using Modelo;
|
||||||
|
|
||||||
|
namespace Controladora
|
||||||
|
{
|
||||||
|
public class ControladoraClientes : Singleton<ControladoraClientes>
|
||||||
|
{
|
||||||
|
public string Añadir(Cliente t)
|
||||||
|
{
|
||||||
|
if (t == null)
|
||||||
|
{
|
||||||
|
return "El Cliente es nulo, fallo la carga";
|
||||||
|
}
|
||||||
|
|
||||||
|
// Verificar si el CUIT ya existe en el repositorio
|
||||||
|
if (RepositorioClientes.Instance.ExistePorCuit(t.Cuit))
|
||||||
|
{
|
||||||
|
return $"El Cliente con el CUIT {t.Cuit} ya existe";
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
bool resultado = RepositorioClientes.Instance.Add(t);
|
||||||
|
return resultado ?
|
||||||
|
$"El Cliente con el CUIT {t.Cuit} se cargó correctamente" :
|
||||||
|
$"Falló la carga del Cliente con el CUIT {t.Cuit}";
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
// Captura cualquier excepción no prevista
|
||||||
|
return $"Ocurrió un error inesperado: {ex.Message}";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public string Eliminar(long cuit)
|
||||||
|
{
|
||||||
|
// Buscar el cliente por CUIT antes de eliminar
|
||||||
|
var cliente = RepositorioClientes.Instance.Listar().FirstOrDefault(x => x.Cuit == cuit);
|
||||||
|
if (cliente == null) return "El Cliente no existe";
|
||||||
|
|
||||||
|
return (RepositorioClientes.Instance.Del(cliente)) ?
|
||||||
|
$"El Cliente {cliente.Nombre} se eliminó correctamente" :
|
||||||
|
$"Falló la eliminación del Cliente con el CUIT {cuit}";
|
||||||
|
}
|
||||||
|
|
||||||
|
public string Modificar(Cliente t)
|
||||||
|
{
|
||||||
|
if (t == null) return "El Cliente es nulo, fallo la carga";
|
||||||
|
|
||||||
|
return (RepositorioClientes.Instance.Mod(t)) ?
|
||||||
|
$"El Cliente con el CUIT {t.Cuit} se modificó correctamente" :
|
||||||
|
$"Falló la modificación del Cliente con el CUIT {t.Cuit}";
|
||||||
|
}
|
||||||
|
|
||||||
|
public ReadOnlyCollection<Cliente> Listar()
|
||||||
|
{
|
||||||
|
return RepositorioClientes.Instance.Listar();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
62
Controladora/ControladoraFacturas.cs
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
using System.Collections.ObjectModel;
|
||||||
|
using Entidades;
|
||||||
|
using Modelo;
|
||||||
|
|
||||||
|
namespace Controladora
|
||||||
|
{
|
||||||
|
public class ControladoraFacturas : Singleton<ControladoraFacturas>
|
||||||
|
{
|
||||||
|
public string Añadir(Factura t)
|
||||||
|
{
|
||||||
|
if (t == null) return "La Factura es nula, fallo la carga";
|
||||||
|
|
||||||
|
if (RepositorioFactura.Instance.ExistePorId(t.Id))
|
||||||
|
{
|
||||||
|
return $"La Factura con el ID {t.Id} ya existe";
|
||||||
|
}
|
||||||
|
|
||||||
|
// Verificar si el cliente está seleccionado
|
||||||
|
if (t.Cliente == null || t.Cliente.Cuit == 0)
|
||||||
|
{
|
||||||
|
return "Debe seleccionar un cliente antes de agregar la factura";
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
bool resultado = RepositorioFactura.Instance.Add(t);
|
||||||
|
return resultado ?
|
||||||
|
$"La Factura con el ID {t.Id} se cargó correctamente" :
|
||||||
|
$"Falló la carga de la Factura con el ID {t.Id}";
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
// Captura cualquier excepción no prevista
|
||||||
|
return $"Ocurrió un error inesperado: {ex.Message}";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public string Eliminar(Factura t)
|
||||||
|
{
|
||||||
|
if (t == null) return "La Factura es nula, fallo la carga";
|
||||||
|
|
||||||
|
return (RepositorioFactura.Instance.Del(t)) ?
|
||||||
|
$"La Factura con el ID {t.Id} se eliminó correctamente" :
|
||||||
|
$"Falló la eliminación de la Factura con el ID {t.Id}";
|
||||||
|
}
|
||||||
|
|
||||||
|
public string Modificar(Factura t)
|
||||||
|
{
|
||||||
|
if (t == null) return "La Factura es nula, fallo la carga";
|
||||||
|
|
||||||
|
return (RepositorioFactura.Instance.Mod(t)) ?
|
||||||
|
$"La Factura con el ID {t.Id} se modificó correctamente" :
|
||||||
|
$"Falló la modificación de la Factura con el ID {t.Id}";
|
||||||
|
}
|
||||||
|
|
||||||
|
public ReadOnlyCollection<Factura> Listar()
|
||||||
|
{
|
||||||
|
return RepositorioFactura.Instance.Listar();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
119
Controladora/ControladoraLotes.cs
Normal file
@@ -0,0 +1,119 @@
|
|||||||
|
using Entidades;
|
||||||
|
using Modelo;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Collections.ObjectModel;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Controladora
|
||||||
|
{
|
||||||
|
public class ControladoraLotes : Singleton<ControladoraLotes>
|
||||||
|
{
|
||||||
|
public string Añadir(Lote t)
|
||||||
|
{
|
||||||
|
if (t == null) return "El Lote es nulo, falló la carga";
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
bool resultado = RepositorioLote.Instance.Add(t);
|
||||||
|
return resultado ?
|
||||||
|
$"El Lote con el ID {t.Id} se cargó correctamente" :
|
||||||
|
$"Falló la carga del Lote con el ID {t.Id}";
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
// Captura cualquier excepción no prevista
|
||||||
|
return $"Ocurrió un error inesperado: {ex.Message}";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public string Modificar(Lote t)
|
||||||
|
{
|
||||||
|
if (t == null) return "El Lote es nulo, falló la modificación";
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
bool resultado = RepositorioLote.Instance.Mod(t);
|
||||||
|
return resultado ?
|
||||||
|
$"El Lote con el ID {t.Id} se modificó correctamente" :
|
||||||
|
$"Falló la modificación del Lote con el ID {t.Id}";
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
// Captura cualquier excepción no prevista
|
||||||
|
return $"Ocurrió un error inesperado: {ex.Message}";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public string Eliminar(Lote t)
|
||||||
|
{
|
||||||
|
if (t == null) return "El Lote es nulo, falló la eliminación";
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
bool resultado = RepositorioLote.Instance.Del(t);
|
||||||
|
return resultado ?
|
||||||
|
$"El Lote con el ID {t.Id} se eliminó correctamente" :
|
||||||
|
$"Falló la eliminación del Lote con el ID {t.Id}";
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
// Captura cualquier excepción no prevista
|
||||||
|
return $"Ocurrió un error inesperado: {ex.Message}";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public string EliminarPorFacturaId(int facturaId)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var lotes = RepositorioLote.Instance.Listar();
|
||||||
|
var lotesAEliminar = lotes.Where(lote => lote.Id == facturaId).ToList();
|
||||||
|
|
||||||
|
foreach (var lote in lotesAEliminar)
|
||||||
|
{
|
||||||
|
RepositorioLote.Instance.Del(lote);
|
||||||
|
}
|
||||||
|
|
||||||
|
return lotesAEliminar.Any() ?
|
||||||
|
$"Los Lotes asociados a la Factura con el ID {facturaId} se eliminaron correctamente" :
|
||||||
|
$"No se encontraron Lotes asociados a la Factura con el ID {facturaId}";
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
// Captura cualquier excepción no prevista
|
||||||
|
return $"Ocurrió un error inesperado: {ex.Message}";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public ReadOnlyCollection<Lote> ListarPorFacturaId(int facturaId)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var lotes = RepositorioLote.Instance.Listar();
|
||||||
|
var lotesPorFactura = lotes.Where(lote => lote.Id == facturaId).ToList();
|
||||||
|
return new ReadOnlyCollection<Lote>(lotesPorFactura);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
// Captura cualquier excepción no prevista
|
||||||
|
throw new InvalidOperationException($"Ocurrió un error inesperado: {ex.Message}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public ReadOnlyCollection<Lote> Listar()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
return RepositorioLote.Instance.Listar();
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
// Captura cualquier excepción no prevista
|
||||||
|
throw new InvalidOperationException($"Ocurrió un error inesperado: {ex.Message}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
42
Controladora/ControladoraOrdenesDeCompra.cs
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
using System.Collections.ObjectModel;
|
||||||
|
using Entidades;
|
||||||
|
using Modelo;
|
||||||
|
|
||||||
|
namespace Controladora
|
||||||
|
{
|
||||||
|
public class ControladoraOrdenDeCompras : Singleton<ControladoraOrdenDeCompras>
|
||||||
|
{
|
||||||
|
public string Añadir(OrdenDeCompra t)
|
||||||
|
{
|
||||||
|
if (t == null) return "El OrdenDeCompra es nulo fallo la carga";
|
||||||
|
|
||||||
|
return (RepositorioOrdenDeCompra.Instance.Add(t)) ?
|
||||||
|
$"El OrdenDeCompra {t.Id} se cargo correctamente":
|
||||||
|
$"Fallo la carga del OrdenDeCompra {t.Id}";
|
||||||
|
}
|
||||||
|
|
||||||
|
public string Eliminar(OrdenDeCompra t)
|
||||||
|
{
|
||||||
|
if (t == null) return "El OrdenDeCompra es nulo fallo la carga";
|
||||||
|
|
||||||
|
return (RepositorioOrdenDeCompra.Instance.Del(t)) ?
|
||||||
|
$"El OrdenDeCompra {t.Id} se Elimino correctamente":
|
||||||
|
$"Fallo la Eliminacion del OrdenDeCompra {t.Id}";
|
||||||
|
}
|
||||||
|
|
||||||
|
public string Modificar(OrdenDeCompra t)
|
||||||
|
{
|
||||||
|
if (t == null) return "El OrdenDeCompra es nulo fallo la carga";
|
||||||
|
|
||||||
|
return (RepositorioOrdenDeCompra.Instance.Mod(t)) ?
|
||||||
|
$"El OrdenDeCompra {t.Id} se Modifico correctamente":
|
||||||
|
$"Fallo la Modificacion del OrdenDeCompra {t.Id}";
|
||||||
|
}
|
||||||
|
|
||||||
|
public ReadOnlyCollection<OrdenDeCompra> Listar()
|
||||||
|
{
|
||||||
|
return RepositorioOrdenDeCompra.Instance.Listar();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
42
Controladora/ControladoraPedidoPresupuesto.cs
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
using System.Collections.ObjectModel;
|
||||||
|
using Entidades;
|
||||||
|
using Modelo;
|
||||||
|
|
||||||
|
namespace Controladora
|
||||||
|
{
|
||||||
|
public class ControladoraPedidoDePresupuestos : Singleton<ControladoraPedidoDePresupuestos>
|
||||||
|
{
|
||||||
|
public string Añadir(PedidoDePresupuesto t)
|
||||||
|
{
|
||||||
|
if (t == null) return "El PedidoDePresupuesto es nulo fallo la carga";
|
||||||
|
|
||||||
|
return (RepositorioPedidoDePresupuesto.Instance.Add(t)) ?
|
||||||
|
$"El PedidoDePresupuesto {t.Id} se cargo correctamente":
|
||||||
|
$"Fallo la carga del PedidoDePresupuesto {t.Id}";
|
||||||
|
}
|
||||||
|
|
||||||
|
public string Eliminar(PedidoDePresupuesto t)
|
||||||
|
{
|
||||||
|
if (t == null) return "El PedidoDePresupuesto es nulo fallo la carga";
|
||||||
|
|
||||||
|
return (RepositorioPedidoDePresupuesto.Instance.Del(t)) ?
|
||||||
|
$"El PedidoDePresupuesto {t.Id} se Elimino correctamente":
|
||||||
|
$"Fallo la Eliminacion del PedidoDePresupuesto {t.Id}";
|
||||||
|
}
|
||||||
|
|
||||||
|
public string Modificar(PedidoDePresupuesto t)
|
||||||
|
{
|
||||||
|
if (t == null) return "El PedidoDePresupuesto es nulo fallo la carga";
|
||||||
|
|
||||||
|
return (RepositorioPedidoDePresupuesto.Instance.Mod(t)) ?
|
||||||
|
$"El PedidoDePresupuesto {t.Id} se Modifico correctamente":
|
||||||
|
$"Fallo la Modificacion del PedidoDePresupuesto {t.Id}";
|
||||||
|
}
|
||||||
|
|
||||||
|
public ReadOnlyCollection<PedidoDePresupuesto> Listar()
|
||||||
|
{
|
||||||
|
return RepositorioPedidoDePresupuesto.Instance.Listar();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
41
Controladora/ControladoraPresupuestos.cs
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
using System.Collections.ObjectModel;
|
||||||
|
using Entidades;
|
||||||
|
using Modelo;
|
||||||
|
|
||||||
|
namespace Controladora
|
||||||
|
{
|
||||||
|
public class ControladoraPresupuestos : Singleton<ControladoraPresupuestos>
|
||||||
|
{
|
||||||
|
public string Añadir(Presupuesto t)
|
||||||
|
{
|
||||||
|
if (t == null) return "El Presupuesto es nulo fallo la carga";
|
||||||
|
|
||||||
|
return (RepositorioPresupuesto.Instance.Add(t)) ?
|
||||||
|
$"El Presupuesto {t.Id} se cargo correctamente":
|
||||||
|
$"Fallo la carga del Presupuesto {t.Id}";
|
||||||
|
}
|
||||||
|
|
||||||
|
public string Eliminar(Presupuesto t)
|
||||||
|
{
|
||||||
|
if (t == null) return "El Presupuesto es nulo fallo la carga";
|
||||||
|
|
||||||
|
return (RepositorioPresupuesto.Instance.Del(t)) ?
|
||||||
|
$"El Presupuesto {t.Id} se Elimino correctamente":
|
||||||
|
$"Fallo la Eliminacion del Presupuesto {t.Id}";
|
||||||
|
}
|
||||||
|
|
||||||
|
public string Modificar(Presupuesto t)
|
||||||
|
{
|
||||||
|
if (t == null) return "El Presupuesto es nulo fallo la carga";
|
||||||
|
|
||||||
|
return (RepositorioPresupuesto.Instance.Mod(t)) ?
|
||||||
|
$"El Presupuesto {t.Id} se Modifico correctamente":
|
||||||
|
$"Fallo la Modificacion del Presupuesto {t.Id}";
|
||||||
|
}
|
||||||
|
|
||||||
|
public ReadOnlyCollection<Presupuesto> Listar()
|
||||||
|
{
|
||||||
|
return RepositorioPresupuesto.Instance.Listar();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
43
Controladora/ControladoraProductos.cs
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
using System.Collections.ObjectModel;
|
||||||
|
using Entidades;
|
||||||
|
using Modelo;
|
||||||
|
|
||||||
|
namespace Controladora
|
||||||
|
{
|
||||||
|
public class ControladoraProductos : Singleton<ControladoraProductos>
|
||||||
|
{
|
||||||
|
public string Añadir(Producto t)
|
||||||
|
{
|
||||||
|
if (t == null) return "El Producto es nulo fallo la carga";
|
||||||
|
|
||||||
|
return (RepositorioProductos.Instance.Add(t)) ?
|
||||||
|
$"El Producto {t.Nombre} se cargo correctamente":
|
||||||
|
$"Fallo la carga del Producto {t.Nombre}";
|
||||||
|
}
|
||||||
|
|
||||||
|
public string Eliminar(Producto t)
|
||||||
|
{
|
||||||
|
if (t == null) return "El Producto es nulo fallo la carga";
|
||||||
|
|
||||||
|
return (RepositorioProductos.Instance.Del(t)) ?
|
||||||
|
$"El Producto {t.Nombre} se Elimino correctamente":
|
||||||
|
$"Fallo la Eliminacion del Producto {t.Nombre}";
|
||||||
|
}
|
||||||
|
|
||||||
|
public string Modificar(Producto t)
|
||||||
|
{
|
||||||
|
if (t == null) return "El Producto es nulo fallo la carga";
|
||||||
|
|
||||||
|
return (RepositorioProductos.Instance.Mod(t)) ?
|
||||||
|
$"El Producto {t.Nombre} se Modifico correctamente":
|
||||||
|
$"Fallo la Modificacion del Producto {t.Nombre}";
|
||||||
|
}
|
||||||
|
|
||||||
|
public ReadOnlyCollection<Producto> Listar()
|
||||||
|
{
|
||||||
|
return RepositorioProductos.Instance.Listar();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
50
Controladora/ControladoraProveedores.cs
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
using System.Collections.ObjectModel;
|
||||||
|
using Entidades;
|
||||||
|
using Modelo;
|
||||||
|
|
||||||
|
namespace Controladora
|
||||||
|
{
|
||||||
|
public class ControladoraProveedores : Singleton<ControladoraProveedores>
|
||||||
|
{
|
||||||
|
public string Añadir(Proveedor t)
|
||||||
|
{
|
||||||
|
if (t == null) return "El Proveedor es nulo fallo la carga";
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
return RepositorioProveedor.Instance.Add(t) ?
|
||||||
|
$"El Proveedor {t.Nombre} se cargó correctamente" :
|
||||||
|
$"Falló la carga del Proveedor {t.Nombre}";
|
||||||
|
}
|
||||||
|
catch (InvalidOperationException ex)
|
||||||
|
{
|
||||||
|
return ex.Message; // Captura la excepción y muestra el mensaje adecuado
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public string Eliminar(long t)
|
||||||
|
{
|
||||||
|
var proveedor = RepositorioProveedor.Instance.Listar().FirstOrDefault(x => x.Cuit == t);
|
||||||
|
|
||||||
|
if (proveedor == null) return "El Proveedor es nulo fallo la baja";
|
||||||
|
|
||||||
|
return (RepositorioProveedor.Instance.Del(proveedor)) ?
|
||||||
|
$"El Proveedor {proveedor.Nombre} se eliminó correctamente" :
|
||||||
|
$"Falló la eliminación del Proveedor {t}";
|
||||||
|
}
|
||||||
|
|
||||||
|
public string Modificar(Proveedor t)
|
||||||
|
{
|
||||||
|
if (t == null) return "El Proveedor es nulo fallo la modificación";
|
||||||
|
|
||||||
|
return (RepositorioProveedor.Instance.Mod(t)) ?
|
||||||
|
$"El Proveedor {t.Nombre} se modificó correctamente" :
|
||||||
|
$"Falló la modificación del Proveedor {t.Nombre}";
|
||||||
|
}
|
||||||
|
|
||||||
|
public ReadOnlyCollection<Proveedor> Listar()
|
||||||
|
{
|
||||||
|
return RepositorioProveedor.Instance.Listar();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
43
Controladora/ControladoraRemito.cs
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
using System.Collections.ObjectModel;
|
||||||
|
using Entidades;
|
||||||
|
using Modelo;
|
||||||
|
|
||||||
|
namespace Controladora
|
||||||
|
{
|
||||||
|
public class ControladoraRemito : Singleton<ControladoraRemito>
|
||||||
|
{
|
||||||
|
public ReadOnlyCollection<Remito> Listar()
|
||||||
|
{
|
||||||
|
return RepositorioRemito.Instance.Listar();
|
||||||
|
}
|
||||||
|
|
||||||
|
public string Añadir(Remito t)
|
||||||
|
{
|
||||||
|
if (t == null) return "El Remito es nulo fallo la carga";
|
||||||
|
|
||||||
|
return (RepositorioRemito.Instance.Add(t)) ?
|
||||||
|
$"El remito {t.Id} se cargo correctamente":
|
||||||
|
$"Fallo la carga del remito {t.Id}";
|
||||||
|
|
||||||
|
}
|
||||||
|
public string Modificar(Remito t)
|
||||||
|
{
|
||||||
|
if (t == null) return "El Remito es nulo fallo la carga";
|
||||||
|
|
||||||
|
return (RepositorioRemito.Instance.Add(t)) ?
|
||||||
|
$"El remito {t.Id} se cargo correctamente":
|
||||||
|
$"Fallo la carga del remito {t.Id}";
|
||||||
|
|
||||||
|
}
|
||||||
|
public string Eliminar(Remito t)
|
||||||
|
{
|
||||||
|
if (t == null) return "El Remito es nulo fallo la carga";
|
||||||
|
|
||||||
|
return (RepositorioRemito.Instance.Add(t)) ?
|
||||||
|
$"El remito {t.Id} se cargo correctamente":
|
||||||
|
$"Fallo la carga del remito {t.Id}";
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
16
Controladora/Singleton.cs
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
namespace Controladora
|
||||||
|
{
|
||||||
|
public class Singleton<T> where T : new()
|
||||||
|
{
|
||||||
|
// Singleton thread-safe por si quiero usar "Parallel"
|
||||||
|
private static T instance = new T();
|
||||||
|
public static T Instance
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return instance;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
50
Controladora/bin/Debug/net6.0/Controladora.deps.json
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
{
|
||||||
|
"runtimeTarget": {
|
||||||
|
"name": ".NETCoreApp,Version=v6.0",
|
||||||
|
"signature": ""
|
||||||
|
},
|
||||||
|
"compilationOptions": {},
|
||||||
|
"targets": {
|
||||||
|
".NETCoreApp,Version=v6.0": {
|
||||||
|
"Controladora/1.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Entidades": "1.0.0",
|
||||||
|
"Modelo": "1.0.0"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"Controladora.dll": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Entidades/1.0.0": {
|
||||||
|
"runtime": {
|
||||||
|
"Entidades.dll": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Modelo/1.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"Entidades": "1.0.0"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"Modelo.dll": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"libraries": {
|
||||||
|
"Controladora/1.0.0": {
|
||||||
|
"type": "project",
|
||||||
|
"serviceable": false,
|
||||||
|
"sha512": ""
|
||||||
|
},
|
||||||
|
"Entidades/1.0.0": {
|
||||||
|
"type": "project",
|
||||||
|
"serviceable": false,
|
||||||
|
"sha512": ""
|
||||||
|
},
|
||||||
|
"Modelo/1.0.0": {
|
||||||
|
"type": "project",
|
||||||
|
"serviceable": false,
|
||||||
|
"sha512": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
Controladora/bin/Debug/net6.0/Controladora.dll
Normal file
BIN
Controladora/bin/Debug/net6.0/Controladora.pdb
Normal file
187
Controladora/obj/Controladora.csproj.nuget.dgspec.json
Normal file
@@ -0,0 +1,187 @@
|
|||||||
|
{
|
||||||
|
"format": 1,
|
||||||
|
"restore": {
|
||||||
|
"C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Controladora\\Controladora.csproj": {}
|
||||||
|
},
|
||||||
|
"projects": {
|
||||||
|
"C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Controladora\\Controladora.csproj": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"restore": {
|
||||||
|
"projectUniqueName": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Controladora\\Controladora.csproj",
|
||||||
|
"projectName": "Controladora",
|
||||||
|
"projectPath": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Controladora\\Controladora.csproj",
|
||||||
|
"packagesPath": "C:\\Users\\fedpo\\.nuget\\packages\\",
|
||||||
|
"outputPath": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Controladora\\obj\\",
|
||||||
|
"projectStyle": "PackageReference",
|
||||||
|
"configFilePaths": [
|
||||||
|
"C:\\Users\\fedpo\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
||||||
|
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
|
||||||
|
],
|
||||||
|
"originalTargetFrameworks": [
|
||||||
|
"net6.0"
|
||||||
|
],
|
||||||
|
"sources": {
|
||||||
|
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
|
||||||
|
"https://api.nuget.org/v3/index.json": {},
|
||||||
|
"https://fedesrv.ddns.net/git/api/packages/fede/nuget/index.json": {}
|
||||||
|
},
|
||||||
|
"frameworks": {
|
||||||
|
"net6.0": {
|
||||||
|
"targetAlias": "net6.0",
|
||||||
|
"projectReferences": {
|
||||||
|
"C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Entidades\\Entidades.csproj": {
|
||||||
|
"projectPath": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Entidades\\Entidades.csproj"
|
||||||
|
},
|
||||||
|
"C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Modelo\\Modelo.csproj": {
|
||||||
|
"projectPath": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Modelo\\Modelo.csproj"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"warningProperties": {
|
||||||
|
"warnAsError": [
|
||||||
|
"NU1605"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"frameworks": {
|
||||||
|
"net6.0": {
|
||||||
|
"targetAlias": "net6.0",
|
||||||
|
"imports": [
|
||||||
|
"net461",
|
||||||
|
"net462",
|
||||||
|
"net47",
|
||||||
|
"net471",
|
||||||
|
"net472",
|
||||||
|
"net48",
|
||||||
|
"net481"
|
||||||
|
],
|
||||||
|
"assetTargetFallback": true,
|
||||||
|
"warn": true,
|
||||||
|
"frameworkReferences": {
|
||||||
|
"Microsoft.NETCore.App": {
|
||||||
|
"privateAssets": "all"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.306\\RuntimeIdentifierGraph.json"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Entidades\\Entidades.csproj": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"restore": {
|
||||||
|
"projectUniqueName": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Entidades\\Entidades.csproj",
|
||||||
|
"projectName": "Entidades",
|
||||||
|
"projectPath": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Entidades\\Entidades.csproj",
|
||||||
|
"packagesPath": "C:\\Users\\fedpo\\.nuget\\packages\\",
|
||||||
|
"outputPath": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Entidades\\obj\\",
|
||||||
|
"projectStyle": "PackageReference",
|
||||||
|
"configFilePaths": [
|
||||||
|
"C:\\Users\\fedpo\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
||||||
|
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
|
||||||
|
],
|
||||||
|
"originalTargetFrameworks": [
|
||||||
|
"net6.0"
|
||||||
|
],
|
||||||
|
"sources": {
|
||||||
|
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
|
||||||
|
"https://api.nuget.org/v3/index.json": {},
|
||||||
|
"https://fedesrv.ddns.net/git/api/packages/fede/nuget/index.json": {}
|
||||||
|
},
|
||||||
|
"frameworks": {
|
||||||
|
"net6.0": {
|
||||||
|
"targetAlias": "net6.0",
|
||||||
|
"projectReferences": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"warningProperties": {
|
||||||
|
"warnAsError": [
|
||||||
|
"NU1605"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"frameworks": {
|
||||||
|
"net6.0": {
|
||||||
|
"targetAlias": "net6.0",
|
||||||
|
"imports": [
|
||||||
|
"net461",
|
||||||
|
"net462",
|
||||||
|
"net47",
|
||||||
|
"net471",
|
||||||
|
"net472",
|
||||||
|
"net48",
|
||||||
|
"net481"
|
||||||
|
],
|
||||||
|
"assetTargetFallback": true,
|
||||||
|
"warn": true,
|
||||||
|
"frameworkReferences": {
|
||||||
|
"Microsoft.NETCore.App": {
|
||||||
|
"privateAssets": "all"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.306\\RuntimeIdentifierGraph.json"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Modelo\\Modelo.csproj": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"restore": {
|
||||||
|
"projectUniqueName": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Modelo\\Modelo.csproj",
|
||||||
|
"projectName": "Modelo",
|
||||||
|
"projectPath": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Modelo\\Modelo.csproj",
|
||||||
|
"packagesPath": "C:\\Users\\fedpo\\.nuget\\packages\\",
|
||||||
|
"outputPath": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Modelo\\obj\\",
|
||||||
|
"projectStyle": "PackageReference",
|
||||||
|
"configFilePaths": [
|
||||||
|
"C:\\Users\\fedpo\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
||||||
|
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
|
||||||
|
],
|
||||||
|
"originalTargetFrameworks": [
|
||||||
|
"net6.0"
|
||||||
|
],
|
||||||
|
"sources": {
|
||||||
|
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
|
||||||
|
"https://api.nuget.org/v3/index.json": {},
|
||||||
|
"https://fedesrv.ddns.net/git/api/packages/fede/nuget/index.json": {}
|
||||||
|
},
|
||||||
|
"frameworks": {
|
||||||
|
"net6.0": {
|
||||||
|
"targetAlias": "net6.0",
|
||||||
|
"projectReferences": {
|
||||||
|
"C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Entidades\\Entidades.csproj": {
|
||||||
|
"projectPath": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Entidades\\Entidades.csproj"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"warningProperties": {
|
||||||
|
"warnAsError": [
|
||||||
|
"NU1605"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"frameworks": {
|
||||||
|
"net6.0": {
|
||||||
|
"targetAlias": "net6.0",
|
||||||
|
"imports": [
|
||||||
|
"net461",
|
||||||
|
"net462",
|
||||||
|
"net47",
|
||||||
|
"net471",
|
||||||
|
"net472",
|
||||||
|
"net48",
|
||||||
|
"net481"
|
||||||
|
],
|
||||||
|
"assetTargetFallback": true,
|
||||||
|
"warn": true,
|
||||||
|
"frameworkReferences": {
|
||||||
|
"Microsoft.NETCore.App": {
|
||||||
|
"privateAssets": "all"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.306\\RuntimeIdentifierGraph.json"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
15
Controladora/obj/Controladora.csproj.nuget.g.props
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||||
|
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||||
|
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
|
||||||
|
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
|
||||||
|
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
|
||||||
|
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
|
||||||
|
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\fedpo\.nuget\packages\</NuGetPackageFolders>
|
||||||
|
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
|
||||||
|
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.6.0</NuGetToolVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||||
|
<SourceRoot Include="C:\Users\fedpo\.nuget\packages\" />
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
||||||
2
Controladora/obj/Controladora.csproj.nuget.g.targets
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||||
|
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
// <autogenerated />
|
||||||
|
using System;
|
||||||
|
using System.Reflection;
|
||||||
|
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")]
|
||||||
23
Controladora/obj/Debug/net6.0/Controladora.AssemblyInfo.cs
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// This code was generated by a tool.
|
||||||
|
// Runtime Version:4.0.30319.42000
|
||||||
|
//
|
||||||
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
|
// the code is regenerated.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Reflection;
|
||||||
|
|
||||||
|
[assembly: System.Reflection.AssemblyCompanyAttribute("Controladora")]
|
||||||
|
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||||
|
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||||
|
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
|
||||||
|
[assembly: System.Reflection.AssemblyProductAttribute("Controladora")]
|
||||||
|
[assembly: System.Reflection.AssemblyTitleAttribute("Controladora")]
|
||||||
|
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||||
|
|
||||||
|
// Generated by the MSBuild WriteCodeFragment class.
|
||||||
|
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
f121c5eeefa8c5e39430715ad45c0dbadc6c8ad0
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
is_global = true
|
||||||
|
build_property.TargetFramework = net6.0
|
||||||
|
build_property.TargetPlatformMinVersion =
|
||||||
|
build_property.UsingMicrosoftNETSdkWeb =
|
||||||
|
build_property.ProjectTypeGuids =
|
||||||
|
build_property.InvariantGlobalization =
|
||||||
|
build_property.PlatformNeutralAssembly =
|
||||||
|
build_property.EnforceExtendedAnalyzerRules =
|
||||||
|
build_property._SupportedPlatformList = Linux,macOS,Windows
|
||||||
|
build_property.RootNamespace = Controladora
|
||||||
|
build_property.ProjectDir = C:\Users\fedpo\Downloads\final actual\final actual\Controladora\
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
// <auto-generated/>
|
||||||
|
global using global::System;
|
||||||
|
global using global::System.Collections.Generic;
|
||||||
|
global using global::System.IO;
|
||||||
|
global using global::System.Linq;
|
||||||
|
global using global::System.Net.Http;
|
||||||
|
global using global::System.Threading;
|
||||||
|
global using global::System.Threading.Tasks;
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
<<<<<<< HEAD
|
||||||
|
07cbdde4e47ec2d3a6db548797ff84a15aa08946633217fe5ed64773b3cc8491
|
||||||
|
=======
|
||||||
|
a7a9c23e29aac78d8fc99e5e2578c73ffe3d4cba
|
||||||
|
>>>>>>> 5b78d74e54350285696596720e82f5fbd99b4d02
|
||||||
@@ -0,0 +1,137 @@
|
|||||||
|
C:\Users\Nacho\Desktop\verdadero\Controladora\bin\Debug\net6.0\Controladora.deps.json
|
||||||
|
C:\Users\Nacho\Desktop\verdadero\Controladora\bin\Debug\net6.0\Controladora.dll
|
||||||
|
C:\Users\Nacho\Desktop\verdadero\Controladora\bin\Debug\net6.0\Controladora.pdb
|
||||||
|
C:\Users\Nacho\Desktop\verdadero\Controladora\obj\Debug\net6.0\Controladora.csproj.AssemblyReference.cache
|
||||||
|
C:\Users\Nacho\Desktop\verdadero\Controladora\obj\Debug\net6.0\Controladora.GeneratedMSBuildEditorConfig.editorconfig
|
||||||
|
C:\Users\Nacho\Desktop\verdadero\Controladora\obj\Debug\net6.0\Controladora.AssemblyInfoInputs.cache
|
||||||
|
C:\Users\Nacho\Desktop\verdadero\Controladora\obj\Debug\net6.0\Controladora.AssemblyInfo.cs
|
||||||
|
C:\Users\Nacho\Desktop\verdadero\Controladora\obj\Debug\net6.0\Controladora.csproj.CoreCompileInputs.cache
|
||||||
|
C:\Users\Nacho\Desktop\verdadero\Controladora\obj\Debug\net6.0\Controladora.dll
|
||||||
|
C:\Users\Nacho\Desktop\verdadero\Controladora\obj\Debug\net6.0\refint\Controladora.dll
|
||||||
|
C:\Users\Nacho\Desktop\verdadero\Controladora\obj\Debug\net6.0\Controladora.pdb
|
||||||
|
C:\Users\Nacho\Desktop\verdadero\Controladora\obj\Debug\net6.0\ref\Controladora.dll
|
||||||
|
C:\Users\Nacho\Desktop\Final\Controladora\obj\Debug\net6.0\Controladora.dll
|
||||||
|
C:\Users\Nacho\Desktop\Final\Controladora\obj\Debug\net6.0\refint\Controladora.dll
|
||||||
|
C:\Users\Nacho\Desktop\Final\Controladora\obj\Debug\net6.0\Controladora.pdb
|
||||||
|
C:\Users\Nacho\source\repos\Final\Controladora\obj\Debug\net6.0\Controladora.dll
|
||||||
|
C:\Users\Nacho\source\repos\Final\Controladora\obj\Debug\net6.0\refint\Controladora.dll
|
||||||
|
C:\Users\Nacho\source\repos\Final\Controladora\obj\Debug\net6.0\Controladora.pdb
|
||||||
|
C:\Users\Nacho\Source\Repos\Final_OOP\Controladora\obj\Debug\net6.0\Controladora.dll
|
||||||
|
C:\Users\Nacho\Source\Repos\Final_OOP\Controladora\obj\Debug\net6.0\refint\Controladora.dll
|
||||||
|
C:\Users\Nacho\Source\Repos\Final_OOP\Controladora\obj\Debug\net6.0\Controladora.pdb
|
||||||
|
C:\Users\Nacho\Source\Repos\Final_OOP\Controladora\bin\Debug\net6.0\Controladora.deps.json
|
||||||
|
C:\Users\Nacho\Source\Repos\Final_OOP\Controladora\bin\Debug\net6.0\Controladora.dll
|
||||||
|
C:\Users\Nacho\Source\Repos\Final_OOP\Controladora\bin\Debug\net6.0\Controladora.pdb
|
||||||
|
C:\Users\Nacho\Source\Repos\Final_OOP\Controladora\bin\Debug\net6.0\Entidades.dll
|
||||||
|
C:\Users\Nacho\Source\Repos\Final_OOP\Controladora\bin\Debug\net6.0\Modelo.dll
|
||||||
|
C:\Users\Nacho\Source\Repos\Final_OOP\Controladora\bin\Debug\net6.0\Modelo.pdb
|
||||||
|
C:\Users\Nacho\Source\Repos\Final_OOP\Controladora\bin\Debug\net6.0\Entidades.pdb
|
||||||
|
C:\Users\Nacho\Source\Repos\Final_OOP\Controladora\obj\Debug\net6.0\Controladora.csproj.AssemblyReference.cache
|
||||||
|
C:\Users\Nacho\Source\Repos\Final_OOP\Controladora\obj\Debug\net6.0\Controladora.GeneratedMSBuildEditorConfig.editorconfig
|
||||||
|
C:\Users\Nacho\Source\Repos\Final_OOP\Controladora\obj\Debug\net6.0\Controladora.AssemblyInfoInputs.cache
|
||||||
|
C:\Users\Nacho\Source\Repos\Final_OOP\Controladora\obj\Debug\net6.0\Controladora.AssemblyInfo.cs
|
||||||
|
C:\Users\Nacho\Source\Repos\Final_OOP\Controladora\obj\Debug\net6.0\Controladora.csproj.CoreCompileInputs.cache
|
||||||
|
C:\Users\Nacho\Source\Repos\Final_OOP\Controladora\obj\Debug\net6.0\Controla.1EE7A4DA.Up2Date
|
||||||
|
C:\Users\Nacho\Source\Repos\Final_OOP\Controladora\obj\Debug\net6.0\ref\Controladora.dll
|
||||||
|
C:\Users\fedpo\source\repos\Final_OOP\Controladora\bin\Debug\net6.0\Controladora.deps.json
|
||||||
|
C:\Users\fedpo\source\repos\Final_OOP\Controladora\bin\Debug\net6.0\Controladora.dll
|
||||||
|
C:\Users\fedpo\source\repos\Final_OOP\Controladora\bin\Debug\net6.0\Controladora.pdb
|
||||||
|
C:\Users\fedpo\source\repos\Final_OOP\Controladora\bin\Debug\net6.0\Entidades.dll
|
||||||
|
C:\Users\fedpo\source\repos\Final_OOP\Controladora\bin\Debug\net6.0\Modelo.dll
|
||||||
|
C:\Users\fedpo\source\repos\Final_OOP\Controladora\bin\Debug\net6.0\Modelo.pdb
|
||||||
|
C:\Users\fedpo\source\repos\Final_OOP\Controladora\bin\Debug\net6.0\Entidades.pdb
|
||||||
|
C:\Users\fedpo\source\repos\Final_OOP\Controladora\obj\Debug\net6.0\Controladora.csproj.AssemblyReference.cache
|
||||||
|
C:\Users\fedpo\source\repos\Final_OOP\Controladora\obj\Debug\net6.0\Controladora.GeneratedMSBuildEditorConfig.editorconfig
|
||||||
|
C:\Users\fedpo\source\repos\Final_OOP\Controladora\obj\Debug\net6.0\Controladora.AssemblyInfoInputs.cache
|
||||||
|
C:\Users\fedpo\source\repos\Final_OOP\Controladora\obj\Debug\net6.0\Controladora.AssemblyInfo.cs
|
||||||
|
C:\Users\fedpo\source\repos\Final_OOP\Controladora\obj\Debug\net6.0\Controladora.csproj.CoreCompileInputs.cache
|
||||||
|
C:\Users\fedpo\source\repos\Final_OOP\Controladora\obj\Debug\net6.0\Controladora.csproj.CopyComplete
|
||||||
|
C:\Users\fedpo\source\repos\Final_OOP\Controladora\obj\Debug\net6.0\Controladora.dll
|
||||||
|
C:\Users\fedpo\source\repos\Final_OOP\Controladora\obj\Debug\net6.0\refint\Controladora.dll
|
||||||
|
C:\Users\fedpo\source\repos\Final_OOP\Controladora\obj\Debug\net6.0\Controladora.pdb
|
||||||
|
C:\Users\fedpo\source\repos\Final_OOP\Controladora\obj\Debug\net6.0\ref\Controladora.dll
|
||||||
|
C:\Users\Nacho\Desktop\Final\Controladora\bin\Debug\net6.0\Controladora.deps.json
|
||||||
|
C:\Users\Nacho\Desktop\Final\Controladora\bin\Debug\net6.0\Controladora.dll
|
||||||
|
C:\Users\Nacho\Desktop\Final\Controladora\bin\Debug\net6.0\Controladora.pdb
|
||||||
|
C:\Users\Nacho\Desktop\Final\Controladora\bin\Debug\net6.0\Entidades.dll
|
||||||
|
C:\Users\Nacho\Desktop\Final\Controladora\bin\Debug\net6.0\Modelo.dll
|
||||||
|
C:\Users\Nacho\Desktop\Final\Controladora\bin\Debug\net6.0\Modelo.pdb
|
||||||
|
C:\Users\Nacho\Desktop\Final\Controladora\bin\Debug\net6.0\Entidades.pdb
|
||||||
|
C:\Users\Nacho\Desktop\Final\Controladora\obj\Debug\net6.0\Controladora.csproj.AssemblyReference.cache
|
||||||
|
C:\Users\Nacho\Desktop\Final\Controladora\obj\Debug\net6.0\Controladora.GeneratedMSBuildEditorConfig.editorconfig
|
||||||
|
C:\Users\Nacho\Desktop\Final\Controladora\obj\Debug\net6.0\Controladora.AssemblyInfoInputs.cache
|
||||||
|
C:\Users\Nacho\Desktop\Final\Controladora\obj\Debug\net6.0\Controladora.AssemblyInfo.cs
|
||||||
|
C:\Users\Nacho\Desktop\Final\Controladora\obj\Debug\net6.0\Controladora.csproj.CoreCompileInputs.cache
|
||||||
|
C:\Users\Nacho\Desktop\Final\Controladora\obj\Debug\net6.0\Controla.1EE7A4DA.Up2Date
|
||||||
|
C:\Users\Nacho\Desktop\Final\Controladora\obj\Debug\net6.0\ref\Controladora.dll
|
||||||
|
C:\Users\Nacho\Desktop\ASDDD\Final\Controladora\bin\Debug\net6.0\Controladora.deps.json
|
||||||
|
C:\Users\Nacho\Desktop\ASDDD\Final\Controladora\bin\Debug\net6.0\Controladora.dll
|
||||||
|
C:\Users\Nacho\Desktop\ASDDD\Final\Controladora\bin\Debug\net6.0\Controladora.pdb
|
||||||
|
C:\Users\Nacho\Desktop\ASDDD\Final\Controladora\bin\Debug\net6.0\Entidades.dll
|
||||||
|
C:\Users\Nacho\Desktop\ASDDD\Final\Controladora\bin\Debug\net6.0\Modelo.dll
|
||||||
|
C:\Users\Nacho\Desktop\ASDDD\Final\Controladora\bin\Debug\net6.0\Modelo.pdb
|
||||||
|
C:\Users\Nacho\Desktop\ASDDD\Final\Controladora\bin\Debug\net6.0\Entidades.pdb
|
||||||
|
C:\Users\Nacho\Desktop\ASDDD\Final\Controladora\obj\Debug\net6.0\Controladora.csproj.AssemblyReference.cache
|
||||||
|
C:\Users\Nacho\Desktop\ASDDD\Final\Controladora\obj\Debug\net6.0\Controladora.GeneratedMSBuildEditorConfig.editorconfig
|
||||||
|
C:\Users\Nacho\Desktop\ASDDD\Final\Controladora\obj\Debug\net6.0\Controladora.AssemblyInfoInputs.cache
|
||||||
|
C:\Users\Nacho\Desktop\ASDDD\Final\Controladora\obj\Debug\net6.0\Controladora.AssemblyInfo.cs
|
||||||
|
C:\Users\Nacho\Desktop\ASDDD\Final\Controladora\obj\Debug\net6.0\Controladora.csproj.CoreCompileInputs.cache
|
||||||
|
C:\Users\Nacho\Desktop\ASDDD\Final\Controladora\obj\Debug\net6.0\Controla.1EE7A4DA.Up2Date
|
||||||
|
C:\Users\Nacho\Desktop\ASDDD\Final\Controladora\obj\Debug\net6.0\Controladora.dll
|
||||||
|
C:\Users\Nacho\Desktop\ASDDD\Final\Controladora\obj\Debug\net6.0\refint\Controladora.dll
|
||||||
|
C:\Users\Nacho\Desktop\ASDDD\Final\Controladora\obj\Debug\net6.0\Controladora.pdb
|
||||||
|
C:\Users\Nacho\Desktop\ASDDD\Final\Controladora\obj\Debug\net6.0\ref\Controladora.dll
|
||||||
|
C:\Users\fedpo\Downloads\Final\Final\Controladora\bin\Debug\net6.0\Controladora.deps.json
|
||||||
|
C:\Users\fedpo\Downloads\Final\Final\Controladora\bin\Debug\net6.0\Controladora.dll
|
||||||
|
C:\Users\fedpo\Downloads\Final\Final\Controladora\bin\Debug\net6.0\Controladora.pdb
|
||||||
|
C:\Users\fedpo\Downloads\Final\Final\Controladora\bin\Debug\net6.0\Entidades.dll
|
||||||
|
C:\Users\fedpo\Downloads\Final\Final\Controladora\bin\Debug\net6.0\Modelo.dll
|
||||||
|
C:\Users\fedpo\Downloads\Final\Final\Controladora\bin\Debug\net6.0\Modelo.pdb
|
||||||
|
C:\Users\fedpo\Downloads\Final\Final\Controladora\bin\Debug\net6.0\Entidades.pdb
|
||||||
|
C:\Users\fedpo\Downloads\Final\Final\Controladora\obj\Debug\net6.0\Controladora.csproj.AssemblyReference.cache
|
||||||
|
C:\Users\fedpo\Downloads\Final\Final\Controladora\obj\Debug\net6.0\Controladora.GeneratedMSBuildEditorConfig.editorconfig
|
||||||
|
C:\Users\fedpo\Downloads\Final\Final\Controladora\obj\Debug\net6.0\Controladora.AssemblyInfoInputs.cache
|
||||||
|
C:\Users\fedpo\Downloads\Final\Final\Controladora\obj\Debug\net6.0\Controladora.AssemblyInfo.cs
|
||||||
|
C:\Users\fedpo\Downloads\Final\Final\Controladora\obj\Debug\net6.0\Controladora.csproj.CoreCompileInputs.cache
|
||||||
|
C:\Users\fedpo\Downloads\Final\Final\Controladora\obj\Debug\net6.0\Controladora.csproj.CopyComplete
|
||||||
|
C:\Users\fedpo\Downloads\Final\Final\Controladora\obj\Debug\net6.0\Controladora.dll
|
||||||
|
C:\Users\fedpo\Downloads\Final\Final\Controladora\obj\Debug\net6.0\refint\Controladora.dll
|
||||||
|
C:\Users\fedpo\Downloads\Final\Final\Controladora\obj\Debug\net6.0\Controladora.pdb
|
||||||
|
C:\Users\fedpo\Downloads\Final\Final\Controladora\obj\Debug\net6.0\ref\Controladora.dll
|
||||||
|
C:\Users\Nacho\Desktop\final actual\Controladora\bin\Debug\net6.0\Controladora.deps.json
|
||||||
|
C:\Users\Nacho\Desktop\final actual\Controladora\bin\Debug\net6.0\Controladora.dll
|
||||||
|
C:\Users\Nacho\Desktop\final actual\Controladora\bin\Debug\net6.0\Controladora.pdb
|
||||||
|
C:\Users\Nacho\Desktop\final actual\Controladora\bin\Debug\net6.0\Entidades.dll
|
||||||
|
C:\Users\Nacho\Desktop\final actual\Controladora\bin\Debug\net6.0\Modelo.dll
|
||||||
|
C:\Users\Nacho\Desktop\final actual\Controladora\bin\Debug\net6.0\Modelo.pdb
|
||||||
|
C:\Users\Nacho\Desktop\final actual\Controladora\bin\Debug\net6.0\Entidades.pdb
|
||||||
|
C:\Users\Nacho\Desktop\final actual\Controladora\obj\Debug\net6.0\Controladora.csproj.AssemblyReference.cache
|
||||||
|
C:\Users\Nacho\Desktop\final actual\Controladora\obj\Debug\net6.0\Controladora.GeneratedMSBuildEditorConfig.editorconfig
|
||||||
|
C:\Users\Nacho\Desktop\final actual\Controladora\obj\Debug\net6.0\Controladora.AssemblyInfoInputs.cache
|
||||||
|
C:\Users\Nacho\Desktop\final actual\Controladora\obj\Debug\net6.0\Controladora.AssemblyInfo.cs
|
||||||
|
C:\Users\Nacho\Desktop\final actual\Controladora\obj\Debug\net6.0\Controladora.csproj.CoreCompileInputs.cache
|
||||||
|
C:\Users\Nacho\Desktop\final actual\Controladora\obj\Debug\net6.0\Controla.1EE7A4DA.Up2Date
|
||||||
|
C:\Users\Nacho\Desktop\final actual\Controladora\obj\Debug\net6.0\Controladora.dll
|
||||||
|
C:\Users\Nacho\Desktop\final actual\Controladora\obj\Debug\net6.0\refint\Controladora.dll
|
||||||
|
C:\Users\Nacho\Desktop\final actual\Controladora\obj\Debug\net6.0\Controladora.pdb
|
||||||
|
C:\Users\Nacho\Desktop\final actual\Controladora\obj\Debug\net6.0\ref\Controladora.dll
|
||||||
|
<<<<<<< HEAD
|
||||||
|
=======
|
||||||
|
C:\Users\fedpo\Downloads\final actual\final actual\Controladora\bin\Debug\net6.0\Controladora.deps.json
|
||||||
|
C:\Users\fedpo\Downloads\final actual\final actual\Controladora\bin\Debug\net6.0\Controladora.dll
|
||||||
|
C:\Users\fedpo\Downloads\final actual\final actual\Controladora\bin\Debug\net6.0\Controladora.pdb
|
||||||
|
C:\Users\fedpo\Downloads\final actual\final actual\Controladora\bin\Debug\net6.0\Entidades.dll
|
||||||
|
C:\Users\fedpo\Downloads\final actual\final actual\Controladora\bin\Debug\net6.0\Modelo.dll
|
||||||
|
C:\Users\fedpo\Downloads\final actual\final actual\Controladora\bin\Debug\net6.0\Modelo.pdb
|
||||||
|
C:\Users\fedpo\Downloads\final actual\final actual\Controladora\bin\Debug\net6.0\Entidades.pdb
|
||||||
|
C:\Users\fedpo\Downloads\final actual\final actual\Controladora\obj\Debug\net6.0\Controladora.csproj.AssemblyReference.cache
|
||||||
|
C:\Users\fedpo\Downloads\final actual\final actual\Controladora\obj\Debug\net6.0\Controladora.GeneratedMSBuildEditorConfig.editorconfig
|
||||||
|
C:\Users\fedpo\Downloads\final actual\final actual\Controladora\obj\Debug\net6.0\Controladora.AssemblyInfoInputs.cache
|
||||||
|
C:\Users\fedpo\Downloads\final actual\final actual\Controladora\obj\Debug\net6.0\Controladora.AssemblyInfo.cs
|
||||||
|
C:\Users\fedpo\Downloads\final actual\final actual\Controladora\obj\Debug\net6.0\Controladora.csproj.CoreCompileInputs.cache
|
||||||
|
C:\Users\fedpo\Downloads\final actual\final actual\Controladora\obj\Debug\net6.0\Controladora.csproj.CopyComplete
|
||||||
|
C:\Users\fedpo\Downloads\final actual\final actual\Controladora\obj\Debug\net6.0\Controladora.dll
|
||||||
|
C:\Users\fedpo\Downloads\final actual\final actual\Controladora\obj\Debug\net6.0\refint\Controladora.dll
|
||||||
|
C:\Users\fedpo\Downloads\final actual\final actual\Controladora\obj\Debug\net6.0\Controladora.pdb
|
||||||
|
C:\Users\fedpo\Downloads\final actual\final actual\Controladora\obj\Debug\net6.0\ref\Controladora.dll
|
||||||
|
>>>>>>> 5b78d74e54350285696596720e82f5fbd99b4d02
|
||||||
BIN
Controladora/obj/Debug/net6.0/Controladora.dll
Normal file
BIN
Controladora/obj/Debug/net6.0/Controladora.pdb
Normal file
BIN
Controladora/obj/Debug/net6.0/ref/Controladora.dll
Normal file
BIN
Controladora/obj/Debug/net6.0/refint/Controladora.dll
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
// <autogenerated />
|
||||||
|
using System;
|
||||||
|
using System.Reflection;
|
||||||
|
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")]
|
||||||
23
Controladora/obj/Release/net6.0/Controladora.AssemblyInfo.cs
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// Este código fue generado por una herramienta.
|
||||||
|
// Versión de runtime:4.0.30319.42000
|
||||||
|
//
|
||||||
|
// Los cambios en este archivo podrían causar un comportamiento incorrecto y se perderán si
|
||||||
|
// se vuelve a generar el código.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Reflection;
|
||||||
|
|
||||||
|
[assembly: System.Reflection.AssemblyCompanyAttribute("Controladora")]
|
||||||
|
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
|
||||||
|
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||||
|
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+abfd18e86f40a98925507ec03c2e8832ee47a3eb")]
|
||||||
|
[assembly: System.Reflection.AssemblyProductAttribute("Controladora")]
|
||||||
|
[assembly: System.Reflection.AssemblyTitleAttribute("Controladora")]
|
||||||
|
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||||
|
|
||||||
|
// Generado por la clase WriteCodeFragment de MSBuild.
|
||||||
|
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
1300c7ac552248a2e20058b6f2d7f7eb38539ca91bc222d9d6bfd7bbcb24e9ab
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
is_global = true
|
||||||
|
build_property.TargetFramework = net6.0
|
||||||
|
build_property.TargetPlatformMinVersion =
|
||||||
|
build_property.UsingMicrosoftNETSdkWeb =
|
||||||
|
build_property.ProjectTypeGuids =
|
||||||
|
build_property.InvariantGlobalization =
|
||||||
|
build_property.PlatformNeutralAssembly =
|
||||||
|
build_property.EnforceExtendedAnalyzerRules =
|
||||||
|
build_property._SupportedPlatformList = Linux,macOS,Windows
|
||||||
|
build_property.RootNamespace = Controladora
|
||||||
|
build_property.ProjectDir = C:\Users\Nacho\source\repos\Final\Controladora\
|
||||||
|
build_property.EnableComHosting =
|
||||||
|
build_property.EnableGeneratedComInterfaceComImportInterop =
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
// <auto-generated/>
|
||||||
|
global using global::System;
|
||||||
|
global using global::System.Collections.Generic;
|
||||||
|
global using global::System.IO;
|
||||||
|
global using global::System.Linq;
|
||||||
|
global using global::System.Net.Http;
|
||||||
|
global using global::System.Threading;
|
||||||
|
global using global::System.Threading.Tasks;
|
||||||
BIN
Controladora/obj/Release/net6.0/Controladora.assets.cache
Normal file
114
Controladora/obj/project.assets.json
Normal file
@@ -0,0 +1,114 @@
|
|||||||
|
{
|
||||||
|
"version": 3,
|
||||||
|
"targets": {
|
||||||
|
"net6.0": {
|
||||||
|
"Entidades/1.0.0": {
|
||||||
|
"type": "project",
|
||||||
|
"framework": ".NETCoreApp,Version=v6.0",
|
||||||
|
"compile": {
|
||||||
|
"bin/placeholder/Entidades.dll": {}
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"bin/placeholder/Entidades.dll": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Modelo/1.0.0": {
|
||||||
|
"type": "project",
|
||||||
|
"framework": ".NETCoreApp,Version=v6.0",
|
||||||
|
"dependencies": {
|
||||||
|
"Entidades": "1.0.0"
|
||||||
|
},
|
||||||
|
"compile": {
|
||||||
|
"bin/placeholder/Modelo.dll": {}
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"bin/placeholder/Modelo.dll": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"libraries": {
|
||||||
|
"Entidades/1.0.0": {
|
||||||
|
"type": "project",
|
||||||
|
"path": "../Entidades/Entidades.csproj",
|
||||||
|
"msbuildProject": "../Entidades/Entidades.csproj"
|
||||||
|
},
|
||||||
|
"Modelo/1.0.0": {
|
||||||
|
"type": "project",
|
||||||
|
"path": "../Modelo/Modelo.csproj",
|
||||||
|
"msbuildProject": "../Modelo/Modelo.csproj"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"projectFileDependencyGroups": {
|
||||||
|
"net6.0": [
|
||||||
|
"Entidades >= 1.0.0",
|
||||||
|
"Modelo >= 1.0.0"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"packageFolders": {
|
||||||
|
"C:\\Users\\fedpo\\.nuget\\packages\\": {}
|
||||||
|
},
|
||||||
|
"project": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"restore": {
|
||||||
|
"projectUniqueName": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Controladora\\Controladora.csproj",
|
||||||
|
"projectName": "Controladora",
|
||||||
|
"projectPath": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Controladora\\Controladora.csproj",
|
||||||
|
"packagesPath": "C:\\Users\\fedpo\\.nuget\\packages\\",
|
||||||
|
"outputPath": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Controladora\\obj\\",
|
||||||
|
"projectStyle": "PackageReference",
|
||||||
|
"configFilePaths": [
|
||||||
|
"C:\\Users\\fedpo\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
||||||
|
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
|
||||||
|
],
|
||||||
|
"originalTargetFrameworks": [
|
||||||
|
"net6.0"
|
||||||
|
],
|
||||||
|
"sources": {
|
||||||
|
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
|
||||||
|
"https://api.nuget.org/v3/index.json": {},
|
||||||
|
"https://fedesrv.ddns.net/git/api/packages/fede/nuget/index.json": {}
|
||||||
|
},
|
||||||
|
"frameworks": {
|
||||||
|
"net6.0": {
|
||||||
|
"targetAlias": "net6.0",
|
||||||
|
"projectReferences": {
|
||||||
|
"C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Entidades\\Entidades.csproj": {
|
||||||
|
"projectPath": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Entidades\\Entidades.csproj"
|
||||||
|
},
|
||||||
|
"C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Modelo\\Modelo.csproj": {
|
||||||
|
"projectPath": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Modelo\\Modelo.csproj"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"warningProperties": {
|
||||||
|
"warnAsError": [
|
||||||
|
"NU1605"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"frameworks": {
|
||||||
|
"net6.0": {
|
||||||
|
"targetAlias": "net6.0",
|
||||||
|
"imports": [
|
||||||
|
"net461",
|
||||||
|
"net462",
|
||||||
|
"net47",
|
||||||
|
"net471",
|
||||||
|
"net472",
|
||||||
|
"net48",
|
||||||
|
"net481"
|
||||||
|
],
|
||||||
|
"assetTargetFallback": true,
|
||||||
|
"warn": true,
|
||||||
|
"frameworkReferences": {
|
||||||
|
"Microsoft.NETCore.App": {
|
||||||
|
"privateAssets": "all"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.306\\RuntimeIdentifierGraph.json"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
8
Controladora/obj/project.nuget.cache
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"version": 2,
|
||||||
|
"dgSpecHash": "AVYTA+Cdyhg6wCEQPUiY9Zgnvl4qcFZo9nD09bdg1F+72oerfmmuZj274FC2KL/pXGSF1iqxwV37ZtH0RMkuXw==",
|
||||||
|
"success": true,
|
||||||
|
"projectFilePath": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Controladora\\Controladora.csproj",
|
||||||
|
"expectedPackageFiles": [],
|
||||||
|
"logs": []
|
||||||
|
}
|
||||||
|
Before Width: | Height: | Size: 95 KiB |
BIN
Documentacion/CasosDeUso/CargaPresupuesto.jpg
Normal file
|
After Width: | Height: | Size: 11 KiB |
258
Documentacion/CasosDeUso/CasosDeUso.org
Normal file
@@ -0,0 +1,258 @@
|
|||||||
|
#+title: Casos De Uso
|
||||||
|
|
||||||
|
* Empleado Gestiona un Producto
|
||||||
|
#+begin_src plantuml :file registroProducto.jpg
|
||||||
|
@startuml
|
||||||
|
left to right direction
|
||||||
|
actor "Empleado" <<Persona>> as fc
|
||||||
|
rectangle GestionProductos {
|
||||||
|
usecase "Gestionar Productos" as UC1
|
||||||
|
usecase "Listar Productos" as UC2
|
||||||
|
usecase "Modificar Productos" as UC3
|
||||||
|
usecase "Eliminar Producto" as UC4
|
||||||
|
usecase "Registrar Producto" as UC5
|
||||||
|
usecase "Seleccionar Proveedor" as uc7
|
||||||
|
usecase "Gestionar Categorias" as uc6
|
||||||
|
}
|
||||||
|
fc --> UC1
|
||||||
|
UC1 ..> UC2: "include"
|
||||||
|
UC3 ..> UC1: "extend"
|
||||||
|
UC4 ..> UC1: "extend"
|
||||||
|
UC5 ..> UC1: "extend"
|
||||||
|
UC5 ..> uc7: "include"
|
||||||
|
|
||||||
|
UC3 .> uc6: "include"
|
||||||
|
UC5 .> uc6: "include"
|
||||||
|
@enduml
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+RESULTS:
|
||||||
|
[[file:registroProducto.jpg]]
|
||||||
|
|
||||||
|
* Empleado Gestion Categorias
|
||||||
|
#+begin_src plantuml :file RegistroCategorias.jpg
|
||||||
|
@startuml
|
||||||
|
actor "Empleado" <<Persona>> as fc
|
||||||
|
rectangle RegistrarCategorias {
|
||||||
|
usecase "Gestionar Categorias" as UC1
|
||||||
|
usecase "Eliminar Categoria" as UC4
|
||||||
|
usecase "Registrar Categoria" as UC5
|
||||||
|
}
|
||||||
|
fc --> UC1
|
||||||
|
UC4 ..> UC1: "extend"
|
||||||
|
UC5 ..> UC1: "extend"
|
||||||
|
@enduml
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+RESULTS:
|
||||||
|
[[file:RegistroCategorias.jpg]]
|
||||||
|
|
||||||
|
* Empleado Registra Facturas
|
||||||
|
#+begin_src plantuml :file RegistroFacturas.jpg
|
||||||
|
@startuml
|
||||||
|
left to right direction
|
||||||
|
actor "Empleado" <<Persona>> as fc
|
||||||
|
rectangle RegistrarFacturas {
|
||||||
|
usecase "Gestionar Facturas" as uc0
|
||||||
|
usecase "Registrar Factura" as UC1
|
||||||
|
usecase "Listar Productos Con Existencias" as UC2
|
||||||
|
usecase "Filtrar Producto Por Categoria" as uc3
|
||||||
|
usecase "Descontar Stock" as uc4
|
||||||
|
}
|
||||||
|
|
||||||
|
fc --> uc0
|
||||||
|
uc0 <.. UC1: "extend"
|
||||||
|
uc0 ..> UC2: "include"
|
||||||
|
UC2 ..> uc3: "include"
|
||||||
|
UC1 ..> uc4: "include"
|
||||||
|
@enduml
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+RESULTS:
|
||||||
|
[[file:RegistroFacturas.jpg]]
|
||||||
|
|
||||||
|
* Empleado Registra Ordenes de Compra
|
||||||
|
#+begin_src plantuml :file RegistroOrdenDeCompra.jpg
|
||||||
|
@startuml
|
||||||
|
left to right direction
|
||||||
|
actor "Empleado" <<Persona>> as fc
|
||||||
|
rectangle RegistrarOrdendeCompra {
|
||||||
|
usecase "Gestionar OrdenDeCompra" as uc0
|
||||||
|
usecase "Registrar OrdenDeCompra" as UC1
|
||||||
|
usecase "Seleccionar Presupuesto" as uc3
|
||||||
|
usecase "Listar Ordenes" as UC2
|
||||||
|
}
|
||||||
|
|
||||||
|
fc --> uc0
|
||||||
|
uc0 <.. UC1: "extend"
|
||||||
|
uc0 ..> UC2: "include"
|
||||||
|
UC1 ..> uc3: "include"
|
||||||
|
@enduml
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+RESULTS:
|
||||||
|
[[file:RegistroOrdenDeCompra.jpg]]
|
||||||
|
|
||||||
|
* Empleado Registra Remito
|
||||||
|
#+begin_src plantuml :file RegistroRemito.jpg
|
||||||
|
@startuml
|
||||||
|
left to right direction
|
||||||
|
actor "Empleado" <<Persona>> as fc
|
||||||
|
rectangle RegistroRemito {
|
||||||
|
usecase "Gestionar Remitos" as uc0
|
||||||
|
usecase "Registrar Remito" as UC1
|
||||||
|
usecase "Aumentar Stock" as uc3
|
||||||
|
usecase "Listar Remitos" as uc4
|
||||||
|
}
|
||||||
|
|
||||||
|
fc --> uc0
|
||||||
|
uc0 ..> uc4: "include"
|
||||||
|
uc0 <.. UC1: "extend"
|
||||||
|
UC1 ..> uc3: "include"
|
||||||
|
@enduml
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+RESULTS:
|
||||||
|
[[file:RegistroRemito.jpg]]
|
||||||
|
|
||||||
|
* Se pide un Presupuesto
|
||||||
|
#+begin_src plantuml :file PedidoPresupuesto.jpg
|
||||||
|
@startuml
|
||||||
|
left to right direction
|
||||||
|
actor "Empleado" <<Persona>> as fc
|
||||||
|
rectangle RegistroRemito {
|
||||||
|
usecase "Gestionar Pedidos de Presupuesto" as uc0
|
||||||
|
usecase "Enviar Pedido de Presupuesto" as uc1
|
||||||
|
usecase "Registrar Pedido de Presupuesto" as uc3
|
||||||
|
}
|
||||||
|
|
||||||
|
fc --> uc0
|
||||||
|
uc0 <.. uc3: "extend"
|
||||||
|
uc1 ..> uc3: "include"
|
||||||
|
@enduml
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+RESULTS:
|
||||||
|
[[file:PedidoPresupuesto.jpg]]
|
||||||
|
|
||||||
|
* Carga de presupuesto enviado por un proveedor
|
||||||
|
#+begin_src plantuml :file CargaPresupuesto.jpg
|
||||||
|
@startuml
|
||||||
|
left to right direction
|
||||||
|
actor "Empleado" <<Persona>> as fc
|
||||||
|
rectangle RegistroRemito {
|
||||||
|
usecase "Gestionar Presupuestos" as uc0
|
||||||
|
usecase "Registrar Presupuesto" as uc1
|
||||||
|
}
|
||||||
|
|
||||||
|
fc --> uc0
|
||||||
|
uc0 <.. uc1: "extend"
|
||||||
|
@enduml
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+RESULTS:
|
||||||
|
[[file:CargaPresupuesto.jpg]]
|
||||||
|
|
||||||
|
|
||||||
|
* Informar pocos productos en stock
|
||||||
|
#+begin_src plantuml :file Informe.jpg
|
||||||
|
actor "Sistema" <<Programa>> as pr
|
||||||
|
|
||||||
|
rectangle "Aviso Stock Restante" {
|
||||||
|
note "<<Invariable>>\n producto->stock <= producto->umbralAvisoStock" as n1
|
||||||
|
|
||||||
|
usecase "Checkear Stock" as uc0
|
||||||
|
usecase "Enviar Informe" as uc1
|
||||||
|
|
||||||
|
usecase "Enviar Mail" as uc2
|
||||||
|
usecase "Mostrar MessageBox" as uc3
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
pr --> uc0
|
||||||
|
uc1 ..> uc0: "extend"
|
||||||
|
uc1 ..> uc2: "include"
|
||||||
|
uc1 ..> uc3: "include"
|
||||||
|
|
||||||
|
n1 .. uc0
|
||||||
|
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+RESULTS:
|
||||||
|
[[file:Informe.jpg]]
|
||||||
|
|
||||||
|
|
||||||
|
* Gestionar Mails de Informes
|
||||||
|
#+begin_src plantuml :file GestionMails.jpg
|
||||||
|
@startuml
|
||||||
|
actor "Empleado" <<Persona>> as cl
|
||||||
|
|
||||||
|
rectangle "Gestion Mails" {
|
||||||
|
usecase "Gestionar Mails" as UC1
|
||||||
|
usecase "Listar Mails" as UC2
|
||||||
|
usecase "Modificar Mails" as UC3
|
||||||
|
usecase "Eliminar Mail" as UC4
|
||||||
|
usecase "Registrar Mail" as UC5
|
||||||
|
}
|
||||||
|
|
||||||
|
left to right direction
|
||||||
|
cl --> UC1
|
||||||
|
UC1 ..> UC2: "include"
|
||||||
|
UC1 <.. UC3: "extend"
|
||||||
|
UC1 <.. UC4: "extend"
|
||||||
|
UC1 <.. UC5: "extend"
|
||||||
|
@enduml
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+RESULTS:
|
||||||
|
[[file:GestionMails.jpg]]
|
||||||
|
|
||||||
|
* Empleado Registra Proveedor
|
||||||
|
#+begin_src plantuml :file GestionProveedor.jpg
|
||||||
|
@startuml
|
||||||
|
actor "Empleado" <<Persona>> as cl
|
||||||
|
|
||||||
|
rectangle "Gestion Proveedor" {
|
||||||
|
usecase "Gestionar Proveedor" as UC1
|
||||||
|
usecase "Listar Proveedor" as UC2
|
||||||
|
usecase "Modificar Proveedor" as UC3
|
||||||
|
usecase "Eliminar Proveedor" as UC4
|
||||||
|
usecase "Registrar Proveedor" as UC5
|
||||||
|
}
|
||||||
|
|
||||||
|
left to right direction
|
||||||
|
cl --> UC1
|
||||||
|
UC1 ..> UC2: "include"
|
||||||
|
UC1 <.. UC3: "extend"
|
||||||
|
UC1 <.. UC4: "extend"
|
||||||
|
UC1 <.. UC5: "extend"
|
||||||
|
@enduml
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+RESULTS:
|
||||||
|
[[file:GestionProveedor.jpg]]
|
||||||
|
|
||||||
|
* Empleado Registra Cliente
|
||||||
|
#+begin_src plantuml :file GestionCliente.jpg
|
||||||
|
@startuml
|
||||||
|
actor "Empleado" <<Persona>> as cl
|
||||||
|
|
||||||
|
rectangle "Gestion Cliente" {
|
||||||
|
usecase "Gestionar Cliente" as UC1
|
||||||
|
usecase "Listar Cliente" as UC2
|
||||||
|
usecase "Modificar Cliente" as UC3
|
||||||
|
usecase "Eliminar Cliente" as UC4
|
||||||
|
usecase "Registrar Cliente" as UC5
|
||||||
|
}
|
||||||
|
|
||||||
|
left to right direction
|
||||||
|
cl --> UC1
|
||||||
|
UC1 ..> UC2: "include"
|
||||||
|
UC1 <.. UC3: "extend"
|
||||||
|
UC1 <.. UC4: "extend"
|
||||||
|
UC1 <.. UC5: "extend"
|
||||||
|
@enduml
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+RESULTS:
|
||||||
|
[[file:GestionCliente.jpg]]
|
||||||
BIN
Documentacion/CasosDeUso/CasosDeUso.pdf
Normal file
BIN
Documentacion/CasosDeUso/GestionCliente.jpg
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
Documentacion/CasosDeUso/GestionMails.jpg
Normal file
|
After Width: | Height: | Size: 23 KiB |
BIN
Documentacion/CasosDeUso/GestionProveedor.jpg
Normal file
|
After Width: | Height: | Size: 26 KiB |
BIN
Documentacion/CasosDeUso/Informe.jpg
Normal file
|
After Width: | Height: | Size: 26 KiB |
BIN
Documentacion/CasosDeUso/PedidoPresupuesto.jpg
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
Documentacion/CasosDeUso/RegistroCategorias.jpg
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
Documentacion/CasosDeUso/RegistroFacturas.jpg
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
Documentacion/CasosDeUso/RegistroOrdenDeCompra.jpg
Normal file
|
After Width: | Height: | Size: 23 KiB |
BIN
Documentacion/CasosDeUso/RegistroRemito.jpg
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
Documentacion/CasosDeUso/registroProducto.jpg
Normal file
|
After Width: | Height: | Size: 38 KiB |
BIN
Documentacion/DiagramaSecuencia/GestionCategorias.jpg
Normal file
|
After Width: | Height: | Size: 60 KiB |
BIN
Documentacion/DiagramaSecuencia/GestionFacturas.jpg
Normal file
|
After Width: | Height: | Size: 38 KiB |
BIN
Documentacion/DiagramaSecuencia/GestionMails.jpg
Normal file
|
After Width: | Height: | Size: 64 KiB |
BIN
Documentacion/DiagramaSecuencia/GestionProducto.jpg
Normal file
|
After Width: | Height: | Size: 81 KiB |
246
Documentacion/DiagramaSecuencia/diagramaSecuencia.org
Normal file
@@ -0,0 +1,246 @@
|
|||||||
|
#+title: Diagrama Secuencia
|
||||||
|
|
||||||
|
* Usuario Gestiona un Producto
|
||||||
|
#+begin_src plantuml :file GestionProducto.jpg
|
||||||
|
@startuml
|
||||||
|
actor "Cliente" as cl
|
||||||
|
boundary "FormProductos" as fps
|
||||||
|
boundary "FormProducto" as fp
|
||||||
|
|
||||||
|
control "Controladora Producto" as gp
|
||||||
|
entity "Repo Productos" as rp
|
||||||
|
|
||||||
|
group "Registrar Nuevo Producto"
|
||||||
|
cl -> fps: Registrar Producto
|
||||||
|
fps -> fp: RegistrarProducto()
|
||||||
|
fp -> gp: AñadirProducto(:Producto)
|
||||||
|
gp -> rp: Add(:Producto)
|
||||||
|
|
||||||
|
alt ok case
|
||||||
|
rp --> gp: 👍
|
||||||
|
gp --> fp: "Se añadió el producto"
|
||||||
|
else algo fallo
|
||||||
|
rp --> gp: 👎
|
||||||
|
gp --> fp: "Falló la carga"
|
||||||
|
end
|
||||||
|
|
||||||
|
fp --> fps: ok
|
||||||
|
|
||||||
|
group "Refesh Productos"
|
||||||
|
fps -> fps: RefreshGUI()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
group "Modificar Producto"
|
||||||
|
cl -> fps: Modificar Producto
|
||||||
|
fps -> fp: ModificarProducto(:Producto)
|
||||||
|
fp -> gp: ModificarProducto(:Producto)
|
||||||
|
gp -> rp: Mod(:Producto)
|
||||||
|
|
||||||
|
alt ok case
|
||||||
|
rp --> gp: 👍
|
||||||
|
gp --> fp: "Se Modificó el producto"
|
||||||
|
else algo fallo
|
||||||
|
rp --> gp: 👎
|
||||||
|
gp --> fp: "Falló Modificacion"
|
||||||
|
end
|
||||||
|
|
||||||
|
fp --> fps: ok
|
||||||
|
|
||||||
|
group "Refesh Productos"
|
||||||
|
fps -> fps: RefreshGUI()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
group "Eliminar Producto"
|
||||||
|
cl -> fps: Eliminar Producto
|
||||||
|
fps -> gp: EliminarProducto(:Producto)
|
||||||
|
gp -> rp: Del(:Producto)
|
||||||
|
|
||||||
|
alt ok case
|
||||||
|
rp --> gp: 👍
|
||||||
|
gp --> fp: "Se eliminó el producto"
|
||||||
|
else algo fallo
|
||||||
|
rp --> gp: 👎
|
||||||
|
gp --> fp: "Falló la Baja del producto"
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
group "Refesh Productos"
|
||||||
|
fps -> fps: RefreshGUI()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
@enduml
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+RESULTS:
|
||||||
|
[[file:GestionProducto.jpg]]
|
||||||
|
|
||||||
|
* Usuario Gestiona Categorias
|
||||||
|
#+begin_src plantuml :file GestionCategorias.jpg
|
||||||
|
@startuml
|
||||||
|
actor "Cliente" as cl
|
||||||
|
boundary "FormCategorias" as fcs
|
||||||
|
boundary "FormCategoria" as fc
|
||||||
|
|
||||||
|
control "Controladora Categorias" as gc
|
||||||
|
entity "Repo Categorias" as rc
|
||||||
|
|
||||||
|
group "Añadir Categoria"
|
||||||
|
cl -> fcs: Añadir Categoria
|
||||||
|
fcs -> fc: RegistrarCategoria()
|
||||||
|
fc -> gc: RegistrarCategoria(:Categoria)
|
||||||
|
gc -> rc: Add(:Categoria)
|
||||||
|
|
||||||
|
alt ok case
|
||||||
|
rc --> gc: 👍
|
||||||
|
gc --> fc: "Se añadió la Categoria"
|
||||||
|
else algo fallo
|
||||||
|
rc --> gc: 👎
|
||||||
|
gc --> fc: "Falló la carga"
|
||||||
|
end
|
||||||
|
fc --> fcs: ok
|
||||||
|
group "Refrescar Categorias"
|
||||||
|
fcs -> fcs: RefreshGUI()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
group "Eliminar Categoria"
|
||||||
|
cl -> fcs: Eliminar Categoria
|
||||||
|
fcs -> fc: RegistrarCategoria()
|
||||||
|
fc -> gc: RegistrarCategoria(:Categoria)
|
||||||
|
gc -> rc: Add(:Categoria)
|
||||||
|
|
||||||
|
alt ok case
|
||||||
|
rc --> gc: 👍
|
||||||
|
gc --> fc: "Se Eliminó la Categoria"
|
||||||
|
else algo fallo
|
||||||
|
rc --> gc: 👎
|
||||||
|
gc --> fc: "Falló la Baja"
|
||||||
|
end
|
||||||
|
fc --> fcs: ok
|
||||||
|
group "Refrescar Categorias"
|
||||||
|
fcs -> fcs: RefreshGUI()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
@enduml
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+RESULTS:
|
||||||
|
[[file:GestionCategorias.jpg]]
|
||||||
|
|
||||||
|
* Usuario Registra Facturas
|
||||||
|
#+begin_src plantuml :file GestionFacturas.jpg
|
||||||
|
@startuml
|
||||||
|
actor "Cliente" as cl
|
||||||
|
boundary "FormFacturas" as fcs
|
||||||
|
boundary "FormFactura" as fc
|
||||||
|
|
||||||
|
control "Controladora Facturas" as gc
|
||||||
|
entity "Repo Facturas" as rc
|
||||||
|
|
||||||
|
group "Añadir Factura"
|
||||||
|
cl -> fcs: Añadir Factura
|
||||||
|
fcs -> fc: RegistrarFactura()
|
||||||
|
fc -> gc: RegistrarFactura(:Factura)
|
||||||
|
gc -> rc: Add(:Factura)
|
||||||
|
|
||||||
|
alt ok case
|
||||||
|
rc --> gc: 👍
|
||||||
|
else algo fallo
|
||||||
|
rc --> gc: 👎
|
||||||
|
end
|
||||||
|
gc -> rc: DescontarStock(:Factura)
|
||||||
|
|
||||||
|
alt ok case
|
||||||
|
rc --> gc: 👍
|
||||||
|
else algo fallo
|
||||||
|
rc --> gc: 👎
|
||||||
|
end
|
||||||
|
|
||||||
|
gc --> fc: ok
|
||||||
|
|
||||||
|
fc --> fcs: ok
|
||||||
|
group "Refrescar Facturas"
|
||||||
|
fcs -> fcs: RefreshGUI()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
@enduml
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+RESULTS:
|
||||||
|
[[file:GestionFacturas.jpg]]
|
||||||
|
|
||||||
|
* Gestion de Mails para informes
|
||||||
|
#+begin_src plantuml :file GestionMails.jpg
|
||||||
|
@startuml
|
||||||
|
actor "Cliente" as cl
|
||||||
|
boundary "FormGestionMails" as fps
|
||||||
|
|
||||||
|
control "ControladoraGestionMails" as gp
|
||||||
|
entity "RepoMails" as rp
|
||||||
|
|
||||||
|
group "Registrar Nuevo Mails"
|
||||||
|
cl -> fps: Registrar Mail
|
||||||
|
fps -> gp: RegistrarMail(:Mail)
|
||||||
|
gp -> rp: Add(:Mail)
|
||||||
|
|
||||||
|
alt ok case
|
||||||
|
rp --> gp: 👍
|
||||||
|
gp --> fps: "Se añadió el Mail"
|
||||||
|
else algo fallo
|
||||||
|
rp --> gp: 👎
|
||||||
|
gp --> fps: "Falló la carga"
|
||||||
|
end
|
||||||
|
|
||||||
|
group "Refesh Mails"
|
||||||
|
fps -> fps: RefreshGUI()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
group "Modificar Mail"
|
||||||
|
cl -> fps: Modificar Mail
|
||||||
|
fps -> gp: ModificarMail(:Mail)
|
||||||
|
gp -> rp: Mod(:Mail)
|
||||||
|
|
||||||
|
alt ok case
|
||||||
|
rp --> gp: 👍
|
||||||
|
gp --> fps: "Se Modificó el Mail"
|
||||||
|
else algo fallo
|
||||||
|
rp --> gp: 👎
|
||||||
|
gp --> fps: "Falló Modificacion"
|
||||||
|
end
|
||||||
|
|
||||||
|
group "Refesh Mails"
|
||||||
|
fps -> fps: RefreshGUI()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
group "Eliminar Mail"
|
||||||
|
cl -> fps: Eliminar Mail
|
||||||
|
fps -> gp: EliminarMail(:Mail)
|
||||||
|
gp -> rp: Del(:Mail)
|
||||||
|
|
||||||
|
alt ok case
|
||||||
|
rp --> gp: 👍
|
||||||
|
gp --> fps: "Se eliminó el Mail"
|
||||||
|
else algo fallo
|
||||||
|
rp --> gp: 👎
|
||||||
|
gp --> fps: "Falló la Baja del Mail"
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
group "Refesh Mail"
|
||||||
|
fps -> fps: RefreshGUI()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
@enduml
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+RESULTS:
|
||||||
|
[[file:GestionMails.jpg]]
|
||||||
|
Before Width: | Height: | Size: 216 KiB After Width: | Height: | Size: 216 KiB |
@@ -193,6 +193,15 @@ Detalle --> Producto
|
|||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
[[file:DiagramaConRepos.jpg]]
|
[[file:DiagramaConRepos.jpg]]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
* Diagrama de clases sin Repositorios
|
* Diagrama de clases sin Repositorios
|
||||||
#+begin_src plantuml :file DiagramaSinRepos.jpg
|
#+begin_src plantuml :file DiagramaSinRepos.jpg
|
||||||
@startuml
|
@startuml
|
||||||
@@ -215,13 +224,11 @@ class Producto {
|
|||||||
+ Nombre: string
|
+ Nombre: string
|
||||||
+ Precio: double
|
+ Precio: double
|
||||||
- Categorias: List<Categoria>?
|
- Categorias: List<Categoria>?
|
||||||
- Lotes: List<Lote>?
|
|
||||||
+ Habilitado: bool
|
+ Habilitado: bool
|
||||||
|
|
||||||
+ MostrarLotesDeProductos(): ReadOnlyCollection<Lote>
|
+ MostrarCategoriasDeProductos(): ReadOnlyCollection<Categoria>
|
||||||
+ AñadirLotesStock(): bool
|
+ AñadirCategoriasStock(): bool
|
||||||
+ EliminarLotesStock(): bool
|
+ EliminarCategoriasStock(): bool
|
||||||
+ MostrarStockRemanente(): long
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class Categoria {
|
class Categoria {
|
||||||
@@ -229,18 +236,17 @@ class Categoria {
|
|||||||
+ Descripcion: String
|
+ Descripcion: String
|
||||||
}
|
}
|
||||||
|
|
||||||
Categoria "0..*" <--o "1 ." Producto
|
|
||||||
|
|
||||||
class Presupuesto {
|
class Presupuesto {
|
||||||
+ Id: int
|
+ Id: int
|
||||||
|
+ Fecha: DateTime
|
||||||
+ Proveedor: Proveedor
|
+ Proveedor: Proveedor
|
||||||
+ Monto: int
|
|
||||||
+ CantIdad: int
|
|
||||||
+ Habilitado: bool
|
+ Habilitado: bool
|
||||||
}
|
- Detalles: List<DetallePresupuesto>
|
||||||
|
+ Aceptado: bool
|
||||||
|
|
||||||
Presupuesto "1" --> "1..*" Lote
|
+ MostrarDetalles(): ReadOnlyCollection<DetallePresupuesto>
|
||||||
Proveedor "1" <-- "1 ." Presupuesto
|
+ AñadirDetalle(DetallePresupuesto): bool
|
||||||
|
}
|
||||||
|
|
||||||
class Proveedor {
|
class Proveedor {
|
||||||
+ Id: int
|
+ Id: int
|
||||||
@@ -249,12 +255,10 @@ class Proveedor {
|
|||||||
+ Habilitado: bool
|
+ Habilitado: bool
|
||||||
}
|
}
|
||||||
|
|
||||||
class Detalle <where T: Producto>{
|
class DetalleFactura {
|
||||||
+ Id: int
|
+ IdFactura: int
|
||||||
+ CantIdad: int
|
|
||||||
+ PrecioUnitario: double
|
+ PrecioUnitario: double
|
||||||
+ Subtotal: double
|
+ Subtotal: double
|
||||||
+ Producto: T
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class Cliente {
|
class Cliente {
|
||||||
@@ -265,28 +269,44 @@ class Cliente {
|
|||||||
+ Correo: string
|
+ Correo: string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class Detalle <where T: Producto>{
|
||||||
|
+ Id: int
|
||||||
|
+ Producto: T
|
||||||
|
+ Cantidad: int
|
||||||
|
}
|
||||||
|
|
||||||
class Factura {
|
class Factura {
|
||||||
+ Total: double
|
+ Total: double
|
||||||
+ Fecha: DateTime
|
+ Fecha: DateTime
|
||||||
+ Cliente: Cliente
|
+ Cliente: Cliente
|
||||||
- Detalles: List<Detalle>
|
- detalles: List<DetalleFactura>
|
||||||
|
|
||||||
+ MostrarDetalles(): ReadOnlyCollection<Detalle>
|
+ MostrarDetalles(): ReadOnlyCollection<DetalleFactura>
|
||||||
+ AñadirDetalle(Detalle): voId
|
+ AñadirDetalle(DetalleFactura): void
|
||||||
+ ModificarDetalle(Detalle): voId
|
+ ModificarDetalle(DetalleFactura): void
|
||||||
+ EliminarDetalle(Detalle): voId
|
+ EliminarDetalle(DetalleFactura): void
|
||||||
}
|
}
|
||||||
|
|
||||||
Cliente "1" <-- "1" Factura
|
class DetallePedido {
|
||||||
Factura "1 ." *-- "1..*" Detalle
|
+ IdPedido: int
|
||||||
|
}
|
||||||
|
|
||||||
Detalle "1 ." --> "1" Producto
|
class PedidoDePresupuesto {
|
||||||
|
+ Id: int
|
||||||
|
+ Fecha: DateTime
|
||||||
|
- detallesPedidos: List<DetallePedido>
|
||||||
|
+ Proveedor: Proveedor
|
||||||
|
|
||||||
|
+ MostrarDetalles(): ReadOnlyCollection<DetallePedido>
|
||||||
|
+ AñadirDetalle(DetallePedido): void
|
||||||
|
+ EliminarDetalle(DetallePedido): void
|
||||||
|
}
|
||||||
|
|
||||||
Producto "1" --> "1" Lote
|
|
||||||
class Lote {
|
class Lote {
|
||||||
+ Id: int
|
+ Id: int
|
||||||
|
+ Fecha: DateTime
|
||||||
+ Producto: Producto
|
+ Producto: Producto
|
||||||
+ CantIdadDeProductos: long
|
+ CantidadDeProductos: long
|
||||||
+ Habilitado: bool
|
+ Habilitado: bool
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -296,10 +316,74 @@ Enlatado,
|
|||||||
Cartón,
|
Cartón,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class DetallePresupuesto {
|
||||||
|
+ IdPresupuesto: int
|
||||||
|
+ CostoUnitario: double
|
||||||
|
}
|
||||||
|
|
||||||
|
class OrdenDeCompra {
|
||||||
|
+ Id: int
|
||||||
|
- Productos: List<DetalleOrdenDeCompra>
|
||||||
|
+ Proveedor: Proveedor
|
||||||
|
|
||||||
|
+ MostrarDetalles(): ReadOnlyCollection<DetalleOrdenDeCompra>
|
||||||
|
+ AñadirDetalle(DetalleOrdenDeCompra): bool
|
||||||
|
+ ModificarDetalle(DetalleOrdenDeCompra): bool
|
||||||
|
+ EliminarDetalle(DetalleOrdenDeCompra): bool
|
||||||
|
}
|
||||||
|
|
||||||
|
class DetalleOrdenDeCompra {
|
||||||
|
+ IdOrdenDeCompra: int
|
||||||
|
}
|
||||||
|
|
||||||
|
class Remito {
|
||||||
|
+ Id: int
|
||||||
|
- LotesDeProductosEntregados: List<Lote>
|
||||||
|
+ Proveedor: Proveedor
|
||||||
|
|
||||||
|
+ MostrarLotes(): ReadOnlyCollection<Lote>
|
||||||
|
+ AñadirLote(Lote): bool
|
||||||
|
}
|
||||||
|
|
||||||
|
Detalle <|-- DetalleOrdenDeCompra
|
||||||
|
Detalle <|-- DetallePedido
|
||||||
|
Detalle <|-- DetalleFactura
|
||||||
|
Detalle <|-- DetallePresupuesto
|
||||||
|
|
||||||
|
Presupuesto "1" *--> "1..*" DetallePresupuesto
|
||||||
|
|
||||||
|
PedidoDePresupuesto "1" --> "1" Proveedor
|
||||||
|
PedidoDePresupuesto "1" *--> "1..*" DetallePedido
|
||||||
|
PedidoDePresupuesto "1" --> "1" Presupuesto
|
||||||
|
|
||||||
|
OrdenDeCompra "1" --> "1" Proveedor
|
||||||
|
OrdenDeCompra "1" *--> "1..*" DetalleOrdenDeCompra
|
||||||
|
Remito "1" --> "1" Proveedor
|
||||||
|
Remito "1" *--> "1..*" Lote
|
||||||
|
|
||||||
|
Producto "1" <-- "1..*" Lote
|
||||||
|
|
||||||
|
OrdenDeCompra "1" --> "1" Presupuesto
|
||||||
|
|
||||||
ProductoNoPercedero "1" --> "1" EnvaseTipo
|
ProductoNoPercedero "1" --> "1" EnvaseTipo
|
||||||
|
|
||||||
|
Cliente "1" <-- "1" Factura
|
||||||
|
Factura "1 ." *--> "1..*" DetalleFactura
|
||||||
|
|
||||||
|
DetalleFactura "1 ." --> "1" Producto
|
||||||
|
|
||||||
|
Proveedor "1" <-- "1 ." Presupuesto
|
||||||
|
|
||||||
|
Categoria "0..*" <--o "1 ." Producto
|
||||||
@enduml
|
@enduml
|
||||||
|
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
[[file:DiagramaSinRepos.jpg]]
|
[[file:DiagramaSinRepos.jpg]]
|
||||||
|
|
||||||
|
#+begin_comment
|
||||||
|
|
||||||
|
Presupuesto "1" --> "1..*" Lote
|
||||||
|
|
||||||
|
#+end_comment
|
||||||
BIN
Documentacion/Narrativa/DiagramaSinRepos.jpg
Normal file
|
After Width: | Height: | Size: 192 KiB |
@@ -8,9 +8,9 @@ El target de nuestro sistema es una distribuidora. Este empresa basa sus operaci
|
|||||||
Solo Buscamos controlar el stock en un solo almacen productos.
|
Solo Buscamos controlar el stock en un solo almacen productos.
|
||||||
|
|
||||||
Algunas de las funciones principales del sistema consisten en:
|
Algunas de las funciones principales del sistema consisten en:
|
||||||
- Registrar Ordenes de compra para los proveedores, almacenar los presupuestos que nos dan los proveedores en base a la Orden de Compra y comprobar con el remito que el producto recibido sea la misma orden que emitimos nosotros.
|
- Registrar Ordenes de compra para los proveedores, almacenar los presupuestos que nos dan los proveedores en base a los pedidos de presupuesto y comprobar con el remito que el producto recibido sea la misma orden que emitimos nosotros.
|
||||||
- Gestionar el stock de mercaderia mercante, es decir, Registrar las compras hechas para deducir de nuestro stock remanente ( Ventas ) Y aumentar el stock mediante lo que el remito (ya asegurados de que este represente lo mismo que pedimos en la Orden de compra).
|
- Gestionar el stock de mercaderia mercante, es decir, Registrar las compras hechas para deducir de nuestro stock remanente ( Ventas ) Y aumentar el stock mediante lo que el remito (ya asegurados de que este represente lo mismo que pedimos en la Orden de compra).
|
||||||
- Registro de Productos en venta, sus respectivos proveedores.
|
- Registro de Productos en venta, y sus respectivos proveedores.
|
||||||
- Almacenar las ventas realizadas a clientes.
|
- Almacenar las ventas realizadas a clientes.
|
||||||
|
|
||||||
** A continuacion se expandirá sobre las funcionalidades del sistema
|
** A continuacion se expandirá sobre las funcionalidades del sistema
|
||||||
@@ -21,6 +21,8 @@ La dada de alta de un producto se dividirá sobre si un producto es percedero o
|
|||||||
+ Precio
|
+ Precio
|
||||||
+ Y si está habilitado
|
+ Y si está habilitado
|
||||||
|
|
||||||
|
NOTA: Es necesario que en el nombre del producto se incluya la marca y que és.
|
||||||
|
|
||||||
Además de en caso de ser percedero se requerirá la cantidad de meses los cuales es recomendable que se consuma el producto y la cantidad de meses hasta que el producto llegue a su fecha de vencimiento.
|
Además de en caso de ser percedero se requerirá la cantidad de meses los cuales es recomendable que se consuma el producto y la cantidad de meses hasta que el producto llegue a su fecha de vencimiento.
|
||||||
|
|
||||||
Mientras que uno *no* percedero necesita tener especificado cual es el tipo de envase que utiliza, este ya sea, Plastico; Enlatado o Cartón.
|
Mientras que uno *no* percedero necesita tener especificado cual es el tipo de envase que utiliza, este ya sea, Plastico; Enlatado o Cartón.
|
||||||
@@ -33,20 +35,37 @@ Al cargar la categoria solo se debe de ingresar, un nombre para esta.
|
|||||||
*** Registro de Proveedores
|
*** Registro de Proveedores
|
||||||
Los proveedores se pueden cargar en el sistema, y cada proveedor nos da un presupuesto para renovar el stock de un producto.
|
Los proveedores se pueden cargar en el sistema, y cada proveedor nos da un presupuesto para renovar el stock de un producto.
|
||||||
|
|
||||||
|
|
||||||
Para cargar un Proveedor en el sistema se necesita:
|
Para cargar un Proveedor en el sistema se necesita:
|
||||||
+ Nombre
|
+ Nombre
|
||||||
+ RazonSocial
|
+ RazonSocial
|
||||||
|
|
||||||
|
*** Registro de Pedidos de presupuesto
|
||||||
|
Estos pedidos son creados para que los proveedores nos dén presupuestos de lo que nos va a Costar reponer X cantidad de productos. Por lo que cada item del Pedido debe de tener.
|
||||||
|
|
||||||
|
- Cantidad
|
||||||
|
- Nombre De Producto
|
||||||
|
|
||||||
|
Los pedidos están asociados al Proveedor al cual estamos consultando además de la fecha en la que lo estamos haciendo.
|
||||||
|
|
||||||
*** Registro de Presupuestos
|
*** Registro de Presupuestos
|
||||||
Los presupuestos son dados por los proveedores sobre uno de los productos en venta que tenemos, para poder registrar uno este debe de estar asociado a un proveedor, mostrar el monto propuesto y la cantidad de productos ofresidos, Resumidamente se necesita cargar:
|
Los presupuestos son creados en base a los Items qu listemos en el pedido de presupuesto. Los items del presupuesto deben coinsidir con los del pedido en cantidad, Nombre de producto. Esto para asegurarnos de que lo que nos están presupuestando es lo mismo que nosotros les pedimos.
|
||||||
+ Proveedor
|
|
||||||
+ Monto
|
|
||||||
+ Cantidad
|
|
||||||
+ y si está Activo
|
|
||||||
|
|
||||||
*No* permitimos que sean modificados una vez cargados. sino que el presupuesto debe ser deshabilitado y en su lugar se debe de registrar otro más para mantener la integridad de los presupuestos cargados
|
Cuando recibimos un presupuesto listamos los items del mismo con los datos de:
|
||||||
|
|
||||||
|
- Cantidad de Productos.
|
||||||
|
- Informacion del producto.
|
||||||
|
- Costo de cada producto.
|
||||||
|
- y queda para nosotros marcar si aceptamos el item del presupuesto.
|
||||||
|
|
||||||
|
El resto del presupuesto guarda informacion de quien emitio el presupuesto (proveedor), cuando lo recibimos (fecha).
|
||||||
|
|
||||||
|
*** Registro Orden de Compra
|
||||||
|
Las ordenes de compra se realizan en base a cada item aprobado del presupuesto de forma individual. una vez hechas se envian al proveedor.
|
||||||
|
|
||||||
|
*** Registro Remitos
|
||||||
|
Los remitos nos dan la informacion de que mercaderia fue transladada a nuestro deposito. Este dato nos permite cargar los nuevos lotes de productos en nuestro stock.
|
||||||
|
|
||||||
|
En todos los casos los lotes traen una fecha de elaboracion, Este dato es el que usamos para calcular la fecha de caducacion y consumo preferente en caso de ser un producto percedero.
|
||||||
|
|
||||||
*** Registro de Clientes
|
*** Registro de Clientes
|
||||||
Para poder Registrar una Compra por parte de un cliente vamos a necesitar que el cliente en cuestión se registre en el sistema sus siguientes datos:
|
Para poder Registrar una Compra por parte de un cliente vamos a necesitar que el cliente en cuestión se registre en el sistema sus siguientes datos:
|
||||||
@@ -74,6 +93,6 @@ Tanto el Nombre, Precio y sus posibles proveedores podrán ser modificados. En a
|
|||||||
Cuando una Factura sea ingresada al sistema se deducirá del stock la misma cantidad de productos como los detallados en el documento de la venta.
|
Cuando una Factura sea ingresada al sistema se deducirá del stock la misma cantidad de productos como los detallados en el documento de la venta.
|
||||||
|
|
||||||
*** Control de Stock (Compra)
|
*** Control de Stock (Compra)
|
||||||
Se podrá crear una orden de compra con los productos que estamos interesados en comprar a los proveedores. Estos nos enviarán Presupuestos de los cuales nosotros elejiremos a quien comprar.
|
Se podrá crear un pedido de presupuesto con los productos que estamos interesados en comprar a los proveedores. Estos nos enviarán Presupuestos de los cuales nosotros elejiremos a quien comprar, Una vez tomada la decision se emitirá una orden de compra hacia tal proveedor.
|
||||||
|
|
||||||
Una vez que la mercaderia llega a nosotros se debe de comprobar que los productos del remito coinsiden con los de la orden de compra registrada. En caso de ser así los lotes de productos son registrados y contabilizados dentro de nuestro stock.
|
Una vez que la mercaderia llega a nosotros se debe de comprobar que los productos del remito coinsidan con los de la orden de compra registrada. En caso de ser así los lotes de productos son registrados y contabilizados dentro de nuestro stock.
|
||||||
9
Entidades/Categoria.cs
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
|
||||||
|
namespace Entidades
|
||||||
|
{
|
||||||
|
public class Categoria
|
||||||
|
{
|
||||||
|
public int Id { get; set; }
|
||||||
|
public string Descripcion { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
27
Entidades/Cliente.cs
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
using System.ComponentModel;
|
||||||
|
|
||||||
|
namespace Entidades
|
||||||
|
{
|
||||||
|
public class Cliente
|
||||||
|
{
|
||||||
|
public Int64 Cuit { get; set; }
|
||||||
|
public string Nombre { get; set; }
|
||||||
|
public string Apellido { get; set; }
|
||||||
|
public string Direccion { get; set; }
|
||||||
|
public string Correo { get; set; }
|
||||||
|
|
||||||
|
[Browsable(false)]
|
||||||
|
public bool Habilitado { get; set; }
|
||||||
|
|
||||||
|
public string NombreCompleto
|
||||||
|
{
|
||||||
|
get { return $"{Nombre} {Apellido}"; }
|
||||||
|
}
|
||||||
|
|
||||||
|
// Sobreescribir ToString() para mostrar el nombre completo
|
||||||
|
public override string ToString()
|
||||||
|
{
|
||||||
|
return NombreCompleto;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
10
Entidades/Detalle.cs
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
namespace Entidades
|
||||||
|
{
|
||||||
|
public class Detalle <T> where T:Producto
|
||||||
|
{
|
||||||
|
public int Id { get; set; }
|
||||||
|
public int Cantidad { get; set; }
|
||||||
|
public T Producto { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
10
Entidades/DetalleFactura.cs
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
|
||||||
|
namespace Entidades
|
||||||
|
{
|
||||||
|
public class DetalleFactura: Detalle<Producto>
|
||||||
|
{
|
||||||
|
public int IdFactura { get; set; }
|
||||||
|
public double PrecioUnitario { get; set; }
|
||||||
|
public double Subtotal { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
8
Entidades/DetalleOrdenDeCompra.cs
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
|
||||||
|
namespace Entidades
|
||||||
|
{
|
||||||
|
public class DetalleOrdenDeCompra: Detalle<Producto>
|
||||||
|
{
|
||||||
|
public int IdOrdenDeCompra { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
10
Entidades/DetallePedido.cs
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
|
||||||
|
namespace Entidades
|
||||||
|
{
|
||||||
|
public class DetallePedido : Detalle<Producto>
|
||||||
|
{
|
||||||
|
public int IdPedido { get; set; }
|
||||||
|
public int CantidadPedido { get; set; }
|
||||||
|
public List<Producto> Productos { get; set; } = new List<Producto>();
|
||||||
|
}
|
||||||
|
}
|
||||||
9
Entidades/DetallePresupuesto.cs
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
|
||||||
|
namespace Entidades
|
||||||
|
{
|
||||||
|
public class DetallePresupuesto: Detalle<Producto>
|
||||||
|
{
|
||||||
|
public int IdPresupuesto { get; set; }
|
||||||
|
public double CostoUnitario { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
9
Entidades/Entidades.csproj
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>net6.0</TargetFramework>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
10
Entidades/EnvaseTipo.cs
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
|
||||||
|
namespace Entidades
|
||||||
|
{
|
||||||
|
public enum EnvaseTipo
|
||||||
|
{
|
||||||
|
Plastico,
|
||||||
|
Enlatado,
|
||||||
|
Carton
|
||||||
|
}
|
||||||
|
}
|
||||||
30
Entidades/Factura.cs
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
using System.Collections.ObjectModel;
|
||||||
|
|
||||||
|
namespace Entidades
|
||||||
|
{
|
||||||
|
public class Factura
|
||||||
|
{
|
||||||
|
public int Id { get; set; }
|
||||||
|
public double Total { get; set; }
|
||||||
|
public DateTime Fecha { get; set; }
|
||||||
|
public Cliente Cliente { get; set; }
|
||||||
|
private List<DetalleFactura> detalles = new List<DetalleFactura>();
|
||||||
|
|
||||||
|
public void AñadirDetalle(DetalleFactura detalle)
|
||||||
|
{
|
||||||
|
detalles.Add(detalle);
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool EliminarDetalle(DetalleFactura detalle)
|
||||||
|
{
|
||||||
|
var aeliminar = detalles.Find(x => x.Id == detalle.Id);
|
||||||
|
if (aeliminar == null) return false;
|
||||||
|
return detalles.Remove(aeliminar);
|
||||||
|
}
|
||||||
|
|
||||||
|
public ReadOnlyCollection<DetalleFactura> MostrarDetalles()
|
||||||
|
{
|
||||||
|
return detalles.AsReadOnly();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
28
Entidades/Lote.cs
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
|
||||||
|
namespace Entidades
|
||||||
|
{
|
||||||
|
public class Lote
|
||||||
|
{
|
||||||
|
public int Id { get; set; }
|
||||||
|
public DateTime Fecha { get; set; }
|
||||||
|
public Producto Producto { get; set; }
|
||||||
|
public long CantidadDeProductos { get; set; }
|
||||||
|
public bool Habilitado { get; set; }
|
||||||
|
public string NombreProducto
|
||||||
|
{
|
||||||
|
get { return Producto?.Nombre ?? string.Empty; }
|
||||||
|
}
|
||||||
|
<<<<<<< HEAD
|
||||||
|
public double PrecioUnitario
|
||||||
|
{
|
||||||
|
get { return Producto?.Precio ?? 0; }
|
||||||
|
}
|
||||||
|
public double Subtotal
|
||||||
|
{
|
||||||
|
get { return PrecioUnitario * CantidadDeProductos; }
|
||||||
|
}
|
||||||
|
=======
|
||||||
|
>>>>>>> 5b78d74e54350285696596720e82f5fbd99b4d02
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
28
Entidades/OrdenDeCompra.cs
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
using System.Collections.ObjectModel;
|
||||||
|
|
||||||
|
namespace Entidades
|
||||||
|
{
|
||||||
|
public class OrdenDeCompra
|
||||||
|
{
|
||||||
|
public int Id { get; set; }
|
||||||
|
private List<DetalleOrdenDeCompra> detalles = new List<DetalleOrdenDeCompra>();
|
||||||
|
public Proveedor Proveedor { get; set; }
|
||||||
|
|
||||||
|
public void AñadirDetalle(DetalleOrdenDeCompra detalle)
|
||||||
|
{
|
||||||
|
detalles.Add(detalle);
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool EliminarDetalle(DetalleOrdenDeCompra detalle)
|
||||||
|
{
|
||||||
|
var aeliminar = detalles.Find(x => x.Id == detalle.Id);
|
||||||
|
if (aeliminar == null) return false;
|
||||||
|
return detalles.Remove(aeliminar);
|
||||||
|
}
|
||||||
|
|
||||||
|
public ReadOnlyCollection<DetalleOrdenDeCompra> MostrarDetalles()
|
||||||
|
{
|
||||||
|
return detalles.AsReadOnly();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
29
Entidades/PedidoDePresupuesto.cs
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
using System.Collections.ObjectModel;
|
||||||
|
|
||||||
|
namespace Entidades
|
||||||
|
{
|
||||||
|
public class PedidoDePresupuesto
|
||||||
|
{
|
||||||
|
public int Id { get; set; }
|
||||||
|
public DateTime Fecha { get; set; }
|
||||||
|
private List<DetallePedido> detallesPedidos = new List<DetallePedido>();
|
||||||
|
public Proveedor Proveedor { get; set; }
|
||||||
|
|
||||||
|
public void AñadirDetalle(DetallePedido detalle)
|
||||||
|
{
|
||||||
|
detallesPedidos.Add(detalle);
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool EliminarDetalle(DetallePedido detalle)
|
||||||
|
{
|
||||||
|
var aeliminar = detallesPedidos.Find(x => x.Id == detalle.Id);
|
||||||
|
if (aeliminar == null) return false;
|
||||||
|
return detallesPedidos.Remove(aeliminar);
|
||||||
|
}
|
||||||
|
|
||||||
|
public ReadOnlyCollection<DetallePedido> MostrarDetalles()
|
||||||
|
{
|
||||||
|
return detallesPedidos.AsReadOnly();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
29
Entidades/Presupuesto.cs
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
using System.Collections.ObjectModel;
|
||||||
|
|
||||||
|
namespace Entidades
|
||||||
|
{
|
||||||
|
public class Presupuesto
|
||||||
|
{
|
||||||
|
public int Id { get; set; }
|
||||||
|
public DateTime Fecha { get; set; }
|
||||||
|
public bool Habilitado { get; set; }
|
||||||
|
public bool Aceptado { get; set; }
|
||||||
|
public Proveedor Proveedor { get; set; }
|
||||||
|
private List<DetallePresupuesto> detalles = new List<DetallePresupuesto>();
|
||||||
|
|
||||||
|
public void AñadirDetalle(DetallePresupuesto det) {
|
||||||
|
detalles.Add(det);
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool EliminarDetalle(DetallePresupuesto det) {
|
||||||
|
var dAEliminar = detalles.FirstOrDefault(x => x.Id == det.Id);
|
||||||
|
if (dAEliminar == null) return false;
|
||||||
|
return detalles.Remove(dAEliminar);
|
||||||
|
}
|
||||||
|
|
||||||
|
public ReadOnlyCollection<DetallePresupuesto> MostrarDetalles()
|
||||||
|
{
|
||||||
|
return detalles.AsReadOnly();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
28
Entidades/Producto.cs
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
using System.Collections.ObjectModel;
|
||||||
|
|
||||||
|
namespace Entidades
|
||||||
|
{
|
||||||
|
public class Producto
|
||||||
|
{
|
||||||
|
public int Id { get; set; }
|
||||||
|
public string Nombre { get; set; }
|
||||||
|
public double Precio { get; set; }
|
||||||
|
public bool Habilitado { get; set; }
|
||||||
|
public Categoria Categoria { get; set; }
|
||||||
|
private List<Categoria> categorias = new List<Categoria>();
|
||||||
|
|
||||||
|
public void AñadirCategoria(Categoria cat) {
|
||||||
|
categorias.Add(cat);
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool EliminarCategoria(Categoria cat) {
|
||||||
|
var cAEliminar = categorias.FirstOrDefault(x => x.Id == cat.Id);
|
||||||
|
if (cAEliminar == null) return false;
|
||||||
|
return categorias.Remove(cAEliminar);
|
||||||
|
}
|
||||||
|
|
||||||
|
public ReadOnlyCollection<Categoria> MostrarCategorias(){
|
||||||
|
return categorias.AsReadOnly();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
13
Entidades/Proveedor.cs
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
|
||||||
|
namespace Entidades
|
||||||
|
{
|
||||||
|
public class Proveedor
|
||||||
|
{
|
||||||
|
public Int64 Cuit { get; set; }
|
||||||
|
public string Nombre { get; set; }
|
||||||
|
public string RazonSocial { get; set; }
|
||||||
|
public string Direccion { get; set; }
|
||||||
|
public bool Habilitado { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
27
Entidades/Remito.cs
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
using System.Collections.ObjectModel;
|
||||||
|
|
||||||
|
namespace Entidades
|
||||||
|
{
|
||||||
|
public class Remito
|
||||||
|
{
|
||||||
|
public int Id { get; set; }
|
||||||
|
private List<Lote> lotesDeProductosEntregados = new List<Lote>();
|
||||||
|
public Proveedor Proveedor { get; set; }
|
||||||
|
|
||||||
|
public ReadOnlyCollection<Lote> MostrarLotes()
|
||||||
|
{
|
||||||
|
return lotesDeProductosEntregados.AsReadOnly();
|
||||||
|
}
|
||||||
|
public void AñadirLote(Lote lote)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
lotesDeProductosEntregados.Add(lote);
|
||||||
|
}
|
||||||
|
catch (Exception)
|
||||||
|
{
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
// <autogenerated />
|
||||||
|
using System;
|
||||||
|
using System.Reflection;
|
||||||
|
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")]
|
||||||
23
Entidades/obj/Debug/net6.0/Entidades.AssemblyInfo.cs
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// This code was generated by a tool.
|
||||||
|
// Runtime Version:4.0.30319.42000
|
||||||
|
//
|
||||||
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
|
// the code is regenerated.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Reflection;
|
||||||
|
|
||||||
|
[assembly: System.Reflection.AssemblyCompanyAttribute("Entidades")]
|
||||||
|
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||||
|
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||||
|
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
|
||||||
|
[assembly: System.Reflection.AssemblyProductAttribute("Entidades")]
|
||||||
|
[assembly: System.Reflection.AssemblyTitleAttribute("Entidades")]
|
||||||
|
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||||
|
|
||||||
|
// Generated by the MSBuild WriteCodeFragment class.
|
||||||
|
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
1589bc3738d4d92e8df1687e356ae3d2c87cb333
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
is_global = true
|
||||||
|
build_property.TargetFramework = net6.0
|
||||||
|
build_property.TargetPlatformMinVersion =
|
||||||
|
build_property.UsingMicrosoftNETSdkWeb =
|
||||||
|
build_property.ProjectTypeGuids =
|
||||||
|
build_property.InvariantGlobalization =
|
||||||
|
build_property.PlatformNeutralAssembly =
|
||||||
|
build_property.EnforceExtendedAnalyzerRules =
|
||||||
|
build_property._SupportedPlatformList = Linux,macOS,Windows
|
||||||
|
build_property.RootNamespace = Entidades
|
||||||
|
build_property.ProjectDir = C:\Users\fedpo\Downloads\final actual\final actual\Entidades\
|
||||||
8
Entidades/obj/Debug/net6.0/Entidades.GlobalUsings.g.cs
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
// <auto-generated/>
|
||||||
|
global using global::System;
|
||||||
|
global using global::System.Collections.Generic;
|
||||||
|
global using global::System.IO;
|
||||||
|
global using global::System.Linq;
|
||||||
|
global using global::System.Net.Http;
|
||||||
|
global using global::System.Threading;
|
||||||
|
global using global::System.Threading.Tasks;
|
||||||
64
Entidades/obj/Entidades.csproj.nuget.dgspec.json
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
{
|
||||||
|
"format": 1,
|
||||||
|
"restore": {
|
||||||
|
"C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Entidades\\Entidades.csproj": {}
|
||||||
|
},
|
||||||
|
"projects": {
|
||||||
|
"C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Entidades\\Entidades.csproj": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"restore": {
|
||||||
|
"projectUniqueName": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Entidades\\Entidades.csproj",
|
||||||
|
"projectName": "Entidades",
|
||||||
|
"projectPath": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Entidades\\Entidades.csproj",
|
||||||
|
"packagesPath": "C:\\Users\\fedpo\\.nuget\\packages\\",
|
||||||
|
"outputPath": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Entidades\\obj\\",
|
||||||
|
"projectStyle": "PackageReference",
|
||||||
|
"configFilePaths": [
|
||||||
|
"C:\\Users\\fedpo\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
||||||
|
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
|
||||||
|
],
|
||||||
|
"originalTargetFrameworks": [
|
||||||
|
"net6.0"
|
||||||
|
],
|
||||||
|
"sources": {
|
||||||
|
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
|
||||||
|
"https://api.nuget.org/v3/index.json": {},
|
||||||
|
"https://fedesrv.ddns.net/git/api/packages/fede/nuget/index.json": {}
|
||||||
|
},
|
||||||
|
"frameworks": {
|
||||||
|
"net6.0": {
|
||||||
|
"targetAlias": "net6.0",
|
||||||
|
"projectReferences": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"warningProperties": {
|
||||||
|
"warnAsError": [
|
||||||
|
"NU1605"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"frameworks": {
|
||||||
|
"net6.0": {
|
||||||
|
"targetAlias": "net6.0",
|
||||||
|
"imports": [
|
||||||
|
"net461",
|
||||||
|
"net462",
|
||||||
|
"net47",
|
||||||
|
"net471",
|
||||||
|
"net472",
|
||||||
|
"net48",
|
||||||
|
"net481"
|
||||||
|
],
|
||||||
|
"assetTargetFallback": true,
|
||||||
|
"warn": true,
|
||||||
|
"frameworkReferences": {
|
||||||
|
"Microsoft.NETCore.App": {
|
||||||
|
"privateAssets": "all"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.306\\RuntimeIdentifierGraph.json"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
15
Entidades/obj/Entidades.csproj.nuget.g.props
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||||
|
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||||
|
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
|
||||||
|
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
|
||||||
|
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
|
||||||
|
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
|
||||||
|
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\fedpo\.nuget\packages\</NuGetPackageFolders>
|
||||||
|
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
|
||||||
|
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.6.0</NuGetToolVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||||
|
<SourceRoot Include="C:\Users\fedpo\.nuget\packages\" />
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
||||||
2
Entidades/obj/Entidades.csproj.nuget.g.targets
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||||
|
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
// <autogenerated />
|
||||||
|
using System;
|
||||||
|
using System.Reflection;
|
||||||
|
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")]
|
||||||
23
Entidades/obj/Release/net6.0/Entidades.AssemblyInfo.cs
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// Este código fue generado por una herramienta.
|
||||||
|
// Versión de runtime:4.0.30319.42000
|
||||||
|
//
|
||||||
|
// Los cambios en este archivo podrían causar un comportamiento incorrecto y se perderán si
|
||||||
|
// se vuelve a generar el código.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Reflection;
|
||||||
|
|
||||||
|
[assembly: System.Reflection.AssemblyCompanyAttribute("Entidades")]
|
||||||
|
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
|
||||||
|
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||||
|
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+abfd18e86f40a98925507ec03c2e8832ee47a3eb")]
|
||||||
|
[assembly: System.Reflection.AssemblyProductAttribute("Entidades")]
|
||||||
|
[assembly: System.Reflection.AssemblyTitleAttribute("Entidades")]
|
||||||
|
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||||
|
|
||||||
|
// Generado por la clase WriteCodeFragment de MSBuild.
|
||||||
|
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
0f23a71dabcab7104ee2511db3de6cc1ef434f03702a8d033e7694541758b7dd
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
is_global = true
|
||||||
|
build_property.TargetFramework = net6.0
|
||||||
|
build_property.TargetPlatformMinVersion =
|
||||||
|
build_property.UsingMicrosoftNETSdkWeb =
|
||||||
|
build_property.ProjectTypeGuids =
|
||||||
|
build_property.InvariantGlobalization =
|
||||||
|
build_property.PlatformNeutralAssembly =
|
||||||
|
build_property.EnforceExtendedAnalyzerRules =
|
||||||
|
build_property._SupportedPlatformList = Linux,macOS,Windows
|
||||||
|
build_property.RootNamespace = Entidades
|
||||||
|
build_property.ProjectDir = C:\Users\Nacho\source\repos\Final\Entidades\
|
||||||
|
build_property.EnableComHosting =
|
||||||
|
build_property.EnableGeneratedComInterfaceComImportInterop =
|
||||||
8
Entidades/obj/Release/net6.0/Entidades.GlobalUsings.g.cs
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
// <auto-generated/>
|
||||||
|
global using global::System;
|
||||||
|
global using global::System.Collections.Generic;
|
||||||
|
global using global::System.IO;
|
||||||
|
global using global::System.Linq;
|
||||||
|
global using global::System.Net.Http;
|
||||||
|
global using global::System.Threading;
|
||||||
|
global using global::System.Threading.Tasks;
|
||||||
BIN
Entidades/obj/Release/net6.0/Entidades.assets.cache
Normal file
69
Entidades/obj/project.assets.json
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
{
|
||||||
|
"version": 3,
|
||||||
|
"targets": {
|
||||||
|
"net6.0": {}
|
||||||
|
},
|
||||||
|
"libraries": {},
|
||||||
|
"projectFileDependencyGroups": {
|
||||||
|
"net6.0": []
|
||||||
|
},
|
||||||
|
"packageFolders": {
|
||||||
|
"C:\\Users\\fedpo\\.nuget\\packages\\": {}
|
||||||
|
},
|
||||||
|
"project": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"restore": {
|
||||||
|
"projectUniqueName": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Entidades\\Entidades.csproj",
|
||||||
|
"projectName": "Entidades",
|
||||||
|
"projectPath": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Entidades\\Entidades.csproj",
|
||||||
|
"packagesPath": "C:\\Users\\fedpo\\.nuget\\packages\\",
|
||||||
|
"outputPath": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Entidades\\obj\\",
|
||||||
|
"projectStyle": "PackageReference",
|
||||||
|
"configFilePaths": [
|
||||||
|
"C:\\Users\\fedpo\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
||||||
|
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
|
||||||
|
],
|
||||||
|
"originalTargetFrameworks": [
|
||||||
|
"net6.0"
|
||||||
|
],
|
||||||
|
"sources": {
|
||||||
|
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
|
||||||
|
"https://api.nuget.org/v3/index.json": {},
|
||||||
|
"https://fedesrv.ddns.net/git/api/packages/fede/nuget/index.json": {}
|
||||||
|
},
|
||||||
|
"frameworks": {
|
||||||
|
"net6.0": {
|
||||||
|
"targetAlias": "net6.0",
|
||||||
|
"projectReferences": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"warningProperties": {
|
||||||
|
"warnAsError": [
|
||||||
|
"NU1605"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"frameworks": {
|
||||||
|
"net6.0": {
|
||||||
|
"targetAlias": "net6.0",
|
||||||
|
"imports": [
|
||||||
|
"net461",
|
||||||
|
"net462",
|
||||||
|
"net47",
|
||||||
|
"net471",
|
||||||
|
"net472",
|
||||||
|
"net48",
|
||||||
|
"net481"
|
||||||
|
],
|
||||||
|
"assetTargetFallback": true,
|
||||||
|
"warn": true,
|
||||||
|
"frameworkReferences": {
|
||||||
|
"Microsoft.NETCore.App": {
|
||||||
|
"privateAssets": "all"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.306\\RuntimeIdentifierGraph.json"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
8
Entidades/obj/project.nuget.cache
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"version": 2,
|
||||||
|
"dgSpecHash": "xYCKCMKm+oXscuoQamJhNB9nRxekBQBuz6IDgUB/8WpDnH3Ts7NVTClR8NJpQF10id2fDRpsOygcKaFzlcHs+w==",
|
||||||
|
"success": true,
|
||||||
|
"projectFilePath": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Entidades\\Entidades.csproj",
|
||||||
|
"expectedPackageFiles": [],
|
||||||
|
"logs": []
|
||||||
|
}
|
||||||
59
Final_OOP.sln
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
|
# Visual Studio Version 17
|
||||||
|
VisualStudioVersion = 17.6.33829.357
|
||||||
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Controladora", "Controladora\Controladora.csproj", "{7168B549-F229-4D49-8C53-AF1CEB9BBB6B}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{6C83A4AB-C70D-4D4E-A879-5E960C4A103A} = {6C83A4AB-C70D-4D4E-A879-5E960C4A103A}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Entidades", "Entidades\Entidades.csproj", "{78A331E5-86D4-427E-AA45-5879F9E5E98B}"
|
||||||
|
EndProject
|
||||||
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Modelo", "Modelo\Modelo.csproj", "{9A0960D9-C909-4B68-8BBB-8C44B9CD0E97}"
|
||||||
|
EndProject
|
||||||
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Vista", "Vista\Vista.csproj", "{8C9E8090-5D8F-42AE-9813-C68D384C6863}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{6C83A4AB-C70D-4D4E-A879-5E960C4A103A} = {6C83A4AB-C70D-4D4E-A879-5E960C4A103A}
|
||||||
|
{7168B549-F229-4D49-8C53-AF1CEB9BBB6B} = {7168B549-F229-4D49-8C53-AF1CEB9BBB6B}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Informes", "Informes\Informes.csproj", "{6C83A4AB-C70D-4D4E-A879-5E960C4A103A}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{78A331E5-86D4-427E-AA45-5879F9E5E98B} = {78A331E5-86D4-427E-AA45-5879F9E5E98B}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|Any CPU = Debug|Any CPU
|
||||||
|
Release|Any CPU = Release|Any CPU
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{7168B549-F229-4D49-8C53-AF1CEB9BBB6B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{7168B549-F229-4D49-8C53-AF1CEB9BBB6B}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{7168B549-F229-4D49-8C53-AF1CEB9BBB6B}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{7168B549-F229-4D49-8C53-AF1CEB9BBB6B}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{78A331E5-86D4-427E-AA45-5879F9E5E98B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{78A331E5-86D4-427E-AA45-5879F9E5E98B}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{78A331E5-86D4-427E-AA45-5879F9E5E98B}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{78A331E5-86D4-427E-AA45-5879F9E5E98B}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{9A0960D9-C909-4B68-8BBB-8C44B9CD0E97}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{9A0960D9-C909-4B68-8BBB-8C44B9CD0E97}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{9A0960D9-C909-4B68-8BBB-8C44B9CD0E97}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{9A0960D9-C909-4B68-8BBB-8C44B9CD0E97}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{8C9E8090-5D8F-42AE-9813-C68D384C6863}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{8C9E8090-5D8F-42AE-9813-C68D384C6863}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{8C9E8090-5D8F-42AE-9813-C68D384C6863}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{8C9E8090-5D8F-42AE-9813-C68D384C6863}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{6C83A4AB-C70D-4D4E-A879-5E960C4A103A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{6C83A4AB-C70D-4D4E-A879-5E960C4A103A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{6C83A4AB-C70D-4D4E-A879-5E960C4A103A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{6C83A4AB-C70D-4D4E-A879-5E960C4A103A}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
|
HideSolutionNode = FALSE
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
|
SolutionGuid = {A6104B66-4B77-4D4F-BBA3-586DC55A9406}
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
||||||
10
Informes/ConfigEmail.cs
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
namespace Informes
|
||||||
|
{
|
||||||
|
public class ConfigEmail
|
||||||
|
{
|
||||||
|
public string EmailAddr { get; set; }
|
||||||
|
public string EmailPass { get; set; }
|
||||||
|
public List<string> EmailTarget { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
133
Informes/InformeEmail.cs
Normal file
@@ -0,0 +1,133 @@
|
|||||||
|
using System.Diagnostics;
|
||||||
|
using System.Net.Mail;
|
||||||
|
using System.Net;
|
||||||
|
using System.Text.Json;
|
||||||
|
|
||||||
|
using Entidades;
|
||||||
|
namespace Informes
|
||||||
|
{
|
||||||
|
public class InformeEmail
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Envia Informes por Email
|
||||||
|
/// </summary>
|
||||||
|
|
||||||
|
private static InformeEmail instance = new();
|
||||||
|
public static InformeEmail Instance
|
||||||
|
{
|
||||||
|
get { return instance; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public string EnviarEmailFactura(string titulo, List<DetalleFactura> desc)
|
||||||
|
{
|
||||||
|
string? ret = null;
|
||||||
|
string json;
|
||||||
|
ConfigEmail config;
|
||||||
|
try
|
||||||
|
{ // leemos el archivo de configuracion para obtener los certificados y mails destino de los informes
|
||||||
|
json = File.ReadAllText("settings.json");
|
||||||
|
config = JsonSerializer.Deserialize<ConfigEmail>(json);
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (IOException)
|
||||||
|
{
|
||||||
|
ret = "No se pudo leer el archivo \"settings.json\"";
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (var i in config.EmailTarget)
|
||||||
|
{
|
||||||
|
if (String.IsNullOrWhiteSpace(i)) return "Hay Emails mal cargados";
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
SmtpClient smtp = new SmtpClient();
|
||||||
|
smtp.Host = "smtp.gmail.com";
|
||||||
|
smtp.Port = 587;
|
||||||
|
smtp.Credentials = new NetworkCredential(config.EmailAddr, config.EmailPass);
|
||||||
|
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
|
||||||
|
smtp.EnableSsl = true;
|
||||||
|
|
||||||
|
MailMessage mail = new MailMessage();
|
||||||
|
mail.Subject = titulo;
|
||||||
|
mail.IsBodyHtml = true;
|
||||||
|
mail.Body = GenerarTabla(desc);
|
||||||
|
mail.Sender = new MailAddress(config.EmailAddr);
|
||||||
|
foreach (var i in config.EmailTarget) mail.To.Add(i);
|
||||||
|
mail.From = new MailAddress(config.EmailAddr);
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
#if DEBUG
|
||||||
|
Console.WriteLine($"From: {config.EmailAddr}, Title: {titulo}");
|
||||||
|
#endif
|
||||||
|
smtp.Send(mail);
|
||||||
|
mail.Dispose();
|
||||||
|
}
|
||||||
|
catch (Exception)
|
||||||
|
{
|
||||||
|
ret = "No se pudo comunicar con el server SMTP";
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Decimos que se envio el email correctamente si el valor del retorno sigue siendo nulo en otro caso tendra la descripcion del error.
|
||||||
|
return (ret == null) ?
|
||||||
|
"Se envio el Email Correctamente":
|
||||||
|
ret;
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
private string GenerarTabla(List<DetalleFactura> desc)
|
||||||
|
{
|
||||||
|
// Esta seccion es el armado del mail html
|
||||||
|
string body =
|
||||||
|
@"
|
||||||
|
<style>
|
||||||
|
table, td, th {
|
||||||
|
border: 1px solid black;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<th>Producto</td>
|
||||||
|
<th>Cantidad</td>
|
||||||
|
<th>Precio CU</td>
|
||||||
|
<th>Subtotal</td>
|
||||||
|
</tr>";
|
||||||
|
|
||||||
|
foreach (var i in desc)
|
||||||
|
{
|
||||||
|
body +=
|
||||||
|
@$"
|
||||||
|
<tr>
|
||||||
|
<td>{i.Producto.Nombre}</td>
|
||||||
|
<td>{i.Cantidad}</td>
|
||||||
|
<td>{i.Producto.Precio}</td>
|
||||||
|
<td>{i.Producto.Precio * i.Cantidad}</td>
|
||||||
|
</tr>";
|
||||||
|
}
|
||||||
|
|
||||||
|
body +=
|
||||||
|
@$"
|
||||||
|
<tr>
|
||||||
|
<td>Total</td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
|
<td>{CalcularTotal(desc)}</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
";
|
||||||
|
return body;
|
||||||
|
}
|
||||||
|
private double CalcularTotal(List<DetalleFactura> desc)
|
||||||
|
{
|
||||||
|
double total = 0;
|
||||||
|
foreach (var i in desc)
|
||||||
|
{
|
||||||
|
total += i.Producto.Precio * i.Cantidad;
|
||||||
|
}
|
||||||
|
return total;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||