Ejemplo n.º 1
0
 public List <PropertyAccountViewModel> All()
 {
     try
     {
         var            payoutMethods = new PayoutMethodProvider(_context).GetAll().ToList();
         SqlParameter[] sqlParams     = new SqlParameter[1];
         var            accounts      = _context.Database.SqlQuery <PropertyAccountViewModel>("RetrievePropertyAccounts", sqlParams).ToList();
         foreach (var account in accounts)
         {
             string[] payoutMethodIds = account.CurrentPayoutMethodIds.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
             foreach (string idString in payoutMethodIds)
             {
                 var id = Int32.Parse(idString.Trim());
                 account.SelectedPayoutMethods.Add(new SelectListItem
                 {
                     Text  = payoutMethods.Where(m => m.PayoutMethodId == id).Select(m => m.PayoutMethodName).FirstOrDefault(),
                     Value = idString.Trim(),
                 });
             }
         }
         return(accounts);
     }
     catch
     {
         throw; // let caller handle the error
     }
 }
Ejemplo n.º 2
0
        public int Update(PropertyCodeViewModel model)
        {
            try
            {
                // 3 relation tables to update: PropertyPayoutMethods, PropertyCodePropertyEntities, and PropertyAccountPayoutMethods

                var payoutMethodProvider = new PayoutMethodProvider(_context);
                int updateCount          = payoutMethodProvider.UpdatePropertyCodeByName(model.PayoutMethod, model.PropertyCode);

                var entityProvider = new PropertyEntityProvider(_context);
                updateCount += entityProvider.UpdatePropertyCodeByName(model.PayoutEntity, model.PropertyCode);

                var accountProvider = new PropertyAccountProvider(_context);
                updateCount += accountProvider.UpdatePayoutMethodByOwner(model.PropertyOwner, model.PayoutMethod);

                return(updateCount);
            }
            catch
            {
                throw;
            }
        }