示例#1
0
        public CheckinTool MapCheckinToolTabViewModelToCheckinTool(CheckinToolTabViewModel checkinToolTabViewModel)
        {
            var tool = _toolService.FindTool(checkinToolTabViewModel.ToolId);
            var holder = _holderService.FindHolderByName(checkinToolTabViewModel.HolderName);
            var companyArea = _companyAreaService.FindCompanyAreaByName(checkinToolTabViewModel.CompanyAreaName);

            int? companyAreaId;

            if (companyArea != null)
            {
                companyAreaId = companyArea.Id;
            }
            else
            {
                companyAreaId = null;
            }

            if (!HolderExists(holder))
                throw new ObjectNotExistsException<Holder>();

            var checkinTool = new CheckinTool
            {
                EmployeeCompanyHolderId = holder.Id,
                Tool = tool,
                CheckinDateTime = checkinToolTabViewModel.CheckinDateTime.Value,
                Informer = checkinToolTabViewModel.Informer,
                CompanyAreaId = companyAreaId
            };

            return checkinTool;
        }
示例#2
0
        public CheckinToolTabViewModel CheckinsOfThisToolToCheckinToolTabViewModel(int toolId)
        {
            var thisToolCheckins = _checkinToolService.ListCheckinToolsWithActualTool(toolId);

            var checkinToolTabViewModel = new CheckinToolTabViewModel
            {
                CheckinTools = CheckinToolToEnumerableCheckinToolViewModel(thisToolCheckins),
                ToolId = toolId
            };

            if (checkinToolTabViewModel.CheckinTools != null)
                checkinToolTabViewModel.CheckinTools =
                    checkinToolTabViewModel.CheckinTools.OrderByDescending(c => c.CheckinDateTime);

            return checkinToolTabViewModel;
        }
示例#3
0
        public ActionResult CheckinTab(CheckinToolTabViewModel checkinToolTabViewModel)
        {
            try
            {
                if (!ModelState.IsValid)
                    return View(checkinToolTabViewModel);

                var checkinTool = _toolMapper.MapCheckinToolTabViewModelToCheckinTool(checkinToolTabViewModel);
                _checkinToolService.CheckinTool(checkinTool);

                return RedirectToAction("Edit", new { id = checkinToolTabViewModel.ToolId });
            }
            catch (ObjectNotExistsException<Holder> ex)
            {
                ModelState.AddModelError("HolderNotExists", ex.Message);
                return RedirectToAction("Edit", new { id = checkinToolTabViewModel.ToolId });
            }
            catch (ObjectExistsException<CheckinTool> ex)
            {
                ModelState.AddModelError("DateExists", ex.Message);
                return RedirectToAction("Edit", new { id = checkinToolTabViewModel.ToolId });
            }
            catch (CheckinInconsistencyException ex)
            {
                ModelState.AddModelError("DateExists", ex.Message);
                return RedirectToAction("Edit", new { id = checkinToolTabViewModel.ToolId });
            }
            catch (CheckinCompanyToCompanyException ex)
            {
                ModelState.AddModelError("HolderNotExists", ex.Message);
                return RedirectToAction("Edit", new { id = checkinToolTabViewModel.ToolId });
            }
            catch (CheckinHolderTwiceThenException ex)
            {
                ModelState.AddModelError("HolderNotExists", ex.Message);
                return RedirectToAction("Edit", new { id = checkinToolTabViewModel.ToolId });
            }
            catch
            {
                return RedirectToAction("Edit", new { id = checkinToolTabViewModel.ToolId });
            }
        }