Esempio n. 1
0
        // GET: Accounts
        public ActionResult List(int page = 1)
        {
            ProjectAccountViewModel viewModel = new ProjectAccountViewModel();

            try
            {
                viewModel.PagingInfo = new PagingInfo
                {
                    TotalRecordsCount = accountsService.TotalRecordsCount(),
                    RecordsPerPage    = RecordsPerPage,
                    CurentPageNo      = page
                };

                if (viewModel.PagingInfo.TotalRecordsCount > 0)
                {
                    viewModel.ProjectAccounts = GetAllAccounts(page);
                }
                else
                {
                    DisplayWarningMessage("There are no Accounts to display");
                }
            }
            catch (Exception exp)
            {
                DisplayLoadErrorMessage(exp);
            }

            return(View(viewModel));
        }
Esempio n. 2
0
        public bool Save(ProjectAccountViewModel viewModel)
        {
            var isSucceed = false;

            if (viewModel.Account == null)
            {
                throw new Exception("Account对象为空,无法保存");
            }
            var accountModel = viewModel.Account;

            if (viewModel.Id > 0) // update
            {
                var productAccount = ProjectAccountRepository.Entities.FirstOrDefault(o => o.Id == viewModel.Id);
                if (productAccount == null)
                {
                    throw new Exception($"不存在Id为:{viewModel.Id}的ProjectAccount");
                }
                var oldEntity = AccountRepository.Entities.FirstOrDefault(o => o.Id == productAccount.AccountID);
                var entity    = AutoMapper.Mapper.Map <AccountViewModel, Account>(accountModel);
                entity.CreatedTime = oldEntity.CreatedTime;
                entity.CouponID    = oldEntity.CouponID;
                entity.Id          = oldEntity.Id;
                isSucceed          = AccountRepository.Update(entity) > 0;
            }
            else // add
            {
                var entity = AutoMapper.Mapper.Map <AccountViewModel, Account>(accountModel);
                entity.CreatedTime = DateTime.Now;
                if (entity.CouponID <= 0)
                {
                    entity.CouponID = null;
                }
                try
                {
                    AccountRepository.UnitOfWork.TransactionEnabled = true;

                    AccountRepository.Insert(entity);
                    var projectAccount = new ProjectAccount
                    {
                        ProjectID = viewModel.ProjectID,
                        AccountID = entity.Id,
                    };
                    ProjectAccountRepository.Insert(projectAccount);

                    AccountRepository.UnitOfWork.SaveChanges();
                    AccountRepository.UnitOfWork.TransactionEnabled = false;

                    isSucceed = true;
                }
                catch (Exception e)
                {
                    throw e;
                }
            }

            ClearCache();

            return(isSucceed);
        }
Esempio n. 3
0
 public bool Save(ProjectAccountViewModel model)
 {
     return(ProjectAccountService.Save(model));
 }