public async Task <IActionResult> Create(ProductsForClientsCreateEditViewModel vm)
        {
            if (ModelState.IsValid)
            {
                _bll.ProductsForClients.Add(vm.ProductForClient);
                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));

            vm.ProductSelectList = new SelectList(
                await _bll.Products.AllAsync(),
                nameof(BLL.App.DTO.Product.Id),
                nameof(BLL.App.DTO.Product.ProductName));

            vm.WorkObjectSelectList = new SelectList(
                await _bll.WorkObjects.AllForUserAsync(User.GetUserId()),
                nameof(BLL.App.DTO.WorkObject.Id),
                nameof(BLL.App.DTO.WorkObject.Id));

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

            var productForClient = await _bll.ProductsForClients.FindAsync(id);

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

            var vm = new ProductsForClientsCreateEditViewModel();

            vm.ProductForClient = productForClient;

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

            vm.ProductSelectList = new SelectList(
                await _bll.Products.AllAsync(),
                nameof(BLL.App.DTO.Product.Id),
                nameof(BLL.App.DTO.Product.ProductName));

            vm.WorkObjectSelectList = new SelectList(
                await _bll.WorkObjects.AllForUserAsync(User.GetUserId()),
                nameof(BLL.App.DTO.WorkObject.Id),
                nameof(BLL.App.DTO.WorkObject.Id));

            return(View(vm));
        }
        // GET: ProductsForClients/Create
        public async Task <IActionResult> Create()
        {
            var vm = new ProductsForClientsCreateEditViewModel();

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

            vm.ProductSelectList = new SelectList(
                await _bll.Products.AllAsync(),
                nameof(BLL.App.DTO.Product.Id),
                nameof(BLL.App.DTO.Product.ProductName));

            vm.WorkObjectSelectList = new SelectList(
                await _bll.WorkObjects.AllForUserAsync(User.GetUserId()),
                nameof(BLL.App.DTO.WorkObject.Id),
                nameof(BLL.App.DTO.WorkObject.Id));

            return(View(vm));
        }