public async Task <IActionResult> Edit(Guid id, AppUserCompanyCreateEditViewModel vm)
        {
            if (id != vm.Id)
            {
                return(BadRequest(new MessageDTO("Id and vm.id do not match")));
            }

            if (!await _bll.AppUserCompanies.ExistsAsync(vm.Id, User.UserGuidId()))
            {
                return(NotFound(new MessageDTO($"Current user does not have that company.")));
            }

            vm.AppUserId = User.UserGuidId();

            if (ModelState.IsValid)
            {
                await _bll.AppUserCompanies.UpdateAsync(_mapper.Map(vm), User.UserGuidId());

                await _bll.SaveChangesAsync();


                return(RedirectToAction(nameof(Index)));
            }
            vm.CompaniesSelectList = new SelectList(await _bll.Companies.GetAllAsync(User.UserGuidId()), nameof(CompanyBLL.Id), nameof(CompanyBLL.CompanyName), vm.CompanyId);
            return(View(vm));
        }
        // GET: AppUserCompany/Create
        public async Task <IActionResult> Create()
        {
            var vm = new AppUserCompanyCreateEditViewModel
            {
                CompaniesSelectList = new SelectList(await _bll.Companies.GetAllAsync(User.UserGuidId()), nameof(CompanyBLL.Id), nameof(CompanyBLL.CompanyName))
            };

            return(View(vm));
        }
        public async Task <IActionResult> Create(AppUserCompanyCreateEditViewModel vm)
        {
            vm.AppUserId = User.UserGuidId();


            if (ModelState.IsValid)
            {
                var bllEntity = _mapper.Map(vm);
                _bll.AppUserCompanies.Add(bllEntity);
                await _bll.SaveChangesAsync();

                vm.Id = bllEntity.Id;
                return(RedirectToAction(nameof(Index)));
            }

            vm.CompaniesSelectList = new SelectList(await _bll.Companies.GetAllAsync(User.UserGuidId()), nameof(CompanyBLL.Id), nameof(CompanyBLL.CompanyName), vm.CompanyId);

            return(View(vm));
        }