c# - Correct way to use a controller and deal with business logic -


i'm having trouble in how write asp.net mvc application, in how use business logic. provide example. don't know if right:

public class usercontroller {    public actionresult create(user user){       userservice service = new userservice();       if(!service.userexists(user.email)){         if(service.insertuser(user)){            service.sendconfirmation(user);          }       }    } } 

or right

public class usercontroller {    public actionresult create(user user){       userservice service = new userservice();       service.createuser(user);    } } 

in second example method createuser of userservice check if user exists, insert, send email.

the main difference in second example controller calls 1 method while in second calls many methods , receives answers, in both cases logic inside userservice.

what's correct?

the second 1 one choose. utilizes proper encapsulation. controller should not logic communicate services , feed views data , manage program flow.

however should receive response service.

in example mean enum value or boolean value determine if creation of user successfull or anything... on can let controller manage view comes next , data gets...


Comments

Popular posts from this blog

PHP DOM loadHTML() method unusual warning -

python - How to create jsonb index using GIN on SQLAlchemy? -

c# - TransactionScope not rolling back although no complete() is called -