2014-06-20 3 views
0

Я разрабатываю MVC приложение со следующей структурой N уровня:mvc5 N уровневой архитектуры

DataAccess Repository Модели BusinessLogic

В моей папке BusinessLogic меня есть интерфейс IClinicBusiness и класс ClinicBusiness, что интерфейсы с IClinicBusiness.

класс

ClinicBusiness выглядит следующим образом:

public void AddClinic(Clinic c) 
    { 

      var cr = new ClinicRepository(); 
      var clinc = new Clinic(); 

      if (c != null) 
      { 
       clinc.ClinicName = c.ClinicName; 
       clinc.ClinicLocation = c.ClinicLocation; 
      } 
      cr.InsertClinic(c); 
      cr.Save(); 
    } 
} 

ClinicBusiness класс реализует метод из хранилища библиотеки классов, например. InsertClinic();

public ClinicRepository() 
    { } 

    public ClinicRepository(DataContext clinics) 
    { 
     this.clinic = clinics; 
    } 

    public IEnumerable<Clinic> GetClinics() 
    { 
     return clinic.Clinics.ToList(); 
    } 

    public Clinic GetClinicByID(int ClinicId) 
    { 
     return clinic.Clinics.Find(ClinicId); 
    } 

    public void InsertClinic(Clinic c) 
    { 
     clinic.Clinics.Add(c); 
    } 

В мой контроллер у меня есть действие

public ActionResult CreateClinic(Clinic c) 
{ 
    var clinicBusiness = new ClinicRepository(); 


    return View(clinicBusiness.InsertClinic(c)); 
} 

Я получаю следующее сообщение об ошибке не может преобразовать из «пустоты» в «объект»

Может кто-то пожалуйста наставит меня?

ответ

0

В зависимости от ваших требований, я думаю, что вы хотите изменить ваше хранилище InsertClinic метод

public Clinic InsertClinic(Clinic c) 
{ 
    clinic.Clinics.Add(c); 

    return c; 
} 

Или измените свое действие на

public ActionResult CreateClinic(Clinic c) 
{ 
    var clinicBusiness = new ClinicRepository(); 
    clinicBusiness.InsertClinic(c) 
    return View(c); 
} 

Опять же, это зависит только от того, что вы пытаетесь достичь и вашей модели представления.