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; }
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; }
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 }); } }