Если Else Enum Типы - PullRequest
       0

Если Else Enum Типы

0 голосов
/ 28 декабря 2018

Я создал класс, который использует другой Enum для поля.Когда я создаю объект этого типа класса в моем контроллере, мне нужно знать это поле и использовать его для определения конечного количества перед сохранением объекта в моем контроллере.Он оценивается как логическое значение и сохраняет ноль для всего, кроме Stuff = 0.

Enum

public enum StuffMeasureSystem
{
    Stuff = 0,
    [Display(Name = "16\" Stuff")]
    Stuff16 = 1,
    [Display(Name = "24\" Stuff")]
    Stuff24 = 2
}

Класс

public class Stuff
{
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    [Key]
    public int Id { get; set; }
    [DatabaseGenerated(DatabaseGeneratedOption.Computed)]
    public DateTime Created { get; set; }

    [JsonIgnore]
    public Company Company { get; set; }
    public Guid CompanyId { get; set; }

    [JsonIgnore]
    public ApplicationUser CreatedBy { get; set; }
    public string CreatedById { get; set; }

    public StuffMeasureSystem MeasureSystem { get; set; }
    public double Quantity { get; set; }

    public double Quantity_Stuff_16 (double Quantity)
        {
        return Quantity * (1 / 3);
        }
    public double Quantity_Stuff_24(double Quantity)
    {
        return Quantity * .5;
    }

    public Location Location { get; set; }
    public int? LocationId { get; set; }
}

Контроллер

if (ModelState.IsValid)
{
    if (stuff.MeasureSystem == StuffMeasureSystem.Stuff16)
    {
        stuff.Quantity = stuff.Quantity_Stuff_16(stuff.Quantity);
    }
    else if (stuff.MeasureSystem == StuffMeasureSystem.Stuff24)
    {
        stuff.Quantity = stuff.Quantity_Stuff_24(stuff.Quantity);
    }
    else
    {
        stuff.Quantity = stuff.Quantity;
    }

    _context.Add(stuff);
    await _context.SaveChangesAsync();
    return RedirectToAction(nameof(Index));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...