예제 #1
0
        public bool addAuthorization(AuthorizationCode authorizaction)
        {
            if (authorizaction != null)
            {
                _session.Transact(session => session.SaveOrUpdate(authorizaction));

                MrCMS.Entities.People.User usergenerated = _userService.GetUser(authorizaction.generatedby);
                MrCMS.Entities.People.User userauth      = _userService.GetUser(authorizaction.Authorizedby);
                Provider provider = _providersvc.GetProvider(authorizaction.provider);


                QueuedMessage emailmsg = new QueuedMessage();
                emailmsg.FromAddress = _mailSettings.SystemEmailAddress;
                emailmsg.ToAddress   = userauth.Email;
                emailmsg.Subject     = "NovoHub Authorization Code Generated ";
                emailmsg.FromName    = "NOVOHUB";



                emailmsg.Body = string.Format("An authorization code {5} was generated for {0} by {1} and was authorized by you on {2} for {4} with policy number {3}", provider.Name.ToUpper(), usergenerated.Name.ToUpper(), Convert.ToDateTime(authorizaction.CreatedOn).ToString(CurrentRequestData.CultureInfo.DateTimeFormat.FullDateTimePattern), authorizaction.policyNumber, authorizaction.enrolleeName, authorizaction.authorizationCode);

                //_emailSender.AddToQueue(emailmsg);

                //send admission shit
                if (authorizaction.Isadmission)
                {
                    StringBuilder bodyText = new StringBuilder();
                    bodyText.Append("<p>Dear Admin,</p>");
                    bodyText.AppendLine(string.Format("<p>A new admission was approved with code {5} for {0} and generated by {1} and was authorized by {6} on {2} for {4} with policy number {3} </p>", provider.Name.ToUpper(), usergenerated.Name.ToUpper(), Convert.ToDateTime(authorizaction.CreatedOn).ToString(CurrentRequestData.CultureInfo.DateTimeFormat.FullDateTimePattern), authorizaction.policyNumber, authorizaction.enrolleeName, authorizaction.authorizationCode, userauth.Name.ToUpper()));
                    bodyText.AppendLine(Environment.NewLine);
                    bodyText.AppendLine("<p>You are required to follow up on the admission.</p>");
                    bodyText.AppendLine("<p>Thank You.</p>");

                    //send to client service.
                    MrCMS.Entities.People.UserRole role = _roleSvc.GetRoleByName("CLIENT SERVICE");
                    if (role != null)
                    {
                        foreach (MrCMS.Entities.People.User user in role.Users)
                        {
                            //each user

                            QueuedMessage emailmsgAdd = new QueuedMessage();
                            emailmsgAdd.FromAddress = _mailSettings.SystemEmailAddress;
                            emailmsgAdd.ToAddress   = user.Email;
                            emailmsgAdd.Subject     = "NovoHub -New Admission ";
                            emailmsgAdd.FromName    = "NOVOHUB";
                            emailmsgAdd.Body        = bodyText.ToString();
                            emailmsgAdd.IsHtml      = true;

                            //_emailSender.AddToQueue(emailmsgAdd);
                        }
                    }
                    //added else
                    else
                    {
                    }
                    //send to provider service.
                    role = _roleSvc.GetRoleByName("PROVIDER");
                    if (role != null)
                    {
                        foreach (MrCMS.Entities.People.User user in role.Users)
                        {
                            //each user

                            QueuedMessage emailmsgAdd = new QueuedMessage();
                            emailmsgAdd.FromAddress = _mailSettings.SystemEmailAddress;
                            emailmsgAdd.ToAddress   = user.Email;
                            emailmsgAdd.Subject     = "NovoHub -New Admission ";
                            emailmsgAdd.FromName    = "NOVOHUB";
                            emailmsgAdd.Body        = bodyText.ToString();
                            emailmsgAdd.IsHtml      = true;
                            // _emailSender.AddToQueue(emailmsgAdd);
                        }
                    }
                    //added else
                    else
                    {
                    }


                    //send to medical service.
                    role = _roleSvc.GetRoleByName("MEDICAL UNIT");
                    if (role != null)
                    {
                        foreach (MrCMS.Entities.People.User user in role.Users)
                        {
                            //each user

                            QueuedMessage emailmsgAdd = new QueuedMessage();
                            emailmsgAdd.FromAddress = _mailSettings.SystemEmailAddress;
                            emailmsgAdd.ToAddress   = user.Email;
                            emailmsgAdd.Subject     = "NovoHub -New Admission ";
                            emailmsgAdd.FromName    = "NOVOHUB";
                            emailmsgAdd.Body        = bodyText.ToString();
                            emailmsgAdd.IsHtml      = true;
                            // _emailSender.AddToQueue(emailmsgAdd);
                        }
                    }
                    //added else
                    else
                    {
                    }
                }


                //Notify the theres a new verificationCode
                AuthenticationCodeCreatedArgs args = new AuthenticationCodeCreatedArgs
                {
                    AuthorizationCode = authorizaction
                };
                //Notify the Hub of the new Input
                EventContext.Instance.Publish(typeof(INewNotificationEvent), args);

                return(true);
            }
            return(false);
        }
예제 #2
0
        private bool SubscriptionTask(TaskShit Task)
        {
            TaskShit task = _helperSvc.getTask(Task.Id);

            task.status = true;
            _helperSvc.updateTask(task);
            //companySvc.ExecuteSubscriptionCheck();

            //activate them old shit

            IList <Subscription> activate = _companySvc.GetNewlyApprovedActiveSubscription();

            foreach (Subscription item in activate)
            {
                if (item.Expirationdate > CurrentRequestData.Now)
                {
                    item.Status = (int)SubscriptionStatus.Active;
                }
                else
                {
                    item.Status = (int)SubscriptionStatus.Expired;
                }
                _companySvc.UpdateSubscription(item);
            }


            IList <Subscription>       expiringsoon = _companySvc.GetSubscriptionExpiringSoon();
            IList <Subscription>       expiredd     = _companySvc.GetexpiredSubscriptions();
            IEnumerable <Subscription> expired      = expiringsoon.Where(x => x.Expirationdate < CurrentRequestData.Now);

            foreach (Subscription item in expiredd)
            {
                item.Status = (int)SubscriptionStatus.Expired;
                _companySvc.UpdateSubscription(item);
            }

            StringBuilder bodyText = new StringBuilder();

            bodyText.AppendLine("The following companies are about to expire.");
            bodyText.AppendLine(Environment.NewLine);


            foreach (Subscription sub in expiringsoon)
            {
                Company company = _companySvc.GetCompany(sub.CompanyId);


                bodyText.AppendFormat("{0} ------- {1} {2}", company.Name.ToUpper(), sub.SubscriptionCode, Convert.ToDateTime(sub.Expirationdate).ToShortDateString());
                bodyText.AppendLine(Environment.NewLine);
            }
            bodyText.AppendLine("Thank You");

            MrCMS.Entities.People.UserRole role = _rolesvc.GetRoleByName("CLIENT SERVICE");



            if (role != null && expiringsoon.Any())
            {
                foreach (MrCMS.Entities.People.User user in role.Users)
                {
                    //each user
                    QueuedMessage emailmsg = new QueuedMessage();
                    //Send Company Subscription Notice to these emails
                    string Email2 = "[email protected], [email protected], [email protected], [email protected], [email protected] ";
                    emailmsg.FromAddress = _mailSettings.SystemEmailAddress;
                    emailmsg.ToAddress   = user.Email;
                    emailmsg.ToAddress   = Email2;
                    emailmsg.Subject     = "Company Subscription Expiration Notice ";
                    emailmsg.FromName    = "NOVOHUB";
                    emailmsg.Body        = bodyText.ToString();

                    _emailSender.AddToQueue(emailmsg);
                }
            }


            //update task

            task.status  = false;
            task.LastRun = CurrentRequestData.Now;

            return(_helperSvc.updateTask(task));
        }