Ejemplo n.º 1
0
        public async Task <ActionResult> Lending(int game = 0, int friend = 0, int days = 0)
        {
            try
            {
                if (game == 0 || friend == 0 || days == 0)
                {
                    throw new Exception("Selecione o Amigo e o Jogo que deseja emprestar. Não se esqueça de colocar o prazo para devolução.");
                }

                await gameRepository.LendingAsync(game, friend, days);
            }
            catch (Exception ex)
            {
                ModelState.AddModelError(string.Empty, ex.Message);

                var viewModel = new LendingViewModel()
                {
                    Game   = new Game(),
                    Friend = new Friend()
                };
                return(View(viewModel));
            }

            return(RedirectToAction("Index"));
        }
Ejemplo n.º 2
0
        public ActionResult Lending()
        {
            var viewModel = new LendingViewModel()
            {
                Game   = new Game(),
                Friend = new Friend()
            };

            return(View(viewModel));
        }
Ejemplo n.º 3
0
        public IActionResult LendingBook()
        {
            var lendingVM = new LendingViewModel()
            {
                Books   = _bookRepository.GetAll(),
                Clients = _clientRepository.GetAll()
            };

            return(View(lendingVM));
        }
Ejemplo n.º 4
0
        public IActionResult ReturnBook(int id)
        {
            var lendVM = new LendingViewModel()
            {
                Lending = _lendingRepository.GetById(id),
                Books   = _bookRepository.GetAll(),
                Clients = _clientRepository.GetAll()
            };

            return(View(lendVM));
        }
Ejemplo n.º 5
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult GetCaseDetails(string id)
        {
            var response     = new BaseResponse <CaseAllDetailsViewModel>();
            var ch           = new AuditController.AuditHelper();
            var baseAuditDal = new BaseAuditDAL();
            var lendal       = new LendingDAL();
            var dicdal       = new DictionaryDAL();
            var sales        = new SalesManDAL();
            var lendvm       = new LendingViewModel();
            var mortgagevm   = new PublicMortgageViewModel();
            var mortgageBll  = new MortgageBll();
            var caseallmodel = new CaseAllDetailsViewModel();

            var baseauditvm = ch.FindByID(id, CurrentUser);

            if (baseauditvm != null)
            {
                var ahp  = new AuditHisHelper();
                var list = baseAuditDal.GetListByCaseNum(baseauditvm.CaseNum);
                baseauditvm.AuditHistory = ahp.GetHistory(list);
            }
            var mort = mortgageBll.QueryById(id);

            if (mort != null)
            {
                mortgagevm = mortgagevm.CastModel(mort);
                mortgagevm.ContractFileName          = GetFiles(mortgagevm.ContractFile);
                mortgagevm.OtherFileName             = GetFiles(mortgagevm.OtherFile);
                mortgagevm.FourFileName              = GetFiles(mortgagevm.FourFile);
                mortgagevm.RepaymentAttorneyFileName = GetFiles(mortgagevm.RepaymentAttorneyFile);
                mortgagevm.PowerAttorneyFileName     = GetFiles(mortgagevm.PowerAttorneyFile);
                mortgagevm.CollectionFileName        = GetFiles(mortgagevm.CollectionFile);
            }
            var lend = lendal.Get(id);

            if (lend != null)
            {
                lendvm = lendvm.CastModel(lend);
                lendvm.LendFileName        = GetFiles(lendvm.LendFile);
                lendvm.IsActivitieRateText = dicdal.GetText(lendvm.IsActivitieRate.ToString());
                lendvm.CaseModeText        = dicdal.GetText(lendvm.CaseMode);
                lendvm.ThirdPartyText      = dicdal.GetText(lendvm.ThirdParty);
                lendvm.AuditTermText       = dicdal.GetText(lendvm.AuditTerm);
                lendvm.SalesIDText         = sales.FindBySalesID(lendvm.SalesID) == null ? null : sales.FindBySalesID(lendvm.SalesID).Name;
            }

            caseallmodel.Baseauditvm = baseauditvm;
            caseallmodel.Mortgagevm  = mortgagevm;
            caseallmodel.Lendingvm   = lendvm;
            response.Status          = "Success";
            response.Data            = caseallmodel;
            return(Json(response, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 6
0
        public IActionResult ReturnBook(LendingViewModel lendingViewModel)
        {
            if (!ModelState.IsValid)
            {
                lendingViewModel.Books   = _bookRepository.GetAll();
                lendingViewModel.Clients = _clientRepository.GetAll();
                return(View(lendingViewModel));
            }

            _lendingRepository.Update(lendingViewModel.Lending);

            return(RedirectToAction("ListOfBooks"));
        }
Ejemplo n.º 7
0
        public static OverdueDetails Details(ApplicationDbContext context, string borrowerId, string bookIsbn)
        {
            const int DEFAULT         = 1;
            var       settingsDetails = context.Settings.Single(s => s.Id == DEFAULT);
            var       borrower        = context.Borrows.Single(b => b.BorrowerId == borrowerId && b.Isbn == bookIsbn);

            var lendingDetails = new LendingViewModel
            {
                Borrow = borrower, ExpectedReturnDate = borrower.BorrowDate.AddDays(settingsDetails.NumberOfDays)
            };

            var isOverdue     = lendingDetails.IsOverdue();
            var overdueAmount = (lendingDetails.DaysRemaining() * -1) * settingsDetails.OverdueFeePerBook;

            return(new OverdueDetails {
                IsOverdue = isOverdue, OverdueAmount = overdueAmount
            });
        }
Ejemplo n.º 8
0
        public async Task <IActionResult> LendPost(LendingViewModel model)
        {
            if (ModelState.IsValid)
            {
                var result = await _interactor.Lend(model.BookId, model.LenderId, model.From, model.To);

                if (result.Success)
                {
                    return(RedirectToAction("Index"));
                }

                ModelState.AddOperationResultErrors(result.ErrorMessages);
            }

            model.Lenders = await GetLendersDropdown();

            return(View("Lend", model));
        }
Ejemplo n.º 9
0
        /// <summary>
        /// 放款只读页面
        /// </summary>
        /// <returns></returns>

        public ActionResult ReadonlyLending(string id)
        {
            LendingDAL led   = new LendingDAL();
            var        lem   = led.GetAuthorizeAndSelf(id, CurrentUser);
            var        morvm = new LendingViewModel();

            if (lem != null)
            {
                morvm = morvm.CastModel(lem);
            }
            else
            {
                BaseAuditDAL bad   = new BaseAuditDAL();
                MortgageDAL  md    = new MortgageDAL();
                var          audit = bad.GetMaxAuditAuthorizeAndSelf(id, CurrentUser);

                if (audit == null)
                {
                    RedirectToAction("Failed", "Home");
                }
                var mor = md.GetAll().FirstOrDefault(t => t.BaseAudit.CaseNum == audit.CaseNum);
                if (mor == null)
                {
                    RedirectToAction("Failed", "Home");
                }
                var borrower = audit.RelationPersonAudits.FirstOrDefault(t => t.RelationType == "-PersonType-JieKuanRen");
                if (borrower == null)
                {
                    RedirectToAction("Failed", "Home");
                }
                lem = new Lending();
                //lem.Borrower = borrower.Name;
                //lem.ContactNumber = borrower.ContactAudits.FirstOrDefault(t => t.IsDefault) == null ? "" : borrower.ContactAudits.FirstOrDefault(t => t.IsDefault).ContactNumber;
                //lem.BorrowNumber = audit.BankCard;
                //lem.OpeningBank = audit.OpeningBank;
                //lem.ContractAmount = mor.ContractAmount;
                lem.ID = id;

                morvm = morvm.CastModel(lem);
            }
            ViewBag.ID = id;
            return(View(morvm));
        }
Ejemplo n.º 10
0
        public async Task <IActionResult> Lend(int bookId)
        {
            var result = await _interactor.GetAsync(bookId);

            if (!result.Success)
            {
                return(NotFound());
            }

            var model = new LendingViewModel
            {
                BookId   = bookId,
                BookName = result.Entity.Author + ", " + result.Entity.Name,
                Lenders  = await GetLendersDropdown(),
                From     = DateTime.Now,
                To       = DateTime.Now.AddDays(14)
            };

            return(View("Lend", model));
        }
Ejemplo n.º 11
0
        public ActionResult GetLending(string id)
        {
            LendingDAL    bd     = new LendingDAL();
            DictionaryDAL dicdal = new DictionaryDAL();
            SalesManDAL   Sales  = new SalesManDAL();

            BaseResponse <LendingViewModel> br = new BaseResponse <LendingViewModel>();
            var mor   = bd.Get(id);
            var morvm = new LendingViewModel();

            if (mor != null)
            {
                morvm = morvm.CastModel(mor);
                morvm.LendFileName        = GetFiles(morvm.LendFile);
                morvm.Introducer          = GetIntroducer(id);
                morvm.IsActivitieRateText = dicdal.GetText(morvm.IsActivitieRate.ToString());
                morvm.CaseModeText        = dicdal.GetText(morvm.CaseMode);
                morvm.ThirdPartyText      = dicdal.GetText(morvm.ThirdParty);
                morvm.AuditTermText       = dicdal.GetText(morvm.AuditTerm);
                morvm.SalesIDText         = Sales.FindBySalesID(morvm.SalesID) == null ? null : Sales.FindBySalesID(morvm.SalesID).Name;
            }
            else
            {
                mor                       = new Lending();
                mor.ID                    = id;
                morvm                     = morvm.CastModel(mor);
                morvm.Introducer          = GetIntroducer(id);
                morvm.IsActivitieRateText = dicdal.GetText(morvm.IsActivitieRate.ToString());
                morvm.CaseModeText        = dicdal.GetText(morvm.CaseMode);
                morvm.ThirdPartyText      = dicdal.GetText(morvm.ThirdParty);
                morvm.AuditTermText       = dicdal.GetText(morvm.AuditTerm);
                morvm.SalesIDText         = Sales.FindBySalesID(morvm.SalesID) == null ? null : Sales.FindBySalesID(morvm.SalesID).Name;
            }
            br.Data   = morvm;
            br.Status = "Success";
            return(Json(br, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 12
0
        // GET: Lendings/Create
        public IActionResult Create()
        {
            var games          = _unitOfWork.GamesRepository.GetAll().ToList();
            var availableGames = new List <SelectListItem>();

            foreach (var game in games)
            {
                availableGames.Add(new SelectListItem()
                {
                    Text = game.Name, Value = game.GameId.ToString()
                });
            }

            var friends  = _unitOfWork.FriendsRepository.GetAll().ToList();
            var sfriends = new List <SelectListItem>();

            foreach (var friend in friends)
            {
                sfriends.Add(new SelectListItem()
                {
                    Text = friend.Name, Value = friend.FriendId.ToString()
                });
            }

            var model = new LendingViewModel()
            {
                AvailableGames = availableGames,
                Friends        = sfriends,
                Lending        = new Lending()
                {
                    DateBorrowed = DateTime.Now,
                }
            };

            return(View(model));
        }
Ejemplo n.º 13
0
        public ActionResult SubmitLending(LendingViewModel model)
        {
            var response = new BaseResponse <LendingViewModel>();
            var relationPersonauditDal = new RelationPersonAuditDAL();
            var baseAuditDal           = new BaseAuditDAL();

            //var relationstatebll = new RelationStateBLL();

            #region 验证

            List <ErrorMessage> em = new List <ErrorMessage>();
            if (!ModelState.IsValid)
            {
                foreach (var e in ModelState.Keys)
                {
                    if (ModelState[e].Errors.Any())
                    {
                        if (e.Contains("FileName"))
                        {
                            continue;
                        }
                        if (string.IsNullOrEmpty(ModelState[e].Errors[0].ErrorMessage))
                        {
                            continue;
                        }
                        var error = new ErrorMessage();
                        error.Key     = e;
                        error.Message = ModelState[e].Errors[0].ErrorMessage;
                        em.Add(error);
                    }
                }
            }
            if (em.Any())
            {
                response.Status  = "Failed";
                response.Message = em.ToArray();
                response.Data    = null;
                return(Json(response, JsonRequestBehavior.AllowGet));
            }

            #endregion 验证
            var baseaduit = baseAuditDal.GetAuthorizeAndSelf(model.ID, CurrentUser);
            if (baseaduit == null && baseaduit.CaseStatus != CaseStatus.Lending)
            {
                response.Status = "Failed";
                return(Json(response, JsonRequestBehavior.AllowGet));
            }

            var        db = new Lending();
            LendingDAL bd = new LendingDAL();
            db = model.CastDB(model);
            // 合同文件
            db.LendFile = SaveFiles(model.LendFile, model.ID, model.ID);

            //IEnumerable<RelationPersonAudit> relationPersonList = relationPersonauditDal.FindByCaseID(baseaduit.ID).ToList();
            //if (relationPersonList != null && relationPersonList.Any())
            //{
            //    foreach (var item in relationPersonList)
            //    {
            //        var relationbllModel = new RelationStateBLLModel()
            //        {
            //            Number = item.IdentificationNumber,
            //            Desc = "Bind"
            //        };
            //        relationstatebll.UpdateLockRelationState(relationbllModel);
            //    }
            //}

            var pushResult = PushToHats(model.CaseNum);
            if (pushResult.IsSuccess)
            {
                bd.SubmitCase(db, CurrentUser.UserName, model.Description);
                bd.AcceptAllChange();
                response.Status = "Success";
            }
            else
            {
                response.Status = StatusEnum.Failed.ToString();

                if (pushResult.Message.IsNullOrWhiteSpace() || pushResult.Message.IsNullOrWhiteSpace())
                {
                    response.Message = new ErrorMessage[] { new ErrorMessage("", "推送失败") };
                }
                else
                {
                    response.Message = new ErrorMessage[] { new ErrorMessage("", pushResult.Message) };
                }
            }

            return(Json(response));
        }