public async Task <ActionResult> AddEdit(Guid?id)
        {
            CompanyLocationGroupEditVm returnValue = new CompanyLocationGroupEditVm();

            if (id == null)
            {
                //create a starting point here.
                returnValue.CompanyLocationGroupUiDto = new CompanyLocationGroupUiDto();
                returnValue.CompanyLocationGroupUiDto.CompanyLocationUiDtos = new List <CompanyLocationUiDto>();
                CompanyLocationUiDto cluiDto = new CompanyLocationUiDto();
                returnValue.CompanyLocationGroupUiDto.CompanyLocationUiDtos.Add(cluiDto);
                AuthorizationState authState = AuthorizationState.NotAllowed;
                bool isCompanyOwner          = false;
                // check for some form of rights before showing the form.
                var company = _accessQueries.GetAuthorization_ForCompanyAdmin_IfCompanyIdSelectedByUserId(Guid.Parse(User.Identity.GetUserId()), false, out authState, out isCompanyOwner);
                returnValue.CompanyLocationGroupUiDto.AuthState_OnlyTrustOnGeneration = authState;
            }
            else
            {
                returnValue.CompanyLocationGroupUiDto = _companyLocationGroupQueries.GetUiDto_CompanyLocationGroupById(User.Identity.GetUserId(), (Guid)id);
            }

            if (returnValue.CompanyLocationGroupUiDto == null)
            {
                return(RedirectToAction("Index", "CompanyLocationGroups"));
            }

            return(View(returnValue));
        }
        private CompanyLocationGroupUiDto ConvertCompanyLocationGroupToUiDto(CompanyLocationGroup companyLocationGroup, AuthorizationState authState)
        {
            CompanyLocationGroupUiDto returnValue = null;

            if (companyLocationGroup != null)
            {
                returnValue = _mapper.Map <CompanyLocationGroup, CompanyLocationGroupUiDto>(companyLocationGroup);
                returnValue.AuthState_OnlyTrustOnGeneration = authState;
                companyLocationGroup.CompanyLocations       = companyLocationGroup.CompanyLocations ?? new List <CompanyLocation>();
                returnValue.CompanyLocationUiDtos           = returnValue.CompanyLocationUiDtos ?? new List <CompanyLocationUiDto>();

                foreach (var cLocation in companyLocationGroup.CompanyLocations)
                {
                    CompanyLocationUiDto cLocationUiDto = _mapper.Map <CompanyLocation, CompanyLocationUiDto>(cLocation);
                    cLocationUiDto.AuthState_OnlyTrustOnGeneration = authState;
                    returnValue.CompanyLocationUiDtos.Add(cLocationUiDto);
                }
            }

            return(returnValue);
        }
        public PartialViewResult AddCompanyLocation()
        {
            var model = new CompanyLocationUiDto();

            return(PartialView("_companyLocationPartial", model));
        }