/// <summary> /// Apagar os dados do EtiquetaProcesso. /// </summary> /// <param name="etiquetaProcesso"></param> /// <returns></returns> public Colosoft.Business.DeleteResult ApagarEtiquetaProcesso(Entidades.EtiquetaProcesso etiquetaProcesso) { etiquetaProcesso.Require("etiquetaProcesso").NotNull(); using (var session = SourceContext.Instance.CreateSession()) { var resultado = etiquetaProcesso.Delete(session); if (!resultado) { return(resultado); } return(session.Execute(false).ToDeleteResult()); } }
/// <summary> /// Salva os dados do EtiquetaProcesso. /// </summary> /// <param name="etiquetaProcesso"></param> /// <returns></returns> public Colosoft.Business.SaveResult SalvarEtiquetaProcesso(Entidades.EtiquetaProcesso etiquetaProcesso) { etiquetaProcesso.Require("etiquetaProcesso").NotNull(); using (var session = SourceContext.Instance.CreateSession()) { // Verifica se está atualizando a etiqueta if (etiquetaProcesso.ExistsInStorage && etiquetaProcesso.ChangedProperties.Contains("CodInterno")) { // Atualiza a configuração para ficar igual à esta alteração session.Update <Data.Model.ConfiguracaoLoja>( new Data.Model.ConfiguracaoLoja { ValorTexto = etiquetaProcesso.CodInterno }, Colosoft.Query.ConditionalContainer .Parse("IdConfig IN (19, 21) AND ValorTexto IN (?texto)") .Add("?texto", SourceContext.Instance.CreateQuery() .From <Data.Model.EtiquetaProcesso>() .Select("CodInterno") .Where("IdProcesso=?idProcesso") .Add("?idProcesso", etiquetaProcesso.IdProcesso)), "ValorTexto"); } var resultado = etiquetaProcesso.Save(session); if (!resultado) { return(resultado); } if (etiquetaProcesso.ExistsInStorage) { Data.DAL.LogAlteracaoDAO.Instance.LogEtiquetaProcesso(ObtemEtiquetaProcesso(etiquetaProcesso.IdProcesso).DataModel, etiquetaProcesso.DataModel); } return(session.Execute(false).ToSaveResult()); } }
/// <summary> /// Valida a existencia do EtiquetaProcesso. /// </summary> /// <param name="etiquetaProcesso"></param> /// <returns></returns> IMessageFormattable[] Entidades.IValidadorEtiquetaProcesso.ValidaExistencia (Entidades.EtiquetaProcesso etiquetaProcesso) { var idProcesso = etiquetaProcesso.IdProcesso; var messages = new List <IMessageFormattable>(); SourceContext.Instance.CreateMultiQuery() .Add(SourceContext.Instance.CreateQuery() .From <Data.Model.ProdutosPedido>() .Where("IdProcesso=?id").Add("?id", idProcesso) .Count(), (sender, query, result) => { if (result.Select(f => f.GetInt32(0)).FirstOrDefault() > 0) { messages.Add("Este Processo não pode ser excluído por haver pedidos relacionados ao mesmo.".GetFormatter()); } }) .Add(SourceContext.Instance.CreateQuery() .From <Data.Model.ProdutosPedidoEspelho>() .Where("IdProcesso=?id").Add("?id", idProcesso) .Count(), (sender, query, result) => { if (result.Select(f => f.GetInt32(0)).FirstOrDefault() > 0) { messages.Add("Este Processo não pode ser excluído por haver conferências relacionadas ao mesmo.".GetFormatter()); } }) .Add(SourceContext.Instance.CreateQuery() .From <Data.Model.MaterialItemProjeto>() .Where("IdProcesso=?id").Add("?id", idProcesso) .Count(), (sender, query, result) => { if (result.Select(f => f.GetInt32(0)).FirstOrDefault() > 0) { messages.Add("Este Processo não pode ser excluído por haver projetos relacionados ao mesmo.".GetFormatter()); } }) .Add(SourceContext.Instance.CreateQuery() .From <Data.Model.AmbientePedido>() .Where("IdProcesso=?id").Add("?id", idProcesso) .Count(), (sender, query, result) => { if (result.Select(f => f.GetInt32(0)).FirstOrDefault() > 0) { messages.Add("Este Processo não pode ser excluído por haver pedidos de mão de obra relacionados ao mesmo.".GetFormatter()); } }) .Add(SourceContext.Instance.CreateQuery() .From <Data.Model.AmbientePedidoEspelho>() .Where("IdProcesso=?id").Add("?id", idProcesso) .Count(), (sender, query, result) => { if (result.Select(f => f.GetInt32(0)).FirstOrDefault() > 0) { messages.Add("Este Processo não pode ser excluído por haver pedidos de mão de obra relacionados ao mesmo.".GetFormatter()); } }) .Add(SourceContext.Instance.CreateQuery() .From <Data.Model.BenefConfig>() .Where("IdProcesso=?id").Add("?id", idProcesso) .Count(), (sender, query, result) => { if (result.Select(f => f.GetInt32(0)).FirstOrDefault() > 0) { messages.Add("Este Processo não pode ser excluído por haver beneficiamentos relacionados ao mesmo.".GetFormatter()); } }) .Add(SourceContext.Instance.CreateQuery() .From <Data.Model.ProdutoTrocaDevolucao>() .Where("IdProcesso=?id").Add("?id", idProcesso) .Count(), (sender, query, result) => { if (result.Select(f => f.GetInt32(0)).FirstOrDefault() > 0) { messages.Add("Este Processo não pode ser excluído por haver trocas relacionadas ao mesmo.".GetFormatter()); } }) .Add(SourceContext.Instance.CreateQuery() .From <Data.Model.ProdutoTrocado>() .Where("IdProcesso=?id").Add("?id", idProcesso) .Count(), (sender, query, result) => { if (result.Select(f => f.GetInt32(0)).FirstOrDefault() > 0) { messages.Add("Este Processo não pode ser excluído por haver trocas relacionadas ao mesmo.".GetFormatter()); } }) .Execute(); return(messages.ToArray()); }