Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
 /// <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());
 }
Exemplo n.º 3
0
        /// <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
            });
        }
Exemplo n.º 5
0
        /// <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);
            }
        }
Exemplo n.º 6
0
        /// <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);
        }