/// <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 }); }
/// <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 })); } }
/// <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))); } }
/// <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()); }