Получение формальной ошибки параметра с помощью конструктора - PullRequest
0 голосов
/ 09 сентября 2018

У меня есть 1 класс, который отвечает за отправку напоминания об оплате родителям, чьи сборы подлежат оплате за данный месяц.

Ниже приведен класс:

 public class FeesPaymentNotification
  {
        public void Notify() //send email notification to parents
        {
          var model = new FeesModel(1,100, 1000);
        }
  }

 public class FeesModel
    {
        public FeesModel() { }
        public FeesModel(int id, int courseId, int fees)
        {
            this.Id = id;
            this.CourseId = courseId;
            this.Fees = fees;
        }
        public int Id{ get; set; }
        public int CourseId { get; set; }
        public int Fees { get; set; }
        public int TeacherId { get; set; }
        public string Title { get; set; }
        public string CourseName { get; set; }
        public DateTime CreatedAt { get; set; }
        // other properties
   }

В моем случае мне просто нужно установить 3 свойства, поэтому я создал конструктор с 3 свойствами. FeesModel используется во многих местах, и я не хочу создавать другую модель, так как это общая модель, которую мы используем для оплаты.

Я получаю ошибку ниже в других местах, где используется модель сборов:

Не указан аргумент, который соответствует обязательному формальному параметру 'id' в 'FeesModel.FeesModel (string, int, int)'

Код:

var model = new FeesModel // this is where and so many other places I am getting above error
            {
                TeacherId = teacherId,
                Title = title,
                CourseName =  courseName,
                CreatedAt = DateTime.UtcNow
            };

Чтобы устранить вышеуказанную ошибку Я создал частные методы для заполнения FeesModel и других моделей в этом классе , но это, кажется, нарушает принципы SRP, и у меня есть несколько других частных методов для заполнения других моделей, из-за какого класса получил большое количество таких частных методов.

1) Действительно ли этот частный метод нарушает SRP ?

2) Есть ли другой способ решить эту проблему без использования AutoMapper ?

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