public new BLLAppDTO.CampaignBLL Add(BLLAppDTO.CampaignBLL bllCampaign, object?userId = null) { // UserId is mandatory for adding Campaign if (userId == null) { throw new ArgumentNullException(nameof(userId)); } // Add new Campaign var dalCampaign = Mapper.Map(bllCampaign); var dalCampaignTracked = UOW.Campaigns.Add(dalCampaign); UOW.AddToEntityTracker(dalCampaignTracked, bllCampaign); var bllNewCampaign = Mapper.Map(dalCampaignTracked); // Add new UserCampaign. TODO: Should be done via EF probably somehow var userIdGuid = new Guid(userId.ToString()); var bllUserCampaign = new BLLAppDTO.UserCampaignBLL() { AppUserId = userIdGuid, CampaignId = bllNewCampaign.Id }; var dalUserCampaign = Mapper.MapUserCampaignToDAL(bllUserCampaign); var dalUserCampaignTracked = UOW.UserCampaigns.Add(dalUserCampaign); UOW.AddToEntityTracker(dalUserCampaignTracked, bllUserCampaign); Mapper.MapUserCampaignToBLL(dalUserCampaignTracked); return(bllNewCampaign); }
public DALAppDTO.UserCampaignDAL MapUserCampaignToDAL(BLLAppDTO.UserCampaignBLL inObject) { return(Mapper.Map <DALAppDTO.UserCampaignDAL>(inObject)); }