/// <summary> /// Apaga os dados da EtiquetaAplicacao. /// </summary> /// <param name="etiquetaAplicacao"></param> /// <returns></returns> public Colosoft.Business.DeleteResult ApagarEtiquetaAplicacao(Entidades.EtiquetaAplicacao etiquetaAplicacao) { etiquetaAplicacao.Require("etiquetaAplicacao").NotNull(); using (var session = SourceContext.Instance.CreateSession()) { var resultado = etiquetaAplicacao.Delete(session); if (!resultado) { return(resultado); } return(session.Execute(false).ToDeleteResult()); } }
/// <summary> /// Salva os dados da EtiquetaAplicacao. /// </summary> /// <param name="etiquetaAplicacao"></param> /// <returns></returns> public Colosoft.Business.SaveResult SalvarEtiquetaAplicacao(Entidades.EtiquetaAplicacao etiquetaAplicacao) { etiquetaAplicacao.Require("etiquetaAplicacao").NotNull(); using (var session = SourceContext.Instance.CreateSession()) { // Verifica se está atualizando a etiqueta if (etiquetaAplicacao.ExistsInStorage && etiquetaAplicacao.ChangedProperties.Contains("CodInterno")) { // Atualiza a configuração para ficar igual à esta alteração session.Update <Data.Model.ConfiguracaoLoja>( new Data.Model.ConfiguracaoLoja { ValorTexto = etiquetaAplicacao.CodInterno }, Colosoft.Query.ConditionalContainer .Parse("IdConfig IN (20, 22) AND ValorTexto IN (?texto)") .Add("?texto", SourceContext.Instance.CreateQuery() .From <Data.Model.EtiquetaAplicacao>() .Select("CodInterno") .Where("IdAplicacao=?idAplicacao") .Add("?idAplicacao", etiquetaAplicacao.IdAplicacao)), "ValorTexto"); } var resultado = etiquetaAplicacao.Save(session); if (!resultado) { return(resultado); } //Se já existir no banco, insere um log de alteração da mesma if (etiquetaAplicacao.ExistsInStorage) { Data.DAL.LogAlteracaoDAO.Instance.LogEtiquetaAplicacao(ObtemEtiquetaAplicacao(etiquetaAplicacao.IdAplicacao).DataModel, etiquetaAplicacao.DataModel); } return(session.Execute(false).ToSaveResult()); } }
/// <summary> /// Valida a existencia da EtiquetaAplicacao. /// </summary> /// <param name="etiquetaAplicacao"></param> /// <returns></returns> IMessageFormattable[] Entidades.IValidadorEtiquetaAplicacao.ValidaExistencia (Entidades.EtiquetaAplicacao etiquetaAplicacao) { var idAplicacao = etiquetaAplicacao.IdAplicacao; var messages = new List <IMessageFormattable>(); SourceContext.Instance.CreateMultiQuery() .Add(SourceContext.Instance.CreateQuery() .From <Data.Model.EtiquetaProcesso>() .Where("IdAplicacao=?id").Add("?id", idAplicacao) .Count(), (sender, query, result) => { if (result.Select(f => f.GetInt32(0)).FirstOrDefault() > 0) { messages.Add("Esta Aplicação não pode ser excluída por haver processos relacionados à mesma.".GetFormatter()); } }) .Add(SourceContext.Instance.CreateQuery() .From <Data.Model.ProdutosPedido>() .Where("IdAplicacao=?id").Add("?id", idAplicacao) .Count(), (sender, query, result) => { if (result.Select(f => f.GetInt32(0)).FirstOrDefault() > 0) { messages.Add("Esta Aplicação não pode ser excluída por haver pedidos relacionados à mesma.".GetFormatter()); } }) .Add(SourceContext.Instance.CreateQuery() .From <Data.Model.ProdutosPedidoEspelho>() .Where("IdAplicacao=?id").Add("?id", idAplicacao) .Count(), (sender, query, result) => { if (result.Select(f => f.GetInt32(0)).FirstOrDefault() > 0) { messages.Add("Esta Aplicação não pode ser excluída por haver conferências relacionadas à mesma.".GetFormatter()); } }) .Add(SourceContext.Instance.CreateQuery() .From <Data.Model.MaterialItemProjeto>() .Where("IdAplicacao=?id").Add("?id", idAplicacao) .Count(), (sender, query, result) => { if (result.Select(f => f.GetInt32(0)).FirstOrDefault() > 0) { messages.Add("Esta Aplicação não pode ser excluída por haver projetos relacionados à mesma.".GetFormatter()); } }) .Add(SourceContext.Instance.CreateQuery() .From <Data.Model.AmbientePedido>() .Where("IdAplicacao=?id").Add("?id", idAplicacao) .Count(), (sender, query, result) => { if (result.Select(f => f.GetInt32(0)).FirstOrDefault() > 0) { messages.Add("Esta Aplicação não pode ser excluída por haver pedidos de mão de obra relacionados à mesma.".GetFormatter()); } }) .Add(SourceContext.Instance.CreateQuery() .From <Data.Model.AmbientePedidoEspelho>() .Where("IdAplicacao=?id").Add("?id", idAplicacao) .Count(), (sender, query, result) => { if (result.Select(f => f.GetInt32(0)).FirstOrDefault() > 0) { messages.Add("Esta Aplicação não pode ser excluída por haver pedidos de mão de obra relacionados à mesma.".GetFormatter()); } }) .Add(SourceContext.Instance.CreateQuery() .From <Data.Model.BenefConfig>() .Where("IdAplicacao=?id").Add("?id", idAplicacao) .Count(), (sender, query, result) => { if (result.Select(f => f.GetInt32(0)).FirstOrDefault() > 0) { messages.Add("Esta Aplicação não pode ser excluída por haver beneficiamentos relacionados à mesma.".GetFormatter()); } }) .Add(SourceContext.Instance.CreateQuery() .From <Data.Model.ProdutoTrocaDevolucao>() .Where("IdAplicacao=?id").Add("?id", idAplicacao) .Count(), (sender, query, result) => { if (result.Select(f => f.GetInt32(0)).FirstOrDefault() > 0) { messages.Add("Esta Aplicação não pode ser excluída por haver trocas relacionadas à mesma.".GetFormatter()); } }) .Add(SourceContext.Instance.CreateQuery() .From <Data.Model.ProdutoTrocado>() .Where("IdAplicacao=?id").Add("?id", idAplicacao) .Count(), (sender, query, result) => { if (result.Select(f => f.GetInt32(0)).FirstOrDefault() > 0) { messages.Add("Esta Aplicação não pode ser excluída por haver trocas relacionadas à mesma.".GetFormatter()); } }) .Execute(); return(messages.ToArray()); }