Esempio n. 1
0
        /// <summary>
        /// Apagar os dados do EtiquetaProcesso.
        /// </summary>
        /// <param name="etiquetaProcesso"></param>
        /// <returns></returns>
        public Colosoft.Business.DeleteResult ApagarEtiquetaProcesso(Entidades.EtiquetaProcesso etiquetaProcesso)
        {
            etiquetaProcesso.Require("etiquetaProcesso").NotNull();

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

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

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

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

                var resultado = etiquetaProcesso.Save(session);

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

                if (etiquetaProcesso.ExistsInStorage)
                {
                    Data.DAL.LogAlteracaoDAO.Instance.LogEtiquetaProcesso(ObtemEtiquetaProcesso(etiquetaProcesso.IdProcesso).DataModel, etiquetaProcesso.DataModel);
                }

                return(session.Execute(false).ToSaveResult());
            }
        }
Esempio n. 3
0
        /// <summary>
        /// Valida a existencia do EtiquetaProcesso.
        /// </summary>
        /// <param name="etiquetaProcesso"></param>
        /// <returns></returns>
        IMessageFormattable[] Entidades.IValidadorEtiquetaProcesso.ValidaExistencia
            (Entidades.EtiquetaProcesso etiquetaProcesso)
        {
            var idProcesso = etiquetaProcesso.IdProcesso;
            var messages   = new List <IMessageFormattable>();

            SourceContext.Instance.CreateMultiQuery()
            .Add(SourceContext.Instance.CreateQuery()
                 .From <Data.Model.ProdutosPedido>()
                 .Where("IdProcesso=?id").Add("?id", idProcesso)
                 .Count(),
                 (sender, query, result) =>
            {
                if (result.Select(f => f.GetInt32(0)).FirstOrDefault() > 0)
                {
                    messages.Add("Este Processo não pode ser excluído por haver pedidos relacionados ao mesmo.".GetFormatter());
                }
            })
            .Add(SourceContext.Instance.CreateQuery()
                 .From <Data.Model.ProdutosPedidoEspelho>()
                 .Where("IdProcesso=?id").Add("?id", idProcesso)
                 .Count(),
                 (sender, query, result) =>
            {
                if (result.Select(f => f.GetInt32(0)).FirstOrDefault() > 0)
                {
                    messages.Add("Este Processo não pode ser excluído por haver conferências relacionadas ao mesmo.".GetFormatter());
                }
            })
            .Add(SourceContext.Instance.CreateQuery()
                 .From <Data.Model.MaterialItemProjeto>()
                 .Where("IdProcesso=?id").Add("?id", idProcesso)
                 .Count(),
                 (sender, query, result) =>
            {
                if (result.Select(f => f.GetInt32(0)).FirstOrDefault() > 0)
                {
                    messages.Add("Este Processo não pode ser excluído por haver projetos relacionados ao mesmo.".GetFormatter());
                }
            })
            .Add(SourceContext.Instance.CreateQuery()
                 .From <Data.Model.AmbientePedido>()
                 .Where("IdProcesso=?id").Add("?id", idProcesso)
                 .Count(),
                 (sender, query, result) =>
            {
                if (result.Select(f => f.GetInt32(0)).FirstOrDefault() > 0)
                {
                    messages.Add("Este Processo não pode ser excluído por haver pedidos de mão de obra relacionados ao mesmo.".GetFormatter());
                }
            })
            .Add(SourceContext.Instance.CreateQuery()
                 .From <Data.Model.AmbientePedidoEspelho>()
                 .Where("IdProcesso=?id").Add("?id", idProcesso)
                 .Count(),
                 (sender, query, result) =>
            {
                if (result.Select(f => f.GetInt32(0)).FirstOrDefault() > 0)
                {
                    messages.Add("Este Processo não pode ser excluído por haver pedidos de mão de obra relacionados ao mesmo.".GetFormatter());
                }
            })
            .Add(SourceContext.Instance.CreateQuery()
                 .From <Data.Model.BenefConfig>()
                 .Where("IdProcesso=?id").Add("?id", idProcesso)
                 .Count(),
                 (sender, query, result) =>
            {
                if (result.Select(f => f.GetInt32(0)).FirstOrDefault() > 0)
                {
                    messages.Add("Este Processo não pode ser excluído por haver beneficiamentos relacionados ao mesmo.".GetFormatter());
                }
            })
            .Add(SourceContext.Instance.CreateQuery()
                 .From <Data.Model.ProdutoTrocaDevolucao>()
                 .Where("IdProcesso=?id").Add("?id", idProcesso)
                 .Count(),
                 (sender, query, result) =>
            {
                if (result.Select(f => f.GetInt32(0)).FirstOrDefault() > 0)
                {
                    messages.Add("Este Processo não pode ser excluído por haver trocas relacionadas ao mesmo.".GetFormatter());
                }
            })
            .Add(SourceContext.Instance.CreateQuery()
                 .From <Data.Model.ProdutoTrocado>()
                 .Where("IdProcesso=?id").Add("?id", idProcesso)
                 .Count(),
                 (sender, query, result) =>
            {
                if (result.Select(f => f.GetInt32(0)).FirstOrDefault() > 0)
                {
                    messages.Add("Este Processo não pode ser excluído por haver trocas relacionadas ao mesmo.".GetFormatter());
                }
            })
            .Execute();

            return(messages.ToArray());
        }