public IActionResult Create(EstablishmentFormViewModel obj) { //verifica se os campos principais foram preenchidos if (obj.Establishment.CorporateName != null && (obj.Establishment.CNPJ != null && isCNPJAsync(obj.Establishment.CNPJ).Result == true) && obj.Establishment.Id_Category != 0 && obj.Address.Id_City != 0) { using (var transaction = _FitcardContext.Database.BeginTransaction()) { try { //endereço é obrigatorio e só usamos o id_city para relacionar no bd obj.Establishment.Id_Address = _AddressService.InsertAddress(obj.Address); if (_EstablishmentService.InsertEstablishment(obj.Establishment, obj.Contact)) { obj.Contact.Id_Establishment = obj.Establishment.idEstablishment; _ContactService.InsertContact(obj.Contact); obj.Account.Id_Establishment = obj.Establishment.idEstablishment; if (!_AccountService.InsertAccount(obj.Account)) { //agencia e conta não foram preenchidos corretamente, tendo só um dos campos sido preenchidos transaction.Rollback(); TempData["info"] = "É necessário informar conta e agência, um campo somente preenchido não é valido"; } else { transaction.Commit(); TempData["info"] = "Cadastro Realizado com sucesso!"; } } else { //meio de contato não é valido para a categoria 1 transaction.Rollback(); TempData["info"] = "É necessário um meio de contato para a categoria de supermercado"; } } catch { transaction.Rollback(); return(RedirectToAction("Error", "Home", new ErrorViewModel { Message = "Erro ao tentar acessar e/ou inserir dados no banco" })); } } } else { //campos obrigatorios não foram totalmente preenchidos TempData["info"] = "É necessário preencher todos os campos obrigatórios ou o campo CNPJ não é valido"; } return(RedirectToAction(nameof(Create))); }
public IActionResult Create() { try { var Status = _StatusService.FindAll(); var Category = _CategoryService.ListCategory(); var ViewModel = new EstablishmentFormViewModel { Status = Status, Category = Category }; ViewBag.UF = _UFService.ListUF(); ViewBag.Register = DateTime.UtcNow; ViewBag.Message = TempData["info"]; return(View(ViewModel)); } catch { return(RedirectToAction("Error", "Home", new ErrorViewModel { Message = "Erro ao tentar conectar com o banco de dados" })); } }