Example #1
0
 /// <summary>
 /// Check Delete
 /// </summary>
 /// <param name="model">Account type model</param>
 /// <returns>ResponseStatusCodeHelper</returns>
 public ResponseStatusCodeHelper CheckDelete(AccountTypeModel model)
 {
     try
     {
         using (var _context = new TDHEntities())
         {
             MN_ACCOUNT_TYPE _md = _context.MN_ACCOUNT_TYPE.FirstOrDefault(m => m.id == model.ID && !m.deleted);
             if (_md == null)
             {
                 throw new DataAccessException(FILE_NAME, "CheckDelete", model.CreateBy);
             }
             var _account = _context.MN_ACCOUNT.FirstOrDefault(m => m.account_type_id == model.ID && !m.deleted);
             if (_account != null)
             {
                 Notifier.Notification(model.CreateBy, Message.CheckExists, Notifier.TYPE.Warning);
                 return(ResponseStatusCodeHelper.NG);
             }
         }
     }
     catch (DataAccessException fieldEx)
     {
         throw fieldEx;
     }
     catch (Exception ex)
     {
         throw new ServiceException(FILE_NAME, "CheckDelete", model.CreateBy, ex);
     }
     return(ResponseStatusCodeHelper.OK);
 }
Example #2
0
 /// <summary>
 /// Delete
 /// </summary>
 /// <param name="model">Account type model</param>
 /// <returns>ResponseStatusCodeHelper</returns>
 public ResponseStatusCodeHelper Delete(AccountTypeModel model)
 {
     try
     {
         using (var _context = new TDHEntities())
         {
             MN_ACCOUNT_TYPE _md = _context.MN_ACCOUNT_TYPE.FirstOrDefault(m => m.id == model.ID && !m.deleted);
             if (_md == null)
             {
                 throw new DataAccessException(FILE_NAME, "Delete", model.CreateBy);
             }
             _md.deleted     = true;
             _md.delete_by   = model.DeleteBy;
             _md.delete_date = DateTime.Now;
             _context.MN_ACCOUNT_TYPE.Attach(_md);
             _context.Entry(_md).State = EntityState.Modified;
             _context.SaveChanges();
         }
     }
     catch (DataAccessException fieldEx)
     {
         throw fieldEx;
     }
     catch (Exception ex)
     {
         throw new ServiceException(FILE_NAME, "Delete", model.CreateBy, ex);
     }
     Notifier.Notification(model.CreateBy, Message.DeleteSuccess, Notifier.TYPE.Success);
     return(ResponseStatusCodeHelper.Success);
 }
Example #3
0
 /// <summary>
 /// Get item
 /// </summary>
 /// <param name="model">Account type model</param>
 /// <returns>MoneyAccountTypeModel</returns>
 public AccountTypeModel GetItemByID(AccountTypeModel model)
 {
     try
     {
         using (var _context = new TDHEntities())
         {
             MN_ACCOUNT_TYPE _md = _context.MN_ACCOUNT_TYPE.FirstOrDefault(m => m.id == model.ID && !m.deleted);
             if (_md == null)
             {
                 throw new DataAccessException(FILE_NAME, "GetItemByID", model.CreateBy);
             }
             return(new AccountTypeModel()
             {
                 ID = _md.id,
                 Name = _md.name,
                 Type = _md.type,
                 Ordering = _md.ordering,
                 Publish = _md.publish
             });
         }
     }
     catch (DataAccessException fieldEx)
     {
         throw fieldEx;
     }
     catch (Exception ex)
     {
         throw new ServiceException(FILE_NAME, "GetItemByID", model.CreateBy, ex);
     }
 }
Example #4
0
 /// <summary>
 /// Save
 /// </summary>
 /// <param name="model">Account type model</param>
 /// <returns>ResponseStatusCodeHelper</returns>
 public ResponseStatusCodeHelper Save(AccountTypeModel model)
 {
     try
     {
         using (var _context = new TDHEntities())
         {
             MN_ACCOUNT_TYPE _md = new MN_ACCOUNT_TYPE();
             if (model.Insert)
             {
                 _md.id = Guid.NewGuid();
             }
             else
             {
                 _md = _context.MN_ACCOUNT_TYPE.FirstOrDefault(m => m.id == model.ID && !m.deleted);
                 if (_md == null)
                 {
                     throw new DataAccessException(FILE_NAME, "Save", model.CreateBy);
                 }
             }
             _md.name     = model.Name;
             _md.type     = model.Type;
             _md.ordering = model.Ordering;
             _md.publish  = model.Publish;
             if (model.Insert)
             {
                 _md.create_by   = model.CreateBy;
                 _md.create_date = DateTime.Now;
                 _context.MN_ACCOUNT_TYPE.Add(_md);
                 _context.Entry(_md).State = EntityState.Added;
             }
             else
             {
                 _md.update_by   = model.UpdateBy;
                 _md.update_date = DateTime.Now;
                 _context.MN_ACCOUNT_TYPE.Attach(_md);
                 _context.Entry(_md).State = EntityState.Modified;
             }
             _context.SaveChanges();
         }
     }
     catch (DataAccessException fieldEx)
     {
         throw fieldEx;
     }
     catch (Exception ex)
     {
         throw new ServiceException(FILE_NAME, "Save", model.CreateBy, ex);
     }
     if (model.Insert)
     {
         Notifier.Notification(model.CreateBy, Message.InsertSuccess, Notifier.TYPE.Success);
     }
     else
     {
         Notifier.Notification(model.CreateBy, Message.UpdateSuccess, Notifier.TYPE.Success);
     }
     return(ResponseStatusCodeHelper.Success);
 }
Example #5
0
        /// <summary>
        /// Get item
        /// </summary>
        /// <param name="model">Account model</param>
        /// <returns>MoneyAccountModel</returns>
        public AccountModel GetItemByID(AccountModel model)
        {
            try
            {
                using (var _context = new TDHEntities())
                {
                    MN_ACCOUNT _md = _context.MN_ACCOUNT.FirstOrDefault(m => m.id == model.ID && !m.deleted && m.create_by == model.CreateBy);
                    if (_md == null)
                    {
                        throw new DataAccessException(FILE_NAME, "GetItemByID", model.CreateBy);
                    }
                    MN_ACCOUNT_TYPE _type = _context.MN_ACCOUNT_TYPE.FirstOrDefault(m => m.id == _md.account_type_id);

                    var _return = new AccountModel()
                    {
                        ID               = _md.id,
                        Name             = _md.name,
                        MaxPayment       = _md.max_payment,
                        MaxPaymentString = _md.max_payment.NumberToString(),
                        AccountType      = _type.type,
                        AccountTypeID    = _md.account_type_id,
                        AccountTypeName  = _type.name,
                        Total            = _type.type == (short)AccountType.Borrow ? _md.input - _md.max_payment :
                                           _type.type == (short)AccountType.Loan ? _md.input - _md.max_payment :
                                           _md.input - _md.output
                    };
                    return(_return);
                }
            }
            catch (DataAccessException fieldEx)
            {
                throw fieldEx;
            }
            catch (Exception ex)
            {
                throw new ServiceException(FILE_NAME, "GetItemByID", model.CreateBy, ex);
            }
        }