/// <summary />
        /// <exception cref="ArgumentNullException">Throws an exception when dto is null</exception>
        public virtual async Task <TEntityDTO> AddAsync(TEntityCreateDTO dto)
        {
            if (dto is null)
            {
                throw new ArgumentNullException(nameof(dto));
            }

            var entity = Mapper.Map <TEntity>(dto);

            var additionResult = await Context.Set <TEntity>().AddAsync(entity);

            await Context.SaveChangesAsync();

            var createdEntity = await Context.Set <TEntity>().FindAsync(additionResult.Entity.Id);

            return(Mapper.Map <TEntityDTO>(createdEntity));
        }
Exemple #2
0
        private static object ResolverImplementation <T>(ref BuilderContext context)
        {
            var container = context.Container;
            var name      = context.Name;

            context.Existing = new Lazy <T>(() => container.Resolve <T>(name));

            var lifetime = context.Get(typeof(LifetimeManager));

            if (lifetime is PerResolveLifetimeManager)
            {
                var perBuildLifetime = new InternalPerResolveLifetimeManager(context.Existing);
                context.Set(typeof(LifetimeManager), perBuildLifetime);
            }

            return(context.Existing);
        }
Exemple #3
0
        public async Task AddUserLetter(UserLetterDTO newUserLetter)
        {
            var userLetter = _mapper.Map <UserLetter>(newUserLetter);
            await _context.Set <UserLetter>().AddAsync(userLetter);

            await _context.SaveChangesAsync();

            string strSubject = $"Feedback from {newUserLetter.UserName}: {newUserLetter.Subject}";
            await _emailService.SendEmailAsync(new List <string> {
                _emailService.SupportEmail
            },
                                               new EmailAddress(newUserLetter.UserEmail), strSubject, newUserLetter.Description);

            var emailModel = _emailBuilder.GetFeedbackLetter(newUserLetter.UserEmail, newUserLetter.UserName, newUserLetter.Subject);
            await _emailService.SendEmailAsync(new List <string> {
                emailModel.Email
            },
                                               emailModel.Subject, emailModel.Title, emailModel.Body);
        }
Exemple #4
0
        public async Task AddUserLetter(UserLetterDTO newUserLetter)
        {
            var userLetter = _mapper.Map <UserLetter>(newUserLetter);
            await _context.Set <UserLetter>().AddAsync(userLetter);

            await _context.SaveChangesAsync();

            string strSubject = $"Feedback from {newUserLetter.UserName}: {newUserLetter.Subject}";
            await _emailService.SendEmailAsync(new List <string> {
                _emailService.SupportEmail
            },
                                               new EmailAddress(newUserLetter.UserEmail), strSubject, newUserLetter.Description);

            string strBody = @$ "We want to thank you for your letter!<br><br>Each of your letters is very important to us! 
                          We have received your letter and will contact you as soon as possible.
                          <br><br>Cheers,<br>buildeR team";

            var emailModel = _emailBuilder.GetFeedbackLetter(newUserLetter.UserEmail, newUserLetter.UserName, newUserLetter.Subject, strBody);
            await _emailService.SendEmailAsync(new List <string> {
                emailModel.Email
            },
                                               emailModel.Subject, emailModel.Title, emailModel.Body);
        }