Exemple #1
0
        public void CrearPedidoCompletoConDosMarcos_OK()
        {
            // Crear pedido

            PedidoDTO pedido = this.PedidoService.CrearNuevo();

            // Agregar marco

            MarcoDTO marcoDTO = CrearMarcoDTO();

            MarcoDTO marco    = this.MarcoService.CrearMarco(marcoDTO);
            MarcoDTO marcoDos = this.MarcoService.CrearMarco(marcoDTO);

            this.PedidoService.AgregarMarco(pedido.Numero, marco.Numero);
            this.PedidoService.AgregarMarco(pedido.Numero, marcoDos.Numero);

            // Crear comprador

            CompradorDTO compradorDTO = CrearCompradorDTO(pedido);

            this.CompradorService.CrearComprador(compradorDTO);

            this.MarcoService.SetEstadoListo(marco.Numero);
            this.MarcoService.SetEstadoListo(marcoDos.Numero);

            //void PedirMaterialesParaMarco(int numeroMarco);

            this.PedidoService.SetearEstadoTerminado(pedido.Numero);

            this.PedidoService.SetearEstadoEntregado(pedido.Numero);

            pedido = this.PedidoService.GetByNumero(pedido.Numero);

            Assert.AreEqual(pedido.Precio, Convert.ToDecimal("784"));
        }
Exemple #2
0
        public void CrearMarco_Ok()
        {
            MarcoDTO marcoDTO = this.CrearMarcoDTO();

            MarcoDTO marco = this.MarcoService.CrearMarco(marcoDTO);

            Assert.IsTrue(marco.Numero != 0);
            Assert.AreEqual(marco.Ancho, 63);
            Assert.AreEqual(marco.Ancho, 63);
            Assert.AreEqual(marco.Estado, "Pendiente");
            Assert.AreNotEqual(marco.VarillaId, 0);
            Assert.AreNotEqual(marco.Precio, 0);
        }
Exemple #3
0
        public MarcoDTO CrearMarco(MarcoDTO marcoDTO)
        {
            Marco marco = this.MarcoAssembler.FromTo(marcoDTO);

            marco.Numero  = GetNumeroMarco();
            marco.Estado  = Estados.EstadoMarco.Pendiente;
            marco.Precio  = CalcularPrecio(marcoDTO);
            marco.Varilla = VarillaRepository.GetById(marcoDTO.VarillaId);

            this.EntityRepository.Save(marco);

            return(this.MarcoAssembler.ToDTO(marco));
        }
Exemple #4
0
        public decimal CalcularPrecio(MarcoDTO marco)
        {
            Varilla varilla = VarillaRepository.GetById(marco.VarillaId);

            // Regla de negocio
            // ancho y largo [cm]
            // conversion a mts
            // ( perimetro [cm] + 8 x ancho de varilla [cm] ) x precio varilla [$/m2]

            decimal perimetroCuadro = CalcularPerimetro(marco);

            decimal angulosVarilla = 8 * varilla.Ancho;

            decimal metrosNecesarios = (perimetroCuadro + angulosVarilla) / 100;

            return(metrosNecesarios * varilla.Precio);
        }
        public ActionResult Calcular(CalcularPrecioView dto)
        {
            var varilla = this.VarillaService.GetDTOById(dto.VarillaId);

            ViewBag.NombreVarilla = varilla.Nombre;

            var marco = new MarcoDTO()
            {
                Ancho     = dto.Ancho,
                Largo     = dto.Largo,
                VarillaId = varilla.Id,
            };

            marco.Precio = this.MarcoService.CalcularPrecio(marco);

            return(View(marco));
        }
Exemple #6
0
        public void CrearPedidoCompleto_OK()
        {
            // Crear pedido

            PedidoDTO pedido = this.PedidoService.CrearNuevo();

            Assert.AreEqual(pedido.Estado, Estados.EstadoPedido.Pendiente.ToString());
            Assert.IsTrue(pedido.FechaTerminado == null);
            Assert.IsTrue(pedido.FechaEntrega == null);
            Assert.IsTrue(pedido.FechaIngreso != null);

            // Agregar marco

            MarcoDTO marcoDTO = CrearMarcoDTO();

            MarcoDTO marco = this.MarcoService.CrearMarco(marcoDTO);

            this.PedidoService.AgregarMarco(pedido.Numero, marco.Numero);

            // Crear comprador

            CompradorDTO compradorDTO = CrearCompradorDTO(pedido);

            this.CompradorService.CrearComprador(compradorDTO);

            this.MarcoService.SetEstadoListo(marco.Numero);

            //void PedirMaterialesParaMarco(int numeroMarco);

            this.PedidoService.SetearEstadoTerminado(pedido.Numero);

            pedido = this.PedidoService.GetByNumero(pedido.Numero);

            Assert.AreEqual(pedido.Estado, Estados.EstadoPedido.Terminado.ToString());
            Assert.IsTrue(pedido.FechaTerminado != null);

            this.PedidoService.SetearEstadoEntregado(pedido.Numero);

            pedido = this.PedidoService.GetByNumero(pedido.Numero);

            Assert.AreEqual(pedido.Precio, Convert.ToDecimal("392"));
            Assert.AreEqual(pedido.Estado, Estados.EstadoPedido.Entregado.ToString());
            Assert.IsTrue(pedido.FechaEntrega != null);
        }
Exemple #7
0
 private static decimal CalcularPerimetro(MarcoDTO marco)
 {
     return((marco.Ancho * 2) + (marco.Largo * 2));
 }