/*
         * /// <summary>
         * ///
         * /// </summary>
         * /// <param name="id">ID da empresa</param>
         * /// <returns></returns>
         * public List<ServicoPMSP> FindByEmpresa(int id)
         * {
         *  List<ServicoPMSP> lobjRet = new List<ServicoPMSP>();
         *  IQueryable<EmpresaServicoPMSP> lobjEmpServ = m_empresaservicoPMSPRepository.All.Where(p => p.Empresa.ID == id);
         *
         *  foreach (EmpresaServicoPMSP item in lobjEmpServ.All<EmpresaServicoPMSP>()
         *      lobjRet.Add(item.ServicoPMSP);
         *
         *  lobjRet.Sort((x, y) => x.Codigo.CompareTo(y.Codigo));
         *
         *  return lobjRet;
         * }
         */

        public void InsertOrUpdate(ServicoPMSP servico)
        {
            if (!context.ServicosPMSP.AsNoTracking().Where(p => p.Codigo == servico.Codigo).Any())
            {
                // New entity
                context.ServicosPMSP.Add(servico);
            }
            else
            {
                // Existing entity
                context.Entry(servico).State = System.Data.Entity.EntityState.Modified;
            }
        }
Example #2
0
        public static List <TipoImposto> getTiposImpostos(int aintCodMunicipioIbgePrestador, int aintCodMunicipioIbgeTomador, string astrCodigoServico, decimal adecAliquotaIssForaMunicipio)
        {
            //TODO:PUXAR DO BANCO DE ACORDO COM O MUNICIPIO INFORMADO
            List <TipoImposto>       lobjRet             = new List <TipoImposto>();
            IQueryable <TipoImposto> lobjTodosImpostosDB = new TipoImpostoRepository().All;

            foreach (TipoImposto item in lobjTodosImpostosDB)
            {
                if (item.GovDestinatario == "FED")
                {
                    lobjRet.Add(item);
                }
            }

            if (aintCodMunicipioIbgePrestador == 3550308)  //sao paulo
            {
                ServicoPMSPRepository lobjServicosDB = new ServicoPMSPRepository();
                if (ATIMO.Helpers.Utils.IsNumeric(astrCodigoServico) == false)
                {
                    throw new Exception("Obrigatório preecher o codigo de serviço apenas com números");
                }

                ServicoPMSP lobjServico = lobjServicosDB.Find(astrCodigoServico);
                if (lobjServico != null)
                {
                    lobjRet.Add(new TipoImposto(enmTipoImposto.eISS, Convert.ToDecimal(lobjServico.Aliquota), 0, 0, "MP"));
                }
                else
                {
                    throw new Exception("Codigo de servico " + astrCodigoServico + " não encontrado. Favor verifique");
                }
            }

            if (aintCodMunicipioIbgePrestador != aintCodMunicipioIbgeTomador)
            {
                /*
                 * MunicipioRepository lobjMunicipioDB = new MunicipioRepository();
                 * Municipio lobjMunicTomador = lobjMunicipioDB.FindByCodigoIBGE(aintCodMunicipioIbgeTomador.ToString());
                 * if (lobjMunicTomador == null)
                 *  throw new Exception("Município codigo IBGE " + aintCodMunicipioIbgeTomador + " não encontrado. Favor verifique");
                 */
                lobjRet.Add(new TipoImposto(enmTipoImposto.eISSOutroMunicipio, adecAliquotaIssForaMunicipio, 0, 0, "MT"));
            }

            return(lobjRet);
        }