예제 #1
0
 /// <summary>
 /// converte dados da entidade na model
 /// </summary>
 /// <param name="nfeCte"></param>
 /// <returns></returns>
 internal Glass.Data.Model.Cte.NotaFiscalCte Convert(Entidade.NfeCte nfeCte)
 {
     return(new Glass.Data.Model.Cte.NotaFiscalCte
     {
         IdCte = nfeCte.IdCte,
         IdNf = nfeCte.IdNf
     });
 }
예제 #2
0
 /// <summary>
 /// Apaga dados de nota fiscal associada a cte
 /// </summary>
 /// <param name="nfeCte"></param>
 /// <returns></returns>
 public int Delete(Entidade.NfeCte nfeCte)
 {
     using (Glass.Data.DAL.CTe.NotaFiscalCteDAO dao = Glass.Data.DAL.CTe.NotaFiscalCteDAO.Instance)
     {
         return(dao.Delete(new Glass.Data.Model.Cte.NotaFiscalCte {
             IdCte = nfeCte.IdCte, IdNf = nfeCte.IdNf
         }));
     }
 }
예제 #3
0
        /// <summary>
        /// insere dados
        /// </summary>
        /// <param name="nfeCte"></param>
        /// <returns></returns>
        public uint Insert(Entidade.NfeCte nfeCte)
        {
            using (Glass.Data.DAL.CTe.NotaFiscalCteDAO dao = Glass.Data.DAL.CTe.NotaFiscalCteDAO.Instance)
            {
                var nfeCteElement = dao.GetElement(nfeCte.IdCte, nfeCte.IdNf);
                if (nfeCteElement != null && nfeCteElement.IdCte > 0)
                {
                    throw new Exception("Esta nota já foi associada à este CT-e.");
                }

                return(dao.Insert(Convert(nfeCte)));
            }
        }
예제 #4
0
        /// <summary>
        /// Busca lista de notas fiscais associadas ao cte pelo idCte
        /// </summary>
        /// <param name="idCte"></param>
        /// <param name="sortExpression"></param>
        /// <param name="startRow"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        public Entidade.NfeCte[] GetList(uint idCte, string sortExpression, int startRow, int pageSize)
        {
            var retorno = new List <Entidade.NfeCte>();

            using (Glass.Data.DAL.CTe.NotaFiscalCteDAO dao = Glass.Data.DAL.CTe.NotaFiscalCteDAO.Instance)
            {
                if (dao.GetCount(idCte) == 0)
                {
                    var nfeCte = new Entidade.NfeCte(new Glass.Data.Model.Cte.NotaFiscalCte());
                    nfeCte.ObjNotaFiscal = new Glass.Data.Model.NotaFiscal();
                    var ListanfCte = new Entidade.NfeCte[]
                    {
                        nfeCte
                    };

                    return(ListanfCte);
                }

                var listaNfCte = dao.GetList(idCte, sortExpression, startRow, pageSize);
                foreach (var item in listaNfCte)
                {
                    var nfCte      = new Entidade.NfeCte(item);
                    var notaFiscal = Glass.Data.DAL.NotaFiscalDAO.Instance.GetElement(item.IdNf);

                    // Caso a nota associada não exista mais, exclui do cte
                    if (notaFiscal == null)
                    {
                        dao.Delete(item);
                        continue;
                    }

                    nfCte.ObjNotaFiscal = notaFiscal;

                    retorno.Add(nfCte);
                }
            }
            return(retorno.ToArray());
        }