/// <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)); }
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); }
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); }
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); }