Example #1
0
        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);
        }
Example #2
0
 public DALAppDTO.UserCampaignDAL MapUserCampaignToDAL(BLLAppDTO.UserCampaignBLL inObject)
 {
     return(Mapper.Map <DALAppDTO.UserCampaignDAL>(inObject));
 }