/// <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()); } }
/// <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()); } }