Esempio n. 1
0
        /// <summary>
        /// Apaga os dados da EtiquetaAplicacao.
        /// </summary>
        /// <param name="etiquetaAplicacao"></param>
        /// <returns></returns>
        public Colosoft.Business.DeleteResult ApagarEtiquetaAplicacao(Entidades.EtiquetaAplicacao etiquetaAplicacao)
        {
            etiquetaAplicacao.Require("etiquetaAplicacao").NotNull();

            using (var session = SourceContext.Instance.CreateSession())
            {
                var resultado = etiquetaAplicacao.Delete(session);

                if (!resultado)
                {
                    return(resultado);
                }

                return(session.Execute(false).ToDeleteResult());
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Salva os dados da EtiquetaAplicacao.
        /// </summary>
        /// <param name="etiquetaAplicacao"></param>
        /// <returns></returns>
        public Colosoft.Business.SaveResult SalvarEtiquetaAplicacao(Entidades.EtiquetaAplicacao etiquetaAplicacao)
        {
            etiquetaAplicacao.Require("etiquetaAplicacao").NotNull();

            using (var session = SourceContext.Instance.CreateSession())
            {
                // Verifica se está atualizando a etiqueta
                if (etiquetaAplicacao.ExistsInStorage &&
                    etiquetaAplicacao.ChangedProperties.Contains("CodInterno"))
                {
                    // Atualiza a configuração para ficar igual à esta alteração
                    session.Update <Data.Model.ConfiguracaoLoja>(
                        new Data.Model.ConfiguracaoLoja
                    {
                        ValorTexto = etiquetaAplicacao.CodInterno
                    },
                        Colosoft.Query.ConditionalContainer
                        .Parse("IdConfig IN (20, 22) AND ValorTexto IN (?texto)")
                        .Add("?texto",
                             SourceContext.Instance.CreateQuery()
                             .From <Data.Model.EtiquetaAplicacao>()
                             .Select("CodInterno")
                             .Where("IdAplicacao=?idAplicacao")
                             .Add("?idAplicacao", etiquetaAplicacao.IdAplicacao)),
                        "ValorTexto");
                }

                var resultado = etiquetaAplicacao.Save(session);

                if (!resultado)
                {
                    return(resultado);
                }

                //Se já existir no banco, insere um log de alteração da mesma
                if (etiquetaAplicacao.ExistsInStorage)
                {
                    Data.DAL.LogAlteracaoDAO.Instance.LogEtiquetaAplicacao(ObtemEtiquetaAplicacao(etiquetaAplicacao.IdAplicacao).DataModel, etiquetaAplicacao.DataModel);
                }

                return(session.Execute(false).ToSaveResult());
            }
        }
Esempio n. 3
0
        /// <summary>
        /// Valida a existencia da EtiquetaAplicacao.
        /// </summary>
        /// <param name="etiquetaAplicacao"></param>
        /// <returns></returns>
        IMessageFormattable[] Entidades.IValidadorEtiquetaAplicacao.ValidaExistencia
            (Entidades.EtiquetaAplicacao etiquetaAplicacao)
        {
            var idAplicacao = etiquetaAplicacao.IdAplicacao;
            var messages    = new List <IMessageFormattable>();

            SourceContext.Instance.CreateMultiQuery()
            .Add(SourceContext.Instance.CreateQuery()
                 .From <Data.Model.EtiquetaProcesso>()
                 .Where("IdAplicacao=?id").Add("?id", idAplicacao)
                 .Count(),
                 (sender, query, result) =>
            {
                if (result.Select(f => f.GetInt32(0)).FirstOrDefault() > 0)
                {
                    messages.Add("Esta Aplicação não pode ser excluída por haver processos relacionados à mesma.".GetFormatter());
                }
            })
            .Add(SourceContext.Instance.CreateQuery()
                 .From <Data.Model.ProdutosPedido>()
                 .Where("IdAplicacao=?id").Add("?id", idAplicacao)
                 .Count(),
                 (sender, query, result) =>
            {
                if (result.Select(f => f.GetInt32(0)).FirstOrDefault() > 0)
                {
                    messages.Add("Esta Aplicação não pode ser excluída por haver pedidos relacionados à mesma.".GetFormatter());
                }
            })
            .Add(SourceContext.Instance.CreateQuery()
                 .From <Data.Model.ProdutosPedidoEspelho>()
                 .Where("IdAplicacao=?id").Add("?id", idAplicacao)
                 .Count(),
                 (sender, query, result) =>
            {
                if (result.Select(f => f.GetInt32(0)).FirstOrDefault() > 0)
                {
                    messages.Add("Esta Aplicação não pode ser excluída por haver conferências relacionadas à mesma.".GetFormatter());
                }
            })
            .Add(SourceContext.Instance.CreateQuery()
                 .From <Data.Model.MaterialItemProjeto>()
                 .Where("IdAplicacao=?id").Add("?id", idAplicacao)
                 .Count(),
                 (sender, query, result) =>
            {
                if (result.Select(f => f.GetInt32(0)).FirstOrDefault() > 0)
                {
                    messages.Add("Esta Aplicação não pode ser excluída por haver projetos relacionados à mesma.".GetFormatter());
                }
            })
            .Add(SourceContext.Instance.CreateQuery()
                 .From <Data.Model.AmbientePedido>()
                 .Where("IdAplicacao=?id").Add("?id", idAplicacao)
                 .Count(),
                 (sender, query, result) =>
            {
                if (result.Select(f => f.GetInt32(0)).FirstOrDefault() > 0)
                {
                    messages.Add("Esta Aplicação não pode ser excluída por haver pedidos de mão de obra relacionados à mesma.".GetFormatter());
                }
            })
            .Add(SourceContext.Instance.CreateQuery()
                 .From <Data.Model.AmbientePedidoEspelho>()
                 .Where("IdAplicacao=?id").Add("?id", idAplicacao)
                 .Count(),
                 (sender, query, result) =>
            {
                if (result.Select(f => f.GetInt32(0)).FirstOrDefault() > 0)
                {
                    messages.Add("Esta Aplicação não pode ser excluída por haver pedidos de mão de obra relacionados à mesma.".GetFormatter());
                }
            })
            .Add(SourceContext.Instance.CreateQuery()
                 .From <Data.Model.BenefConfig>()
                 .Where("IdAplicacao=?id").Add("?id", idAplicacao)
                 .Count(),
                 (sender, query, result) =>
            {
                if (result.Select(f => f.GetInt32(0)).FirstOrDefault() > 0)
                {
                    messages.Add("Esta Aplicação não pode ser excluída por haver beneficiamentos relacionados à mesma.".GetFormatter());
                }
            })
            .Add(SourceContext.Instance.CreateQuery()
                 .From <Data.Model.ProdutoTrocaDevolucao>()
                 .Where("IdAplicacao=?id").Add("?id", idAplicacao)
                 .Count(),
                 (sender, query, result) =>
            {
                if (result.Select(f => f.GetInt32(0)).FirstOrDefault() > 0)
                {
                    messages.Add("Esta Aplicação não pode ser excluída por haver trocas relacionadas à mesma.".GetFormatter());
                }
            })
            .Add(SourceContext.Instance.CreateQuery()
                 .From <Data.Model.ProdutoTrocado>()
                 .Where("IdAplicacao=?id").Add("?id", idAplicacao)
                 .Count(),
                 (sender, query, result) =>
            {
                if (result.Select(f => f.GetInt32(0)).FirstOrDefault() > 0)
                {
                    messages.Add("Esta Aplicação não pode ser excluída por haver trocas relacionadas à mesma.".GetFormatter());
                }
            })
            .Execute();

            return(messages.ToArray());
        }