Ejemplo n.º 1
0
        protected override ValidationResult IsValid(object value, ValidationContext validationContext)
        {
            var db = new FinancesContext();

            Object obj = validationContext.ObjectType;

            System.Diagnostics.Debug.WriteLine(obj.ToString());

            var className     = obj.ToString().Split('.').Last();
            var propertyName  = validationContext.MemberName;
            var parameterName = string.Format("@{0}", propertyName);


            var sql = string.Format("SELECT COUNT(*) FROM {0} WHERE {1}={2}",
                                    className.ToLower() + "s", propertyName, parameterName);
            var parameters = new Npgsql.NpgsqlParameter(parameterName, value);

            var result = db.Database.SqlQuery <Int64>(sql, parameters).Single();

            if (result > 0)
            {
                return(new ValidationResult(String.Format(ErrorMessage, value), new List <string>()
                {
                    propertyName
                }));
            }

            return(null);
        }
        static void Main(string[] args)
        {
            using (var context = new FinancesContext())
            {
                context.Database.EnsureDeleted();
                context.Database.EnsureCreated();
            }

            RegisterCustomers().Wait();
            ListCustomers().Wait();
        }
        static async Task RegisterCustomers()
        {
            using (var context = new FinancesContext())
            {
                var customers = GetCustomers();

                foreach (var customer in customers)
                {
                    await context.Customers.AddAsync(customer);
                }

                await context.SaveChangesAsync();
            }
        }
        static async Task ListCustomers()
        {
            using (var context = new FinancesContext())
            {
                var customers = await context.Customers
                                .Include(customer => customer.Accounts)
                                .ThenInclude(account => account.Transactions)
                                .ToListAsync();

                foreach (var customer in customers)
                {
                    DisplayCustomerData(customer);
                }
                Console.ReadKey();
            }
        }
 public FinancesController(FinancesContext context)
 => _context = context;
Ejemplo n.º 6
0
 public UserRepository(FinancesContext context)
 {
     _context = context;
 }