Как упростить оператор регистра переключателя в модели MVC? - PullRequest
1 голос
/ 07 июня 2019

У меня есть этот код для вставки в БД данных из «часов1, часов2, часов3», полученных из импорта в Excel, но это делает код больше по мере его выполнения, это мой код, как я могу упростить часть часов1, часов2 == нуля ..?

switch (colNames.IndexOf(item2))
{
    case 0:
        if (model.Hours == null)
        {
            item.Hours = 0;
        }
        else
        {
            item.Hours = (decimal)model.Hours;
            item.Hours_Remaining = (decimal)model.Hours;
        }
        break;
    case 1:
        if (model.Hours1 == null)
        {
            item.Hours = 0;
        }
        else
        {
            item.Hours = (decimal)model.Hours1;
            item.Hours_Remaining = (decimal)model.Hours;
        }
        break;
    case 2:
        if (model.Hours2 == null)
        {
            item.Hours = 0;
        }
        else
        {
            item.Hours = (decimal)model.Hours2;
            item.Hours_Remaining = (decimal)model.Hours;
        }
        break;
    case 3:
        if (model.Hours == null)
        {
            item.Hours = 0;
        }
        else
        {
            item.Hours = (decimal)model.Hours3;
            item.Hours_Remaining = (decimal)model.Hours;
        }
        break;
} 

1 Ответ

2 голосов
/ 07 июня 2019

у вас может быть такой частный метод

private void NameOfPrivateMethod(object objValue,Hours hours,Item item)
        {
            if (objValue == null)
            {
                item.Hours = 0;
            }
            else
            {
                item.Hours = (decimal)objValue;
                item.Hours_Remaining = (decimal)hours;
            }
        }

и используйте его следующим образом (необходимо внести некоторые изменения в соответствии с вашими потребностями)

NameOfPrivateMethod(model.Hours1, model.Hours,Item)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...