// GET: WorkObjects/Edit/5
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var workObject = await _bll.WorkObjects.FindAsync(id);

            if (workObject == null)
            {
                return(NotFound());
            }

            var vm = new WebApp.Areas.Admin.ViewModels.WorkObjectCreateEditViewModel();

            vm.WorkObject = workObject;

            vm.ClientSelectList = new SelectList(
                await _bll.Clients.AllAsync(),
                nameof(BLL.App.DTO.Client.Id),
                nameof(BLL.App.DTO.Client.CompanyName));


            return(View(vm));
        }
        // GET: WorkObjects/Create
        public async Task <IActionResult> Create()
        {
            var vm = new WebApp.Areas.Admin.ViewModels.WorkObjectCreateEditViewModel
            {
                ClientSelectList = new SelectList(
                    await _bll.Clients.AllAsync(),
                    nameof(BLL.App.DTO.Client.Id),
                    nameof(BLL.App.DTO.Client.CompanyName)),
            };


            return(View(vm));
        }
        public async Task <IActionResult> Create(WebApp.Areas.Admin.ViewModels.WorkObjectCreateEditViewModel vm)
        {
            if (ModelState.IsValid)
            {
                _bll.WorkObjects.Add(vm.WorkObject);
                await _bll.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }

            vm.ClientSelectList = new SelectList(
                await _bll.Clients.AllAsync(),
                nameof(BLL.App.DTO.Client.Id),
                nameof(BLL.App.DTO.Client.CompanyName));


            return(View(vm));
        }
        // GET: WorkObjects/Details/5
        public async Task <IActionResult> Details(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var workObject = await _bll.WorkObjects.FindAsync(id);

            if (workObject == null)
            {
                return(NotFound());
            }
            var vm = new WebApp.Areas.Admin.ViewModels.WorkObjectCreateEditViewModel();

            vm.WorkObject = workObject;
            vm.WorkObject.AppUsersOnObject = await _bll.AppUsersOnObjects.AllForWorkObjectAsync(workObject.Id);

            vm.WorkObject.ProductsServices = await _bll.ProductsServices.AllForWorkObjectAsync(workObject.Id);

            vm.WorkObject.Bills = await _bll.Bills.AllForWorkObjectAsync(workObject.Id);

            return(View(vm));
        }