public Transporte ObtenerTipoTransporte(Paqueteria paqueteria, string transporte)
        {
            Transporte paq;

            switch (transporte.ToUpper())
            {
            case "BARCO":
                paq = ObtenerTransportePaqueteria(paqueteria, Transporte.Barco);
                break;

            case "TREN":
                paq = ObtenerTransportePaqueteria(paqueteria, Transporte.Tren);
                break;

            case "AVION":
                paq = ObtenerTransportePaqueteria(paqueteria, Transporte.Avion);
                break;

            default:
                paq = Transporte.None;
                break;
            }

            return(paq);
        }
        private Transporte ObtenerTransportePaqueteria(Paqueteria paqueteria, Transporte transporte)
        {
            Transporte paq;

            switch (paqueteria)
            {
            case Paqueteria.Fedex:
                paq = transporte == Transporte.Barco ? transporte : Transporte.None;
                break;

            case Paqueteria.DHL:
                paq = (transporte == Transporte.Barco) ? transporte : (transporte == Transporte.Avion) ? transporte : Transporte.None;
                break;

            case Paqueteria.Estafeta:
                paq = transporte == Transporte.Tren ? transporte : Transporte.None;
                break;

            default:
                paq = Transporte.None;
                break;
            }

            return(paq);
        }
Ejemplo n.º 3
0
        private void initSistemaGlobalPedidos()
        {
            IMedioTransporte avion = new MedioTransporte("Avion", 600, 10);
            IMedioTransporte barco = new MedioTransporte("Barco", 46, 1);
            IMedioTransporte tren  = new MedioTransporte("Tren", 80, 5);

            List <IMedioTransporte> listFedex = new List <IMedioTransporte>();

            listFedex.Add(barco);
            IPaqueteria paqueteriaFedex = new Paqueteria("Fedex", listFedex, 50);

            List <IMedioTransporte> listDHL = new List <IMedioTransporte>();

            listDHL.Add(avion);
            listDHL.Add(barco);
            IPaqueteria paqueteriaDHL = new Paqueteria("DHL", listDHL, 40);

            List <IMedioTransporte> listEstafeta = new List <IMedioTransporte>();

            listEstafeta.Add(tren);
            listEstafeta.Add(barco);
            IPaqueteria paqueteriaEstafeta = new Paqueteria("Estafeta", listEstafeta, 20);

            List <IPaqueteria> paqueterias = new List <IPaqueteria>();

            paqueterias.Add(paqueteriaFedex);
            paqueterias.Add(paqueteriaDHL);
            paqueterias.Add(paqueteriaEstafeta);

            this.sistemaGlobalPedidos = new SistemaGlobalPedidos(paqueterias);
        }
Ejemplo n.º 4
0
        public List <IPaqueteria> getPaqueterias()
        {
            string informacion = servicio.leerJSONConfig();
            List <InfoConfiguracionDTO> informacionDTO = JsonConvert.DeserializeObject <List <InfoConfiguracionDTO> >(informacion);

            List <IMedioTransporte> mediosTransporte = new List <IMedioTransporte>();
            List <IPaqueteria>      paqueterias      = new List <IPaqueteria>();

            foreach (MedioTransporte medio in informacionDTO[0].MediosTransporte)
            {
                mediosTransporte.Add(medio);
            }

            foreach (PaqueteriaDTO paqueteriaDTO in informacionDTO[1].Paqueterias)
            {
                string nombrePaqueteria = paqueteriaDTO.paqueteria;
                List <IMedioTransporte> transportePaqueteria = new List <IMedioTransporte>();
                foreach (MedioTransporte medio in mediosTransporte)
                {
                    foreach (MedioDTO medioDTO in paqueteriaDTO.medios)
                    {
                        if (medioDTO.medio.Equals(medio.getMedio()))
                        {
                            transportePaqueteria.Add(medio);
                            break;
                        }
                    }
                }

                IPaqueteria paqueteria = new Paqueteria(nombrePaqueteria, transportePaqueteria, Decimal.Parse(paqueteriaDTO.margenUtilidad.ToString()));
                paqueterias.Add(paqueteria);
            }

            return(paqueterias);
        }
Ejemplo n.º 5
0
        public decimal ObtenerCostoEnvioEconomico(Pedido _Pedido, Paqueteria _entPaqueteria, Transporte _Transporte)
        {
            decimal dCostoEnvio = 0.0M;

            dCostoEnvio = (_Transporte.iCostoKilometro * _Pedido.iDistancia) + (1 + ((decimal)_entPaqueteria.iMargenUtilidad / 100));
            return(dCostoEnvio);
        }
Ejemplo n.º 6
0
        public ActionResult DeleteConfirmed(int id)
        {
            Paqueteria paqueteria = db.Paqueterias.Find(id);

            db.Paqueterias.Remove(paqueteria);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Ejemplo n.º 7
0
        public void CrearPaqueteria_EnviarInterfaceTransporteVacia_CreaPaqueteriaSinListaTransporte()
        {
            Paqueteria Paqueteria = new Paqueteria();
            List <IInicializarTransportes> lstIInicializarTransportes = new List <IInicializarTransportes>();
            ITransportesPorPaqueteria      ITransportesPorPaqueteria  = new CrearTransportes(lstIInicializarTransportes);
            PaqueteriaDHL PaqueteriaDHL = new PaqueteriaDHL(ITransportesPorPaqueteria);

            Paqueteria = PaqueteriaDHL.CrearPaqueteria();
            Assert.IsTrue(!Paqueteria.lstETransporte.Any());
        }
Ejemplo n.º 8
0
 public ActionResult Edit([Bind(Include = "Id_paqueteria,nombre,rfc,tel,web,direccion,contacto,telContacto")] Paqueteria paqueteria)
 {
     if (ModelState.IsValid)
     {
         db.Entry(paqueteria).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(paqueteria));
 }
        public void ObtenerCostoEnvioEconomico_EnviarPedidoVacioEnviarPaqueteriaVaciaEnviarTransporteVacio_ObtieneMontoEnvioUno()
        {
            Pedido     Pedido        = new Pedido();
            Paqueteria entPaqueteria = new Paqueteria();
            Transporte Transporte    = new Transporte();
            decimal    dMonto        = 0.0M;
            EvaluarOpcionEconominca EvaluarOpcionEconominca = new EvaluarOpcionEconominca();

            dMonto = EvaluarOpcionEconominca.ObtenerCostoEnvioEconomico(Pedido, entPaqueteria, Transporte);
            Assert.IsTrue(dMonto == 1);
        }
 public ActionResult Edit([Bind(Include = "id_paqueteria,nombre_paqueteria,telefono,sitio_web,rfc,contacto,telefono_contacto,id_direccion")] Paqueteria paqueteria)
 {
     if (ModelState.IsValid)
     {
         db.Entry(paqueteria).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.id_direccion = new SelectList(db.Direccion, "id_direccion", "estado", paqueteria.id_direccion);
     return(View(paqueteria));
 }
Ejemplo n.º 11
0
        public Paqueteria CrearPaqueteria()
        {
            Paqueteria entPaqueteria = new Paqueteria()
            {
                EEmpresa        = EnumEmpresa.FEDEX,
                iMargenUtilidad = 50,
                lstETransporte  = ITransportesPorPaqueteria.CrearListaTransportesPorPaquetria()
            };

            return(entPaqueteria);
        }
Ejemplo n.º 12
0
        public ActionResult Create([Bind(Include = "Id_paqueteria,nombre,rfc,tel,web,direccion,contacto,telContacto")] Paqueteria paqueteria)
        {
            if (ModelState.IsValid)
            {
                db.Paqueterias.Add(paqueteria);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(paqueteria));
        }
Ejemplo n.º 13
0
            public void CrearPaqueteria_EnviarInterfaceTransporte_CreaPaqueteria()
            {
                Paqueteria Paqueteria = new Paqueteria();
                List <IInicializarTransportes> lstIInicializarTransportes = new List <IInicializarTransportes>();

                lstIInicializarTransportes.Add(new TransporteAvion());
                ITransportesPorPaqueteria ITransportesPorPaqueteria = new CrearTransportes(lstIInicializarTransportes);
                PaqueteriaFedex           PaqueteriaFedex           = new PaqueteriaFedex(ITransportesPorPaqueteria);

                Paqueteria = PaqueteriaFedex.CrearPaqueteria();
                Assert.IsTrue(Paqueteria != null);
            }
        public void CrearPaqueteria_EnviarInterfaceTransporte_CreaPaqueteriaConListaTransporte()
        {
            Paqueteria Paqueteria = new Paqueteria();
            List <IInicializarTransportes> lstIInicializarTransportes = new List <IInicializarTransportes>();

            lstIInicializarTransportes.Add(new TransporteAvion());
            ITransportesPorPaqueteria ITransportesPorPaqueteria = new CrearTransportes(lstIInicializarTransportes);
            PaqueteriaEstafeta        PaqueteriaEstafeta        = new PaqueteriaEstafeta(ITransportesPorPaqueteria);

            Paqueteria = PaqueteriaEstafeta.CrearPaqueteria();
            Assert.IsTrue(Paqueteria.lstETransporte.Any());
        }
Ejemplo n.º 15
0
        public void CrearPaqueteria_EnviarInterfaceTransporte_CreaPaqueteriaConNombreEmpresa()
        {
            Paqueteria Paqueteria = new Paqueteria();
            List <IInicializarTransportes> lstIInicializarTransportes = new List <IInicializarTransportes>();

            lstIInicializarTransportes.Add(new TransporteAvion());
            ITransportesPorPaqueteria ITransportesPorPaqueteria = new CrearTransportes(lstIInicializarTransportes);
            PaqueteriaDHL             PaqueteriaDHL             = new PaqueteriaDHL(ITransportesPorPaqueteria);

            Paqueteria = PaqueteriaDHL.CrearPaqueteria();
            Assert.IsTrue(!string.IsNullOrEmpty(Paqueteria.EEmpresa.ToString()));
        }
Ejemplo n.º 16
0
        public void CrearPaqueteria_EnviarInterfaceTransporte_CreaPaqueteriaConMargerUtilidas()
        {
            Paqueteria Paqueteria = new Paqueteria();
            List <IInicializarTransportes> lstIInicializarTransportes = new List <IInicializarTransportes>();

            lstIInicializarTransportes.Add(new TransporteAvion());
            ITransportesPorPaqueteria ITransportesPorPaqueteria = new CrearTransportes(lstIInicializarTransportes);
            PaqueteriaDHL             PaqueteriaDHL             = new PaqueteriaDHL(ITransportesPorPaqueteria);

            Paqueteria = PaqueteriaDHL.CrearPaqueteria();
            Assert.IsTrue(Paqueteria.iMargenUtilidad != 0);
        }
Ejemplo n.º 17
0
        // GET: Paqueterias/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Paqueteria paqueteria = db.Paqueterias.Find(id);

            if (paqueteria == null)
            {
                return(HttpNotFound());
            }
            return(View(paqueteria));
        }
        // GET: Paqueterias/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Paqueteria paqueteria = db.Paqueteria.Find(id);

            if (paqueteria == null)
            {
                return(HttpNotFound());
            }
            ViewBag.id_direccion = new SelectList(db.Direccion, "id_direccion", "estado", paqueteria.id_direccion);
            return(View(paqueteria));
        }
        public void ObtenerCostoEnvioEconomico_EnviarPedidoEnviarPaqueteriaEnviarTransporteVacio_NoObtieneMontoMargen()
        {
            Pedido Pedido = new Pedido()
            {
                iDistancia = 100
            };
            Paqueteria entPaqueteria = new Paqueteria()
            {
                iMargenUtilidad = 40
            };
            Transporte Transporte = new Transporte();
            decimal    dMonto     = 0.0M;
            EvaluarOpcionEconominca EvaluarOpcionEconominca = new EvaluarOpcionEconominca();

            dMonto = EvaluarOpcionEconominca.ObtenerCostoEnvioEconomico(Pedido, entPaqueteria, Transporte);
            Assert.IsTrue(dMonto == (decimal)1.4);
        }
        //public ActionResult Create([Bind(Include = "id_paqueteria,nombre_paqueteria,telefono,sitio_web,rfc,contacto,telefono_contacto,id_direccion")] Paqueteria paqueteria)
        public ActionResult Create(string nombre_paqueteria, string telefono, string sitio_web, string rfc, string contacto, string telefono_contacto, string estado, string municipio, string ciudad, string codigo_postal, string calle_externa, string num_calle_externa, string calle_interna, string num_calle_interna, string ref1, string ref2, string pais)
        {
            int       numCallExterna  = Int32.Parse(num_calle_externa.ToString());
            int       numCalleInterna = Int32.Parse(num_calle_interna.ToString());
            Direccion direccion       = new Direccion();

            direccion.estado            = estado;
            direccion.municipio         = municipio;
            direccion.ciudad            = ciudad;
            direccion.codigo_postal     = codigo_postal;
            direccion.telefono          = telefono;
            direccion.calle_externa     = calle_externa;
            direccion.num_calle_externa = numCallExterna;
            direccion.calle_interna     = calle_interna;
            direccion.num_calle_interna = numCalleInterna;
            direccion.ref1 = ref1;
            direccion.ref2 = ref2;
            direccion.pais = pais;

            int id = 1;

            id = db.Direccion.Max(o => o.id_direccion);

            db.Direccion.Add(direccion);
            db.SaveChanges();

            int        telefonoP          = Int32.Parse(telefono.ToString());
            string     rfcP               = rfc.ToString();
            int        telefono_contactoP = Int32.Parse(telefono_contacto.ToString());
            Paqueteria paqueteria         = new Paqueteria();

            paqueteria.nombre_paqueteria = nombre_paqueteria;
            paqueteria.telefono          = telefonoP;
            paqueteria.sitio_web         = sitio_web;
            paqueteria.rfc               = rfcP;
            paqueteria.contacto          = contacto;
            paqueteria.telefono_contacto = telefono_contactoP;
            paqueteria.id_direccion      = id;

            db.Paqueteria.Add(paqueteria);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        private decimal ObtenerMargenUtilidad(Paqueteria paqueteria)
        {
            decimal iMargenUtilidad = 0;

            switch (paqueteria)
            {
            case Paqueteria.Fedex:
                iMargenUtilidad = 1.5M;
                break;

            case Paqueteria.DHL:
                iMargenUtilidad = 1.4M;
                break;

            case Paqueteria.Estafeta:
                iMargenUtilidad = 1.2M;
                break;
            }

            return(iMargenUtilidad);
        }