Compare commits

14 Commits

129 changed files with 3916 additions and 39664 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,3 +0,0 @@
{
"CurrentProjectSetting": null
}

View File

@@ -1,7 +0,0 @@
{
"ExpandedNodes": [
""
],
"SelectedNode": "\\Final_OOP.sln",
"PreviewInSolutionExplorer": false
}

Binary file not shown.

Binary file not shown.

View File

@@ -6,10 +6,8 @@
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Emailer" Version="1.0.0" />
<PackageReference Include="webhookSharp" Version="1.0.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Modelo\Modelo.csproj" />

View File

@@ -6,31 +6,48 @@ 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 "El Categoria es nulo fallo la carga";
if (t == null) return "La categoría es nula, fallo la carga";
return (RepositorioCategoria.Instance.Add(t)) ?
$"El Categoria {t.Descripcion} se cargo correctamente":
$"Fallo la carga del Categoria {t.Descripcion}";
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 "El Categoria es nulo fallo la carga";
if (t == null) return "La categoría es nula, fallo la carga";
return (RepositorioCategoria.Instance.Del(t)) ?
$"El Categoria {t.Descripcion} se Elimino correctamente":
$"Fallo la Eliminacion del Categoria {t.Descripcion}";
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)
public string Modificar(Categoria t)
{
if (t == null) return "El Categoria es nulo fallo la carga";
if (t == null) return "La categoría es nula, fallo la carga";
return (RepositorioCategoria.Instance.Mod(t)) ?
$"El Categoria {t.Descripcion} se Modifico correctamente":
$"Fallo la Modificacion del Categoria {t.Descripcion}";
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()
@@ -39,4 +56,3 @@ namespace Controladora
}
}
}

View File

@@ -6,33 +6,51 @@ namespace Controladora
{
public class ControladoraClientes : Singleton<ControladoraClientes>
{
public string Añadir(Cliente cl)
public string Añadir(Cliente t)
{
if (cl == null) return "El Cliente es nulo fallo la carga";
if (t == null)
{
return "El Cliente es nulo, fallo la carga";
}
return (RepositorioClientes.Instance.Add(cl)) ?
$"El Cliente {cl.Nombre} se cargo correctamente":
$"Fallo la carga del Cliente {cl.Nombre}";
// 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 t)
public string Eliminar(long cuit)
{
var cl = RepositorioClientes.Instance.Listar().First(x => x.Cuit == t);
// 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";
if (cl == null) return "El Cliente es nulo fallo la carga";
return (RepositorioClientes.Instance.Del(cl)) ?
$"El Cliente {cl.Nombre} se Elimino correctamente":
$"Fallo la Eliminacion del Cliente {t}";
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";
if (t == null) return "El Cliente es nulo, fallo la carga";
return (RepositorioClientes.Instance.Mod(t)) ?
$"El Cliente {t.Nombre} se Modifico correctamente":
$"Fallo la Modificacion del Cliente {t.Nombre}";
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()
@@ -40,4 +58,4 @@ namespace Controladora
return RepositorioClientes.Instance.Listar();
}
}
}
}

View File

@@ -8,29 +8,49 @@ namespace Controladora
{
public string Añadir(Factura t)
{
if (t == null) return "El Factura es nulo fallo la carga";
if (t == null) return "La Factura es nula, fallo la carga";
return (RepositorioFactura.Instance.Add(t)) ?
$"El Factura {t.Id} se cargo correctamente":
$"Fallo la carga del Factura {t.Id}";
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 "El Factura es nulo fallo la carga";
if (t == null) return "La Factura es nula, fallo la carga";
return (RepositorioFactura.Instance.Del(t)) ?
$"El Factura {t.Id} se Elimino correctamente":
$"Fallo la Eliminacion del Factura {t.Id}";
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 "El Factura es nulo fallo la carga";
if (t == null) return "La Factura es nula, fallo la carga";
return (RepositorioFactura.Instance.Mod(t)) ?
$"El Factura {t.Id} se Modifico correctamente":
$"Fallo la Modificacion del Factura {t.Id}";
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()
@@ -39,3 +59,4 @@ namespace Controladora
}
}
}

View 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}");
}
}
}
}

View File

@@ -37,5 +37,7 @@ namespace Controladora
{
return RepositorioProductos.Instance.Listar();
}
}
}

View File

@@ -10,29 +10,36 @@ namespace Controladora
{
if (t == null) return "El Proveedor es nulo fallo la carga";
return (RepositorioProveedor.Instance.Add(t)) ?
$"El Proveedor {t.Nombre} se cargo correctamente":
$"Fallo la carga del Proveedor {t.Nombre}";
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().First(x => x.Cuit == 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 Elimino correctamente" :
$"Fallo la Eliminacion del Proveedor {t}";
$"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 modificacion";
if (t == null) return "El Proveedor es nulo fallo la modificación";
return (RepositorioProveedor.Instance.Mod(t)) ?
$"El Proveedor {t.Nombre} se Modifico correctamente":
$"Fallo la Modificacion del Proveedor {t.Nombre}";
return (RepositorioProveedor.Instance.Mod(t)) ?
$"El Proveedor {t.Nombre} se modificó correctamente" :
$"Falló la modificación del Proveedor {t.Nombre}";
}
public ReadOnlyCollection<Proveedor> Listar()
@@ -40,4 +47,4 @@ namespace Controladora
return RepositorioProveedor.Instance.Listar();
}
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,17 +1,17 @@
{
"format": 1,
"restore": {
"C:\\Users\\fedpo\\source\\repos\\Final_OOP\\Controladora\\Controladora.csproj": {}
"C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Controladora\\Controladora.csproj": {}
},
"projects": {
"C:\\Users\\fedpo\\source\\repos\\Final_OOP\\Controladora\\Controladora.csproj": {
"C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Controladora\\Controladora.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\fedpo\\source\\repos\\Final_OOP\\Controladora\\Controladora.csproj",
"projectUniqueName": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Controladora\\Controladora.csproj",
"projectName": "Controladora",
"projectPath": "C:\\Users\\fedpo\\source\\repos\\Final_OOP\\Controladora\\Controladora.csproj",
"projectPath": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Controladora\\Controladora.csproj",
"packagesPath": "C:\\Users\\fedpo\\.nuget\\packages\\",
"outputPath": "C:\\Users\\fedpo\\source\\repos\\Final_OOP\\Controladora\\obj\\",
"outputPath": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Controladora\\obj\\",
"projectStyle": "PackageReference",
"configFilePaths": [
"C:\\Users\\fedpo\\AppData\\Roaming\\NuGet\\NuGet.Config",
@@ -29,11 +29,11 @@
"net6.0": {
"targetAlias": "net6.0",
"projectReferences": {
"C:\\Users\\fedpo\\source\\repos\\Final_OOP\\Entidades\\Entidades.csproj": {
"projectPath": "C:\\Users\\fedpo\\source\\repos\\Final_OOP\\Entidades\\Entidades.csproj"
"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\\source\\repos\\Final_OOP\\Modelo\\Modelo.csproj": {
"projectPath": "C:\\Users\\fedpo\\source\\repos\\Final_OOP\\Modelo\\Modelo.csproj"
"C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Modelo\\Modelo.csproj": {
"projectPath": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Modelo\\Modelo.csproj"
}
}
}
@@ -47,16 +47,6 @@
"frameworks": {
"net6.0": {
"targetAlias": "net6.0",
"dependencies": {
"Emailer": {
"target": "Package",
"version": "[1.0.0, )"
},
"webhookSharp": {
"target": "Package",
"version": "[1.0.0, )"
}
},
"imports": [
"net461",
"net462",
@@ -77,14 +67,14 @@
}
}
},
"C:\\Users\\fedpo\\source\\repos\\Final_OOP\\Entidades\\Entidades.csproj": {
"C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Entidades\\Entidades.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\fedpo\\source\\repos\\Final_OOP\\Entidades\\Entidades.csproj",
"projectUniqueName": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Entidades\\Entidades.csproj",
"projectName": "Entidades",
"projectPath": "C:\\Users\\fedpo\\source\\repos\\Final_OOP\\Entidades\\Entidades.csproj",
"projectPath": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Entidades\\Entidades.csproj",
"packagesPath": "C:\\Users\\fedpo\\.nuget\\packages\\",
"outputPath": "C:\\Users\\fedpo\\source\\repos\\Final_OOP\\Entidades\\obj\\",
"outputPath": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Entidades\\obj\\",
"projectStyle": "PackageReference",
"configFilePaths": [
"C:\\Users\\fedpo\\AppData\\Roaming\\NuGet\\NuGet.Config",
@@ -133,14 +123,14 @@
}
}
},
"C:\\Users\\fedpo\\source\\repos\\Final_OOP\\Modelo\\Modelo.csproj": {
"C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Modelo\\Modelo.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\fedpo\\source\\repos\\Final_OOP\\Modelo\\Modelo.csproj",
"projectUniqueName": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Modelo\\Modelo.csproj",
"projectName": "Modelo",
"projectPath": "C:\\Users\\fedpo\\source\\repos\\Final_OOP\\Modelo\\Modelo.csproj",
"projectPath": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Modelo\\Modelo.csproj",
"packagesPath": "C:\\Users\\fedpo\\.nuget\\packages\\",
"outputPath": "C:\\Users\\fedpo\\source\\repos\\Final_OOP\\Modelo\\obj\\",
"outputPath": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Modelo\\obj\\",
"projectStyle": "PackageReference",
"configFilePaths": [
"C:\\Users\\fedpo\\AppData\\Roaming\\NuGet\\NuGet.Config",
@@ -158,8 +148,8 @@
"net6.0": {
"targetAlias": "net6.0",
"projectReferences": {
"C:\\Users\\fedpo\\source\\repos\\Final_OOP\\Entidades\\Entidades.csproj": {
"projectPath": "C:\\Users\\fedpo\\source\\repos\\Final_OOP\\Entidades\\Entidades.csproj"
"C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Entidades\\Entidades.csproj": {
"projectPath": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Entidades\\Entidades.csproj"
}
}
}

View File

@@ -12,9 +12,4 @@
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="C:\Users\fedpo\.nuget\packages\" />
</ItemGroup>
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<PkgNewtonsoft_Json Condition=" '$(PkgNewtonsoft_Json)' == '' ">C:\Users\fedpo\.nuget\packages\newtonsoft.json\10.0.1</PkgNewtonsoft_Json>
<PkgMicrosoft_EntityFrameworkCore_Tools Condition=" '$(PkgMicrosoft_EntityFrameworkCore_Tools)' == '' ">C:\Users\fedpo\.nuget\packages\microsoft.entityframeworkcore.tools\2.0.2</PkgMicrosoft_EntityFrameworkCore_Tools>
<PkgMicrosoft_CodeAnalysis_Analyzers Condition=" '$(PkgMicrosoft_CodeAnalysis_Analyzers)' == '' ">C:\Users\fedpo\.nuget\packages\microsoft.codeanalysis.analyzers\1.1.0</PkgMicrosoft_CodeAnalysis_Analyzers>
</PropertyGroup>
</Project>

View File

@@ -8,4 +8,4 @@ build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = Controladora
build_property.ProjectDir = C:\Users\fedpo\source\repos\Final_OOP\Controladora\
build_property.ProjectDir = C:\Users\fedpo\Downloads\final actual\final actual\Controladora\

View File

@@ -1 +1,5 @@
59d9a59c18cc1287fb9e3a009ea4857b622fe3fc
<<<<<<< HEAD
07cbdde4e47ec2d3a6db548797ff84a15aa08946633217fe5ed64773b3cc8491
=======
a7a9c23e29aac78d8fc99e5e2578c73ffe3d4cba
>>>>>>> 5b78d74e54350285696596720e82f5fbd99b4d02

View File

@@ -50,3 +50,88 @@ C:\Users\fedpo\source\repos\Final_OOP\Controladora\obj\Debug\net6.0\Controladora
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

File diff suppressed because it is too large Load Diff

View File

@@ -1,300 +1,8 @@
{
"version": 2,
"dgSpecHash": "4e5+WdIjFhKnsKYYPbCEnZFhqwrcfMk9VVUxc+2Z6W7EWTS5w8mIUdXr8xhfesJcux+oy9XzohamJjMnVobqGg==",
"dgSpecHash": "AVYTA+Cdyhg6wCEQPUiY9Zgnvl4qcFZo9nD09bdg1F+72oerfmmuZj274FC2KL/pXGSF1iqxwV37ZtH0RMkuXw==",
"success": true,
"projectFilePath": "C:\\Users\\fedpo\\source\\repos\\Final_OOP\\Controladora\\Controladora.csproj",
"expectedPackageFiles": [
"C:\\Users\\fedpo\\.nuget\\packages\\emailer\\1.0.0\\emailer.1.0.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\libuv\\1.10.0\\libuv.1.10.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.applicationinsights\\2.4.0\\microsoft.applicationinsights.2.4.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.applicationinsights.aspnetcore\\2.1.1\\microsoft.applicationinsights.aspnetcore.2.1.1.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.applicationinsights.dependencycollector\\2.4.1\\microsoft.applicationinsights.dependencycollector.2.4.1.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore\\2.0.2\\microsoft.aspnetcore.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.all\\2.0.7\\microsoft.aspnetcore.all.2.0.7.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.antiforgery\\2.0.2\\microsoft.aspnetcore.antiforgery.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.applicationinsights.hostingstartup\\2.0.2\\microsoft.aspnetcore.applicationinsights.hostingstartup.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.authentication\\2.0.3\\microsoft.aspnetcore.authentication.2.0.3.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.authentication.abstractions\\2.0.2\\microsoft.aspnetcore.authentication.abstractions.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.authentication.cookies\\2.0.3\\microsoft.aspnetcore.authentication.cookies.2.0.3.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.authentication.core\\2.0.2\\microsoft.aspnetcore.authentication.core.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.authentication.facebook\\2.0.3\\microsoft.aspnetcore.authentication.facebook.2.0.3.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.authentication.google\\2.0.3\\microsoft.aspnetcore.authentication.google.2.0.3.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.authentication.jwtbearer\\2.0.3\\microsoft.aspnetcore.authentication.jwtbearer.2.0.3.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.authentication.microsoftaccount\\2.0.3\\microsoft.aspnetcore.authentication.microsoftaccount.2.0.3.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.authentication.oauth\\2.0.3\\microsoft.aspnetcore.authentication.oauth.2.0.3.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.authentication.openidconnect\\2.0.3\\microsoft.aspnetcore.authentication.openidconnect.2.0.3.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.authentication.twitter\\2.0.3\\microsoft.aspnetcore.authentication.twitter.2.0.3.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.authorization\\2.0.3\\microsoft.aspnetcore.authorization.2.0.3.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.authorization.policy\\2.0.3\\microsoft.aspnetcore.authorization.policy.2.0.3.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.azureappservices.hostingstartup\\2.0.2\\microsoft.aspnetcore.azureappservices.hostingstartup.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.azureappservicesintegration\\2.0.2\\microsoft.aspnetcore.azureappservicesintegration.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.cookiepolicy\\2.0.3\\microsoft.aspnetcore.cookiepolicy.2.0.3.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.cors\\2.0.2\\microsoft.aspnetcore.cors.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.cryptography.internal\\2.0.2\\microsoft.aspnetcore.cryptography.internal.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.cryptography.keyderivation\\2.0.2\\microsoft.aspnetcore.cryptography.keyderivation.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.dataprotection\\2.0.2\\microsoft.aspnetcore.dataprotection.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.dataprotection.abstractions\\2.0.2\\microsoft.aspnetcore.dataprotection.abstractions.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.dataprotection.azurestorage\\2.0.2\\microsoft.aspnetcore.dataprotection.azurestorage.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.dataprotection.extensions\\2.0.2\\microsoft.aspnetcore.dataprotection.extensions.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.diagnostics\\2.0.2\\microsoft.aspnetcore.diagnostics.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.diagnostics.abstractions\\2.0.2\\microsoft.aspnetcore.diagnostics.abstractions.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.diagnostics.entityframeworkcore\\2.0.2\\microsoft.aspnetcore.diagnostics.entityframeworkcore.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.hosting\\2.0.2\\microsoft.aspnetcore.hosting.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.hosting.abstractions\\2.0.2\\microsoft.aspnetcore.hosting.abstractions.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.hosting.server.abstractions\\2.0.2\\microsoft.aspnetcore.hosting.server.abstractions.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.html.abstractions\\2.0.1\\microsoft.aspnetcore.html.abstractions.2.0.1.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.http\\2.0.2\\microsoft.aspnetcore.http.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.http.abstractions\\2.0.2\\microsoft.aspnetcore.http.abstractions.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.http.extensions\\2.0.2\\microsoft.aspnetcore.http.extensions.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.http.features\\2.0.2\\microsoft.aspnetcore.http.features.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.httpoverrides\\2.0.2\\microsoft.aspnetcore.httpoverrides.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.identity\\2.0.2\\microsoft.aspnetcore.identity.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.identity.entityframeworkcore\\2.0.2\\microsoft.aspnetcore.identity.entityframeworkcore.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.jsonpatch\\2.0.0\\microsoft.aspnetcore.jsonpatch.2.0.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.localization\\2.0.2\\microsoft.aspnetcore.localization.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.localization.routing\\2.0.2\\microsoft.aspnetcore.localization.routing.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.middlewareanalysis\\2.0.2\\microsoft.aspnetcore.middlewareanalysis.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.mvc\\2.0.3\\microsoft.aspnetcore.mvc.2.0.3.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.mvc.abstractions\\2.0.3\\microsoft.aspnetcore.mvc.abstractions.2.0.3.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.mvc.apiexplorer\\2.0.3\\microsoft.aspnetcore.mvc.apiexplorer.2.0.3.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.mvc.core\\2.0.3\\microsoft.aspnetcore.mvc.core.2.0.3.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.mvc.cors\\2.0.3\\microsoft.aspnetcore.mvc.cors.2.0.3.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.mvc.dataannotations\\2.0.3\\microsoft.aspnetcore.mvc.dataannotations.2.0.3.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.mvc.formatters.json\\2.0.3\\microsoft.aspnetcore.mvc.formatters.json.2.0.3.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.mvc.formatters.xml\\2.0.3\\microsoft.aspnetcore.mvc.formatters.xml.2.0.3.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.mvc.localization\\2.0.3\\microsoft.aspnetcore.mvc.localization.2.0.3.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.mvc.razor\\2.0.3\\microsoft.aspnetcore.mvc.razor.2.0.3.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.mvc.razor.extensions\\2.0.2\\microsoft.aspnetcore.mvc.razor.extensions.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.mvc.razor.viewcompilation\\2.0.3\\microsoft.aspnetcore.mvc.razor.viewcompilation.2.0.3.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.mvc.razorpages\\2.0.3\\microsoft.aspnetcore.mvc.razorpages.2.0.3.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.mvc.taghelpers\\2.0.3\\microsoft.aspnetcore.mvc.taghelpers.2.0.3.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.mvc.viewfeatures\\2.0.3\\microsoft.aspnetcore.mvc.viewfeatures.2.0.3.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.nodeservices\\2.0.3\\microsoft.aspnetcore.nodeservices.2.0.3.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.owin\\2.0.2\\microsoft.aspnetcore.owin.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.razor\\2.0.2\\microsoft.aspnetcore.razor.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.razor.language\\2.0.2\\microsoft.aspnetcore.razor.language.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.razor.runtime\\2.0.2\\microsoft.aspnetcore.razor.runtime.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.responsecaching\\2.0.2\\microsoft.aspnetcore.responsecaching.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.responsecaching.abstractions\\2.0.2\\microsoft.aspnetcore.responsecaching.abstractions.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.responsecompression\\2.0.2\\microsoft.aspnetcore.responsecompression.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.rewrite\\2.0.2\\microsoft.aspnetcore.rewrite.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.routing\\2.0.2\\microsoft.aspnetcore.routing.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.routing.abstractions\\2.0.2\\microsoft.aspnetcore.routing.abstractions.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.server.httpsys\\2.0.3\\microsoft.aspnetcore.server.httpsys.2.0.3.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.server.iisintegration\\2.0.2\\microsoft.aspnetcore.server.iisintegration.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.server.kestrel\\2.0.2\\microsoft.aspnetcore.server.kestrel.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.server.kestrel.core\\2.0.2\\microsoft.aspnetcore.server.kestrel.core.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.server.kestrel.https\\2.0.2\\microsoft.aspnetcore.server.kestrel.https.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.server.kestrel.transport.abstractions\\2.0.2\\microsoft.aspnetcore.server.kestrel.transport.abstractions.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.server.kestrel.transport.libuv\\2.0.2\\microsoft.aspnetcore.server.kestrel.transport.libuv.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.session\\2.0.2\\microsoft.aspnetcore.session.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.spaservices\\2.0.3\\microsoft.aspnetcore.spaservices.2.0.3.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.staticfiles\\2.0.2\\microsoft.aspnetcore.staticfiles.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.websockets\\2.0.2\\microsoft.aspnetcore.websockets.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.aspnetcore.webutilities\\2.0.2\\microsoft.aspnetcore.webutilities.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.azure.keyvault\\2.3.2\\microsoft.azure.keyvault.2.3.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.azure.keyvault.webkey\\2.0.7\\microsoft.azure.keyvault.webkey.2.0.7.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.codeanalysis.analyzers\\1.1.0\\microsoft.codeanalysis.analyzers.1.1.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.codeanalysis.common\\2.3.1\\microsoft.codeanalysis.common.2.3.1.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.codeanalysis.csharp\\2.3.1\\microsoft.codeanalysis.csharp.2.3.1.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.codeanalysis.razor\\2.0.2\\microsoft.codeanalysis.razor.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.csharp\\4.4.0\\microsoft.csharp.4.4.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.data.edm\\5.8.2\\microsoft.data.edm.5.8.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.data.odata\\5.8.2\\microsoft.data.odata.5.8.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.data.sqlite\\2.0.1\\microsoft.data.sqlite.2.0.1.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.data.sqlite.core\\2.0.1\\microsoft.data.sqlite.core.2.0.1.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.dotnet.platformabstractions\\2.0.3\\microsoft.dotnet.platformabstractions.2.0.3.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.entityframeworkcore\\2.0.2\\microsoft.entityframeworkcore.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.entityframeworkcore.design\\2.0.2\\microsoft.entityframeworkcore.design.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.entityframeworkcore.inmemory\\2.0.2\\microsoft.entityframeworkcore.inmemory.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.entityframeworkcore.relational\\2.0.2\\microsoft.entityframeworkcore.relational.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.entityframeworkcore.sqlite\\2.0.2\\microsoft.entityframeworkcore.sqlite.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.entityframeworkcore.sqlite.core\\2.0.2\\microsoft.entityframeworkcore.sqlite.core.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.entityframeworkcore.sqlserver\\2.0.2\\microsoft.entityframeworkcore.sqlserver.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.entityframeworkcore.tools\\2.0.2\\microsoft.entityframeworkcore.tools.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.extensions.caching.abstractions\\2.0.1\\microsoft.extensions.caching.abstractions.2.0.1.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.extensions.caching.memory\\2.0.1\\microsoft.extensions.caching.memory.2.0.1.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.extensions.caching.redis\\2.0.1\\microsoft.extensions.caching.redis.2.0.1.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.extensions.caching.sqlserver\\2.0.1\\microsoft.extensions.caching.sqlserver.2.0.1.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.extensions.configuration\\2.0.1\\microsoft.extensions.configuration.2.0.1.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\2.0.1\\microsoft.extensions.configuration.abstractions.2.0.1.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.extensions.configuration.azurekeyvault\\2.0.1\\microsoft.extensions.configuration.azurekeyvault.2.0.1.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.extensions.configuration.binder\\2.0.1\\microsoft.extensions.configuration.binder.2.0.1.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.extensions.configuration.commandline\\2.0.1\\microsoft.extensions.configuration.commandline.2.0.1.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.extensions.configuration.environmentvariables\\2.0.1\\microsoft.extensions.configuration.environmentvariables.2.0.1.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.extensions.configuration.fileextensions\\2.0.1\\microsoft.extensions.configuration.fileextensions.2.0.1.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.extensions.configuration.ini\\2.0.1\\microsoft.extensions.configuration.ini.2.0.1.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.extensions.configuration.json\\2.0.1\\microsoft.extensions.configuration.json.2.0.1.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.extensions.configuration.usersecrets\\2.0.1\\microsoft.extensions.configuration.usersecrets.2.0.1.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.extensions.configuration.xml\\2.0.1\\microsoft.extensions.configuration.xml.2.0.1.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\2.0.0\\microsoft.extensions.dependencyinjection.2.0.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\2.0.0\\microsoft.extensions.dependencyinjection.abstractions.2.0.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.extensions.dependencymodel\\2.0.3\\microsoft.extensions.dependencymodel.2.0.3.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.extensions.diagnosticadapter\\2.0.1\\microsoft.extensions.diagnosticadapter.2.0.1.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.extensions.fileproviders.abstractions\\2.0.1\\microsoft.extensions.fileproviders.abstractions.2.0.1.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.extensions.fileproviders.composite\\2.0.1\\microsoft.extensions.fileproviders.composite.2.0.1.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.extensions.fileproviders.embedded\\2.0.1\\microsoft.extensions.fileproviders.embedded.2.0.1.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.extensions.fileproviders.physical\\2.0.1\\microsoft.extensions.fileproviders.physical.2.0.1.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.extensions.filesystemglobbing\\2.0.1\\microsoft.extensions.filesystemglobbing.2.0.1.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.extensions.hosting.abstractions\\2.0.2\\microsoft.extensions.hosting.abstractions.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.extensions.identity.core\\2.0.2\\microsoft.extensions.identity.core.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.extensions.identity.stores\\2.0.2\\microsoft.extensions.identity.stores.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.extensions.localization\\2.0.2\\microsoft.extensions.localization.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.extensions.localization.abstractions\\2.0.2\\microsoft.extensions.localization.abstractions.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.extensions.logging\\2.0.1\\microsoft.extensions.logging.2.0.1.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\2.0.1\\microsoft.extensions.logging.abstractions.2.0.1.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.extensions.logging.azureappservices\\2.0.1\\microsoft.extensions.logging.azureappservices.2.0.1.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.extensions.logging.configuration\\2.0.1\\microsoft.extensions.logging.configuration.2.0.1.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.extensions.logging.console\\2.0.1\\microsoft.extensions.logging.console.2.0.1.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.extensions.logging.debug\\2.0.1\\microsoft.extensions.logging.debug.2.0.1.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.extensions.logging.eventsource\\2.0.1\\microsoft.extensions.logging.eventsource.2.0.1.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.extensions.logging.tracesource\\2.0.1\\microsoft.extensions.logging.tracesource.2.0.1.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.extensions.objectpool\\2.0.0\\microsoft.extensions.objectpool.2.0.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.extensions.options\\2.0.1\\microsoft.extensions.options.2.0.1.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.extensions.options.configurationextensions\\2.0.1\\microsoft.extensions.options.configurationextensions.2.0.1.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.extensions.platformabstractions\\1.1.0\\microsoft.extensions.platformabstractions.1.1.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.extensions.primitives\\2.0.0\\microsoft.extensions.primitives.2.0.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.extensions.webencoders\\2.0.1\\microsoft.extensions.webencoders.2.0.1.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.identitymodel.clients.activedirectory\\3.14.1\\microsoft.identitymodel.clients.activedirectory.3.14.1.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.identitymodel.logging\\1.1.4\\microsoft.identitymodel.logging.1.1.4.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.identitymodel.protocols\\2.1.4\\microsoft.identitymodel.protocols.2.1.4.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.identitymodel.protocols.openidconnect\\2.1.4\\microsoft.identitymodel.protocols.openidconnect.2.1.4.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.identitymodel.tokens\\5.1.4\\microsoft.identitymodel.tokens.5.1.4.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.net.http.headers\\2.0.2\\microsoft.net.http.headers.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.netcore.platforms\\2.0.0\\microsoft.netcore.platforms.2.0.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.netcore.targets\\1.1.0\\microsoft.netcore.targets.1.1.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.rest.clientruntime\\2.3.8\\microsoft.rest.clientruntime.2.3.8.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.rest.clientruntime.azure\\3.3.7\\microsoft.rest.clientruntime.azure.3.3.7.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.visualstudio.web.browserlink\\2.0.2\\microsoft.visualstudio.web.browserlink.2.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.win32.primitives\\4.3.0\\microsoft.win32.primitives.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\microsoft.win32.registry\\4.4.0\\microsoft.win32.registry.4.4.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\netstandard.library\\1.6.1\\netstandard.library.1.6.1.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\newtonsoft.json\\10.0.1\\newtonsoft.json.10.0.1.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\newtonsoft.json.bson\\1.0.1\\newtonsoft.json.bson.1.0.1.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\remotion.linq\\2.1.1\\remotion.linq.2.1.1.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\runtime.native.system\\4.3.0\\runtime.native.system.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\runtime.native.system.data.sqlclient.sni\\4.4.0\\runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\runtime.native.system.io.compression\\4.3.0\\runtime.native.system.io.compression.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\runtime.native.system.net.http\\4.3.0\\runtime.native.system.net.http.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\runtime.native.system.net.security\\4.3.0\\runtime.native.system.net.security.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\runtime.native.system.security.cryptography.apple\\4.3.0\\runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple\\4.3.0\\runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\runtime.win-arm64.runtime.native.system.data.sqlclient.sni\\4.4.0\\runtime.win-arm64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\runtime.win-x64.runtime.native.system.data.sqlclient.sni\\4.4.0\\runtime.win-x64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\runtime.win-x86.runtime.native.system.data.sqlclient.sni\\4.4.0\\runtime.win-x86.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\sqlitepclraw.bundle_green\\1.1.7\\sqlitepclraw.bundle_green.1.1.7.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\sqlitepclraw.core\\1.1.7\\sqlitepclraw.core.1.1.7.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\sqlitepclraw.lib.e_sqlite3.linux\\1.1.7\\sqlitepclraw.lib.e_sqlite3.linux.1.1.7.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\sqlitepclraw.lib.e_sqlite3.osx\\1.1.7\\sqlitepclraw.lib.e_sqlite3.osx.1.1.7.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\sqlitepclraw.lib.e_sqlite3.v110_xp\\1.1.7\\sqlitepclraw.lib.e_sqlite3.v110_xp.1.1.7.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\sqlitepclraw.provider.e_sqlite3.netstandard11\\1.1.7\\sqlitepclraw.provider.e_sqlite3.netstandard11.1.1.7.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\stackexchange.redis.strongname\\1.2.4\\stackexchange.redis.strongname.1.2.4.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.appcontext\\4.3.0\\system.appcontext.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.buffers\\4.4.0\\system.buffers.4.4.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.collections\\4.3.0\\system.collections.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.collections.concurrent\\4.3.0\\system.collections.concurrent.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.collections.immutable\\1.4.0\\system.collections.immutable.1.4.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.collections.nongeneric\\4.3.0\\system.collections.nongeneric.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.collections.specialized\\4.3.0\\system.collections.specialized.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.componentmodel\\4.3.0\\system.componentmodel.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.componentmodel.annotations\\4.4.0\\system.componentmodel.annotations.4.4.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.componentmodel.primitives\\4.3.0\\system.componentmodel.primitives.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.componentmodel.typeconverter\\4.3.0\\system.componentmodel.typeconverter.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.console\\4.3.0\\system.console.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.data.sqlclient\\4.4.3\\system.data.sqlclient.4.4.3.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.diagnostics.contracts\\4.3.0\\system.diagnostics.contracts.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.diagnostics.debug\\4.3.0\\system.diagnostics.debug.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.diagnostics.diagnosticsource\\4.4.1\\system.diagnostics.diagnosticsource.4.4.1.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.diagnostics.fileversioninfo\\4.3.0\\system.diagnostics.fileversioninfo.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.diagnostics.stacktrace\\4.3.0\\system.diagnostics.stacktrace.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.diagnostics.tools\\4.3.0\\system.diagnostics.tools.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.diagnostics.tracing\\4.3.0\\system.diagnostics.tracing.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.dynamic.runtime\\4.3.0\\system.dynamic.runtime.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.globalization\\4.3.0\\system.globalization.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.globalization.calendars\\4.3.0\\system.globalization.calendars.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.globalization.extensions\\4.3.0\\system.globalization.extensions.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.identitymodel.tokens.jwt\\5.1.4\\system.identitymodel.tokens.jwt.5.1.4.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.interactive.async\\3.1.1\\system.interactive.async.3.1.1.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.io\\4.3.0\\system.io.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.io.compression\\4.3.0\\system.io.compression.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.io.compression.zipfile\\4.3.0\\system.io.compression.zipfile.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.io.filesystem\\4.3.0\\system.io.filesystem.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.io.filesystem.primitives\\4.3.0\\system.io.filesystem.primitives.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.linq\\4.3.0\\system.linq.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.linq.expressions\\4.3.0\\system.linq.expressions.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.linq.queryable\\4.0.1\\system.linq.queryable.4.0.1.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.net.http\\4.3.0\\system.net.http.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.net.nameresolution\\4.3.0\\system.net.nameresolution.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.net.primitives\\4.3.0\\system.net.primitives.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.net.security\\4.3.0\\system.net.security.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.net.sockets\\4.3.0\\system.net.sockets.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.numerics.vectors\\4.4.0\\system.numerics.vectors.4.4.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.objectmodel\\4.3.0\\system.objectmodel.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.private.datacontractserialization\\4.1.1\\system.private.datacontractserialization.4.1.1.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.reflection\\4.3.0\\system.reflection.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.reflection.emit\\4.3.0\\system.reflection.emit.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.reflection.emit.ilgeneration\\4.3.0\\system.reflection.emit.ilgeneration.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.reflection.emit.lightweight\\4.3.0\\system.reflection.emit.lightweight.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.reflection.extensions\\4.3.0\\system.reflection.extensions.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.reflection.metadata\\1.5.0\\system.reflection.metadata.1.5.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.reflection.primitives\\4.3.0\\system.reflection.primitives.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.reflection.typeextensions\\4.3.0\\system.reflection.typeextensions.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.resources.resourcemanager\\4.3.0\\system.resources.resourcemanager.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.runtime\\4.3.0\\system.runtime.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.runtime.compilerservices.unsafe\\4.4.0\\system.runtime.compilerservices.unsafe.4.4.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.runtime.extensions\\4.3.0\\system.runtime.extensions.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.runtime.handles\\4.3.0\\system.runtime.handles.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.runtime.interopservices\\4.3.0\\system.runtime.interopservices.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.runtime.interopservices.runtimeinformation\\4.3.0\\system.runtime.interopservices.runtimeinformation.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.runtime.numerics\\4.3.0\\system.runtime.numerics.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.runtime.serialization.formatters\\4.3.0\\system.runtime.serialization.formatters.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.runtime.serialization.json\\4.0.2\\system.runtime.serialization.json.4.0.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.runtime.serialization.primitives\\4.3.0\\system.runtime.serialization.primitives.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.security.accesscontrol\\4.4.0\\system.security.accesscontrol.4.4.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.security.claims\\4.3.0\\system.security.claims.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.security.cryptography.algorithms\\4.3.0\\system.security.cryptography.algorithms.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.security.cryptography.cng\\4.3.0\\system.security.cryptography.cng.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.security.cryptography.csp\\4.3.0\\system.security.cryptography.csp.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.security.cryptography.encoding\\4.3.0\\system.security.cryptography.encoding.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.security.cryptography.openssl\\4.3.0\\system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.security.cryptography.primitives\\4.3.0\\system.security.cryptography.primitives.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.security.cryptography.x509certificates\\4.3.0\\system.security.cryptography.x509certificates.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.security.cryptography.xml\\4.4.0\\system.security.cryptography.xml.4.4.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.security.principal\\4.3.0\\system.security.principal.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.security.principal.windows\\4.4.0\\system.security.principal.windows.4.4.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.spatial\\5.8.2\\system.spatial.5.8.2.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.text.encoding\\4.3.0\\system.text.encoding.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.text.encoding.codepages\\4.4.0\\system.text.encoding.codepages.4.4.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.text.encoding.extensions\\4.3.0\\system.text.encoding.extensions.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.text.encodings.web\\4.4.0\\system.text.encodings.web.4.4.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.text.regularexpressions\\4.3.0\\system.text.regularexpressions.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.threading\\4.3.0\\system.threading.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.threading.tasks\\4.3.0\\system.threading.tasks.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.threading.tasks.extensions\\4.4.0\\system.threading.tasks.extensions.4.4.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.threading.tasks.parallel\\4.3.0\\system.threading.tasks.parallel.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.threading.thread\\4.3.0\\system.threading.thread.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.threading.threadpool\\4.3.0\\system.threading.threadpool.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.threading.timer\\4.3.0\\system.threading.timer.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.valuetuple\\4.4.0\\system.valuetuple.4.4.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.xml.readerwriter\\4.3.0\\system.xml.readerwriter.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.xml.xdocument\\4.3.0\\system.xml.xdocument.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.xml.xmldocument\\4.3.0\\system.xml.xmldocument.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.xml.xmlserializer\\4.0.11\\system.xml.xmlserializer.4.0.11.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.xml.xpath\\4.3.0\\system.xml.xpath.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\system.xml.xpath.xdocument\\4.3.0\\system.xml.xpath.xdocument.4.3.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\webhooksharp\\1.0.0\\webhooksharp.1.0.0.nupkg.sha512",
"C:\\Users\\fedpo\\.nuget\\packages\\windowsazure.storage\\8.1.4\\windowsazure.storage.8.1.4.nupkg.sha512"
],
"projectFilePath": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Controladora\\Controladora.csproj",
"expectedPackageFiles": [],
"logs": []
}

View File

@@ -1,5 +1,4 @@

using System.ComponentModel;
using System.ComponentModel;
namespace Entidades
{
@@ -10,8 +9,19 @@ namespace Entidades
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;
}
}
}
}

View File

@@ -4,5 +4,7 @@ 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>();
}
}

View File

@@ -8,5 +8,21 @@ namespace Entidades
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
}
}

View File

@@ -8,6 +8,7 @@ namespace Entidades
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) {

View File

@@ -1,8 +0,0 @@

namespace Entidades
{
public class ProductoNoPercedero: Producto
{
public EnvaseTipo TipoDeEnvase { get; set; }
}
}

View File

@@ -1,9 +0,0 @@

namespace Entidades
{
public class ProductoPercedero: Producto
{
public int MesesHastaConsumoPreferente { get; set; }
public int MesesHastaVencimiento { get; set; }
}
}

View File

@@ -1,4 +1,4 @@
using System.Collections.ObjectModel;
 using System.Collections.ObjectModel;
namespace Entidades
{

View File

@@ -8,4 +8,4 @@ build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = Entidades
build_property.ProjectDir = C:\Users\fedpo\source\repos\Final_OOP\Entidades\
build_property.ProjectDir = C:\Users\fedpo\Downloads\final actual\final actual\Entidades\

View File

@@ -1,17 +1,17 @@
{
"format": 1,
"restore": {
"C:\\Users\\fedpo\\source\\repos\\Final_OOP\\Entidades\\Entidades.csproj": {}
"C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Entidades\\Entidades.csproj": {}
},
"projects": {
"C:\\Users\\fedpo\\source\\repos\\Final_OOP\\Entidades\\Entidades.csproj": {
"C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Entidades\\Entidades.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\fedpo\\source\\repos\\Final_OOP\\Entidades\\Entidades.csproj",
"projectUniqueName": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Entidades\\Entidades.csproj",
"projectName": "Entidades",
"projectPath": "C:\\Users\\fedpo\\source\\repos\\Final_OOP\\Entidades\\Entidades.csproj",
"projectPath": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Entidades\\Entidades.csproj",
"packagesPath": "C:\\Users\\fedpo\\.nuget\\packages\\",
"outputPath": "C:\\Users\\fedpo\\source\\repos\\Final_OOP\\Entidades\\obj\\",
"outputPath": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Entidades\\obj\\",
"projectStyle": "PackageReference",
"configFilePaths": [
"C:\\Users\\fedpo\\AppData\\Roaming\\NuGet\\NuGet.Config",

View File

@@ -13,11 +13,11 @@
"project": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\fedpo\\source\\repos\\Final_OOP\\Entidades\\Entidades.csproj",
"projectUniqueName": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Entidades\\Entidades.csproj",
"projectName": "Entidades",
"projectPath": "C:\\Users\\fedpo\\source\\repos\\Final_OOP\\Entidades\\Entidades.csproj",
"projectPath": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Entidades\\Entidades.csproj",
"packagesPath": "C:\\Users\\fedpo\\.nuget\\packages\\",
"outputPath": "C:\\Users\\fedpo\\source\\repos\\Final_OOP\\Entidades\\obj\\",
"outputPath": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Entidades\\obj\\",
"projectStyle": "PackageReference",
"configFilePaths": [
"C:\\Users\\fedpo\\AppData\\Roaming\\NuGet\\NuGet.Config",

View File

@@ -1,8 +1,8 @@
{
"version": 2,
"dgSpecHash": "HXGSmDVQyRmnk0PltQ/0YQ5GVlG0+k5yrwjE8AEym5VgLOBWNEQdRU3yZ7m5TuvHzpPyj4xzCWtK6uATLanIjg==",
"dgSpecHash": "xYCKCMKm+oXscuoQamJhNB9nRxekBQBuz6IDgUB/8WpDnH3Ts7NVTClR8NJpQF10id2fDRpsOygcKaFzlcHs+w==",
"success": true,
"projectFilePath": "C:\\Users\\fedpo\\source\\repos\\Final_OOP\\Entidades\\Entidades.csproj",
"projectFilePath": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Entidades\\Entidades.csproj",
"expectedPackageFiles": [],
"logs": []
}

View File

@@ -4,6 +4,9 @@ Microsoft Visual Studio Solution File, Format Version 12.00
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
@@ -11,9 +14,15 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Modelo", "Modelo\Modelo.csp
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
@@ -36,6 +45,10 @@ Global
{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

10
Informes/ConfigEmail.cs Normal file
View 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
View 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;
}
}
}

13
Informes/Informes.csproj Normal file
View File

@@ -0,0 +1,13 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Entidades\Entidades.csproj" />
</ItemGroup>
</Project>

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,36 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v6.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v6.0": {
"Informes/1.0.0": {
"dependencies": {
"Entidades": "1.0.0"
},
"runtime": {
"Informes.dll": {}
}
},
"Entidades/1.0.0": {
"runtime": {
"Entidades.dll": {}
}
}
}
},
"libraries": {
"Informes/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Entidades/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
}
}
}

Binary file not shown.

Binary file not shown.

View 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")]

View 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("Informes")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("Informes")]
[assembly: System.Reflection.AssemblyTitleAttribute("Informes")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// Generated by the MSBuild WriteCodeFragment class.

View File

@@ -0,0 +1 @@
55f9793ce92bee586e65f5b38a3a7676261de34c

View File

@@ -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 = Informes
build_property.ProjectDir = C:\Users\fedpo\Downloads\final actual\final actual\Informes\

View 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;

View File

@@ -0,0 +1 @@
59ca0345c28b4ca3e61ae3f6ff36103ebf42ff8f

View File

@@ -0,0 +1,15 @@
C:\Users\fedpo\Downloads\final actual\final actual\Informes\bin\Debug\net6.0\Informes.deps.json
C:\Users\fedpo\Downloads\final actual\final actual\Informes\bin\Debug\net6.0\Informes.dll
C:\Users\fedpo\Downloads\final actual\final actual\Informes\bin\Debug\net6.0\Informes.pdb
C:\Users\fedpo\Downloads\final actual\final actual\Informes\bin\Debug\net6.0\Entidades.dll
C:\Users\fedpo\Downloads\final actual\final actual\Informes\bin\Debug\net6.0\Entidades.pdb
C:\Users\fedpo\Downloads\final actual\final actual\Informes\obj\Debug\net6.0\Informes.csproj.AssemblyReference.cache
C:\Users\fedpo\Downloads\final actual\final actual\Informes\obj\Debug\net6.0\Informes.GeneratedMSBuildEditorConfig.editorconfig
C:\Users\fedpo\Downloads\final actual\final actual\Informes\obj\Debug\net6.0\Informes.AssemblyInfoInputs.cache
C:\Users\fedpo\Downloads\final actual\final actual\Informes\obj\Debug\net6.0\Informes.AssemblyInfo.cs
C:\Users\fedpo\Downloads\final actual\final actual\Informes\obj\Debug\net6.0\Informes.csproj.CoreCompileInputs.cache
C:\Users\fedpo\Downloads\final actual\final actual\Informes\obj\Debug\net6.0\Informes.csproj.CopyComplete
C:\Users\fedpo\Downloads\final actual\final actual\Informes\obj\Debug\net6.0\Informes.dll
C:\Users\fedpo\Downloads\final actual\final actual\Informes\obj\Debug\net6.0\refint\Informes.dll
C:\Users\fedpo\Downloads\final actual\final actual\Informes\obj\Debug\net6.0\Informes.pdb
C:\Users\fedpo\Downloads\final actual\final actual\Informes\obj\Debug\net6.0\ref\Informes.dll

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,124 @@
{
"format": 1,
"restore": {
"C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Informes\\Informes.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"
}
}
},
"C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Informes\\Informes.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Informes\\Informes.csproj",
"projectName": "Informes",
"projectPath": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Informes\\Informes.csproj",
"packagesPath": "C:\\Users\\fedpo\\.nuget\\packages\\",
"outputPath": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Informes\\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"
}
}
}
}
}

View 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>

View 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" />

View File

@@ -0,0 +1,92 @@
{
"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": {}
}
}
}
},
"libraries": {
"Entidades/1.0.0": {
"type": "project",
"path": "../Entidades/Entidades.csproj",
"msbuildProject": "../Entidades/Entidades.csproj"
}
},
"projectFileDependencyGroups": {
"net6.0": [
"Entidades >= 1.0.0"
]
},
"packageFolders": {
"C:\\Users\\fedpo\\.nuget\\packages\\": {}
},
"project": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Informes\\Informes.csproj",
"projectName": "Informes",
"projectPath": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Informes\\Informes.csproj",
"packagesPath": "C:\\Users\\fedpo\\.nuget\\packages\\",
"outputPath": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Informes\\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"
}
}
}
}

View File

@@ -0,0 +1,8 @@
{
"version": 2,
"dgSpecHash": "INVcMeeXX3RoJw93Ye8x1Z2zKXKisJfXRKwLszX9TOBmcSCPTpBbhbgBcrnpGdxF2t/KPFVRZ2CzsnGvpyudOQ==",
"success": true,
"projectFilePath": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Informes\\Informes.csproj",
"expectedPackageFiles": [],
"logs": []
}

View File

@@ -4,10 +4,14 @@ namespace Modelo
{
public sealed class RepositorioClientes : RepositorioBase<Cliente, RepositorioClientes>
{
override public bool Add(Cliente t)
public override bool Add(Cliente t)
{
bool ret = false;
if (ExistePorCuit(t.Cuit))
{
throw new InvalidOperationException($"El Cliente con el CUIT {t.Cuit} ya existe.");
}
bool ret = false;
try
{
almacen.Add(t);
@@ -20,6 +24,11 @@ namespace Modelo
return ret;
}
// Método para verificar si el CUIT ya existe
public bool ExistePorCuit(long cuit)
{
return almacen.Any(c => c.Cuit == cuit);
}
override public bool Mod(Cliente t)
{

View File

@@ -7,22 +7,31 @@ namespace Modelo
{
override public bool Add(Factura t)
{
bool ret = false;
if (ExistePorId(t.Id))
{
throw new InvalidOperationException($"La Factura con el ID {t.Id} ya existe.");
}
if (t.Cliente == null || t.Cliente.Cuit == 0)
{
throw new InvalidOperationException("Debe seleccionar un cliente antes de agregar la factura.");
}
try
{
almacen.Add(t);
ret = true;
return true;
}
catch (Exception)
catch (Exception ex)
{
throw;
// Mejor manejo de excepciones, podrías registrar el error
throw new Exception("Error al agregar la factura.", ex);
}
return ret;
}
override public bool Mod(Factura t)
public bool ExistePorId(int id)
{
return almacen.Any(f => f.Id == id);
}
override public bool Mod(Factura t)
{
bool ret = false;

View File

@@ -6,19 +6,20 @@ namespace Modelo
{
override public bool Add(Proveedor t)
{
bool ret = false;
if (ExistePorCuit(t.Cuit))
{
throw new InvalidOperationException($"El Proveedor con el CUIT {t.Cuit} ya existe.");
}
try
{
almacen.Add(t);
ret = true;
return true;
}
catch (Exception)
{
throw;
}
return ret;
}
override public bool Mod(Proveedor t)
@@ -45,7 +46,7 @@ namespace Modelo
override public bool Del(Proveedor t)
{
bool ret = false;
try
{
var proveedorAEliminar = almacen.Find(x => x.Cuit == t.Cuit);
@@ -62,5 +63,10 @@ namespace Modelo
return ret;
}
public bool ExistePorCuit(long cuit)
{
return almacen.Any(p => p.Cuit == cuit);
}
}
}

View File

@@ -8,4 +8,4 @@ build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = Modelo
build_property.ProjectDir = C:\Users\fedpo\source\repos\Final_OOP\Modelo\
build_property.ProjectDir = C:\Users\fedpo\Downloads\final actual\final actual\Modelo\

View File

@@ -1,17 +1,17 @@
{
"format": 1,
"restore": {
"C:\\Users\\fedpo\\source\\repos\\Final_OOP\\Modelo\\Modelo.csproj": {}
"C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Modelo\\Modelo.csproj": {}
},
"projects": {
"C:\\Users\\fedpo\\source\\repos\\Final_OOP\\Entidades\\Entidades.csproj": {
"C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Entidades\\Entidades.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\fedpo\\source\\repos\\Final_OOP\\Entidades\\Entidades.csproj",
"projectUniqueName": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Entidades\\Entidades.csproj",
"projectName": "Entidades",
"projectPath": "C:\\Users\\fedpo\\source\\repos\\Final_OOP\\Entidades\\Entidades.csproj",
"projectPath": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Entidades\\Entidades.csproj",
"packagesPath": "C:\\Users\\fedpo\\.nuget\\packages\\",
"outputPath": "C:\\Users\\fedpo\\source\\repos\\Final_OOP\\Entidades\\obj\\",
"outputPath": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Entidades\\obj\\",
"projectStyle": "PackageReference",
"configFilePaths": [
"C:\\Users\\fedpo\\AppData\\Roaming\\NuGet\\NuGet.Config",
@@ -60,14 +60,14 @@
}
}
},
"C:\\Users\\fedpo\\source\\repos\\Final_OOP\\Modelo\\Modelo.csproj": {
"C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Modelo\\Modelo.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\fedpo\\source\\repos\\Final_OOP\\Modelo\\Modelo.csproj",
"projectUniqueName": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Modelo\\Modelo.csproj",
"projectName": "Modelo",
"projectPath": "C:\\Users\\fedpo\\source\\repos\\Final_OOP\\Modelo\\Modelo.csproj",
"projectPath": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Modelo\\Modelo.csproj",
"packagesPath": "C:\\Users\\fedpo\\.nuget\\packages\\",
"outputPath": "C:\\Users\\fedpo\\source\\repos\\Final_OOP\\Modelo\\obj\\",
"outputPath": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Modelo\\obj\\",
"projectStyle": "PackageReference",
"configFilePaths": [
"C:\\Users\\fedpo\\AppData\\Roaming\\NuGet\\NuGet.Config",
@@ -85,8 +85,8 @@
"net6.0": {
"targetAlias": "net6.0",
"projectReferences": {
"C:\\Users\\fedpo\\source\\repos\\Final_OOP\\Entidades\\Entidades.csproj": {
"projectPath": "C:\\Users\\fedpo\\source\\repos\\Final_OOP\\Entidades\\Entidades.csproj"
"C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Entidades\\Entidades.csproj": {
"projectPath": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Entidades\\Entidades.csproj"
}
}
}

View File

@@ -32,11 +32,11 @@
"project": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\fedpo\\source\\repos\\Final_OOP\\Modelo\\Modelo.csproj",
"projectUniqueName": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Modelo\\Modelo.csproj",
"projectName": "Modelo",
"projectPath": "C:\\Users\\fedpo\\source\\repos\\Final_OOP\\Modelo\\Modelo.csproj",
"projectPath": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Modelo\\Modelo.csproj",
"packagesPath": "C:\\Users\\fedpo\\.nuget\\packages\\",
"outputPath": "C:\\Users\\fedpo\\source\\repos\\Final_OOP\\Modelo\\obj\\",
"outputPath": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Modelo\\obj\\",
"projectStyle": "PackageReference",
"configFilePaths": [
"C:\\Users\\fedpo\\AppData\\Roaming\\NuGet\\NuGet.Config",
@@ -54,8 +54,8 @@
"net6.0": {
"targetAlias": "net6.0",
"projectReferences": {
"C:\\Users\\fedpo\\source\\repos\\Final_OOP\\Entidades\\Entidades.csproj": {
"projectPath": "C:\\Users\\fedpo\\source\\repos\\Final_OOP\\Entidades\\Entidades.csproj"
"C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Entidades\\Entidades.csproj": {
"projectPath": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Entidades\\Entidades.csproj"
}
}
}

View File

@@ -1,8 +1,8 @@
{
"version": 2,
"dgSpecHash": "Lbp3ldB0Hrw5pXllkp+TBPvDxt/9rPRNHHKZTqTlG4g88ELwAzlQEuFOATRGWgN+sSkhjGassnHFTlqrUfwaQA==",
"dgSpecHash": "fmo2HUMoIdls9H8hGKaMGhIa7cJfQvw6whWqbWRluFrLP21caNqa5sNL0+c6k3hgxAvgJ8kJuQlkGFoq8UfLog==",
"success": true,
"projectFilePath": "C:\\Users\\fedpo\\source\\repos\\Final_OOP\\Modelo\\Modelo.csproj",
"projectFilePath": "C:\\Users\\fedpo\\Downloads\\final actual\\final actual\\Modelo\\Modelo.csproj",
"expectedPackageFiles": [],
"logs": []
}

119
Vista/AddCategoria.Designer.cs generated Normal file
View File

@@ -0,0 +1,119 @@
namespace Vista
{
partial class AddCategoria
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
button2 = new Button();
label1 = new Label();
label2 = new Label();
numericUpDown1 = new NumericUpDown();
textBox1 = new TextBox();
button1 = new Button();
((System.ComponentModel.ISupportInitialize)numericUpDown1).BeginInit();
SuspendLayout();
//
// button2
//
button2.Location = new Point(146, 166);
button2.Name = "button2";
button2.Size = new Size(75, 23);
button2.TabIndex = 1;
button2.Text = "Cancelar";
button2.UseVisualStyleBackColor = true;
button2.Click += button2_Click;
//
// label1
//
label1.AutoSize = true;
label1.Location = new Point(12, 31);
label1.Name = "label1";
label1.Size = new Size(18, 15);
label1.TabIndex = 2;
label1.Text = "ID";
//
// label2
//
label2.AutoSize = true;
label2.Location = new Point(12, 67);
label2.Name = "label2";
label2.Size = new Size(69, 15);
label2.TabIndex = 3;
label2.Text = "Descripcion";
//
// numericUpDown1
//
numericUpDown1.Location = new Point(101, 23);
numericUpDown1.Maximum = new decimal(new int[] { 1215752191, 23, 0, 0 });
numericUpDown1.Name = "numericUpDown1";
numericUpDown1.Size = new Size(120, 23);
numericUpDown1.TabIndex = 4;
//
// textBox1
//
textBox1.Location = new Point(101, 59);
textBox1.Name = "textBox1";
textBox1.Size = new Size(120, 23);
textBox1.TabIndex = 5;
//
// button1
//
button1.Location = new Point(32, 166);
button1.Name = "button1";
button1.Size = new Size(75, 23);
button1.TabIndex = 6;
button1.Text = "Aceptar";
button1.UseVisualStyleBackColor = true;
button1.Click += button1_Click;
//
// AddCategoria
//
AutoScaleDimensions = new SizeF(7F, 15F);
AutoScaleMode = AutoScaleMode.Font;
ClientSize = new Size(278, 235);
Controls.Add(button1);
Controls.Add(textBox1);
Controls.Add(numericUpDown1);
Controls.Add(label2);
Controls.Add(label1);
Controls.Add(button2);
Name = "AddCategoria";
Text = "Form1";
((System.ComponentModel.ISupportInitialize)numericUpDown1).EndInit();
ResumeLayout(false);
PerformLayout();
}
#endregion
private Button button2;
private Label label1;
private Label label2;
private NumericUpDown numericUpDown1;
private TextBox textBox1;
private Button button1;
}
}

92
Vista/AddCategoria.cs Normal file
View File

@@ -0,0 +1,92 @@
using Controladora;
using Entidades;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Vista
{
public partial class AddCategoria : Form
{
private Categoria? categoria;
public AddCategoria()
{
InitializeComponent();
}
private void button2_Click(object sender, EventArgs e)
{
this.Close();
}
private void CargarDatos()
{
if (categoria != null)
{
textBox1.Text = categoria.Descripcion;
numericUpDown1.Value = categoria.Id;
}
}
private bool ValidarDatos()
{
string devolucion = "";
if (string.IsNullOrEmpty(textBox1.Text))
devolucion += "La descripción no puede ser nula o vacía\n";
else if (textBox1.Text.Length > 100) // Ajusta el límite según sea necesario
devolucion += "La descripción no puede superar los 100 caracteres\n";
// Validar unicidad del ID solo si es una nueva categoría
if (categoria == null && ControladoraCategorias.Instance.Listar().Any(c => c.Id == (int)numericUpDown1.Value))
{
devolucion += "Ya existe una categoría con el mismo ID\n";
}
if (devolucion == "")
{
return true;
}
else
{
MessageBox.Show(devolucion);
return false;
}
}
private void button1_Click(object sender, EventArgs e)
{
string msg;
if (ValidarDatos())
{
if (categoria == null)
{
categoria = new Categoria
{
Id = (int)numericUpDown1.Value,
Descripcion = textBox1.Text
};
msg = ControladoraCategorias.Instance.Añadir(categoria);
}
else
{
categoria.Descripcion = textBox1.Text;
categoria.Id = (int)numericUpDown1.Value; // Solo si quieres permitir modificaciones del ID
msg = ControladoraCategorias.Instance.Modificar(categoria);
}
MessageBox.Show(msg, "Información", MessageBoxButtons.OK, MessageBoxIcon.Information);
Close();
}
}
}
}

120
Vista/AddCategoria.resx Normal file
View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing"">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

122
Vista/AddProducto.Designer.cs generated Normal file
View File

@@ -0,0 +1,122 @@
namespace Vista
{
partial class AddProducto
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
comboBox1 = new ComboBox();
label1 = new Label();
label2 = new Label();
numericUpDown1 = new NumericUpDown();
button1 = new Button();
button2 = new Button();
((System.ComponentModel.ISupportInitialize)numericUpDown1).BeginInit();
SuspendLayout();
//
// comboBox1
//
comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
comboBox1.FormattingEnabled = true;
comboBox1.Location = new Point(98, 37);
comboBox1.Name = "comboBox1";
comboBox1.Size = new Size(121, 23);
comboBox1.TabIndex = 0;
//
// label1
//
label1.AutoSize = true;
label1.Location = new Point(26, 40);
label1.Name = "label1";
label1.Size = new Size(56, 15);
label1.TabIndex = 1;
label1.Text = "Producto";
//
// label2
//
label2.AutoSize = true;
label2.Location = new Point(27, 86);
label2.Name = "label2";
label2.Size = new Size(55, 15);
label2.TabIndex = 2;
label2.Text = "Cantidad";
//
// numericUpDown1
//
numericUpDown1.Location = new Point(99, 78);
numericUpDown1.Maximum = new decimal(new int[] { 10000000, 0, 0, 0 });
numericUpDown1.Name = "numericUpDown1";
numericUpDown1.Size = new Size(120, 23);
numericUpDown1.TabIndex = 3;
//
// button1
//
button1.Location = new Point(12, 160);
button1.Name = "button1";
button1.Size = new Size(71, 23);
button1.TabIndex = 4;
button1.Text = "Guardar";
button1.UseVisualStyleBackColor = true;
button1.Click += button1_Click;
//
// button2
//
button2.Location = new Point(146, 160);
button2.Name = "button2";
button2.Size = new Size(73, 23);
button2.TabIndex = 5;
button2.Text = "Cancelar";
button2.UseVisualStyleBackColor = true;
button2.Click += button2_Click;
//
// AddProducto
//
AutoScaleDimensions = new SizeF(7F, 15F);
AutoScaleMode = AutoScaleMode.Font;
ClientSize = new Size(236, 201);
Controls.Add(button2);
Controls.Add(button1);
Controls.Add(numericUpDown1);
Controls.Add(label2);
Controls.Add(label1);
Controls.Add(comboBox1);
Name = "AddProducto";
Text = "Form1";
((System.ComponentModel.ISupportInitialize)numericUpDown1).EndInit();
ResumeLayout(false);
PerformLayout();
}
#endregion
private ComboBox comboBox1;
private Label label1;
private Label label2;
private NumericUpDown numericUpDown1;
private Button button1;
private Button button2;
}
}

30
Vista/AddProducto.cs Normal file
View File

@@ -0,0 +1,30 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Vista
{
public partial class AddProducto : Form
{
public AddProducto()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Close();
}
private void button2_Click(object sender, EventArgs e)
{
Close();
}
}
}

120
Vista/AddProducto.resx Normal file
View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing"">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -144,6 +144,7 @@ namespace Vista
numCuit.Name = "numCuit";
numCuit.Size = new Size(173, 23);
numCuit.TabIndex = 12;
numCuit.ValueChanged += numCuit_ValueChanged;
//
// FrmCliente
//

View File

@@ -49,6 +49,11 @@ namespace Vista
if (txtNombre.Text.Length > 50) devolucion += "El nombre no puede superar los 50 chars\n";
if (string.IsNullOrEmpty(txtApellido.Text)) devolucion += "El Apellido no puede ser nulo o vacio\n";
if (string.IsNullOrEmpty(txtCorreo.Text)) devolucion += "El Correo no puede ser nulo o vacio\n";
else if (!txtCorreo.Text.Contains("@"))
{
devolucion += "El correo debe contener '@'\n";
}
if (devolucion == "")
{
@@ -99,6 +104,11 @@ namespace Vista
}
}
private void numCuit_ValueChanged(object sender, EventArgs e)
{
}
}
}

View File

@@ -18,7 +18,7 @@
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing"">Blue</data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>

View File

@@ -83,6 +83,7 @@
//
dataGridView1.AllowUserToAddRows = false;
dataGridView1.AllowUserToDeleteRows = false;
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
dataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize;
dataGridView1.Location = new Point(6, 22);
dataGridView1.MultiSelect = false;
@@ -90,7 +91,7 @@
dataGridView1.ReadOnly = true;
dataGridView1.RowTemplate.Height = 25;
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
dataGridView1.Size = new Size(550, 235);
dataGridView1.Size = new Size(737, 235);
dataGridView1.TabIndex = 3;
//
// FrmClientes

View File

@@ -62,5 +62,7 @@ namespace Vista
ActualizarGrilla();
}
}
}
}
}

View File

@@ -18,7 +18,7 @@
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing"">Blue</data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>

View File

@@ -28,19 +28,214 @@
/// </summary>
private void InitializeComponent()
{
button1 = new Button();
button2 = new Button();
numid = new NumericUpDown();
label1 = new Label();
numtotal = new NumericUpDown();
label2 = new Label();
datepick = new DateTimePicker();
label3 = new Label();
label4 = new Label();
cmbCliente = new ComboBox();
dataGridView1 = new DataGridView();
dataGridView2 = new DataGridView();
numericUpDown1 = new NumericUpDown();
Unidades = new Label();
button3 = new Button();
((System.ComponentModel.ISupportInitialize)numid).BeginInit();
((System.ComponentModel.ISupportInitialize)numtotal).BeginInit();
((System.ComponentModel.ISupportInitialize)dataGridView1).BeginInit();
((System.ComponentModel.ISupportInitialize)dataGridView2).BeginInit();
((System.ComponentModel.ISupportInitialize)numericUpDown1).BeginInit();
SuspendLayout();
//
// FrmAddVentas
// button1
//
button1.Location = new Point(12, 367);
button1.Name = "button1";
button1.Size = new Size(113, 46);
button1.TabIndex = 0;
button1.Text = "Aceptar";
button1.UseVisualStyleBackColor = true;
button1.Click += button1_Click;
//
// button2
//
button2.Location = new Point(172, 367);
button2.Name = "button2";
button2.Size = new Size(115, 46);
button2.TabIndex = 1;
button2.Text = "Cancelar";
button2.UseVisualStyleBackColor = true;
button2.Click += button2_Click;
//
// numid
//
numid.Location = new Point(97, 26);
numid.Maximum = new decimal(new int[] { 1215752191, 23, 0, 0 });
numid.Name = "numid";
numid.Size = new Size(120, 23);
numid.TabIndex = 2;
//
// label1
//
label1.AutoSize = true;
label1.Location = new Point(69, 34);
label1.Name = "label1";
label1.Size = new Size(18, 15);
label1.TabIndex = 3;
label1.Text = "ID";
//
// numtotal
//
numtotal.Enabled = false;
numtotal.Location = new Point(97, 57);
numtotal.Maximum = new decimal(new int[] { 1215752191, 23, 0, 0 });
numtotal.Name = "numtotal";
numtotal.ReadOnly = true;
numtotal.Size = new Size(120, 23);
numtotal.TabIndex = 4;
//
// label2
//
label2.AutoSize = true;
label2.Location = new Point(59, 65);
label2.Name = "label2";
label2.Size = new Size(32, 15);
label2.TabIndex = 5;
label2.Text = "Total";
//
// datepick
//
datepick.Location = new Point(97, 88);
datepick.Name = "datepick";
datepick.Size = new Size(120, 23);
datepick.TabIndex = 6;
datepick.ValueChanged += datepick_ValueChanged;
//
// label3
//
label3.AutoSize = true;
label3.Location = new Point(49, 94);
label3.Name = "label3";
label3.Size = new Size(38, 15);
label3.TabIndex = 7;
label3.Text = "Fecha";
//
// label4
//
label4.AutoSize = true;
label4.Location = new Point(49, 124);
label4.Name = "label4";
label4.Size = new Size(44, 15);
label4.TabIndex = 8;
label4.Text = "Cliente";
//
// cmbCliente
//
cmbCliente.DropDownStyle = ComboBoxStyle.DropDownList;
cmbCliente.FormattingEnabled = true;
cmbCliente.Location = new Point(99, 121);
cmbCliente.Name = "cmbCliente";
cmbCliente.Size = new Size(121, 23);
cmbCliente.TabIndex = 10;
//
// dataGridView1
//
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
dataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize;
dataGridView1.Location = new Point(290, 12);
dataGridView1.Name = "dataGridView1";
dataGridView1.RowTemplate.Height = 25;
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
dataGridView1.Size = new Size(324, 318);
dataGridView1.TabIndex = 11;
//
// dataGridView2
//
dataGridView2.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
dataGridView2.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize;
dataGridView2.Location = new Point(674, 12);
dataGridView2.Name = "dataGridView2";
dataGridView2.RowTemplate.Height = 25;
dataGridView2.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
dataGridView2.Size = new Size(290, 336);
dataGridView2.TabIndex = 12;
//
// numericUpDown1
//
numericUpDown1.Location = new Point(494, 359);
numericUpDown1.Name = "numericUpDown1";
numericUpDown1.Size = new Size(120, 23);
numericUpDown1.TabIndex = 13;
//
// Unidades
//
Unidades.AutoSize = true;
Unidades.Location = new Point(420, 367);
Unidades.Name = "Unidades";
Unidades.Size = new Size(56, 15);
Unidades.TabIndex = 14;
Unidades.Text = "Unidades";
//
// button3
//
button3.Location = new Point(420, 390);
button3.Name = "button3";
button3.Size = new Size(194, 36);
button3.TabIndex = 15;
button3.Text = "Añadir";
button3.UseVisualStyleBackColor = true;
button3.Click += button3_Click;
//
// FrmFactura
//
AutoScaleDimensions = new SizeF(7F, 15F);
AutoScaleMode = AutoScaleMode.Font;
ClientSize = new Size(495, 229);
Name = "FrmAddVentas";
ClientSize = new Size(976, 450);
Controls.Add(button3);
Controls.Add(Unidades);
Controls.Add(numericUpDown1);
Controls.Add(dataGridView2);
Controls.Add(dataGridView1);
Controls.Add(cmbCliente);
Controls.Add(label4);
Controls.Add(label3);
Controls.Add(datepick);
Controls.Add(label2);
Controls.Add(numtotal);
Controls.Add(label1);
Controls.Add(numid);
Controls.Add(button2);
Controls.Add(button1);
Name = "FrmFactura";
Text = "Form1";
((System.ComponentModel.ISupportInitialize)numid).EndInit();
((System.ComponentModel.ISupportInitialize)numtotal).EndInit();
((System.ComponentModel.ISupportInitialize)dataGridView1).EndInit();
((System.ComponentModel.ISupportInitialize)dataGridView2).EndInit();
((System.ComponentModel.ISupportInitialize)numericUpDown1).EndInit();
ResumeLayout(false);
PerformLayout();
}
#endregion
private Button button1;
private Button button2;
private NumericUpDown numid;
private Label label1;
private NumericUpDown numtotal;
private Label label2;
private DateTimePicker datepick;
private Label label3;
private Label label4;
private ComboBox cmbCliente;
private DataGridView dataGridView1;
private DataGridView dataGridView2;
private NumericUpDown numericUpDown1;
private Label Unidades;
private Button button3;
}
}

View File

@@ -1,5 +1,9 @@
using System;
using Controladora;
using Entidades;
using Modelo;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Data;
using System.Drawing;
@@ -12,9 +16,315 @@ namespace Vista
{
public partial class FrmFactura : Form
{
public FrmFactura()
private Factura factura;
private Cliente clienteSeleccionado;
private List<Lote> carrito; // Lista para almacenar los lotes en el carrito
public FrmFactura(Factura? factura = null)
{
InitializeComponent();
ConfigurarDataGridView();
ConfigurarDataGridViewCarrito(); // Nueva configuración del DataGridView para el carrito
ActualizarGrilla();
CargarClientes();
carrito = new List<Lote>(); // Inicializar la lista del carrito
cmbCliente.SelectedIndexChanged += comboBox1_SelectedIndexChanged;
// Para el primer control NumericUpDown
numid.Maximum = int.MaxValue; // Esto permitirá IDs muy grandes
// Para el segundo control NumericUpDown
numtotal.Maximum = decimal.MaxValue; // Esto permitirá totales muy grandes
numtotal.Enabled = false; // Deshabilitar el control para que no se pueda modificar
// Configurar NumericUpDown para unidades
numericUpDown1.Maximum = int.MaxValue; // Configurar el máximo valor permitido
cmbCliente.DisplayMember = "Cliente";
cmbCliente.SelectedIndex = -1;
if (factura != null)
{
this.factura = factura;
this.Text = "Modificar Factura";
CargarDatos();
}
else
{
this.Text = "Agregar Factura";
}
}
private void ConfigurarDataGridView()
{
dataGridView1.AutoGenerateColumns = false;
// Definir las columnas manualmente
dataGridView1.Columns.Add(new DataGridViewTextBoxColumn
{
DataPropertyName = "Id",
HeaderText = "ID",
Name = "Id"
});
dataGridView1.Columns.Add(new DataGridViewTextBoxColumn
{
DataPropertyName = "Nombre",
HeaderText = "Nombre",
Name = "Nombre"
});
dataGridView1.Columns.Add(new DataGridViewTextBoxColumn
{
DataPropertyName = "Precio",
HeaderText = "Precio",
Name = "Precio"
});
}
private void ConfigurarDataGridViewCarrito()
{
dataGridView2.AutoGenerateColumns = false;
// Definir las columnas manualmente
dataGridView2.Columns.Add(new DataGridViewTextBoxColumn
{
DataPropertyName = "NombreProducto", // Usa la propiedad NombreProducto
HeaderText = "Producto",
Name = "Producto"
});
dataGridView2.Columns.Add(new DataGridViewTextBoxColumn
{
DataPropertyName = "CantidadDeProductos",
HeaderText = "Cantidad",
Name = "CantidadDeProductos"
});
// Asignar la lista de lotes al DataGridView
dataGridView2.DataSource = carrito;
}
private void ActualizarGrilla()
{
dataGridView1.DataSource = null;
dataGridView1.DataSource = ControladoraProductos.Instance.Listar();
}
private void CargarClientes()
{
// Obtener la lista de clientes desde el repositorio
ReadOnlyCollection<Cliente> clientes = RepositorioClientes.Instance.Listar();
// Asignar la lista de clientes como origen de datos para el ComboBox
cmbCliente.DataSource = clientes;
// Establecer la propiedad para mostrar el nombre del cliente en el ComboBox
cmbCliente.DisplayMember = "NombreCompleto";
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
clienteSeleccionado = (Cliente)cmbCliente.SelectedItem;
}
private void CargarDatos()
{
numid.Value = factura.Id;
numtotal.Value = (decimal)factura.Total;
datepick.Value = factura.Fecha;
// Asignar el cliente seleccionado en el ComboBox
if (factura.Cliente != null)
{
cmbCliente.SelectedItem = factura.Cliente;
}
// Recuperar los lotes asociados a la factura y actualizar el DataGridView
carrito = ControladoraLotes.Instance.ListarPorFacturaId(factura.Id).ToList() ?? new List<Lote>();
dataGridView2.DataSource = null;
dataGridView2.DataSource = carrito;
// Actualizar el total
ActualizarTotal();
}
private void ActualizarTotal()
{
// Recalcular el total de la factura
decimal total = 0;
foreach (var lote in carrito)
{
total += (decimal)(lote.Producto.Precio * lote.CantidadDeProductos);
}
numtotal.Value = total;
}
private bool ValidarDatos()
{
string devolucion = "";
if (string.IsNullOrEmpty(numid.Text)) devolucion += "El ID no puede ser nulo o vacío\n";
if (clienteSeleccionado == null) devolucion += "Debe seleccionar un cliente\n";
if (devolucion == "")
{
return true;
}
else
{
MessageBox.Show(devolucion, "Errores de Validación", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return false;
}
}
private void button1_Click(object sender, EventArgs e)
{
// Validar los datos antes de continuar
if (ValidarDatos())
{
try
{
// Verificar si la ID de la factura ya está en uso
if (RepositorioFactura.Instance.ExistePorId((int)numid.Value) && factura == null)
{
MessageBox.Show("La ID de la factura ya está en uso. Por favor, elija una ID diferente.", "ID en Uso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
if (factura == null)
{
// Crear una nueva factura con los datos proporcionados
factura = new Factura
{
Id = (int)numid.Value,
Total = (double)numtotal.Value,
Fecha = datepick.Value,
Cliente = (Cliente)cmbCliente.SelectedItem
};
// Agregar la factura a la colección
ControladoraFacturas.Instance.Añadir(factura);
// Guardar los lotes asociados a la factura
foreach (var lote in carrito)
{
lote.Id = factura.Id; // Usar la ID de la factura
lote.Fecha = factura.Fecha; // Usar la fecha de la factura
ControladoraLotes.Instance.Añadir(lote);
}
}
else
{
// Actualizar los datos de la factura existente
factura.Id = (int)numid.Value;
factura.Total = (double)numtotal.Value;
factura.Fecha = datepick.Value;
factura.Cliente = (Cliente)cmbCliente.SelectedItem;
// Modificar la factura en la colección
ControladoraFacturas.Instance.Modificar(factura);
// Actualizar los lotes asociados a la factura
ControladoraLotes.Instance.EliminarPorFacturaId(factura.Id); // Eliminar lotes antiguos
foreach (var lote in carrito)
{
lote.Id = factura.Id; // Usar la ID de la factura
lote.Fecha = factura.Fecha; // Usar la fecha de la factura
ControladoraLotes.Instance.Añadir(lote);
}
}
MessageBox.Show("Operación realizada con éxito", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information);
Close();
}
catch (InvalidOperationException ex)
{
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
catch (Exception ex)
{
// Captura cualquier otra excepción que pueda ocurrir
MessageBox.Show("Ocurrió un error inesperado: " + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
private void button2_Click(object sender, EventArgs e)
{
this.Close();
}
private void button3_Click(object sender, EventArgs e)
{
// Validar los datos antes de crear el lote
if (ValidarDatos() && ValidarDatosLote())
{
// Verifica si hay una fila seleccionada en el DataGridView
if (dataGridView1.CurrentRow != null)
{
// Deshabilitar los controles para ID, fecha, y cliente
numid.Enabled = false;
datepick.Enabled = false;
cmbCliente.Enabled = false;
// Crear un nuevo lote con los datos proporcionados
var lote = new Lote
{
Id = (int)numid.Value, // Usar la misma ID que la de la factura
Fecha = datepick.Value, // Usar la misma fecha que la de la factura
Producto = (Producto)dataGridView1.CurrentRow.DataBoundItem,
CantidadDeProductos = (long)numericUpDown1.Value, // Usar el valor de unidades del NumericUpDown
Habilitado = true // Asignar un valor por defecto o según tus necesidades
};
// Añadir el lote al carrito
carrito.Add(lote);
// Actualizar el total de la factura
ActualizarTotal();
// Actualizar el DataGridView para reflejar los cambios
dataGridView2.DataSource = null;
dataGridView2.DataSource = carrito;
}
else
{
// Mostrar un mensaje si no se ha seleccionado ninguna fila
MessageBox.Show("Por favor, seleccione un producto en el carrito antes de añadir.", "Selección Requerida", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
}
// Función actualizada para validar los datos del lote
private bool ValidarDatosLote()
{
string devolucion = "";
// Validar la selección del producto
if (dataGridView1.CurrentRow == null)
devolucion += "Debe seleccionar un producto para añadir al lote\n";
// Validar la cantidad de productos
if (numericUpDown1.Value <= 0)
devolucion += "La cantidad de productos debe ser mayor que cero\n";
if (devolucion == "")
{
return true;
}
else
{
MessageBox.Show(devolucion, "Errores de Validación", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return false;
}
}
private void datepick_ValueChanged(object sender, EventArgs e)
{
}
}
}
}

View File

@@ -29,30 +29,49 @@
private void InitializeComponent()
{
groupBox1 = new GroupBox();
dataGridView2 = new DataGridView();
dataGridView1 = new DataGridView();
BtnAdd = new Button();
groupBox1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)dataGridView2).BeginInit();
((System.ComponentModel.ISupportInitialize)dataGridView1).BeginInit();
SuspendLayout();
//
// groupBox1
//
groupBox1.Controls.Add(dataGridView2);
groupBox1.Controls.Add(dataGridView1);
groupBox1.Controls.Add(BtnAdd);
groupBox1.Location = new Point(12, 12);
groupBox1.Name = "groupBox1";
groupBox1.Size = new Size(776, 351);
groupBox1.Size = new Size(1041, 426);
groupBox1.TabIndex = 5;
groupBox1.TabStop = false;
//
// dataGridView2
//
dataGridView2.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
dataGridView2.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize;
dataGridView2.Location = new Point(623, 0);
dataGridView2.Name = "dataGridView2";
dataGridView2.RowTemplate.Height = 25;
dataGridView2.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
dataGridView2.Size = new Size(384, 426);
dataGridView2.TabIndex = 4;
//
// dataGridView1
//
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
dataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize;
dataGridView1.Location = new Point(6, 22);
dataGridView1.Location = new Point(6, 16);
dataGridView1.Name = "dataGridView1";
dataGridView1.RowTemplate.Height = 25;
dataGridView1.Size = new Size(550, 235);
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
dataGridView1.Size = new Size(508, 241);
dataGridView1.TabIndex = 3;
dataGridView1.CellBorderStyleChanged += dataGridView1_CellBorderStyleChanged;
dataGridView1.CellClick += dataGridView1_CellClick;
dataGridView1.CellContentClick += dataGridView1_CellContentClick;
//
// BtnAdd
//
@@ -64,16 +83,17 @@
BtnAdd.UseVisualStyleBackColor = true;
BtnAdd.Click += BtnAdd_Click;
//
// FrmVentas
// FrmFacturas
//
AutoScaleDimensions = new SizeF(7F, 15F);
AutoScaleMode = AutoScaleMode.Font;
ClientSize = new Size(800, 450);
ClientSize = new Size(1068, 450);
Controls.Add(groupBox1);
Name = "FrmVentas";
Name = "FrmFacturas";
Text = "Ventas";
WindowState = FormWindowState.Maximized;
groupBox1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)dataGridView2).EndInit();
((System.ComponentModel.ISupportInitialize)dataGridView1).EndInit();
ResumeLayout(false);
}
@@ -83,5 +103,6 @@
private GroupBox groupBox1;
private DataGridView dataGridView1;
private Button BtnAdd;
private DataGridView dataGridView2;
}
}

View File

@@ -1,13 +1,18 @@
using Controladora;
using Entidades;
using System.Collections.ObjectModel;
namespace Vista
{
public partial class FrmFacturas : Form
{
public FrmFacturas()
{
InitializeComponent();
ActualizarGrilla();
dataGridView1.CellClick += dataGridView1_CellClick;
ConfigurarDataGridView2();
}
private void ActualizarGrilla()
{
@@ -20,5 +25,65 @@ namespace Vista
form.ShowDialog();
ActualizarGrilla();
}
private void dataGridView1_CellBorderStyleChanged(object sender, EventArgs e)
{
}
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
}
private void ConfigurarDataGridView2()
{
dataGridView2.AutoGenerateColumns = false;
dataGridView2.Columns.Add(new DataGridViewTextBoxColumn
{
DataPropertyName = "Producto",
HeaderText = "Producto"
});
dataGridView2.Columns.Add(new DataGridViewTextBoxColumn
{
DataPropertyName = "Cantidad",
HeaderText = "Cantidad"
});
dataGridView2.Columns.Add(new DataGridViewTextBoxColumn
{
DataPropertyName = "PrecioUnitario",
HeaderText = "PrecioUnitariod"
});
dataGridView2.Columns.Add(new DataGridViewTextBoxColumn
{
DataPropertyName = "Subtotal",
HeaderText = "Subtotal"
});
}
private void ActualizarGrillaLotes(ReadOnlyCollection<Lote> lotes)
{
dataGridView2.DataSource = null;
if (lotes.Any())
{
var loteDatos = lotes.Select(lote => new
{
Producto = lote.NombreProducto,
Cantidad = lote.CantidadDeProductos,
Subtotal = lote.Subtotal,
PrecioUnitario = lote.PrecioUnitario,
}).ToList();
dataGridView2.DataSource = loteDatos;
}
}
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex >= 0)
{
var selectedFactura = (Factura)dataGridView1.Rows[e.RowIndex].DataBoundItem;
var lotes = ControladoraLotes.Instance.ListarPorFacturaId(selectedFactura.Id);
ActualizarGrillaLotes(lotes);
}
}
}
}

View File

@@ -18,7 +18,7 @@
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing"">Blue</data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>

172
Vista/FrmInforme.Designer.cs generated Normal file
View File

@@ -0,0 +1,172 @@
namespace Vista
{
partial class FrmInforme
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
label1 = new Label();
label2 = new Label();
label3 = new Label();
dgvEmailTarget = new DataGridView();
txtEmailAddr = new TextBox();
txtEmailPass = new TextBox();
txtEmailTargetAdd = new TextBox();
btnAñadir = new Button();
btnGuardar = new Button();
btnEliminar = new Button();
((System.ComponentModel.ISupportInitialize)dgvEmailTarget).BeginInit();
SuspendLayout();
//
// label1
//
label1.AutoSize = true;
label1.Location = new Point(12, 22);
label1.Name = "label1";
label1.Size = new Size(65, 15);
label1.TabIndex = 0;
label1.Text = "Email Addr";
//
// label2
//
label2.AutoSize = true;
label2.Location = new Point(12, 48);
label2.Name = "label2";
label2.Size = new Size(62, 15);
label2.TabIndex = 1;
label2.Text = "Email Pass";
//
// label3
//
label3.AutoSize = true;
label3.Location = new Point(12, 76);
label3.Name = "label3";
label3.Size = new Size(71, 15);
label3.TabIndex = 2;
label3.Text = "Email Target";
//
// dgvEmailTarget
//
dgvEmailTarget.AllowUserToAddRows = false;
dgvEmailTarget.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize;
dgvEmailTarget.EditMode = DataGridViewEditMode.EditProgrammatically;
dgvEmailTarget.EnableHeadersVisualStyles = false;
dgvEmailTarget.Location = new Point(89, 76);
dgvEmailTarget.Name = "dgvEmailTarget";
dgvEmailTarget.RowTemplate.Height = 25;
dgvEmailTarget.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
dgvEmailTarget.Size = new Size(240, 150);
dgvEmailTarget.TabIndex = 3;
//
// txtEmailAddr
//
txtEmailAddr.Location = new Point(89, 18);
txtEmailAddr.Name = "txtEmailAddr";
txtEmailAddr.Size = new Size(202, 23);
txtEmailAddr.TabIndex = 4;
//
// txtEmailPass
//
txtEmailPass.Location = new Point(89, 47);
txtEmailPass.Name = "txtEmailPass";
txtEmailPass.PasswordChar = '*';
txtEmailPass.Size = new Size(202, 23);
txtEmailPass.TabIndex = 5;
//
// txtEmailTargetAdd
//
txtEmailTargetAdd.Location = new Point(335, 76);
txtEmailTargetAdd.Name = "txtEmailTargetAdd";
txtEmailTargetAdd.Size = new Size(197, 23);
txtEmailTargetAdd.TabIndex = 6;
//
// btnAñadir
//
btnAñadir.Location = new Point(335, 105);
btnAñadir.Name = "btnAñadir";
btnAñadir.Size = new Size(75, 23);
btnAñadir.TabIndex = 7;
btnAñadir.Text = "Añadir";
btnAñadir.UseVisualStyleBackColor = true;
btnAñadir.Click += btnAñadir_Click;
//
// btnGuardar
//
btnGuardar.Location = new Point(89, 232);
btnGuardar.Name = "btnGuardar";
btnGuardar.Size = new Size(75, 23);
btnGuardar.TabIndex = 8;
btnGuardar.Text = "Guardar";
btnGuardar.UseVisualStyleBackColor = true;
btnGuardar.Click += btnGuardar_Click;
//
// btnEliminar
//
btnEliminar.Location = new Point(335, 134);
btnEliminar.Name = "btnEliminar";
btnEliminar.Size = new Size(75, 23);
btnEliminar.TabIndex = 9;
btnEliminar.Text = "Eliminar";
btnEliminar.UseVisualStyleBackColor = true;
btnEliminar.Click += btnEliminar_Click;
//
// FrmInforme
//
AutoScaleDimensions = new SizeF(7F, 15F);
AutoScaleMode = AutoScaleMode.Font;
ClientSize = new Size(800, 450);
Controls.Add(btnEliminar);
Controls.Add(btnGuardar);
Controls.Add(btnAñadir);
Controls.Add(txtEmailTargetAdd);
Controls.Add(txtEmailPass);
Controls.Add(txtEmailAddr);
Controls.Add(dgvEmailTarget);
Controls.Add(label3);
Controls.Add(label2);
Controls.Add(label1);
Name = "FrmInforme";
Text = "Informes";
WindowState = FormWindowState.Maximized;
((System.ComponentModel.ISupportInitialize)dgvEmailTarget).EndInit();
ResumeLayout(false);
PerformLayout();
}
#endregion
private Label label1;
private Label label2;
private Label label3;
private DataGridView dgvEmailTarget;
private TextBox txtEmailAddr;
private TextBox txtEmailPass;
private TextBox txtEmailTargetAdd;
private Button btnAñadir;
private Button btnGuardar;
private Button btnEliminar;
}
}

103
Vista/FrmInforme.cs Normal file
View File

@@ -0,0 +1,103 @@
using Informes;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Text.Json;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Vista
{
public partial class FrmInforme : Form
{
const string configpath = "settings.json";
public FrmInforme()
{
InitializeComponent();
if (!File.Exists(configpath))
{
string json = JsonSerializer.Serialize(new ConfigEmail { EmailAddr = "", EmailPass = "", EmailTarget = new List<String>() }, new JsonSerializerOptions { WriteIndented = true });
File.WriteAllText(configpath, json);
}
string jsonString = File.ReadAllText(configpath);
ConfigEmail config = JsonSerializer.Deserialize<ConfigEmail>(jsonString);
CargaDatos(config);
}
private void CargaDatos(ConfigEmail ce)
{
txtEmailAddr.Text = ce.EmailAddr;
txtEmailPass.Text = ce.EmailPass;
dgvEmailTarget.DataSource = null;
dgvEmailTarget.Columns.Add("EmailTarget", "EmailTarget");
// Agregar los datos al DataGridView
foreach (var str in ce.EmailTarget)
{
dgvEmailTarget.Rows.Add(str);
}
}
private void btnGuardar_Click(object sender, EventArgs e)
{
List<string> emailTarget = new List<string>();
foreach (DataGridViewRow row in dgvEmailTarget.Rows)
{
if (row.Cells["EmailTarget"].Value != null)
{
emailTarget.Add(row.Cells["EmailTarget"].Value.ToString());
}
}
ConfigEmail config = new ConfigEmail
{
EmailAddr = txtEmailAddr.Text,
EmailPass = txtEmailPass.Text,
EmailTarget = emailTarget
};
string json = JsonSerializer.Serialize(config, new JsonSerializerOptions { WriteIndented = true });
File.WriteAllText(configpath, json);
}
private void btnAñadir_Click(object sender, EventArgs e)
{
List<string> emailTarget = new List<string>();
emailTarget.Add(txtEmailTargetAdd.Text);
foreach (DataGridViewRow row in dgvEmailTarget.Rows)
{
if (row.Cells["EmailTarget"].Value != null)
{
emailTarget.Add(row.Cells["EmailTarget"].Value.ToString());
}
}
// Agregar los datos al DataGridView
dgvEmailTarget.Rows.Add(txtEmailTargetAdd.Text);
}
private void btnEliminar_Click(object sender, EventArgs e)
{
try
{
if (dgvEmailTarget.SelectedRows.Count > 0)
{
// Elimina la fila seleccionada
dgvEmailTarget.Rows.RemoveAt(dgvEmailTarget.SelectedRows[0].Index);
}
else
{
MessageBox.Show("Por favor, selecciona una fila para eliminar EmailTarget.");
}
}
catch (Exception) { throw; }
}
}
}

120
Vista/FrmInforme.resx Normal file
View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing"">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -32,7 +32,6 @@
dataGridView1 = new DataGridView();
BtnAdd = new Button();
BtnEliminar = new Button();
BtnModificar = new Button();
groupBox1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)dataGridView1).BeginInit();
SuspendLayout();
@@ -42,7 +41,6 @@
groupBox1.Controls.Add(dataGridView1);
groupBox1.Controls.Add(BtnAdd);
groupBox1.Controls.Add(BtnEliminar);
groupBox1.Controls.Add(BtnModificar);
groupBox1.Location = new Point(12, 3);
groupBox1.Name = "groupBox1";
groupBox1.Size = new Size(776, 351);
@@ -51,6 +49,7 @@
//
// dataGridView1
//
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells;
dataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize;
dataGridView1.Location = new Point(6, 22);
dataGridView1.Name = "dataGridView1";
@@ -77,15 +76,6 @@
BtnEliminar.Text = "Eliminar";
BtnEliminar.UseVisualStyleBackColor = true;
//
// BtnModificar
//
BtnModificar.Location = new Point(108, 302);
BtnModificar.Name = "BtnModificar";
BtnModificar.Size = new Size(75, 23);
BtnModificar.TabIndex = 1;
BtnModificar.Text = "Modificar";
BtnModificar.UseVisualStyleBackColor = true;
//
// FrmOrdenDeCompra
//
AutoScaleDimensions = new SizeF(7F, 15F);
@@ -106,6 +96,5 @@
private DataGridView dataGridView1;
private Button BtnAdd;
private Button BtnEliminar;
private Button BtnModificar;
}
}

Some files were not shown because too many files have changed in this diff Show More