public bool AltaOficina(string pCalle, int pNroPuerta, string pCodPost, string pCiudad, string pPais, string pDesc) { bool resultado = false; Direccion dir = new Direccion(pCalle, pNroPuerta, pCodPost, pCiudad, pPais); Oficina nuevaOfi = new Oficina(dir, pDesc); if (pCalle != "" && pNroPuerta != 0 && pCiudad != "" && pCodPost != "" && pPais != "" && pDesc != "" && (!Oficina.EncontreDirOficina(pCalle, pNroPuerta, pCodPost, pCiudad, pPais))) { this.ListaOfi.Add(nuevaOfi); resultado = true; } return(resultado); }
//Constructor cuando se esta registrando el envio (aun no sabe la firma, ni fechaRecepcion, ni nombreReceptor) //Tampoco le paso el status, porque status cuando inicializa = "En origen" public Documento(bool pEsLegal, decimal pPeso, decimal pPrecio, DateTime pFechaEnvio, Cliente pCliente, Usuario pAdmin, Destinatario pDestinatario, Direccion pDirOrigen, Oficina pNroOfiOrig, Oficina pNroOfiFinal) : base(pPrecio, pFechaEnvio, pCliente, pAdmin, pDestinatario, pDirOrigen, pNroOfiOrig, pNroOfiFinal) { this.esLegal = pEsLegal; this.peso = pPeso; base.Precio = pPrecio; base.FechaEnvio = pFechaEnvio; base.Cliente = pCliente; base.Admin = pAdmin; base.Destinatario = pDestinatario; base.Direccion = pDirOrigen; base.NroOfiOrig = pNroOfiOrig; base.NroOfiFinal = pNroOfiFinal; }
public bool OficinaYaIngresada(Oficina pOfi) { bool encontre = false; int i = 0; while (i < this.ListaRecorrido.Count && !encontre) { Recorrido aux = this.ListaRecorrido[i]; if (aux.NroOficina == pOfi.NroOficina) { encontre = true; } i++; } return(encontre); }
public Oficina BuscarOficina(int pNroOfi) { Oficina buscada = null; bool encontre = false; int i = 0; while (i < this.listaOficinas.Count && !encontre) { Oficina aux = this.listaOficinas[i]; if (aux.NroOficina == pNroOfi) { buscada = aux; encontre = true; } i++; } return(buscada); }
public bool AltaPaquete(string pDesc, decimal pValCont, decimal pAncho, decimal pAlto, decimal pLargo, bool pSeguro, decimal pPeso, decimal pPrecio, DateTime pFechaEnvio, Cliente pCli, Usuario pAdmin, Destinatario pDest, Direccion pDirO, Oficina pNroOfiOrig, Oficina pNroOfiFinal) { bool resultado = false; bool cliValido = Cliente.EncontreCi(pCli.Ci); bool adminValido = this.ExisteAdmin(pAdmin.Id); bool destValido = Destinatario.validarDest(pDest); if (pDesc != "" && pValCont != 0 && pAncho != 0 && pAlto != 0 && pLargo != 0 && pPeso != 0 && pPrecio != 0 && cliValido && adminValido && destValido) { Paquete nuevoPaq = new Paquete(pAlto, pAncho, pLargo, pPeso, pValCont, pSeguro, pDesc, pPrecio, pFechaEnvio, pCli, pAdmin, pDest, pDirO, pNroOfiOrig, pNroOfiFinal); this.listaEnvios.Add(nuevoPaq); resultado = true; } return(resultado); }
public bool AltaDocumento(bool pEsLegal, decimal pPeso, decimal pPrecio, DateTime pFechaEnvio, Cliente pCli, Usuario pAdmin, Destinatario pDest, Direccion pDirO, Oficina pNroOfiOrig, Oficina pNroOfiFinal) { bool resultado = false; //Busco si existe el cliente, el admin, el destinatario es valido y la dir de origen es valida bool cliValido = Cliente.EncontreCi(pCli.Ci); bool adminValido = this.ExisteAdmin(pAdmin.Id); bool destValido = Destinatario.validarDest(pDest); bool dirValida = Direccion.validarDireccion(pDirO); //Si no hay campos nulos if (pPeso != 0 && cliValido && adminValido && destValido && dirValida) { Documento nuevoDoc = new Documento(pEsLegal, pPeso, pPrecio, pFechaEnvio, pCli, pAdmin, pDest, pDirO, pNroOfiOrig, pNroOfiFinal); this.listaEnvios.Add(nuevoDoc); resultado = true; } return(resultado); }
public void ModificarEstado(int pNroEnvio, Oficina pOfiActual, DateTime pFechaRec, DateTime pFechaSal) { Envio nuevoEnv = this.BuscarEnvio(pNroEnvio); //Si encuentro oficina y envio if (nuevoEnv != null && pOfiActual != null) { //Si la oficina actual no es la de origen ni la final if (pOfiActual.NroOficina != nuevoEnv.NroOfiOrig.NroOficina && pOfiActual.NroOficina != nuevoEnv.NroOfiFinal.NroOficina) { //Si el estatus no es "entregado" o "para entregar" if (nuevoEnv.Recorrido.Status != Dominio.Envio.EstadoEnvios.Entregado && nuevoEnv.Recorrido.Status != Dominio.Envio.EstadoEnvios.Para_entregar) { nuevoEnv.Estado = Envio.EstadoEnvios.En_transito; nuevoEnv.Recorrido.Status = Envio.EstadoEnvios.En_transito; nuevoEnv.Recorrido.Oficina = pOfiActual; nuevoEnv.Recorrido.FechaRecepcion = pFechaRec; nuevoEnv.Recorrido.FechaSalida = pFechaSal; Recorrido recNuevo = new Recorrido(nuevoEnv.Recorrido.Status, nuevoEnv.Recorrido.Oficina, nuevoEnv.Recorrido.FechaRecepcion, nuevoEnv.Recorrido.FechaSalida); nuevoEnv.ListaRecorrido.Add(recNuevo); } } //Si la oficina actual es igual al nro de oficina final y ya no esta entregada o en para entregar, cambiar estado a "Para entregar" else if (pOfiActual.NroOficina == nuevoEnv.NroOfiFinal.NroOficina && nuevoEnv.Recorrido.Status != Dominio.Envio.EstadoEnvios.Entregado && nuevoEnv.Recorrido.Status != Dominio.Envio.EstadoEnvios.Para_entregar) { nuevoEnv.Estado = Envio.EstadoEnvios.Para_entregar; nuevoEnv.Recorrido.Status = Envio.EstadoEnvios.Para_entregar; nuevoEnv.Recorrido.Oficina = pOfiActual; nuevoEnv.Recorrido.FechaRecepcion = pFechaRec; nuevoEnv.Recorrido.FechaSalida = pFechaSal; Recorrido recNuevo = new Recorrido(nuevoEnv.Recorrido.Status, nuevoEnv.Recorrido.Oficina, nuevoEnv.Recorrido.FechaRecepcion, nuevoEnv.Recorrido.FechaSalida); nuevoEnv.ListaRecorrido.Add(recNuevo); } } }
//Constructor cuando se esta registrando el envio (aun no sabe la firma, ni fechaRecepcion, ni nombreReceptor) //Tampoco le paso el status, porque status cuando inicializa = "En origen" public Envio(decimal pPrecio, DateTime pFechaEnvio, Cliente pCliente, Usuario pAdmin, Destinatario pDestinatario, Direccion pDirOrigen, Oficina pNroOfiOrig, Oficina pNroOfiFinal) { //al ultimo numero que traigo (Envio.ultimoNroEnvio) le sumo uno y lo cargo en nroEnvio this.nroEnvio = Envio.ultNroEnvio + 1; Envio.ultNroEnvio = nroEnvio; this.precio = pPrecio; this.fechaEnvio = pFechaEnvio; this.cliente = pCliente; this.admin = pAdmin; this.destinatiario = pDestinatario; this.nombreReceptor = pDestinatario.NombreDest; this.dirOrigen = pDirOrigen; this.estado = EstadoEnvios.En_origen; this.nroOfiOrig = pNroOfiOrig; this.nroOfiFinal = pNroOfiFinal; this.listaRecorrido = new List <Recorrido>(); //Cada envio genera una nueva lista con sus recorridos this.recorrido = new Recorrido(pNroOfiOrig, pFechaEnvio); Recorrido recAux = new Recorrido(pNroOfiOrig, pFechaEnvio); this.listaRecorrido.Add(recAux); }
//Constructor cuando se esta registrando el envio (aun no sabe la firma, ni fechaRecepcion, ni nombreReceptor) //Tampoco le paso el status, porque status cuando inicializa = "En origen" public Paquete(decimal pAlto, decimal pAncho, decimal pLargo, decimal pPeso, decimal pValorCont, bool pSeguro, string pDescripcion, decimal pPrecio, DateTime pFechaEnvio, Cliente pCliente, Usuario pAdmin, Destinatario pDest, Direccion pDirOrigen, Oficina pNroOfiOrig, Oficina pNroOfiFinal) : base(pPrecio, pFechaEnvio, pCliente, pAdmin, pDest, pDirOrigen, pNroOfiOrig, pNroOfiFinal) { this.alto = pAlto; this.ancho = pAncho; this.largo = pLargo; this.peso = pPeso; this.valorContenido = pValorCont; this.seguro = pSeguro; this.descripcion = pDescripcion; base.Precio = pPrecio; base.FechaEnvio = pFechaEnvio; base.Cliente = pCliente; base.Admin = pAdmin; base.Destinatario = pDest; base.Direccion = pDirOrigen; base.NroOfiOrig = pNroOfiOrig; base.NroOfiFinal = pNroOfiFinal; }
//Precarga de datos public void DatosPrecargados() { { //Creo aptos Vivienda vi1 = new Vivienda(1, 33, 120, 500, "S", 3, 2, false); Vivienda vi2 = new Vivienda(2, 20, 90, 500, "N", 1, 1, true); Oficina of1 = new Oficina(2, 22, 50, 500, "NE", 10, true); Oficina of2 = new Oficina(3, 23, 80, 500, "O", 6, true); List <Apartamento> aptos1 = new List <Apartamento>(); aptos1.Add(vi1); aptos1.Add(vi2); aptos1.Add(of1); aptos1.Add(of2); //Creo edificio Edificio edi1 = new Edificio("Complejo Torre Sur", "direcc1", aptos1); //Agrego edificio AgregarEdificio(edi1); //Agrego aptos ( global ) AgregarApto(vi1); AgregarApto(vi2); AgregarApto(of1); AgregarApto(of2); } { //Creo aptos Vivienda vi3 = new Vivienda(3, 33, 110, 500, "NO", 3, 2, false); Vivienda vi4 = new Vivienda(4, 20, 120, 500, "NE", 3, 1, true); Oficina of3 = new Oficina(6, 22, 60, 500, "N", 4, true); Oficina of4 = new Oficina(10, 23, 40, 500, "SE", 9, true); List <Apartamento> aptos2 = new List <Apartamento>(); aptos2.Add(vi3); aptos2.Add(vi4); aptos2.Add(of3); aptos2.Add(of4); //Creo edificio Edificio edi2 = new Edificio("Ed. Prado", "direcc2", aptos2); //Agrego edificio AgregarEdificio(edi2); //Agrego aptos ( global ) AgregarApto(vi3); AgregarApto(vi4); AgregarApto(of3); AgregarApto(of4); } { //Creo aptos Vivienda vi5 = new Vivienda(10, 33, 140, 500, "N", 3, 2, false); Vivienda vi6 = new Vivienda(9, 20, 100, 500, "N", 2, 1, true); Oficina of5 = new Oficina(5, 22, 100, 500, "NE", 15, true); Oficina of6 = new Oficina(3, 23, 40, 500, "SO", 20, true); List <Apartamento> aptos3 = new List <Apartamento>(); aptos3.Add(vi5); aptos3.Add(vi6); aptos3.Add(of5); aptos3.Add(of6); //Creo edificio Edificio edi3 = new Edificio("Un edificio ahí", "direcc3", aptos3); //Agrego edificio AgregarEdificio(edi3); //Agrego aptos ( global ) AgregarApto(vi5); AgregarApto(vi6); AgregarApto(of5); AgregarApto(of6); } }
public void AgregarDatosPrueba() { //PRECARGA CLIENTES AgregarCliente(new Cliente("Juan", "Perez", "49996663", "Avenida Sin Nombre 123", 099789678)); AgregarCliente(new Cliente("Ana", "Ramirez", "49996664", "Avenida Sin Nombre 124", 099789672)); AgregarCliente(new Cliente("Maria", "Fernandez", "49996665", "Avenida Sin Nombre 125", 099789673)); AgregarCliente(new Cliente("Lucas", "Gimenez", "49996666", "Avenida Sin Nombre 126", 099789674)); AgregarCliente(new Cliente("Matias", "Romero", "49996667", "Avenida Sin Nombre 127", 099789675)); AgregarCliente(new Cliente("Luisa", "Santos", "49996668", "Avenida Sin Nombre 128", 099789676)); AgregarCliente(new Cliente("Camila", "Martinez", "49996669", "Avenida Sin Nombre 129", 099789677)); //PRECARGA EDIFICIOS AgregarEdificio(new Edificio("Isla Esmeralda", "Avenida_1")); AgregarEdificio(new Edificio("Art Boulevard", "Avenida_2")); AgregarEdificio(new Edificio("Manhattan", "Avenida_3")); AgregarEdificio(new Edificio("Coral Tower", "Avenida_4")); //PRECARGA APARTAMENTOS Vivienda vi1 = new Vivienda(Utilidades.GeneradorId.ObtenerIdApto(), 1, 107, 120, 500, "S", this.listaEdificios[0], 3, 2, false, true); Oficina of1 = new Oficina(Utilidades.GeneradorId.ObtenerIdApto(), 2, 208, 50, 500, "NE", this.listaEdificios[0], 10, true, true); Vivienda vi2 = new Vivienda(Utilidades.GeneradorId.ObtenerIdApto(), 3, 302, 90, 500, "N", this.listaEdificios[0], 1, 1, true, true); Oficina of2 = new Oficina(Utilidades.GeneradorId.ObtenerIdApto(), 4, 480, 23, 500, "SE", this.listaEdificios[0], 6, true, false); Vivienda vi3 = new Vivienda(Utilidades.GeneradorId.ObtenerIdApto(), 5, 501, 120, 500, "OE", this.listaEdificios[0], 3, 2, false, false); Oficina of3 = new Oficina(Utilidades.GeneradorId.ObtenerIdApto(), 6, 608, 50, 500, "NE", this.listaEdificios[0], 10, true, true); Vivienda vi4 = new Vivienda(Utilidades.GeneradorId.ObtenerIdApto(), 2, 202, 90, 500, "NO", this.listaEdificios[1], 1, 1, true, true); Oficina of4 = new Oficina(Utilidades.GeneradorId.ObtenerIdApto(), 7, 709, 80, 500, "O", this.listaEdificios[1], 6, true, true); Vivienda vi5 = new Vivienda(Utilidades.GeneradorId.ObtenerIdApto(), 9, 902, 90, 500, "E", this.listaEdificios[1], 1, 1, true, false); Oficina of5 = new Oficina(Utilidades.GeneradorId.ObtenerIdApto(), 11, 1101, 80, 500, "SO", this.listaEdificios[1], 6, true, false); Vivienda vi6 = new Vivienda(Utilidades.GeneradorId.ObtenerIdApto(), 6, 601, 120, 500, "OE", this.listaEdificios[1], 3, 2, false, true); Oficina of6 = new Oficina(Utilidades.GeneradorId.ObtenerIdApto(), 4, 408, 50, 500, "NE", this.listaEdificios[1], 10, true, false); Vivienda vi7 = new Vivienda(Utilidades.GeneradorId.ObtenerIdApto(), 4, 407, 120, 500, "S", this.listaEdificios[2], 3, 2, false, true); Oficina of7 = new Oficina(Utilidades.GeneradorId.ObtenerIdApto(), 4, 408, 50, 500, "NE", this.listaEdificios[2], 10, true, true); Vivienda vi8 = new Vivienda(Utilidades.GeneradorId.ObtenerIdApto(), 2, 202, 90, 500, "N", this.listaEdificios[2], 1, 1, true, true); Oficina of8 = new Oficina(Utilidades.GeneradorId.ObtenerIdApto(), 3, 303, 80, 500, "SE", this.listaEdificios[2], 6, true, true); Vivienda vi9 = new Vivienda(Utilidades.GeneradorId.ObtenerIdApto(), 6, 601, 120, 500, "OE", this.listaEdificios[2], 3, 2, false, true); Oficina of9 = new Oficina(Utilidades.GeneradorId.ObtenerIdApto(), 5, 508, 50, 500, "NE", this.listaEdificios[2], 10, true, true); Vivienda vi10 = new Vivienda(Utilidades.GeneradorId.ObtenerIdApto(), 4, 407, 120, 500, "S", this.listaEdificios[3], 3, 2, false, false); Oficina of10 = new Oficina(Utilidades.GeneradorId.ObtenerIdApto(), 4, 408, 50, 500, "NE", this.listaEdificios[3], 10, true, true); Vivienda vi11 = new Vivienda(Utilidades.GeneradorId.ObtenerIdApto(), 2, 202, 90, 500, "N", this.listaEdificios[3], 1, 1, true, true); Oficina of11 = new Oficina(Utilidades.GeneradorId.ObtenerIdApto(), 3, 323, 80, 500, "SE", this.listaEdificios[3], 6, true, true); Vivienda vi12 = new Vivienda(Utilidades.GeneradorId.ObtenerIdApto(), 6, 601, 120, 500, "OE", this.listaEdificios[3], 3, 2, false, true); Oficina of12 = new Oficina(Utilidades.GeneradorId.ObtenerIdApto(), 6, 608, 50, 500, "NE", this.listaEdificios[3], 10, true, false); this.listaEdificios[0].AgregarApartamentoEnEdificio(vi1); this.listaEdificios[0].AgregarApartamentoEnEdificio(of1); this.listaEdificios[0].AgregarApartamentoEnEdificio(vi2); this.listaEdificios[0].AgregarApartamentoEnEdificio(of2); this.listaEdificios[0].AgregarApartamentoEnEdificio(vi3); this.listaEdificios[0].AgregarApartamentoEnEdificio(of3); this.listaEdificios[1].AgregarApartamentoEnEdificio(vi4); this.listaEdificios[1].AgregarApartamentoEnEdificio(of4); this.listaEdificios[1].AgregarApartamentoEnEdificio(vi5); this.listaEdificios[1].AgregarApartamentoEnEdificio(of5); this.listaEdificios[1].AgregarApartamentoEnEdificio(vi6); this.listaEdificios[1].AgregarApartamentoEnEdificio(of6); this.listaEdificios[2].AgregarApartamentoEnEdificio(vi7); this.listaEdificios[2].AgregarApartamentoEnEdificio(of7); this.listaEdificios[2].AgregarApartamentoEnEdificio(vi8); this.listaEdificios[2].AgregarApartamentoEnEdificio(of8); this.listaEdificios[2].AgregarApartamentoEnEdificio(vi9); this.listaEdificios[2].AgregarApartamentoEnEdificio(of9); this.listaEdificios[3].AgregarApartamentoEnEdificio(vi10); this.listaEdificios[3].AgregarApartamentoEnEdificio(of10); this.listaEdificios[3].AgregarApartamentoEnEdificio(vi11); this.listaEdificios[3].AgregarApartamentoEnEdificio(of11); this.listaEdificios[3].AgregarApartamentoEnEdificio(vi12); this.listaEdificios[3].AgregarApartamentoEnEdificio(of12); //PRECARGA VENDEDORES Vendedor vend1 = new Vendedor(Utilidades.GeneradorId.ObtenerIdVendedor(), "vend1", "vend1111"); Vendedor vend2 = new Vendedor(Utilidades.GeneradorId.ObtenerIdVendedor(), "vend2", "vend2222"); ListaVendedores.Add(vend1); ListaVendedores.Add(vend2); //PRECARGA COMISIONES Comision comision1Vend1 = new Comision(this.listaEdificios[0], 20); Comision comision2Vend1 = new Comision(this.listaEdificios[1], 10); Comision comision3Vend1 = new Comision(this.listaEdificios[2], 15); Comision comision4Vend1 = new Comision(this.listaEdificios[3], 5); vend1.agregarComision(comision1Vend1); vend1.agregarComision(comision2Vend1); vend1.agregarComision(comision3Vend1); vend1.agregarComision(comision4Vend1); Comision comision1Vend2 = new Comision(this.listaEdificios[0], 5); Comision comision2Vend2 = new Comision(this.listaEdificios[1], 15); Comision comision3Vend2 = new Comision(this.listaEdificios[2], 20); Comision comision4Vend2 = new Comision(this.listaEdificios[3], 10); vend2.agregarComision(comision1Vend2); vend2.agregarComision(comision2Vend2); vend2.agregarComision(comision3Vend2); vend2.agregarComision(comision4Vend2); //PRECARGA VENTAS AgregarVenta(new CompraVenta(new DateTime(2017, 11, 08), this.ListaEdificios[0].MisApartamentos[0], this.ListaVendedores[0], this.ListaClientes[0], this.ListaEdificios[0].MisApartamentos[0].calcularPrecio())); AgregarVenta(new CompraVenta(new DateTime(2018, 05, 09), this.ListaEdificios[0].MisApartamentos[4], this.ListaVendedores[1], this.ListaClientes[1], this.ListaEdificios[0].MisApartamentos[4].calcularPrecio())); AgregarVenta(new CompraVenta(new DateTime(2016, 06, 12), this.ListaEdificios[0].MisApartamentos[2], this.ListaVendedores[0], this.ListaClientes[2], this.ListaEdificios[0].MisApartamentos[2].calcularPrecio())); AgregarVenta(new CompraVenta(new DateTime(2015, 03, 14), this.ListaEdificios[1].MisApartamentos[3], this.ListaVendedores[1], this.ListaClientes[4], this.ListaEdificios[1].MisApartamentos[3].calcularPrecio())); AgregarVenta(new CompraVenta(new DateTime(2015, 12, 21), this.ListaEdificios[1].MisApartamentos[4], this.ListaVendedores[0], this.ListaClientes[4], this.ListaEdificios[1].MisApartamentos[4].calcularPrecio())); AgregarVenta(new CompraVenta(new DateTime(2017, 10, 24), this.ListaEdificios[1].MisApartamentos[5], this.ListaVendedores[1], this.ListaClientes[5], this.ListaEdificios[1].MisApartamentos[5].calcularPrecio())); AgregarVenta(new CompraVenta(new DateTime(2018, 09, 12), this.ListaEdificios[2].MisApartamentos[0], this.ListaVendedores[0], this.ListaClientes[0], this.ListaEdificios[2].MisApartamentos[0].calcularPrecio())); AgregarVenta(new CompraVenta(new DateTime(2018, 09, 03), this.ListaEdificios[2].MisApartamentos[1], this.ListaVendedores[1], this.ListaClientes[1], this.ListaEdificios[2].MisApartamentos[1].calcularPrecio())); AgregarVenta(new CompraVenta(new DateTime(2014, 01, 15), this.ListaEdificios[2].MisApartamentos[2], this.ListaVendedores[0], this.ListaClientes[2], this.ListaEdificios[2].MisApartamentos[2].calcularPrecio())); AgregarVenta(new CompraVenta(new DateTime(2015, 02, 14), this.ListaEdificios[3].MisApartamentos[3], this.ListaVendedores[1], this.ListaClientes[3], this.ListaEdificios[3].MisApartamentos[3].calcularPrecio())); AgregarVenta(new CompraVenta(new DateTime(2016, 02, 22), this.ListaEdificios[3].MisApartamentos[4], this.ListaVendedores[0], this.ListaClientes[4], this.ListaEdificios[3].MisApartamentos[4].calcularPrecio())); AgregarVenta(new CompraVenta(new DateTime(2018, 11, 10), this.ListaEdificios[3].MisApartamentos[5], this.ListaVendedores[1], this.ListaClientes[5], this.ListaEdificios[3].MisApartamentos[5].calcularPrecio())); //Cliente 6 no compro ningun apto }