// GET: Tourism/ListOfTourism/Create
        public IActionResult Create()
        {
            ViewData["DictDistrictId"]  = new SelectList(_context.DictDistrict, "Id", "NameRus");
            ViewData["DictFinSourceId"] = new SelectList(_context.DictFinSource, "Id", "NameRus");
            ViewData["DictLegalFormId"] = new SelectList(_context.DictLegalForm, "Id", "NameRus");
            ViewData["FactDistrictId"]  = new SelectList(_context.DictDistrict, "NameRus", "NameRus");
            string        uid   = _httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value;
            ListOfTourism model = new ListOfTourism();

            model.CreateDate        = DateTime.Now;
            model.NameKyrg          = "NULL";
            model.ApplicationUserId = uid;
            return(View(model));
        }
        public async Task <IActionResult> Create([Bind("Id,NameRus,NameKyrg,DictLegalFormId,INN,LastNameDirector,FirstNameDirector,PatronicNameDirector,DictFinSourceId,DictDistrictId,LegalAddress,FactDistrictId,LegalFactAddress,RegistrationDate,ReregistrationDate,DeactiveDate,CreateDate,ApplicationUserId")] ListOfTourism listOfTourism)
        {
            if (ModelState.IsValid)
            {
                _context.Add(listOfTourism);
                await _context.SaveChangesAsync();

                HistorSaved(listOfTourism);

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["DictDistrictId"]  = new SelectList(_context.DictDistrict, "Id", "NameRus", listOfTourism.DictDistrictId);
            ViewData["DictFinSourceId"] = new SelectList(_context.DictFinSource, "Id", "NameRus", listOfTourism.DictFinSourceId);
            ViewData["DictLegalFormId"] = new SelectList(_context.DictLegalForm, "Id", "NameRus", listOfTourism.DictLegalFormId);
            ViewData["FactDistrictId"]  = new SelectList(_context.DictDistrict, "NameRus", "NameRus", listOfTourism.FactDistrictId);

            return(View(listOfTourism));
        }
        public async Task <IActionResult> Edit(int id, [Bind("Id,NameRus,NameKyrg,DictLegalFormId,INN,LastNameDirector,FirstNameDirector,PatronicNameDirector,DictFinSourceId,DictDistrictId,LegalAddress,FactDistrictId,LegalFactAddress,RegistrationDate,ReregistrationDate,DeactiveDate,CreateDate,ApplicationUserId")] ListOfTourism listOfTourism, string SubmitButton = "")
        {
            if (id != listOfTourism.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    string uid = _httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value;
                    listOfTourism.ApplicationUserId = uid;
                    _context.Update(listOfTourism);
                    await _context.SaveChangesAsync();

                    if (SubmitButton == "Перерегистрировать")
                    {
                        HistorSaved(listOfTourism);
                    }
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!ListOfTourismExists(listOfTourism.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["DictDistrictId"]  = new SelectList(_context.DictDistrict, "Id", "NameRus", listOfTourism.DictDistrictId);
            ViewData["DictFinSourceId"] = new SelectList(_context.DictFinSource, "Id", "NameRus", listOfTourism.DictFinSourceId);
            ViewData["DictLegalFormId"] = new SelectList(_context.DictLegalForm, "Id", "NameRus", listOfTourism.DictLegalFormId);
            ViewData["FactDistrictId"]  = new SelectList(_context.DictDistrict, "NameRus", "NameRus", listOfTourism.FactDistrictId);
            return(View(listOfTourism));
        }
        private void HistorSaved(ListOfTourism listOfTourism)
        {
            ListOfTourismHistory lh = new ListOfTourismHistory();

            lh.CreateDate        = listOfTourism.CreateDate;
            lh.DeactiveDate      = listOfTourism.DeactiveDate;
            lh.DictDistrictId    = listOfTourism.DictDistrictId;
            lh.DictFinSourceId   = listOfTourism.DictFinSourceId;
            lh.DictLegalFormId   = listOfTourism.DictLegalFormId;
            lh.FactDistrictId    = listOfTourism.FactDistrictId;
            lh.FirstNameDirector = listOfTourism.FirstNameDirector;
            lh.INN = listOfTourism.INN;
            lh.LastNameDirector     = listOfTourism.LastNameDirector;
            lh.LegalAddress         = listOfTourism.LegalAddress;
            lh.LegalFactAddress     = listOfTourism.LegalFactAddress;
            lh.ListOfTourismId      = listOfTourism.Id;
            lh.NameKyrg             = listOfTourism.NameKyrg;
            lh.NameRus              = listOfTourism.NameRus;
            lh.PatronicNameDirector = listOfTourism.PatronicNameDirector;
            lh.RegistrationDate     = listOfTourism.RegistrationDate;
            lh.ReregistrationDate   = listOfTourism.ReregistrationDate;
            _context.ListOfTourismHistory.Add(lh);
            _context.SaveChanges();
        }