none
Ayuda con Diseño de Modelo (tabla) RRS feed

  • Pregunta

  • tengo que diseñar una tabla u creo que no he tenido problemas, pero ahora que mi tabla tiene que llevar un campo calcula

    importe= cantidad * pmr

    no se como hacer ese diseño en el modelo de mi tabla agradeceré su ayuda.

    public class MREQUERIMIENTO
        {
            [Key]
            public int MREQUERIMIENTOID  { get; set; }
    
            public int USUARIOID { get; set; }
    
    
            [Required(ErrorMessage = "El campo {0} es requerido")]
            [Display(Name = "Número de Licitacion :")]
            public int LICITACIONID { get; set; }
    
            [Required(ErrorMessage = "El campo {0} es requerido")]
            [Display(Name = "GPO :")]
            [StringLength(3, ErrorMessage = "Debe introducir 3 caracters. ")]
            public string GPO { get; set; }
    
            [Required(ErrorMessage = "El campo {0} es requerido")]
            [Display(Name = "GEN:")]
            [StringLength(3, ErrorMessage = "Debe introducir 3 caracters. ")]
            public string GEN { get; set; }
    
            [Required(ErrorMessage = "El campo {0} es requerido")]
            [Display(Name = "ESP:")]
            [StringLength(4, ErrorMessage = "Debe introducir 4 caracters. ")]
            public string ESP  { get; set; }
    
            [Required(ErrorMessage = "El campo {0} es requerido")]
            [Display(Name = "DIF:")]
            [StringLength(2, ErrorMessage = "Debe introducir 2 caracters. ")]
            public string DIF { get; set; }
    
            [Required(ErrorMessage = "El campo {0} es requerido")]
            [Display(Name = "VAR:")]
            [StringLength(2, ErrorMessage = "Debe introducir 2 caracters. ")]
            public string VAR  { get; set; }
    
            [Required(ErrorMessage = "El campo {0} es requerido")]
            [Display(Name = "DESCRIPCIÓN:")]
            public string DESCRIPCIONBIEN { get; set; }
    
            [Required(ErrorMessage = "El campo {0} es requerido")]
            [Display(Name = "UNI:")]
            public string UNI { get; set; }
    
            [Required(ErrorMessage = "El campo {0} es requerido")]
            [Display(Name = "CANT:")]
            public string CANT { get; set; }
    
            [Required(ErrorMessage = "El campo {0} es requerido")]
            [Display(Name = "TIPO:")]
            public string TIPO { get; set; }
    
    
            public string CLASE { get; set; }
    
            [Required(ErrorMessage = "El campo {0} es requerido")]
            [Display(Name = "PMR :")]
            public float PMR { get; set; }
    
            [Required(ErrorMessage = "El campo {0} es requerido")]
            [Display(Name = "CANTIDAD MAXIMA:")]
            public int MAXIMO { get; set; }
    
            [Required(ErrorMessage = "El campo {0} es requerido")]
            [Display(Name = "CANTIDAD MINIMA:")]
            public int MINIMO { get; set; }
                    
            public float IMPORTE_MIN  (this.MAXIMO * this.PMR) { get; set; } // aqui es donde estaria el campo calcularo muchas gracias
    
           


    Horacio Xochitemol Bautista

    jueves, 21 de abril de 2016 18:16

Respuestas

  • gracias Lenadro como siemrep, el campo cant es de tipo string porque ahi guardar un dato string el campo real es MXIMO * PMR, lo intentare como me indicas.

    saludos.


    Horacio Xochitemol Bautista

    • Marcado como respuesta Xochitemol sábado, 20 de enero de 2018 1:58
    jueves, 21 de abril de 2016 19:02
  • >>el campo cant es de tipo string porque ahi guardar un dato string el campo real es MXIMO * PMR

    ahh ok

    como habias puesto "cantidad" en la formula original la propiedad mas parecida que vi era CANT


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta Xochitemol sábado, 20 de enero de 2018 1:58
    jueves, 21 de abril de 2016 20:06

Todas las respuestas

  • hola

    >>pero ahora que mi tabla tiene que llevar un campo calcula

    por las reglas de normalizacion de las base de datos no se debe persistir ningun campo calculado

    si tienes dos campos en tabla, como es el caso de la cantidad y el pmr persiste estos separados y en el model define la propiedad que realice la operacion

    public class MREQUERIMIENTO
    {
    	//resto propiedades
    	
    	[NotMapped]
    	public double Importe
    	{
    	     get { return this.CANT * this.PRM; }
    	}
    
    }

    la propeidad calculada no la mepas a ningun campos en la tabla se calcula en runtime

    Como puede ser que el campo CANT sea un string ? deberias ser al menos int

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    jueves, 21 de abril de 2016 18:25
  • gracias Lenadro como siemrep, el campo cant es de tipo string porque ahi guardar un dato string el campo real es MXIMO * PMR, lo intentare como me indicas.

    saludos.


    Horacio Xochitemol Bautista

    • Marcado como respuesta Xochitemol sábado, 20 de enero de 2018 1:58
    jueves, 21 de abril de 2016 19:02
  • >>el campo cant es de tipo string porque ahi guardar un dato string el campo real es MXIMO * PMR

    ahh ok

    como habias puesto "cantidad" en la formula original la propiedad mas parecida que vi era CANT


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta Xochitemol sábado, 20 de enero de 2018 1:58
    jueves, 21 de abril de 2016 20:06