public static Transfer ToDao(this AbstractEntities.NewTransfer dto) { if (dto == null) { return(null); } return(new Transfer { CategoryId = dto.CategoryId, CurrencyId = dto.CurrencyId, Discount = dto.Discount, Items = dto.Items.ToDao().ToArray(), Note = dto.Note, PartnerId = dto.PartnerId, Title = dto.Title, Time = dto.Time, }); }
public AbstractEntities.Transfer CreateTransfer(AbstractEntities.NewTransfer newTransfer) { if (newTransfer == null) { throw new ArgumentNullException("newTransfer"); } lock (syncObject) { var category = context.Categories.FirstOrDefault(c => c.Id == newTransfer.CategoryId); if (category == null) { throw new RecordDoesNotExistException($"Category with ID {newTransfer.CategoryId} does not exist."); } var partner = context.Partners.FirstOrDefault(c => c.Id == newTransfer.PartnerId); if (partner == null) { throw new RecordDoesNotExistException($"Partner with ID {newTransfer.PartnerId} does not exist."); } var currency = context.Currencies.FirstOrDefault(c => c.Id == newTransfer.CurrencyId); if (currency == null) { throw new RecordDoesNotExistException($"Currency with ID {newTransfer.CurrencyId} does not exist."); } var dao = newTransfer.ToDao(); dao.Category = category; dao.Currency = currency; dao.Partner = partner; context.Transfers.Add(dao); context.SaveChanges(); return(dao.ToAbstract()); } }