public async Task <IActionResult> Edit(long id, CompanyViewModel model)
        {
            try {
                if (ModelState.IsValid)
                {
                    var dto  = _mapper.Map <CompanyDto>(model);
                    var item = await _companyBusinessManager.UpdateCompany(id, dto);

                    if (item == null)
                    {
                        return(NotFound());
                    }
                    return(RedirectToAction(nameof(Edit), new { id = item.Id }));
                }
            } catch (Exception er) {
                _logger.LogError(er, er.Message);
            }

            //TODO: Change user interface on editing
            var address = await _companyBusinessManager.GetAddress(id);

            ViewBag.Address = address;

            var settings = await _companyBusinessManager.GetSettings(id);

            ViewBag.Settings = settings;

            var summary = await _companyBusinessManager.GetSummaryRanges(id);

            ViewBag.Summary = summary;

            var exportSetting = await _companyBusinessManager.GetAllExportSettings(id);

            ViewBag.ExportSettings = exportSetting;

            return(View(model));
        }