Пример #1
0
        /// <summary>
        /// Valida a atualização do grupo.
        /// </summary>
        IMessageFormattable[] Entidades.IValidadorGrupoProd.ValidaAtualizacao(Entidades.GrupoProd grupoProd)
        {
            if (!grupoProd.TipoCalculo.HasValue || !grupoProd.TipoCalculoNf.HasValue)
            {
                return new IMessageFormattable[]
                       {
                           "Informe o tipo de cálculo do grupo.".GetFormatter()
                       }
            }
            ;

            return(new IMessageFormattable[0]);
        }

        /// <summary>
        /// Valida a existema o grupo de produtos.
        /// </summary>
        /// <param name="grupoProd"></param>
        /// <returns></returns>
        IMessageFormattable[] Entidades.IValidadorGrupoProd.ValidaExistencia(Entidades.GrupoProd grupoProd)
        {
            var resultado = new List <IMessageFormattable>();

            SourceContext.Instance.CreateMultiQuery()
            .Add(SourceContext.Instance.CreateQuery()
                 .From <Data.Model.Produto>()
                 .Where("IdGrupoProd=?id").Add("?id", grupoProd.IdGrupoProd)
                 .Count(),
                 (sender, query, result) =>
            {
                if (result.Select(f => f.GetInt32(0)).FirstOrDefault() > 0)
                {
                    resultado.Add("Este grupo não pode ser excluído. Existem produtos relacionados ao mesmo.".GetFormatter());
                }
            })
            .Add(SourceContext.Instance.CreateQuery()
                 .From <Data.Model.SubgrupoProd>()
                 .Where("IdGrupoProd=?id").Add("?id", grupoProd.IdGrupoProd)
                 .Count(),
                 (sender, query, result) =>
            {
                if (result.Select(f => f.GetInt32(0)).FirstOrDefault() > 0)
                {
                    resultado.Add("Este grupo não pode ser excluído. Existem subgrupos relacionados ao mesmo.".GetFormatter());
                }
            })
            .Execute();

            return(resultado.ToArray());
        }
Пример #2
0
        /// <summary>
        /// Apaga os dados do grupo de produtos.
        /// </summary>
        /// <param name="grupoProd"></param>
        /// <returns></returns>
        public Colosoft.Business.DeleteResult ApagarGrupoProduto(Entidades.GrupoProd grupoProd)
        {
            grupoProd.Require("grupoProd").NotNull();

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

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

                return(session.Execute(false).ToDeleteResult());
            }
        }