Ejemplo n.º 1
0
        public int Delete(GDASession sessao, Glass.Data.Model.Volume objDelete)
        {
            lock (_apagarVolumeLock)
            {
                if (objDelete.IdVolume == 0)
                {
                    throw new Exception("Nenhum volume informado.");
                }

                var idPedido = VolumeDAO.Instance.GetIdPedido(sessao, objDelete.IdVolume);

                if (PedidoOrdemCargaDAO.Instance.PedidoTemOC(sessao, idPedido))
                {
                    throw new Exception("O pedido do volume informado esta vinculado a uma OC.");
                }

                if (VolumeDAO.Instance.TemExpedicao(sessao, objDelete.IdVolume))
                {
                    var produtos = VolumeProdutosPedidoDAO.Instance.GetList(sessao, objDelete.IdVolume.ToString());
                    MovEstoqueDAO.Instance.CreditaEstoqueEstornoVolume(sessao, (int)idPedido, (int)objDelete.IdVolume, produtos);
                    VolumeDAO.Instance.EstornaExpedicaoVolume(sessao, objDelete.IdVolume);
                }

                VolumeProdutosPedidoDAO.Instance.DeleteByVolume(sessao, objDelete.IdVolume);

                return(VolumeDAO.Instance.Delete(sessao, objDelete));
            }
        }
Ejemplo n.º 2
0
 internal EtiquetaVolume(Glass.Data.Model.Volume model)
 {
     _volume = model;
 }