protected void ValidaCPF(ConsultaCPFCNPJVO vo, ErroConsulta erro)
        {
            if (String.IsNullOrEmpty(vo.CPF))
            {
                TemErro         = true;
                erroVO.erro     = "S";
                erroVO.mensagem = "O CPF não foi informado.";

                SalvarErro(erro, erroVO.mensagem);
            }
            else
            {
                if (!DomainUtil.CPFEhValido(vo.CPF))
                {
                    TemErro         = true;
                    erroVO.erro     = "S";
                    erroVO.mensagem = "O CPF informado não é válido.";

                    SalvarErro(erro, erroVO.mensagem);
                }
                else
                {
                    var CPFRepo = container.Resolve <ICPFBloqueadoRepository>();
                    if (CPFRepo.VerificaCPFBloqueado(vo.CPF))
                    {
                        TemErro         = true;
                        erroVO.erro     = "S";
                        erroVO.mensagem = "O CPF informado não pode ser consultado devido a solicitação do portador.";

                        SalvarErro(erro, erroVO.mensagem);
                    }
                }
            }
        }
示例#2
0
        public IHttpActionResult ObterTodos(String email, String ip, String hash, String tipo = "0")
        {
            var hashGerado = DomainUtil.GerarHashMD5(String.Concat(email, email, ip, ip));

            if (tipo == "0")
            {
                if (hashGerado != hash)
                {
                    var atividadeAtual = new Atividade()
                    {
                        Usuario = null, IP = ip, Data = DateTime.Now, TipoAtividade = Convert.ToInt32(TipoAtividade.PossivelTentativaDeHack), Origem = Convert.ToInt32(OrigemAcesso.Web), Descricao = "O usuário com o e-mail " + email + " tentou acessar a consulta de serviço com a Hash errada."
                    };

                    container.Resolve <AtividadeCRUDService>().Salvar(atividadeAtual);

                    return(Json(new { erro = "S", mensagem = "Hash incorreto, esta tentativa de consulta foi logada e enviada ao Administrador." }));
                }
            }

            List <ServicoVO> servicosVO = null;

            servicosVO = container.Resolve <IServicoRepository>().ObterTodosAtivos();

            if (servicosVO != null)
            {
                var atividadeAtual = new Atividade()
                {
                    Usuario = null, IP = ip, Data = DateTime.Now, TipoAtividade = Convert.ToInt32(TipoAtividade.ConsultaServico), Origem = Convert.ToInt32(OrigemAcesso.Web), Descricao = "O usuário com o e-mail " + email + " solicitou consulta de serviços."
                };

                container.Resolve <AtividadeCRUDService>().Salvar(atividadeAtual);
            }

            return(Json(new { erro = "N", itens = servicosVO != null ? servicosVO : new List <ServicoVO>() }));
        }
示例#3
0
        public string Login(string login, string password, string company)
        {
            Session.Clear();
            GlobalFunctions glb = new GlobalFunctions();

            if (DomainUtil.IsSubdomain(Request.Url.AbsoluteUri.ToLower()))
            {
                if (login != null && login.Length > 0)
                {
                    var user = userModel.Login(login, password);
                    if (user == null)
                    {
                        return("");
                    }
                    SignIn(user);
                    Session["userName"] = "";
                    Session["userId"]   = user.id;
                    if (user.role_id == 8)
                    {
                        //   return RedirectToAction("Index", "ReporterDashboard");
                        return(Url.Action("Index", "ReporterDashboard"));
                    }
                    return(Url.Action("Index", "Cases"));
                    //    return "Payment/History";

                    //  return RedirectToAction("Index", "Cases");
                }
                //  return RedirectToAction("Company", "Login");
                // AuthHelper.SetCookies(user, HttpContext);
                ///   Session[Constants.CurrentUserMarcker] = user;
            }
            return("");
        }
示例#4
0
        /// <summary>
        /// Obtain the SID for the local group or domain local group (if Domain Controler)
        /// </summary>
        /// <param name="groupName">group name</param>
        /// <returns>security identifier of the group</returns>
        internal static SecurityIdentifier GetGroupSid(string groupName)
        {
            NTAccount identity;

            if (!IsDomainController())
            {
                identity = new NTAccount(Environment.MachineName, groupName);
            }
            else
            {
                identity = new NTAccount(Domain.GetComputerDomain().Name, groupName);
            }

            try
            {
                return(identity.Translate(typeof(SecurityIdentifier)) as SecurityIdentifier);
            }
            catch (System.Security.Principal.IdentityNotMappedException)
            {
                if (!DomainUtil.IsInDomain())
                {
                    return(DomainUtil.LookupAccountName(Environment.MachineName, groupName));
                }

                // Unable to find a local group.
                // this might happen in contexts like WAHS where not all groups are used/created by setup (delegated admin, etc).
                return(null);
            }
        }
示例#5
0
        public void ForgetPasswordNew(string url, string email, string code)
        {
            GetBody(53);

            m_body = m_body.Replace("[RestorePass]", (DomainUtil.GetSubdomainLink(url) + "/service/restore" + "?email=" + email + "&token=" + code).Trim());
            m_body = m_body.Replace("[RestorePass2]", (DomainUtil.GetSubdomainLink(url).Replace(".", "<span>.</span>") + "/<span>service</span>/restore" + "?email=" + email.Replace("@", "<span>@</span>").Replace(".", "<span>.</span>") + "&token=" + code).Trim());
            m_body = m_body.Replace("[RestoreCode]", code);
        }
 /// <summary>
 /// Handles all CoreServices exception.
 /// </summary>
 /// <param name="ex">The CoreService exception.</param>
 /// <returns></returns>
 public void HandleCoreServicesException(Exception ex)
 {
     if (DomainUtil.HandleException(ex, "CoreServicesPolicy"))
     {
         // the line below is only useful if PostHandling action is 'NotifyRethrow'
         throw ex;
     }
 }
示例#7
0
        public void CampusSecurityAlert(string caseUrl, string caseId, string platformManagerName, string platformManagerCell)
        {
            GetBody(51);

            m_body = m_body.Replace("[CaseUrl]", (DomainUtil.GetSubdomainLink(caseUrl) + "/newCase/Index/" + caseUrl).Trim());
            m_body = m_body.Replace("[CaseId]", caseId);
            m_body = m_body.Replace("[PlatformManagerName]", platformManagerName);
            m_body = m_body.Replace("[PlatformManagerCell]", platformManagerCell);
        }
示例#8
0
 public void AddAccount(string address, string password)
 {
     hMailServer.Account account = DomainUtil.GetDomain(address).Accounts.Add();
     account.Address    = address;
     account.Password   = password;
     account.Active     = true;
     account.AdminLevel = hMailServer.eAdminLevel.hAdminLevelNormal;
     account.MaxSize    = 20;
     account.Save();
 }
示例#9
0
        public void NewMediator(string adminName, string companyName, string baseUrl, string link, string username, string password)
        {
            GetBody(52);

            m_body = m_body.Replace("[AdminName]", adminName);
            m_body = m_body.Replace("[CompanyName]", companyName);
            m_body = m_body.Replace("[BaseUrl]", DomainUtil.GetSubdomainLink(link) + "/login/index?loginField=" + username);
            m_body = m_body.Replace("[Link]", DomainUtil.GetSubdomainLink(link) + "/settings/index");
            m_body = m_body.Replace("[Username]", username);
            m_body = m_body.Replace("[Password]", password);
            m_body = m_body.Replace("[Username]", username);
        }
示例#10
0
        /// <summary>
        /// Generate a node info instance
        /// </summary>
        /// <param name="nodeName">indicating the node name</param>
        /// <param name="domainName">indicating the FQDN</param>
        /// <returns>returns the node info instance</returns>
        internal static NodeInfo GenerateNodeInfo(string nodeName, string domainName)
        {
            Exception ex   = null;
            string    ssdl = string.Empty;

            // Can't get the SID of the Azure node or Non-Domain joined
            if (!SoaHelper.IsOnAzure() && DomainUtil.IsInDomain())
            {
                ssdl = BrokerNodesManager.GetSDDI(nodeName, out ex);
            }

            return(new NodeInfo(nodeName, domainName, ssdl, ex));
        }
示例#11
0
        public ActionResult Login(LoginViewModel model, string returnUrl)
        {
            Session.Clear();
            GlobalFunctions glb = new GlobalFunctions();

            if (DomainUtil.IsSubdomain(Request.Url.AbsoluteUri.ToLower()))
            {
                if (!String.IsNullOrEmpty(model.Login))
                {
                    var user = userModel.Login(model.Login, model.Password);
                    if (user == null)
                    {
                        ModelState.AddModelError("PasswordError", "Password");
                        return(View(is_cc ? "Login" : "Login-CC", model));
                    }

                    AuthHelper.SetCookies(user, HttpContext);
                    Session[ECGlobalConstants.CurrentUserMarcker] = user;

                    Session["userName"] = "";
                    Session["userId"]   = user.id;

                    if (user.role_id == ECLevelConstants.level_informant)
                    {
                        return(RedirectToAction("Index", "ReporterDashboard"));
                    }

                    if (returnUrl != null)
                    {
                        return(Redirect(returnUrl));
                    }

                    if (user.last_login_dt == null && user.role_id != ECLevelConstants.level_informant)
                    {
                        return(RedirectToAction("Index", "Settings"));
                    }

                    if (user.role_id == ECLevelConstants.level_escalation_mediator)
                    {
                        return(RedirectToAction("Index", "Cases", new { mode = "completed" }));
                    }

                    return(RedirectToAction("Index", "Cases"));
                }
            }

            ModelState.AddModelError("PasswordError", "Password");
            model.Password = "";

            return(View(is_cc ? "Login" : "Login-CC", model));
        }
示例#12
0
        protected override DQueryDom GetQueryDom()
        {
            var dom  = base.GetQueryDom();
            var prop = new JoinAlias(typeof(GoodsProperty));

            dom.From.AddJoin(JoinType.Inner, new DQDmoSource(prop), DQCondition.EQ(prop, "ID", dom.From.RootSource.Alias, "GoodsProperty_ID"));
            var catalog = dom.EJoin <GoodsPropertyCatalog>("GoodsPropertyCatalog_ID", JoinType.Left, prop);

            dom.Columns.Add(DQSelectColumn.Create(DQExpression.Field(prop, "Name"), "存货属性"));
            dom.Columns.Add(DQSelectColumn.Create(DQExpression.Field(catalog, "Name"), "存货属性分类"));

            TreeUtil.AddTreeCondition <GoodsPropertyCatalog>(dom, mQueryContainer, "存货属性分类", catalog);
            DomainUtil.AddDomainPermissionLimit(dom, typeof(GoodsProperty), prop);
            return(dom);
        }
示例#13
0
        public ActionResult Start()
        {
            Session.Clear();



            #region EC-CC Viewbag
            ViewBag.is_cc = is_cc;
            string cc_ext = "";
            if (is_cc)
            {
                cc_ext = "_cc";
            }
            ViewBag.cc_extension = cc_ext;
            #endregion
            List <company>          list             = companyModel.GeCompaniesWithStatus();
            List <SearchCompanyDto> searchCompanyDto = new List <SearchCompanyDto>();

            ViewBag.LogoPath = DomainUtil.LogoBaseUrl(Request.Url.AbsoluteUri.ToLower());
            if (Request.Url.AbsoluteUri.ToLower().Contains("report"))
            {
                ViewBag.LogoPath = "";
            }
            string CurrentURL = Request.Url.AbsoluteUri.ToLower();
            //        if (!CurrentURL.Contains("report"))
            {
                foreach (var item in list)
                {
                    SearchCompanyDto searchCompany = new SearchCompanyDto();
                    searchCompany.label = item.company_nm;
                    searchCompany.value = item.company_code;
                    searchCompanyDto.Add(searchCompany);
                }
            }

            ViewBag.listCompanies = list;
            //JSON goes v View
            var serializer             = new System.Web.Script.Serialization.JavaScriptSerializer();
            EcAuthorizedAttribute attr = new EcAuthorizedAttribute();

            ViewBag.newListComp = serializer.Serialize(searchCompanyDto.ToArray());
            ViewBag.CurrentURL  = CurrentURL;
            return(View());
        }
示例#14
0
        public virtual void GetDetail()
        {
            Details.Clear();
            var prop = JoinAlias.Create("prop");

            DQueryDom dom = mQueryContainer.Build();
//      dom.Where.Conditions.Add(DQCondition.EQ(prop, "IsButchery", true));
            var rootAlias = dom.From.RootSource.Alias;

            var goodsPropertyCatalog = new JoinAlias(typeof(GoodsPropertyCatalog));

            dom.From.AddJoin(JoinType.Left, new DQDmoSource(goodsPropertyCatalog), DQCondition.EQ(prop, "GoodsPropertyCatalog_ID", goodsPropertyCatalog, "ID"));

            dom.Columns.Add(DQSelectColumn.Field("Code", rootAlias));
            dom.Columns.Add(DQSelectColumn.Field("Name", rootAlias));
            dom.Columns.Add(DQSelectColumn.Field("Spec", rootAlias));
            dom.Columns.Add(DQSelectColumn.Field("MainUnit", rootAlias));
            dom.Columns.Add(DQSelectColumn.Field("SecondUnit", rootAlias));
            dom.Columns.Add(DQSelectColumn.Field("Name", prop));
            dom.Columns.Add(DQSelectColumn.Field("Name", goodsPropertyCatalog));
            dom.Where.Conditions.Add(DQCondition.EQ("Stopped", false));
            DomainUtil.AddDomainPermissionLimit(dom, typeof(GoodsProperty), prop);
            using (var session = Dmo.NewSession())
            {
                using (var reader = session.ExecuteReader(dom))
                {
                    while (reader.Read())
                    {
                        var detail = new Goods();

                        detail.ID                        = (long)reader[0];
                        detail.Code                      = (string)reader[1];
                        detail.Name                      = (string)reader[2];
                        detail.Spec                      = (string)reader[3];
                        detail.MainUnit                  = (string)reader[4];
                        detail.SecondUnit                = (string)reader[5];
                        detail.GoodsProperty_Name        = (string)reader[6];
                        detail.GoodsPropertyCatalog_Name = (string)reader[7];

                        Details.Add(detail);
                    }
                }
            }
        }
示例#15
0
        public ActionResult Index(string loginField, string loginPass)
        {
            #region EC-CC Viewbag
            ViewBag.is_cc = is_cc;
            string cc_ext = "";
            if (is_cc)
            {
                cc_ext = "_cc";
            }
            ViewBag.cc_extension = cc_ext;
            #endregion

            Session.Clear();
            GlobalFunctions glb = new GlobalFunctions();

            if (DomainUtil.IsSubdomain(Request.Url.AbsoluteUri.ToLower()))
            {
                if (loginField != null && loginField.Length > 0)
                {
                    var user = userModel.Login(loginField, loginPass);
                    SignIn(user);
                    Session["userName"] = "";
                    Session["userId"]   = user.id;
                    if (user.role_id == 8)
                    {
                        //   return RedirectToAction("Index", "ReporterDashboard");
                        return(Redirect("~/ReporterDashboard"));
                    }
                    //  return Redirect("~/EmployeeAwareness/Index");
                    //   return Redirect("~/Payment");
                    //   return RedirectToAction("NewPayment", "Payment");

                    return(RedirectToAction("Index", "Cases"));
                }
                return(RedirectToAction("Company", "Login"));
            }
            else
            {
                ViewBag.login = loginField;
                ViewBag.pass  = loginPass;
                return(View());
            }
        }
示例#16
0
        private IHttpActionResult ValidarLogon(String email, String senha)
        {
            if (String.IsNullOrEmpty(email))
            {
                return(Json(new { erro = "S", mensagem = "O e-mail é um campo obrigatório." }));
            }
            else
            {
                if (!DomainUtil.EmailEhValido(email) || (email.IndexOf(".") == -1))
                {
                    return(Json(new { erro = "S", mensagem = "O e-mail informado é inválido." }));
                }
            }

            if (String.IsNullOrEmpty(senha))
            {
                return(Json(new { erro = "S", mensagem = "A senha é um campo obrigatório." }));
            }

            return(null);
        }
示例#17
0
        public IHttpActionResult ObterHistoricoAssinaturas(String email, String ip, String hash, String valor)
        {
            List <AssinaturaVO> assinaturas = null;

            try
            {
                if (!String.IsNullOrEmpty(email) && !String.IsNullOrEmpty(hash))
                {
                    if (hash != DomainUtil.GerarHashMD5(String.Concat(email, email, ip)))
                    {
                        return(null);
                    }

                    assinaturas = container.Resolve <IAssinaturaRepository>().ObterTodasAssinaturasVOPorEmail(email);
                    var usuario        = container.Resolve <IUsuarioRepository>().ObterPeloEmail(email);
                    var atividadeAtual = new Atividade()
                    {
                        Usuario = usuario, IP = ip, Data = DateTime.Now, TipoAtividade = Convert.ToInt32(TipoAtividade.HistoricoAssinatura), Origem = Convert.ToInt32(OrigemAcesso.Web), Descricao = "O usuário com o e-mail " + email + " solicitou histórico de assinaturas."
                    };

                    container.Resolve <AtividadeCRUDService>().Salvar(atividadeAtual);
                }
            }

            catch (Exception ex)
            {
                container.Resolve <ErroSistemaCRUDService>().Salvar(ex);
                String mensagem        = !String.IsNullOrEmpty(ex.Message) ? ex.Message : String.Empty;
                String mensagemInterna = ex.InnerException != null && String.IsNullOrEmpty(ex.InnerException.Message) ? ex.InnerException.Message : String.Empty;
                String assunto         = "Erro em ObterHistoricoAssinaturas na API da Subcode 23";
                String mensagem2       = String.Format("Exceção: {0} \n Exceção interna: {1}, \n Data/Hora: {2} \n Email: {3}: ", mensagem, mensagemInterna, DateTime.Now, email);

                container.Resolve <IEmailService>().EnviarEmail(Constantes.EMAIL_DESTINATARIO, Constantes.EMAIL_REMETENTE, "Suporte ", assunto, mensagem2, false);

                return(Json(new { erro = "S", mensagem = "Ocorreu um erro inesperado ao obter o histórico de assinaturas, não se preocupe, o suporte já foi acionado e vai resolver o problema e te informar assim que for verificado." }));
            }

            return(Json(assinaturas != null ? assinaturas : new List <AssinaturaVO>()));
        }
示例#18
0
 public string setNewPass(string email, string token, string password, string confirmPassword)
 {
     if (restorePass(token, email) == "success")
     {
         if (password == confirmPassword)
         {
             string result = GlobalFunctions.IsValidPass(password);
             if (result == "Success")
             {
                 user_change_password _ucp = (db.user_change_password.Where(t => t.password_token.ToLower().Trim() == token.ToLower().Trim())).FirstOrDefault();
                 if (_ucp != null)
                 {
                     _ucp.password_updated = 1;
                     _ucp.updated_on       = DateTime.Now;
                     _ucp.updated_user_ip  = DomainUtil.GetUser_IP();
                     db.SaveChanges();
                     user uptUser = db.user.Where(item => item.id == _ucp.user_id).FirstOrDefault();
                     uptUser.password = password;
                     db.SaveChanges();
                     return("Success");
                 }
             }
             else
             {
                 return(result);
             }
         }
         else
         {
             return(GlobalRes.notMatchConfPassandPass);
         }
     }
     else
     {
         return(GlobalRes.reEnterEmailToken);
     }
     return("");
 }
示例#19
0
        public IHttpActionResult ObterURLPagamento(String email, String servico, String ip, String hash, String emitenota, String cpfnota)
        {
            var     hashGerado                   = DomainUtil.GerarHashMD5(String.Concat(email, ip, servico));
            String  pedidoGerado                 = String.Empty;
            String  nomeComprador                = String.Empty;
            String  codigoServico                = String.Empty;
            String  descricaoServico             = String.Empty;
            String  valorServico                 = String.Empty;
            Usuario usuarioAtual                 = null;
            Boolean sandbox                      = true;
            String  ArquivoConfiguracaoPagSeguro = @"C:\temp\PagSeguroConfig.xml";

            if (!File.Exists(ArquivoConfiguracaoPagSeguro))
            {
                return(Json(new { erro = "S", mensagem = "Arquivo de configuração do pagamento com pagseguro não foi encontrado." }));
            }


            try
            {
                var configuracaoRepo = container.Resolve <IConfiguracaoRepository>();
                var usuarioRepo      = container.Resolve <IUsuarioRepository>();
                var servicoRepo      = container.Resolve <IServicoRepository>();
                var usuario          = usuarioRepo.ObterPeloEmail(email);
                var servicoBD        = servicoRepo.ObterPeloCodigo(servico);
                var configuracao     = configuracaoRepo.GetById(1);
                if (configuracao != null)
                {
                    sandbox = configuracao.AmbienteProducao == "N";
                    ArquivoConfiguracaoPagSeguro = configuracao.ArquivoConfiguracaoPagSeguro;
                }

                if (usuario != null)
                {
                    nomeComprador = usuario.Nome;
                    usuarioAtual  = usuario;
                    var pedidoRepo = container.Resolve <IPedidoRepository>();

                    var pedido = new Pedido();
                    pedido.Usuario        = usuario;
                    pedido.IP             = ip;
                    pedido.Status         = (Int32)StatusPedido.Pendente;
                    pedido.Data           = DateTime.Now;
                    pedido.CPFNF          = cpfnota;
                    pedido.EmiteNF        = emitenota;
                    pedido.FormaPagamento = (Int32)FormaPagamento.PagSeguro;

                    if (servicoBD != null)
                    {
                        codigoServico    = servicoBD.Codigo;
                        descricaoServico = servicoBD.DescricaoCurta;
                        valorServico     = String.Format("{0:0.00}", servicoBD.Valor);
                        pedido.Servico   = servicoBD;
                        pedidoRepo.Save(pedido);
                        pedidoGerado = pedido.Id.ToString();
                    }
                    else
                    {
                        return(Json(new { erro = "S", mensagem = "Código do serviço não cadastrado." }));
                    }
                }
                else
                {
                    return(Json(new { erro = "S", mensagem = "Usuário não cadastrado." }));
                }
            }
            catch (Exception ex)
            {
                String debug = ex.Message;
                return(Json(new { erro = "S", mensagem = "Ocorreu um erro inesperado e não foi possível gerar o seu pedido, por gentileza informe ao desenvolvedor." }));
            }

            PagSeguroConfiguration.UrlXmlConfiguration = ArquivoConfiguracaoPagSeguro;
            EnvironmentConfiguration.ChangeEnvironment(sandbox);

            PaymentRequest payment = new PaymentRequest();

            payment.Items.Add(new Item(codigoServico, descricaoServico, 1, Convert.ToDecimal(valorServico)));

            payment.Sender = new Sender(nomeComprador, email, null);

            payment.Shipping = new Shipping();
            payment.Shipping.ShippingType = ShippingType.NotSpecified;
            payment.Currency  = Currency.Brl;
            payment.Reference = pedidoGerado;

            try
            {
                AccountCredentials credentials = PagSeguroConfiguration.Credentials(sandbox);
                Uri paymentRedirectUri         = payment.Register(credentials);

                var atividadeAtual = new Atividade()
                {
                    Usuario = usuarioAtual, Data = DateTime.Now, TipoAtividade = Convert.ToInt32(TipoAtividade.NovaCompra), Origem = Convert.ToInt32(OrigemAcesso.Web), Descricao = String.Format("O usuário com o e-mail {0} fez o pedido {1} e gerou a url {2} para checkout no pagseguro", email, pedidoGerado, paymentRedirectUri.AbsoluteUri)
                };

                container.Resolve <AtividadeCRUDService>().Salvar(atividadeAtual);

                return(Json(new { erro = "N", url = paymentRedirectUri.AbsoluteUri }));
            }
            catch (PagSeguroServiceException ex)
            {
                String mensagem = String.Empty;

                String assunto = "Erro de PagSeguroServiceException no método ObterURLPagamento -  " + email;
                if (ex.Errors.Count > 0)
                {
                    mensagem = ex.Errors[0].Code + " - " + ex.Errors[0].Message;
                }
                String mensagem2 = String.Format("Ocorreu um erro - Erro do pagseguro {0} - Data: {1}", mensagem, DateTime.Now.ToString("dd/MM/yyyy - HH:mm:ss"));

                container.Resolve <IEmailService>().EnviarEmail(Constantes.EMAIL_DESTINATARIO, Constantes.EMAIL_REMETENTE, "Suporte ", assunto, mensagem2, false);

                String texto = ex.Message;
                return(Json(new { erro = "S", mensagem = texto }));;
            }
        }
示例#20
0
        public string InviteMediator(string email)
        {
            email = email.ToLower().Trim();

            user _user = (user)Session[ECGlobalConstants.CurrentUserMarcker];

            if (_user == null || _user.id == 0)
            {
                return(App_LocalResources.GlobalRes.EmptyData);
            }

            if (_user.role_id == 8)
            {
                return(App_LocalResources.GlobalRes.EmptyData);
            }

            if (string.IsNullOrEmpty(email))
            {
                return(App_LocalResources.GlobalRes.EmptyData);
            }
            if (!m_EmailHelper.IsValidEmail(email))
            {
                return(App_LocalResources.GlobalRes.EmailInvalid);
            }

            UserModel um = new UserModel(_user.id);

            List <string> _company_user_emails = new List <string>();

            _company_user_emails = (db.user.Where(t => ((t.company_id == um._user.company_id) && (t.role_id != ECLevelConstants.level_informant))).Select(t => t.email.Trim().ToLower())).ToList();

            List <int> _company_user_allowed = new List <int>();

            _company_user_allowed = (db.user.Where(t => ((t.company_id == um._user.company_id) && (t.role_id != ECLevelConstants.level_informant))).Select(t => t.id)).ToList();

            if (_company_user_emails.Contains(email))
            {
                return(App_LocalResources.GlobalRes.MediatorAlreadyRegistered + "!");
            }

            if ((db.invitation.Any(t => ((t.email.ToLower().Trim() == email) && (t.used_flag == 1) && (_company_user_allowed.Contains(t.sent_by_user_id))))) || (db.user.Any(u => ((u.email.ToLower().Trim() == email.ToLower().Trim() && u.role_id != 8)))))
            {
                return(App_LocalResources.GlobalRes.MediatorAlreadyRegistered);
            }

            if (db.invitation.Any(t => ((t.email.ToLower().Trim() == email) && (_company_user_allowed.Contains(t.sent_by_user_id)))))
            {
                return(App_LocalResources.GlobalRes.AlreadyInvited);
            }


            string generated_code = StringUtil.RandomString(6);
            // create invitation in db

            invitation _invitation = new invitation();

            _invitation.code            = generated_code;
            _invitation.comment         = "";
            _invitation.created_on      = DateTime.Now;
            _invitation.email           = email.Trim().ToLower();
            _invitation.sent_by_user_id = _user.id;
            _invitation.used_flag       = 0;

            db.invitation.AddOrUpdate(_invitation);
            db.SaveChanges();
            // add _invitation to db

            // send email with code to email address


            if ((email.Trim().Length > 0) && m_EmailHelper.IsValidEmail(email.Trim()))
            {
                List <string> to  = new List <string>();
                List <string> cc  = new List <string>();
                List <string> bcc = new List <string>();

                to.Add(email.Trim());
                ///     bcc.Add("*****@*****.**");

                EC.Business.Actions.Email.EmailManagement em = new EC.Business.Actions.Email.EmailManagement();
                EC.Business.Actions.Email.EmailBody       eb = new EC.Business.Actions.Email.EmailBody(1, 1, Request.Url.AbsoluteUri.ToLower());

                CompanyModel cm = new CompanyModel(_user.company_id);
                eb.MediatorInvited(_user.first_nm, _user.last_nm, _user.first_nm, _user.last_nm, cm._company.company_nm, generated_code, DomainUtil.GetSubdomainLink(Request.Url.AbsoluteUri.ToLower()) + "/new/?code=" + generated_code + "&email=" + email);
                string body = eb.Body;
                em.Send(to, cc, App_LocalResources.GlobalRes.Email_Title_MediatorInvited, body, true);
            }

            return(App_LocalResources.GlobalRes._Completed.ToLower());
        }
示例#21
0
 public void DeleteAccount(string address)
 {
     hMailServer.Account account = DomainUtil.GetDomain(address).Accounts.get_ItemByAddress(address);
     account.Delete();
 }
示例#22
0
 public void ChangePassword(string address, string password)
 {
     hMailServer.Account account = DomainUtil.GetDomain(address).Accounts.get_ItemByAddress(address);
     account.Password = password;
     account.Save();
 }
示例#23
0
        public IHttpActionResult ObterPessoaFisicaPeloCPF(RequisicaoConsultaVO requisicao)
        {
            Boolean usaCredito = false;
            var     erro       = new ErroConsulta();

            erro.Cpfcnpj    = requisicao.cpf;
            erro.Email      = requisicao.email;
            erro.Aplicativo = requisicao.aplicativo;
            erro.Data       = DateTime.Now;
            erro.Versao     = requisicao.versao;
            erro.Ip         = requisicao.ip;

            var consultaVO = new ConsultaCPFCNPJVO();

            consultaVO.CPF    = requisicao.cpf;
            consultaVO.Email  = requisicao.email;
            consultaVO.Versao = requisicao.versao;
            consultaVO.IP     = requisicao.ip;
            consultaVO.Hash   = requisicao.hash;

            var hashGerado = DomainUtil.GerarHashMD5(String.Concat(requisicao.cpf, requisicao.email, requisicao.ip, requisicao.cpf));

            consultaVO.Hash = requisicao.senha;
            var validacao = container.Resolve <ValidacaoConsultaCPFService>();

            validacao.Validate(consultaVO);

            if (!validacao.TemErro)
            {
                var pessoaFisicaRepository = container.Resolve <IPessoaFisicaRepository>();

                var pessoa  = pessoaFisicaRepository.ObterUltimaConsultaPessoaFisicaPeloCPF(requisicao.cpf);
                var usuario = container.Resolve <IUsuarioRepository>().ObterPeloEmail(requisicao.email);
                if ((TipoAplicativoEnum)requisicao.aplicativo == TipoAplicativoEnum.Android)
                {
                    var telefoneUsuarioRepo = container.Resolve <ITelefoneUsuarioRepository>();
                    var telefone            = telefoneUsuarioRepo.ObterTelefonePorUsuarioEIMEI(usuario.Id, requisicao.imei);
                    if (telefone != null && requisicao.imei != telefone.IMEI)
                    {
                        return(Json(new { erro = "S", mensagem = String.Format("Já existe um telefone com outro IMEI cadastrado para esta conta. Fabricante: {0} Modelo: {1} - Caso tenha trocado de aparelho contate o desenvolvedor para fazer a atualização de IMEI do seu cadastro.", telefone.Fabricante, telefone.Modelo) }));
                    }
                    else
                    {
                        TelefoneUsuario tel = new TelefoneUsuario();
                        tel.DataCadastro = DateTime.Now;
                        tel.Fabricante   = requisicao.fabricante;
                        tel.IMEI         = requisicao.imei;
                        tel.Modelo       = requisicao.modelo;
                        tel.Numero       = requisicao.numero;
                        tel.Operadora    = requisicao.operadora;
                        tel.Usuario      = usuario;
                    }
                }

                if (pessoa != null && !String.IsNullOrEmpty(pessoa.Nome) && pessoa.Vitalicio != "S")
                {
                    if (pessoa.DataCadastro.Date.AddDays(+90) < DateTime.Now.Date)
                    {
                        ILimiteUsuarioRepository limiteRepository = container.Resolve <ILimiteUsuarioRepository>();
                        var limite = limiteRepository.ObterLimiteUsuarioPeloEmail(requisicao.email);

                        if (limite != null)
                        {
                            ICreditoRepository creditoRepo = container.Resolve <ICreditoRepository>();
                            var credito = creditoRepo.ObterCreditoPeloUsuario(Convert.ToInt32(usuario.Id));
                            if (credito == null)
                            {
                                if (limite.Quantidade >= limite.LimiteConsultas && usuario.Especial != "S")
                                {
                                    return(Json(new { erro = "S", mensagem = String.Format("O seu usuário já atingiu o limite diário de consultas, que são {0} consultas, caso queira fazer novas consultas aguarde até o próximo dia ou adquira um pacote de consultas avulsas.", limite.LimiteConsultas) }));
                                }
                            }
                            else
                            {
                                usaCredito = true;
                            }
                        }
                        else
                        {
                            usaCredito = true;
                        }

                        pessoa = pessoaFisicaRepository.ObterNovaPessoaPeloCPF(requisicao.cpf);
                        if (pessoa.Id == 0)
                        {
                            pessoa.Id = (Int32?)null;
                        }

                        var logConsulta = new LogConsulta();
                        logConsulta.Origem       = Convert.ToInt32(OrigemConsultaEnum.SeekLoc);
                        logConsulta.Tipo         = Convert.ToInt32(TipoConsultaEnum.CPF);
                        logConsulta.Usuario      = usuario;
                        logConsulta.CPFCNPJ      = requisicao.cpf;
                        logConsulta.DataCadastro = DateTime.Now;
                        logConsulta.TemResultado = (pessoa != null && !String.IsNullOrEmpty(pessoa.Nome)) ? "S" : "N";
                        container.Resolve <LogConsultaCRUDService>().Salvar(logConsulta);

                        if (pessoa != null)
                        {
                            var atividadeAtual = new Atividade()
                            {
                                Usuario = usuario, IP = requisicao.ip, Data = DateTime.Now, TipoAtividade = Convert.ToInt32(TipoAtividade.ConsultaPessoaFisicaCPF), Origem = Convert.ToInt32(OrigemAcesso.Web), Descricao = "O usuário com o e-mail " + requisicao.email + " fez uma pesquisa de CPF com o número " + requisicao.cpf
                            };

                            container.Resolve <AtividadeCRUDService>().Salvar(atividadeAtual);

                            if (usaCredito)
                            {
                                container.Resolve <CreditoCRUDService>().Remover(Convert.ToInt32(usuario.Id), 1);
                            }

                            pessoa.UsuarioConsulta = usuario;
                            pessoa.CPF             = requisicao.cpf;
                            pessoa.DataCadastro    = DateTime.Now;

                            container.Resolve <PessoaFisica2CRUDService>().Salvar(pessoa);

                            pessoa.Enderecos.ToList().ForEach(x => x.PessoaFisica2 = null);
                            pessoa.Veiculos.ToList().ForEach(x => x.PessoaFisica2  = null);
                            pessoa.Emails.ToList().ForEach(x => x.PessoaFisica2    = null);
                            pessoa.Empregos.ToList().ForEach(x => x.PessoaFisica2  = null);
                            pessoa.Vizinhos.ToList().ForEach(x => x.PessoaFisica2  = null);
                            pessoa.Parentes.ToList().ForEach(x => x.PessoaFisica2  = null);
                            pessoa.Telefones.ToList().ForEach(x => x.PessoaFisica2 = null);

                            if (pessoa.Veiculos != null)
                            {
                                pessoa.Veiculos.ToList().ForEach(x => x.CombustivelTexto = DomainUtil.ObterCombustivelTexto(x.Combustivel));
                                pessoa.Veiculos.ToList().ForEach(x => x.EspecieTexto     = DomainUtil.ObterEspecieVeiculoTexto(x.Especie));
                                pessoa.Veiculos.ToList().ForEach(x => x.TipoTexto        = DomainUtil.ObterTipoVeiculoTexto(x.Tipo));
                            }

                            return(Json(new
                            {
                                erro = "N",
                                Nome = pessoa.Nome,
                                CPF = pessoa.CPF,
                                DataNascimento = pessoa.DataNascimento,
                                NomeMae = pessoa.NomeMae,
                                Enderecos = pessoa.Enderecos,
                                Veiculos = pessoa.Veiculos,
                                Emails = pessoa.Emails,
                                Empregos = pessoa.Empregos,
                                Vizinhos = pessoa.Vizinhos,
                                Parentes = pessoa.Parentes,
                                Telefones = pessoa.Telefones,
                                Importado = pessoa.Importado,
                                Hash = Guid.NewGuid().ToString(),
                                HoraConsulta = DateTime.Now.ToString("HH:mm:ss"),
                                DataConsulta = DateTime.Now.ToString("dd/MM/yyyy"),
                                NovaAPI = pessoa.APISeekLoc
                            }));
                        }
                    }
                    else
                    {
                        pessoa.Enderecos.ToList().ForEach(x => x.PessoaFisica2 = null);
                        pessoa.Veiculos.ToList().ForEach(x => x.PessoaFisica2  = null);
                        pessoa.Emails.ToList().ForEach(x => x.PessoaFisica2    = null);
                        pessoa.Empregos.ToList().ForEach(x => x.PessoaFisica2  = null);
                        pessoa.Vizinhos.ToList().ForEach(x => x.PessoaFisica2  = null);
                        pessoa.Parentes.ToList().ForEach(x => x.PessoaFisica2  = null);
                        pessoa.Telefones.ToList().ForEach(x => x.PessoaFisica2 = null);

                        if (pessoa.Veiculos != null)
                        {
                            pessoa.Veiculos.ToList().ForEach(x => x.CombustivelTexto = DomainUtil.ObterCombustivelTexto(x.Combustivel));
                            pessoa.Veiculos.ToList().ForEach(x => x.EspecieTexto     = DomainUtil.ObterEspecieVeiculoTexto(x.Especie));
                            pessoa.Veiculos.ToList().ForEach(x => x.TipoTexto        = DomainUtil.ObterTipoVeiculoTexto(x.Tipo));
                        }

                        return(Json(new
                        {
                            erro = "N",
                            Nome = pessoa.Nome,
                            CPF = pessoa.CPF,
                            DataNascimento = pessoa.DataNascimento,
                            NomeMae = pessoa.NomeMae,
                            Enderecos = pessoa.Enderecos,
                            Veiculos = pessoa.Veiculos,
                            Emails = pessoa.Emails,
                            Empregos = pessoa.Empregos,
                            Vizinhos = pessoa.Vizinhos,
                            Parentes = pessoa.Parentes,
                            Telefones = pessoa.Telefones,
                            Importado = pessoa.Importado,
                            Hash = Guid.NewGuid().ToString(),
                            HoraConsulta = DateTime.Now.ToString("HH:mm:ss"),
                            DataConsulta = DateTime.Now.ToString("dd/MM/yyyy")
                        }));
                    }
                }
                else
                {
                    ILimiteUsuarioRepository limiteRepository = container.Resolve <ILimiteUsuarioRepository>();
                    var limite = limiteRepository.ObterLimiteUsuarioPeloEmail(requisicao.email);

                    if (limite != null)
                    {
                        ICreditoRepository creditoRepo = container.Resolve <ICreditoRepository>();
                        var credito = creditoRepo.ObterCreditoPeloUsuario(Convert.ToInt32(usuario.Id));
                        if (credito == null)
                        {
                            if (limite.Quantidade >= limite.LimiteConsultas && usuario.Especial != "S")
                            {
                                return(Json(new { erro = "S", mensagem = String.Format("O seu usuário já atingiu o limite diário de consultas, que são {0} consultas, caso queira fazer novas consultas aguarde até o próximo dia ou adquira um pacote de consultas avulsas.", limite.LimiteConsultas) }));
                            }
                        }
                        else
                        {
                            usaCredito = true;
                        }
                    }
                    else
                    {
                        usaCredito = true;
                    }

                    pessoa = pessoaFisicaRepository.ObterNovaPessoaPeloCPF(requisicao.cpf);

                    if (pessoa != null)
                    {
                        if (usaCredito)
                        {
                            container.Resolve <CreditoCRUDService>().Remover(Convert.ToInt32(usuario.Id), 1);
                        }
                    }

                    var logConsulta = new LogConsulta();
                    logConsulta.Origem       = Convert.ToInt32(OrigemConsultaEnum.SeekLoc);
                    logConsulta.Tipo         = Convert.ToInt32(TipoConsultaEnum.CPF);
                    logConsulta.Usuario      = usuario;
                    logConsulta.CPFCNPJ      = requisicao.cpf;
                    logConsulta.DataCadastro = DateTime.Now;
                    logConsulta.TemResultado = (pessoa != null && !String.IsNullOrEmpty(pessoa.Nome)) ? "S" : "N";

                    container.Resolve <LogConsultaCRUDService>().Salvar(logConsulta);

                    if (pessoa != null && String.IsNullOrEmpty(pessoa.Mensagem))
                    {
                        var atividadeAtual = new Atividade()
                        {
                            Usuario = usuario, IP = requisicao.ip, Data = DateTime.Now, TipoAtividade = Convert.ToInt32(TipoAtividade.ConsultaPessoaFisicaCPF), Origem = Convert.ToInt32(OrigemAcesso.Web), Descricao = "O usuário com o e-mail " + requisicao.email + " fez uma pesquisa de CPF com o número " + requisicao.cpf
                        };

                        container.Resolve <AtividadeCRUDService>().Salvar(atividadeAtual);

                        pessoa.UsuarioConsulta = usuario;
                        pessoa.CPF             = requisicao.cpf;
                        pessoa.Hash            = requisicao.hash;
                        pessoa.DataCadastro    = DateTime.Now;

                        container.Resolve <PessoaFisica2CRUDService>().Salvar(pessoa);

                        pessoa.Enderecos.ToList().ForEach(x => x.PessoaFisica2 = null);
                        pessoa.Veiculos.ToList().ForEach(x => x.PessoaFisica2  = null);
                        pessoa.Emails.ToList().ForEach(x => x.PessoaFisica2    = null);
                        pessoa.Empregos.ToList().ForEach(x => x.PessoaFisica2  = null);
                        pessoa.Vizinhos.ToList().ForEach(x => x.PessoaFisica2  = null);
                        pessoa.Parentes.ToList().ForEach(x => x.PessoaFisica2  = null);
                        pessoa.Telefones.ToList().ForEach(x => x.PessoaFisica2 = null);

                        if (pessoa.Veiculos != null)
                        {
                            pessoa.Veiculos.ToList().ForEach(x => x.CombustivelTexto = DomainUtil.ObterCombustivelTexto(x.Combustivel));
                            pessoa.Veiculos.ToList().ForEach(x => x.EspecieTexto     = DomainUtil.ObterEspecieVeiculoTexto(x.Especie));
                            pessoa.Veiculos.ToList().ForEach(x => x.TipoTexto        = DomainUtil.ObterTipoVeiculoTexto(x.Tipo));
                        }

                        return(Json(new
                        {
                            erro = "N",
                            Nome = pessoa.Nome,
                            CPF = pessoa.CPF,
                            DataNascimento = pessoa.DataNascimento,
                            NomeMae = pessoa.NomeMae,
                            Enderecos = pessoa.Enderecos,
                            Veiculos = pessoa.Veiculos,
                            Emails = pessoa.Emails,
                            Empregos = pessoa.Empregos,
                            Vizinhos = pessoa.Vizinhos,
                            Parentes = pessoa.Parentes,
                            Telefones = pessoa.Telefones,
                            Importado = pessoa.Importado,
                            Hash = Guid.NewGuid().ToString(),
                            HoraConsulta = DateTime.Now.ToString("HH:mm:ss"),
                            DataConsulta = DateTime.Now.ToString("dd/MM/yyyy")
                        }));
                    }
                    else
                    {
                        return(Json(new { erro = "S", mensagem = "Sem resultado para este CPF." }));
                    }
                }
            }
            else
            {
                return(Json(new { erro = "S", mensagem = validacao.erroVO.mensagem }));
            }


            return(Json(new { erro = "S", mensagem = "Sem resultado" }));
        }
示例#24
0
        public void GetBody(int body_selector)
        {
            switch (body_selector)
            {
            case 1:
                // request for contact on front site - its internal email - for me/margot
                m_filename = "NewRequest";
                break;

            case 2:
                // company registered   - message for Admin mediator ( no cc to Partner as login info here. msg for partner would be in PartnerNewCompanyArrived)
                m_filename = "NewCompany";
                break;

            case 3:
                // case submitted - message for admin mediators
                m_filename = "NewCase";
                break;

            case 4:
                // case submitted with involved mediators- individual message for admin mediators w/o involved
                m_filename = "NewCaseInvolved";
                break;

            case 5:
                // individual message for mediators in case
                m_filename = "NewMessage";
                break;

            case 6:
                // task for mediator ( cc for the one who assigned?)
                m_filename = "NewTask";
                break;

            case 7:
                // case promoted - individual message for mediators in case
                m_filename = "NextStep";
                break;

            case 8:
                // case reopened - individual message for mediators in case
                m_filename = "CaseReopened";
                break;

            case 9:
                // case needs to be signed-off ( by 2 top mediator levels only)
                m_filename = "CaseCloseApprove";
                break;

            case 10:
                // case needs to be signed-off ( by 2 top mediator levels only)
                m_filename = "CaseCloseApprovePlatformManager";
                break;

            case 11:
                // case escalated - don't have red button to escalate yet
                m_filename = "EscalatedCase";
                break;

            case 12:
                // case escalated because of timeline violation
                m_filename = "EscalatedCaseTimeline";
                break;

            case 13:
                // new mediator registered - message for mediator - no cc for admin, as login here
                m_filename = "NewUser";
                break;

            case 14:
                // new mediator registered - message for admin mediator
                m_filename = "NewUserArrived";
                break;

            case 15:
                // case promoted - individual message for mediators in case
                m_filename = "SeniorMediatorCaseConfirm";
                break;

            case 20:
                // new company invitation sent - message for new company ( cc for partner??)
                m_filename = "PartnerNewCompany";
                break;

            case 21:
                // new company registered - message for partner
                m_filename = "PartnerNewCompanyArrived";
                break;

            case 22:
                // new company status changed - message for company  ( cc for partner???)
                m_filename = "PartnerNewCompanyStatusChange";
                break;


            case 30:
                // new case submitted - message for reporter
                m_filename = "ReporterNewCase";
                break;

            case 31:
                // new case message - message for reporter
                m_filename = "ReporterNewMessage";
                break;

            case 32:
                // case promoted to next step - message for reporter
                m_filename = "ReporterNewStep";
                break;

            case 33:
                // // case re-opened - message for reporter
                m_filename = "ReporterCaseReopened";
                break;

            case 40:
                //mediator assigned to case   (?? cc for the one who assigned?)
                m_filename = "MediatorAssigned";
                break;

            case 41:
                // mediator invited to company  (??I think we don't need cc for the one who invited?)
                m_filename = "MediatorInvited";
                break;

            case 42:
                //mediator status promoted to Active ONLY (??I think we don't need cc for the one who changed status?)
                m_filename = "MediatorStatusChange";
                break;

            case 43:
                // mediator Role changed to any - (??I think we don't need cc for the one who changed?)
                m_filename = "MediatorRoleChange";
                break;

            case 50:
                // message to mediator with the link to update password
                m_filename = "ForgetPassword";
                break;

            case 51:
                // message to mediator with the link to update password
                m_filename = "CampusSecurityAlert";
                break;

            case 52:
                // message to mediator with the link to update password
                m_filename = "MediatorInvitedUserCreated";
                break;

            case 53:
                // message to mediator with the link to update password
                m_filename = "ForgetPasswordNew";
                break;

            case 60:
                // message about case deadline past due
                m_filename = "CaseDeadlinePastDue";
                break;
            }

            string appPath = Path.GetFullPath("~/EmailText/" + m_filename + ".html");
            string path1   = Path.Combine(Environment.CurrentDirectory, @"EmailText\", m_filename + ".html");
            string path    = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"Content\emails\", m_filename + ".html");
            /// string path1 = Path.Combine(AppDomain.CurrentDomain.ExecuteAssembly, @"EmailText\", m_filename + ".html");
            ///
            string temp = "";

            m_body = "";

            if (File.Exists(path))
            {
                temp = path;
                string text = System.IO.File.ReadAllText(path);
                m_body = text;

                string entrance_link = DomainUtil.GetSubdomainLink(path) + "/Index/Start";

                m_body = m_body.Replace("[BaseUrl]", entrance_link);
            }

            /*      string assemblyName = System.Reflection.Assembly.GetExecutingAssembly().FullName;
             *    string assemblyPath = System.Reflection.Assembly.GetExecutingAssembly().Location;
             *
             *    if (System.IO.File.Exists(AppDomain.CurrentDomain.RelativeSearchPath + '\\' +
             *        assemblyName.Substring(0, assemblyName.IndexOf(',')) + ".html"))
             *    {
             *
             *       temp = AppDomain.CurrentDomain.RelativeSearchPath + '\\' +
             *            assemblyName.Substring(0, assemblyName.IndexOf(',')) + ".html";
             *    }
             *    else if (System.IO.File.Exists(AppDomain.CurrentDomain.RelativeSearchPath + '\\' + "Content" + '\\' + "emails" + '\\' + m_filename + ".html"))
             *    {
             *        temp = AppDomain.CurrentDomain.RelativeSearchPath + '\\' + "Content" + '\\' + "emails" + '\\' + m_filename + ".html";
             *    }
             *    else if (System.IO.File.Exists(System.IO.Path.GetDirectoryName(assemblyPath) + '\\' +
             *        assemblyName.Substring(0, assemblyName.IndexOf(',')) + ".html"))
             *    {
             *       temp = System.IO.Path.GetDirectoryName(assemblyPath) + '\\' +
             *            assemblyName.Substring(0, assemblyName.IndexOf(',')) + ".html";
             *    }
             *    else if (System.IO.File.Exists(System.IO.Path.GetDirectoryName(assemblyPath) + '\\' + "Content" + '\\' + "emails" + '\\' + m_filename + ".html"))
             *    {
             *        temp = System.IO.Path.GetDirectoryName(assemblyPath) + '\\' + "Content" + '\\' + "emails" + '\\'  + m_filename + ".html";
             *    }*/
        }