public ReturnResult <EmailM> SaveCustomEmailNotification(EmailM message, int cityUserID, int c_id, int activityID)
        {
            ReturnResult <EmailM> result = new ReturnResult <EmailM>();

            try
            {
                result = _dbHandler.SaveCustomEmailNotification(message, cityUserID, c_id, activityID);
                return(result);
            }
            catch (Exception ex)
            {
                result.status = _eHandler.HandleException(ex);
                LogError(result.status);
                return(result);
            }
        }
        public ReturnResult <bool> ForgetPwd(string email)
        {
            ReturnResult <string> result      = new ReturnResult <string>();
            ReturnResult <bool>   resultFinal = new ReturnResult <bool>();

            result = accDBHandler.ForgetPwd(email);
            if (result.status.Status == StatusEnum.Success)
            {
                EmailM emailMessage = new EmailM();
                emailMessage.Subject     = "RAP Login Password";
                emailMessage.MessageBody = NotificationMessage.ResourceManager.GetString("ForgotPasswordMsg").Replace("PASSWORD", result.result);
                emailMessage.RecipientAddress.Add(email);
                EmailService emailservice = new EmailService();
                resultFinal = emailservice.SendEmail(emailMessage);
            }
            resultFinal.status = result.status;
            return(resultFinal);
        }
        public ReturnResult <CityUserAccount_M> CreateCityUserAccount(CityUserAccount_M message)
        {
            ReturnResult <CityUserAccount_M> result = new ReturnResult <CityUserAccount_M>();
            string _loginURL = ConfigurationManager.AppSettings["CityloginURL"];
            bool   bEdit     = false;

            try
            {
                if (message.UserID != 0)
                {
                    bEdit = true;
                }
                var dbResult = accDBHandler.CreateCityUserAccount(message);
                if (dbResult.status.Status != StatusEnum.Success)
                {
                    result.status = dbResult.status;
                    return(result);
                }
                if (bEdit == false)
                {
                    EmailM emailMessage = new EmailM();
                    emailMessage.Subject     = "RAP Account created Successfully";
                    emailMessage.MessageBody = NotificationMessage.ResourceManager.GetString("CityAccountCreatedMsg").Replace("LOGIN", _loginURL).Replace("NAME", dbResult.result.FirstName + " " + dbResult.result.LastName);
                    if (dbResult.result.Email != null)
                    {
                        emailMessage.RecipientAddress.Add(dbResult.result.Email);
                    }
                    emailservice.SendEmail(emailMessage);
                }
                result.result = dbResult.result;
                result.status = new OperationStatus()
                {
                    Status = StatusEnum.Success
                };
                return(result);
            }
            catch (Exception ex)
            {
                result.status = _eHandler.HandleException(ex);
                // _commonService.LogError(result.status);
                return(result);
            }
        }
        public ReturnResult <bool> ResendPin(CustomerInfo message)
        {
            ReturnResult <string> result      = new ReturnResult <string>();
            ReturnResult <bool>   resultFinal = new ReturnResult <bool>();

            result = accDBHandler.ResendPin(message);
            if (result != null)
            {
                EmailM emailMessage = new EmailM();
                emailMessage.Subject     = "RAP Security PIN";
                emailMessage.MessageBody = NotificationMessage.ResourceManager.GetString("ResendPinMsg").Replace("PIN", result.result);
                if (message.email != null)
                {
                    emailMessage.RecipientAddress.Add(message.email);
                }
                EmailService emailservice = new EmailService();
                resultFinal = emailservice.SendEmail(emailMessage);
            }
            return(resultFinal);
        }
        public ReturnResult <bool> SendEmail(EmailM message)
        {
            ReturnResult <bool> result = new ReturnResult <bool>();

            try
            {
                string hostServer            = ConfigurationManager.AppSettings["HostServer"];
                int    portNumber            = Convert.ToInt32(ConfigurationManager.AppSettings["PortNumber"]);
                string senderAddress         = ConfigurationManager.AppSettings["SenderAddress"];
                string password              = ConfigurationManager.AppSettings["SenderPassword"];
                string bcc                   = ConfigurationManager.AppSettings["BCC"];
                bool   enableSSL             = string.IsNullOrEmpty(ConfigurationManager.AppSettings["EnableSSL"]) ? false : (ConfigurationManager.AppSettings["EnableSSL"] == "true" ? true : false);
                bool   defaultAuthentication = string.IsNullOrEmpty(ConfigurationManager.AppSettings["DefaultAuthentication"]) ? false : (ConfigurationManager.AppSettings["DefaultAuthentication"] == "true" ? true : false);
                bool   includeBCC            = string.IsNullOrEmpty(ConfigurationManager.AppSettings["IncludeBCC"]) ? false : (ConfigurationManager.AppSettings["IncludeBCC"] == "true" ? true : false);
                // if (message.RecipientAddress != null && message.RecipientAddress.Any())
                //{
                using (MailMessage mail = new MailMessage())
                {
                    mail.From = new MailAddress(senderAddress);
                    if (message.RecipientAddress != null && message.RecipientAddress.Any())
                    {
                        mail.To.Add(String.Join(",", message.RecipientAddress));
                    }
                    mail.Subject = message.Subject;
                    mail.Body    = message.MessageBody;
                    if (includeBCC)
                    {
                        mail.Bcc.Add(bcc);
                    }
                    mail.IsBodyHtml = false;
                    if (message.Attachments != null && message.Attachments.Any())
                    {
                        foreach (var attahment in message.Attachments)
                        {
                            var          byteArray = Convert.FromBase64String(attahment.Base64Content);
                            MemoryStream ms        = new MemoryStream(byteArray);
                            ContentType  ct        = new ContentType(System.Net.Mime.MediaTypeNames.Text.Plain);
                            Attachment   at        = new Attachment(ms, ct);
                            at.ContentDisposition.FileName = attahment.DocName;
                            mail.Attachments.Add(at);
                        }
                    }

                    using (SmtpClient smtp = new SmtpClient(hostServer, portNumber))
                    {
                        if (defaultAuthentication)
                        {
                            smtp.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;
                        }
                        else
                        {
                            smtp.Credentials = new NetworkCredential(senderAddress.Trim(), password.Trim());
                        }

                        smtp.EnableSsl = enableSSL;
                        smtp.Send(mail);
                    }
                }
                result.result = true;
                result.status = new OperationStatus()
                {
                    Status = StatusEnum.Success
                };
                //}
                //else
                //{
                //    throw new Exception("Email Recipient not found");
                //}

                return(result);
            }
            catch (Exception ex)
            {
                IExceptionHandler eHandler = new ExceptionHandler();
                result.status = eHandler.HandleException(ex);
                return(result);
            }
        }