Exemplo n.º 1
0
        /// <summary>
        /// Salva os dados do setor.
        /// </summary>
        /// <param name="setor"></param>
        /// <returns></returns>
        public Colosoft.Business.SaveResult SalvarSetor(Entidades.Setor setor)
        {
            setor.Require("setor").NotNull();

            if (!setor.ExistsInStorage)
            {
                var numeroSequencia = SourceContext.Instance.CreateQuery()
                                      .From <Glass.Data.Model.Setor>()
                                      .Select("MAX(NumeroSequencia)")
                                      .Execute()
                                      .Select(f => f.GetInt32(0))
                                      .FirstOrDefault() + 1;

                // Gera um novo número de sequência para este novo setor
                setor.NumeroSequencia = numeroSequencia;
            }

            using (var session = SourceContext.Instance.CreateSession())
            {
                var resultado = setor.Save(session);

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

                return(session.Execute(false).ToSaveResult());
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Apaga os dados do setor.
        /// </summary>
        /// <param name="setor"></param>
        /// <returns></returns>
        public Colosoft.Business.DeleteResult ApagarSetor(Entidades.Setor setor)
        {
            setor.Require("setor").NotNull();

            var mensagensValidacao = ValidarExclusaoSetor(setor.IdSetor);

            if (mensagensValidacao.Any())
            {
                return(new Colosoft.Business.DeleteResult(false, mensagensValidacao.Join("\n")));
            }

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

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

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