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")); }
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); }
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)); }
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)); }
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); }
private static decimal CalcularPerimetro(MarcoDTO marco) { return((marco.Ancho * 2) + (marco.Largo * 2)); }