public CatererRegistrationResponseDto TryToRegister(CatererRegistrationRequestDto dto) { if (uow.Users.GetAll().Where(x => x.Username == dto.Email).FirstOrDefault() != null) throw new System.Exception("Invalid Email Address"); var user = new User() { Username = dto.Email, Firstname = dto.Firstname, Lastname = dto.Lastname, Password = encryptionService.TransformPassword(dto.Password), }; var account = new Account() { Firstname = dto.Firstname, Lastname = dto.Lastname, Email = dto.Email, AccountType = AccountType.Bidder, User = user }; var profile = new Profile() { Name = string.Format("{0} {1}", dto.Firstname, dto.Lastname), Account = account, ProfileType = ProfileType.Caterer }; var caterer = new Caterer() { Firstname = dto.Firstname, Lastname = dto.Lastname, Profile = profile, Email = dto.Email }; user.Accounts.Add(account); account.Profiles.Add(profile); uow.Users.Add(user); uow.Accounts.Add(account); uow.Caterers.Add(caterer); uow.SaveChanges(); var response = new CatererRegistrationResponseDto() { Firstname = caterer.Firstname, Lastname = caterer.Lastname, Id = caterer.Id }; return response; }
public Bidder CreateBidder(BidderRegistrationRequestDto dto, Profile profile, IWeddingBiddersUow uow) { Bidder bidder = null; if (dto.BidderType == BidderType.Caterer) { bidder = new Caterer() { Firstname = dto.Firstname, Lastname = dto.Lastname, Profile = profile, Email = dto.Email, CompanyName = dto.CompanyName }; var gallery = new Gallery() { Name = "Profile" }; gallery.Photos.Add(new Photo() { Url = "assets/images/carousel_1.jpg" }); gallery.Photos.Add(new Photo() { Url = "assets/images/carousel_2.jpg" }); gallery.Photos.Add(new Photo() { Url = "assets/images/carousel_3.jpg" }); bidder.Galleries.Add(gallery); uow.Caterers.Add(bidder as Caterer); } if (dto.BidderType == BidderType.EventPlanner) { bidder = new EventPlanner() { Firstname = dto.Firstname, Lastname = dto.Lastname, Profile = profile, Email = dto.Email }; var gallery = new Gallery() { Name = "Profile" }; gallery.Photos.Add(new Photo() { Url = "assets/images/carousel_1.jpg" }); gallery.Photos.Add(new Photo() { Url = "assets/images/carousel_2.jpg" }); gallery.Photos.Add(new Photo() { Url = "assets/images/carousel_3.jpg" }); bidder.Galleries.Add(gallery); uow.EventPlanners.Add(bidder as EventPlanner); } if (dto.BidderType == BidderType.MakeUpArtist) { bidder = new MakeUpArtist() { Firstname = dto.Firstname, Lastname = dto.Lastname, Profile = profile, Email = dto.Email }; var gallery = new Gallery() { Name = "Profile" }; gallery.Photos.Add(new Photo() { Url = "assets/images/carousel_1.jpg" }); gallery.Photos.Add(new Photo() { Url = "assets/images/carousel_2.jpg" }); gallery.Photos.Add(new Photo() { Url = "assets/images/carousel_3.jpg" }); bidder.Galleries.Add(gallery); uow.MakeUpArtists.Add(bidder as MakeUpArtist); } if (dto.BidderType == BidderType.Photographer) { bidder = new Photographer() { Firstname = dto.Firstname, Lastname = dto.Lastname, Profile = profile, Email = dto.Email, CompanyName = dto.CompanyName }; var gallery = new Gallery() { Name = "Profile" }; gallery.Photos.Add(new Photo() { Url = "assets/images/carousel_1.jpg" }); gallery.Photos.Add(new Photo() { Url = "assets/images/carousel_2.jpg" }); gallery.Photos.Add(new Photo() { Url = "assets/images/carousel_3.jpg" }); bidder.Galleries.Add(gallery); uow.Photographers.Add(bidder as Photographer); } if (dto.BidderType == BidderType.DiscJockey) { bidder = new DiscJockey() { Firstname = dto.Firstname, Lastname = dto.Lastname, Profile = profile, Email = dto.Email, CompanyName = dto.CompanyName }; var gallery = new Gallery() { Name = "Profile" }; gallery.Photos.Add(new Photo() { Url = "assets/images/carousel_1.jpg" }); gallery.Photos.Add(new Photo() { Url = "assets/images/carousel_2.jpg" }); gallery.Photos.Add(new Photo() { Url = "assets/images/carousel_3.jpg" }); bidder.Galleries.Add(gallery); uow.DiscJockeys.Add(bidder as DiscJockey); } return bidder; }