asp.net mvc - automapper, On Create action on the controller. Confused -


i have everthing set automapper work. attribute working fine , filling dto. controller create action looks below

[httppost] [automap(typeof(user), typeof(usercreatedto))] public actionresult create(user user) {     if (modelstate.isvalid)     {         _repository.create(user);         return redirecttoaction("details", new { id = user.userid });     }      return view("edit", user); } 

i have dataannotation set on user object entity object , passed repository interface via implementation , using user object everywhere.

what want below using same above code.

[httppost] [automap(typeof(user), typeof(usercreatedto))] public actionresult create(usercreatedto userdto) {     if (modelstate.isvalid)     {          _repository.create(userdto);              return redirecttoaction("details", new { id = userdto.userid });     }      return view("edit", userdto); } 

question: dataannotation on usercreatedto limit want validate. once validation passed there problem when pass userdto create method not allowing me user object in interface below

public interface iuserrepository {     iqueryable<user> getallusers();      user getuserbyid(guid id);      void create(user user);     user edit(user user);     void delete(user user);      void save(); } 

i can not change code replace usercreatedto in interface , repository , if have usereditdto/usershowdto. how solve problem?. have explained as possible.

why don't map user object before calling create? don't need use attributes. can call map directly.

mapper.createmap<usercreatedto, user>(); var user = new user(); mapper.map<usercreatedto, user>(userdto, user); 

set debugger stop after map call , check make sure values copied in correctly.


Comments

Popular posts from this blog

asp.net - repeatedly call AddImageUrl(url) to assemble pdf document -

java - Android recognize cell phone with keyboard or not? -

iphone - How would you achieve a LED Scrolling effect? -