public Auth EditChamado(AnotacaoAPIModel value) { Auth auth = new Auth() { Code = 0, Mensagem = "Sucesso!" }; ChamadoViewModel chamadoViewModel = (ChamadoViewModel)ValidarToken(value); if (chamadoViewModel.mensagem.Code != 0) { Auth cvm = new Auth() { Mensagem = "Acesso Negado.", Code = 202 }; return(cvm); } ChamadoViewModel result = null; try { int?FilaAtendimentoID = null; if (value.FilaAtendimentoAtualID != value.FilaAtendimentoID.ToString()) { FilaAtendimentoID = value.FilaAtendimentoID; } #region Incluir Anotação result = new ChamadoViewModel() { ChamadoID = value.ChamadoID, uri = this.ControllerContext.Controller.GetType().Name.Replace("Controller", "") + "/" + this.ControllerContext.RouteData.Values["action"].ToString(), ChamadoAnexoViewModel = new ChamadoAnexoViewModel(), ChamadoFilaViewModel = new ChamadoFilaViewModel(), ChamadoAnotacaoViewModel = new ChamadoAnotacaoViewModel() { ChamadoID = value.ChamadoID, Mensagem = value.Anotacoes.FirstOrDefault().Mensagem }, ChamadoStatusID = value.ChamadoStatusID, FilaAtendimentoID = FilaAtendimentoID, DescricaoFilaAtendimento = value.DescricaoFilaAtendimento, DescricaoChamadoStatus = value.DescricaoChamadoStatus, DataRedirecionamento = Funcoes.Brasilia(), Rotas = new List <ChamadoFilaViewModel>(), Anexos = new List <ChamadoAnexoViewModel>(), mensagem = new Validate() { Code = 0 }, sessionId = value.sessionId, }; if (value.FilaAtendimentoAtualID == value.FilaAtendimentoID.ToString()) { result.IsUsuarioFila = false; } else { result.IsUsuarioFila = true; } result.ChamadoAnotacaoViewModel.uri = this.ControllerContext.Controller.GetType().Name.Replace("Controller", "") + "/" + this.ControllerContext.RouteData.Values["action"].ToString(); FactoryLocalhost <ChamadoAnotacaoViewModel, ApplicationContext> factory = new FactoryLocalhost <ChamadoAnotacaoViewModel, ApplicationContext>(); factory.Execute(new ChamadoAnotacaoBI(), result, value.sessionId); if (factory.Mensagem.Code > 0) { throw new App_DominioException(factory.Mensagem); } #endregion #region Emitir Alerta e enviar o e-mail para a fila destinatária FactoryLocalhost <AlertaRepository, ApplicationContext> factoryAlert = new FactoryLocalhost <AlertaRepository, ApplicationContext>(); AlertaBI bi = new AlertaBI(); AlertaRepository a = factoryAlert.Execute(new AlertaBI(), result); if (a.mensagem.Code > 0) { throw new Exception(a.mensagem.Message); } #endregion #region Recupera o ChamadoViewModel FactoryLocalhost <ChamadoViewModel, ApplicationContext> factoryChamado = new FactoryLocalhost <ChamadoViewModel, ApplicationContext>(); result = factoryChamado.Execute(new ChamadoEditBI(), result); #endregion } catch (App_DominioException ex) { ModelState.AddModelError("", ex.Result.MessageBase); // mensagem amigável ao usuário } catch (Exception ex) { App_DominioException.saveError(ex, GetType().FullName); } return(auth); }
public ActionResult EditAnotacao( int ChamadoID, string Mensagem, string FilaAtendimentoAtualID, string _FilaAtendimentoID, string DescricaoFilaAtendimento, string IsCondomino, string _ChamadoStatusID, string DescricaoChamadoStatus) { if (ModelState.IsValid) { if (ViewBag.ValidateRequest) { ChamadoViewModel result = null; try { int?FilaAtendimentoID = null; if (FilaAtendimentoAtualID != _FilaAtendimentoID) { FilaAtendimentoID = int.Parse(_FilaAtendimentoID); } #region Incluir Anotação result = new ChamadoViewModel() { ChamadoID = ChamadoID, uri = this.ControllerContext.Controller.GetType().Name.Replace("Controller", "") + "/" + this.ControllerContext.RouteData.Values["action"].ToString(), ChamadoAnexoViewModel = new ChamadoAnexoViewModel(), ChamadoFilaViewModel = new ChamadoFilaViewModel(), ChamadoAnotacaoViewModel = new ChamadoAnotacaoViewModel() { ChamadoID = ChamadoID, Mensagem = Mensagem }, ChamadoStatusID = _ChamadoStatusID == null || _ChamadoStatusID == "" ? 0 : int.Parse(_ChamadoStatusID), FilaAtendimentoID = FilaAtendimentoID, DescricaoFilaAtendimento = DescricaoFilaAtendimento, DescricaoChamadoStatus = DescricaoChamadoStatus, DataRedirecionamento = Funcoes.Brasilia(), Rotas = new List <ChamadoFilaViewModel>(), Anexos = new List <ChamadoAnexoViewModel>(), mensagem = new Validate() { Code = 0 } }; if (FilaAtendimentoAtualID == _FilaAtendimentoID) { result.IsUsuarioFila = false; } else { result.IsUsuarioFila = true; } result.ChamadoAnotacaoViewModel.uri = this.ControllerContext.Controller.GetType().Name.Replace("Controller", "") + "/" + this.ControllerContext.RouteData.Values["action"].ToString(); FactoryLocalhost <ChamadoAnotacaoViewModel, ApplicationContext> factory = new FactoryLocalhost <ChamadoAnotacaoViewModel, ApplicationContext>(); result.Anotacoes = factory.Execute(new ChamadoAnotacaoBI(), result, ChamadoID); if (factory.Mensagem.Code > 0) { throw new App_DominioException(factory.Mensagem); } ChamadoAnotacaoModel model = new ChamadoAnotacaoModel(); ChamadoAnotacaoViewModel ChamadoAnotacaoViewModel = model.CreateRepository(Request); result.ChamadoAnotacaoViewModel.ChamadoID = ChamadoID; #endregion #region Emitir Alerta e enviar o e-mail para a fila destinatária FactoryLocalhost <AlertaRepository, ApplicationContext> factoryAlert = new FactoryLocalhost <AlertaRepository, ApplicationContext>(); AlertaBI bi = new AlertaBI(); AlertaRepository a = factoryAlert.Execute(new AlertaBI(), result); if (a.mensagem.Code > 0) { throw new Exception(a.mensagem.Message); } #endregion #region Recupera o ChamadoViewModel FactoryLocalhost <ChamadoViewModel, ApplicationContext> factoryChamado = new FactoryLocalhost <ChamadoViewModel, ApplicationContext>(); result = factoryChamado.Execute(new ChamadoEditBI(), result); #endregion //if (FilaAtendimentoAtualID != _FilaAtendimentoID) // result.IsUsuarioFila = false; //else // result.IsUsuarioFila = true; //result.IsCondomino = IsCondomino == "True" ? true : false; Success("Registro processado com sucesso"); } catch (App_DominioException ex) { ModelState.AddModelError("", ex.Result.MessageBase); // mensagem amigável ao usuário Error(ex.Result.Message); // Mensagem em inglês com a descrição detalhada do erro e fica no topo da tela } catch (Exception ex) { App_DominioException.saveError(ex, GetType().FullName); ModelState.AddModelError("", MensagemPadrao.Message(17).ToString()); // mensagem amigável ao usuário Error(ex.Message); // Mensagem em inglês com a descrição detalhada do erro e fica no topo da tela } return(View("_Anotacao", result)); } else { return(View()); } } else { //CondominoEditViewModel result = new CondominoEditViewModel() //{ // UnidadeViewModel = new UnidadeViewModel() // { // EdificacaoID = VeiculoViewModel.EdificacaoID, // UnidadeID = VeiculoViewModel.UnidadeID, // CondominioID = VeiculoViewModel.CondominioID // }, // CondominoPFViewModel = new CondominoPFViewModel() // { // CondominoID = VeiculoViewModel.CondominoID // }, // VeiculoViewModel = VeiculoViewModel //}; //Factory<CondominoEditViewModel, ApplicationContext> factory = new Factory<CondominoEditViewModel, ApplicationContext>(); //CondominoEditViewModel obj = factory.Execute(new EditarCondominoBI(), result); //result.Veiculos = obj.Veiculos; //Error("Erro de preenhcimento em campos"); return(View("_Anotacao", result)); } }