/// <summary> /// Apaga os dados do Fabricante de Ferragem. /// </summary> /// <param name="fabricanteFerragem"></param> /// <returns></returns> public Colosoft.Business.DeleteResult ApagarFabricanteFerragem(Entidades.FabricanteFerragem fabricanteFerragem) { fabricanteFerragem.Require("fabricanteFerragem").NotNull(); var fabricanteEmUso = SourceContext.Instance.CreateQuery() .From <Glass.Data.Model.Ferragem>("f") .Where("f.IdFabricanteFerragem=?idFabricanteFerragem") .Add("?idFabricanteFerragem", fabricanteFerragem.IdFabricanteFerragem) .ExistsResult(); if (fabricanteEmUso) { return(new Colosoft.Business.DeleteResult(false, string.Format("O fabricante ferragem não pode ser excluído pois está associado à ferragens.").GetFormatter())); } Colosoft.Business.DeleteResult resultado = null; using (var session = SourceContext.Instance.CreateSession()) { resultado = fabricanteFerragem.Delete(session); if (!resultado) { return(resultado); } return(session.Execute().ToDeleteResult()); } return(resultado); }
/// <summary> /// Executa a sessão de persistencia verificando se o resultado for válido. /// </summary> /// <param name="deleteResult"></param> /// <param name="session"></param> /// <returns></returns> public static Colosoft.Business.DeleteResult Execute(this Colosoft.Business.DeleteResult deleteResult, Colosoft.Data.IPersistenceSession session) { deleteResult.Require("deleteResult").NotNull(); session.Require("session").NotNull(); if (!deleteResult) { return(deleteResult); } return(session.Execute(false).ToDeleteResult()); }
/// <summary> /// Apaga os dados da Ferragem. /// Os dados devem ser apagados primeiramente no CadProject, para evitar que uma ferragem exista nele e não exista no WebGlass. /// </summary> public Colosoft.Business.DeleteResult ApagarFerragem(Entidades.Ferragem ferragem) { ferragem.Require("ferragem").NotNull(); #region Atualiza os dados da ferragem no WebGlass Colosoft.Business.DeleteResult resultado = null; using (var session = SourceContext.Instance.CreateSession()) { resultado = ferragem.Delete(session); if (!resultado) { return(resultado); } resultado = session.Execute().ToDeleteResult(); } /* Chamado 65883. */ if (!resultado) { return(new Colosoft.Business.DeleteResult(false, string.Format("Falha ao apagar a ferragem no WebGlass. Erro: {0}.", resultado.Message.ToString()).GetFormatter())); } #endregion #region Atualiza os dados da ferragem no CadProject var retornoDelecao = string.Empty; _cache.Apagar(ferragem); var repositorio = Microsoft.Practices.ServiceLocation.ServiceLocator .Current.GetInstance <Entidades.IFerragemRepositorioCalcPackage>(); var source = new PartTemplateSynchronizerSource(repositorio); source.Apagar(ferragem, f => { }, (f, mensagem) => { retornoDelecao = mensagem; }); /* Chamado 65883. */ if (!string.IsNullOrEmpty(retornoDelecao)) { return(new Colosoft.Business.DeleteResult(false, string.Format("Falha ao apagar a ferragem no CadProject. Erro: {0}. IMPORTANTE: a ferragem foi apagada no WebGlass.", retornoDelecao).GetFormatter())); } var sincronizador = CriarSincronizador(source); // Executa a sincronização sincronizador.Synchronize(); #endregion return(resultado); }
/// <summary> /// Converte o resultado da operação de apagar em um resultado do DataSource. /// </summary> /// <param name="result"></param> /// <returns></returns> public static System.Web.Mvc.JsonResult ToDataSourceResult(this Colosoft.Business.DeleteResult result) { var dataSourceResult = new global::Kendo.Mvc.UI.DataSourceResult(); if (!result) { dataSourceResult.Errors = result.Message.Format(); } return(new System.Web.Mvc.JsonResult { Data = dataSourceResult, JsonRequestBehavior = System.Web.Mvc.JsonRequestBehavior.DenyGet }); }
/// <summary> /// Registra uma mensagem de erro. /// </summary> /// <param name="operacao">Descrição da operação realizada.</param> /// <param name="resultado">Resultado contendo a mensagem do erro.</param> public static void ErrorMsg(string operacao, Colosoft.Business.DeleteResult resultado) { resultado.Require("resultado").NotNull(); var page = System.Web.HttpContext.Current.Handler as System.Web.UI.Page; if (resultado.Message != null) { ShowMsg(string.Format("{0}\r\b{1}", operacao, resultado.Message.Format()), page); } else { ShowMsg(operacao, page); } }
/// <summary> /// Mostra a mensagem de erro contida no resultado da operação. /// </summary> /// <param name="resultado"></param> /// <param name="control"></param> /// <param name="mensagemAnexo"></param> public static void MostrarErro(this System.Web.UI.Control control, Colosoft.Business.DeleteResult resultado, string mensagemAnexo = "") { if (resultado == null) { return; } var validator = new System.Web.UI.WebControls.CustomValidator(); validator.IsValid = false; if (!string.IsNullOrEmpty(mensagemAnexo)) { validator.ErrorMessage = string.Format("{0} - {1}", mensagemAnexo, resultado.Message.Format()); } else { validator.ErrorMessage = resultado.Message.Format(); } control.Page.Validators.Add(validator); }