ResponsiblePerson GetModelDatas(ResponsiblePersonViewModel _viewModel)
        {
            ResponsiblePerson _model = new ResponsiblePerson()
            {
                RespPersID            = _viewModel.RespPersID,
                DeviceID              = _viewModel.DeviceID,
                SurnameRespPers       = _viewModel.SurnameRespPers,
                NameRespPers          = _viewModel.NameRespPers,
                PatronymicRespPers    = _viewModel.PatronymicRespPers,
                PersonNumberRespPers  = _viewModel.PersonNumberRespPers,
                PositionRespPers      = _viewModel.PositionRespPers.ToString(),
                DepartmentRespPers    = _viewModel.DepartmentRespPers.ToString(),
                CorpRespPers          = _viewModel.CorpRespPers.ToString(),
                FloorRespPers         = _viewModel.FloorRespPers.ToString(),
                RoomRespPers          = _viewModel.RoomRespPers,
                PhoneRespPers         = _viewModel.PhoneRespPers,
                InternalPnoneRespPers = _viewModel.InternalPnoneRespPers,
                MobilePhoneRespPers   = _viewModel.MobilePhoneRespPers,
                EmailRespPers         = _viewModel.EmailRespPers,
                CreateDateTime        = _viewModel.CreateDateTime,
                ChangeDateTime        = _viewModel.ChangeDateTime
            };

            //_model.Device = _viewModel.Device;

            return(_model);
        }
        // GET: ResponsiblePersons
        public ActionResult Index(string searchString, int?page)
        {
            #region DefaultCode
            //var responsiblePersons = db.ResponsiblePersons.Include(r => r.Device);
            //return View(responsiblePersons.ToList());

            #endregion End of DefaultCode

            #region List
            //var _model = db.ResponsiblePersons.Include(d => d.Device);
            //var _viewModel = new List<ResponsiblePersonViewModel>();

            //foreach (var item in _model)
            //{
            //    _viewModel.Add(ResponsiblePersonViewModel.GetViewModelDatas(item));
            //}

            //return View(_viewModel);
            #endregion end of List

            #region LINQ Expression
            //var qData = from q in db.Devices.Include(d => d.DeviceDocument) select q;



            var qData = (from q in db.ResponsiblePersons.Include(d => d.Device) select q).OrderBy(s => s.DeviceID).Skip(0);
            if (!string.IsNullOrEmpty(searchString))
            {
                qData = qData.Where(s => s.SurnameRespPers.Contains(searchString));
            }

            int pageSize   = 8;
            int pageNumber = (page ?? 1);

            var _viewModel = new List <ResponsiblePersonViewModel>();
            foreach (var item in qData)
            {
                _viewModel.Add(ResponsiblePersonViewModel.GetViewModelDatas(item));
            }

            return(View("Index", _viewModel.ToPagedList(pageNumber, pageSize)));



            //return View(_listViewModel.ToPagedList(pageNumber, pageSize));

            #endregion // end of LINQ Expression
        }
        // GET: ResponsiblePersons/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ResponsiblePerson _model = db.ResponsiblePersons.Find(id);
            var _viewModel           = ResponsiblePersonViewModel.GetViewModelDatas(_model);

            if (_model == null)
            {
                return(HttpNotFound());
            }
            ViewBag.DeviceID = new SelectList(db.Devices, "DeviceID", "InventoryNumber", _model.DeviceID);
            return(View(_viewModel));
        }
        public ActionResult Edit(ResponsiblePersonViewModel _viewModel)
        {
            if (ModelState.IsValid)
            {
                var _model = GetModelDatas(_viewModel);
                try
                {
                    db.Entry(_model).State = EntityState.Modified;
                    db.SaveChanges();
                }
                catch (DbEntityValidationException ex)
                {
                    throw new DbEntityValidationException(ex.ToString());
                }

                return(RedirectToAction("Index"));
            }
            ViewBag.DeviceID = new SelectList(db.Devices, "DeviceID", "InventoryNumber", _viewModel.DeviceID);
            return(View(_viewModel));
        }