示例#1
0
        // GET: Lends/Details/5
        public virtual ActionResult Details(int Id)
        {
            var model = _lendRepository.GetLendByID(Id);

            if (model == null)
            {
                return(RedirectToAction(Actions.Index()));
            }

            LendViewModel       vm     = _mapper.Map <Lend, LendViewModel>(model);
            LendItemViewModel   ItemVM = _mapper.Map <LendItem, LendItemViewModel>(model.LendItem);
            LendReturnViewModel lrVM   = new LendReturnViewModel();

            //get images of LendReturn
            if (model.LendReturn != null)
            {
                lrVM = _mapper.Map <LendReturn, LendReturnViewModel>(model.LendReturn);

                if (lrVM.FileId != null)
                {
                    File lendreturnImages             = _fileRepository.GetFileById(lrVM.FileId.Value);
                    List <FileViewModel> lrimageslist = new List <FileViewModel>();

                    FileViewModel lrFileVM = _mapper.Map <File, FileViewModel>(lendreturnImages);
                    lrimageslist.Add(lrFileVM);

                    //add values to Return VM
                    lrVM.ReturnImageViewModels = lrimageslist.AsEnumerable();
                }
                lrVM.CreatedBy = model.LendReturn.User;
            }

            //get images of LendItem
            if (ItemVM.FileId != null)
            {
                File lenditemImages             = _fileRepository.GetFileById(ItemVM.FileId.Value);
                List <FileViewModel> listimages = new List <FileViewModel>();
                FileViewModel        itemFileVM = _mapper.Map <File, FileViewModel>(lenditemImages);
                listimages.Add(itemFileVM);

                //add values to ItemVM
                ItemVM.ItemImageViewModels = listimages.AsEnumerable();
            }
            ItemVM.CreatedBy = model.LendItem.User;

            //stick all to LendVM
            vm.CreatedBy        = model.User;
            vm.SelectedLendUser = model.LendUser;
            vm.SelectedLendItem = ItemVM;
            if (lrVM.Id != 0)
            {
                vm.LendReturn = lrVM;
            }

            return(View(vm));
        }
        public virtual ActionResult Create(LendReturnViewModel lendReturnVM, HttpPostedFileBase uploadfile)
        {
            //todo refactoring and improvement§
            if (ModelState.IsValid)
            {
                lendReturnVM.UserId    = General.GetCurrentUser(_userRepository).Id;
                lendReturnVM.CreatedBy = General.GetCurrentUser(_userRepository);
                lendReturnVM.CreatedAt = DateTime.Now;
                lendReturnVM.FileId    = null;

                //process Return Attached Images
                if (uploadfile != null)
                {
                    lendReturnVM.ReturnImageViewModels = ImageInsert.InsertImages(uploadfile).AsEnumerable();

                    //create Return model
                    var firstOrDefault = lendReturnVM.ReturnImageViewModels.FirstOrDefault();
                    if (firstOrDefault != null)
                    {
                        lendReturnVM.FileId = firstOrDefault.Id;
                    }
                }

                var model = _mapper.Map <LendReturnViewModel, LendReturn>(lendReturnVM);
                _lendReturnRepository.InsertReturn(model);

                //get Lend and update it
                var lendmodel = _lendRepository.GetLendByID(model.LendId);
                lendmodel.LendReturnId = model.Id;
                lendmodel.To           = DateTime.Now;

                _lendRepository.UpdateLend(lendmodel);

                //get LendItem and update availability
                if (model.SetComplete != null && model.SetComplete.Value)
                {
                    var lenditemmodel = _lendItemRepository.GetLendItemByID(lendmodel.LendItemId);
                    lenditemmodel.Avialable++;

                    _lendItemRepository.UpdateLendItem(lenditemmodel);
                }

                return(RedirectToAction("..\\Lends\\Index"));
            }

            return(View(lendReturnVM));
        }
        // GET: LendReturn/Create
        public virtual ActionResult Create(int Id)
        {
            var model = _lendRepository.GetLendByID(Id);

            LendViewModel lendVM = _mapper.Map <Lend, LendViewModel>(model);

            lendVM.To = DateTime.Now;

            LendReturnViewModel lendReturnVm = new LendReturnViewModel
            {
                LendId    = lendVM.Id,
                CreatedAt = DateTime.Now,
                CreatedBy = General.GetCurrentUser(_userRepository)
            };

            lendReturnVm.UserId            = lendReturnVm.CreatedBy.Id;
            lendReturnVm.CurrentUserwithID = lendReturnVm.CreatedBy.UserName + " (" + lendReturnVm.CreatedBy.Id + ")";

            return(View(lendReturnVm));
        }