Exemple #1
0
        /// <summary>
        /// Salva os dados do cavalete
        /// </summary>
        /// <param name="cavalete"></param>
        /// <returns></returns>
        public SaveResult SalvarCavalete(Cavalete cavalete)
        {
            cavalete.Require("cavalete").NotNull();

            // Verifica se algum cavelate com o mesmo cod interno
            var consulta = SourceContext.Instance.CreateQuery()
                           .From <Glass.Data.Model.Cavalete>()
                           .Where("CodInterno = ?cod")
                           .Add("?cod", cavalete.CodInterno);

            if (cavalete.IdCavalete > 0)
            {
                consulta.WhereClause.And("IdCavalete <> ?id")
                .Add("?id", cavalete.IdCavalete);
            }

            if (consulta.ExistsResult())
            {
                return(new SaveResult(false, ("Já existe um cavalete cadastrado com o cód.: " + cavalete.CodInterno).GetFormatter()));
            }

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

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

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