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