コード例 #1
0
        public ActionResult Login(LoginViewModel input)
        {

            var notification = new Notification { Message = WebLocalizationKeys.INVALID_USERNAME_OR_PASSWORD.ToString() };
            try
            {
                if (input.HasCredentials())
                {
                    var redirectUrl = string.Empty;
                    var uli = _securityDataService.AuthenticateForUserId(input.UserName, input.Password,"");
                    if (uli != null)
                    {
                        if (uli.GetCurrentSubscription().ExpirationDate > DateTime.Now)
                        {
                            redirectUrl = _authenticationContext.ThisUserHasBeenAuthenticated(uli, input.RememberMe);
                            notification.Success = true;
                            notification.Message = string.Empty;
                            notification.Redirect = true;
                            notification.RedirectUrl = redirectUrl;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                notification = new Notification { Message = WebLocalizationKeys.ERROR_UNEXPECTED.ToString() };
                ex.Source = "CATCH RAISED";
                Elmah.ErrorSignal.FromCurrentContext().Raise(ex);
            }
            return Json(notification);
        }
コード例 #2
0
 public Notification FinishWithAction(string successMessage = "")
 {
     if (successMessage.IsEmpty()) successMessage = CCCoreLocalizationKeys.SUCCESSFUL_SAVE.ToString();
     var notification = new Notification { Success = true };
     GetValidationReports().ForEachItem(x =>
     {
         if (!x.Success)
         {
             notification.Success = false;
             if (notification.Errors == null)
                 notification.Errors = x.GetErrorInfos().ToList();
             else
                 x.GetErrorInfos().ForEachItem(notification.Errors.Add).ToList();
         }else
         {
             x.SuccessAction(x.entity);
         }
     });
     if (notification.Success)
     {
         _repository.Commit();
         notification.Message = successMessage;
     }
     else
         _repository.Rollback();
     return notification;
 }
コード例 #3
0
ファイル: Notification.cs プロジェクト: reharik/CannibalCoder
 public Notification(Notification report)
 {
     Message = report.Message;
     Success = report.Success;
     Errors = report.Errors;
     //Target = continuation.Target;
 }
        public JsonResult Save(SiteConfigurationViewModel input)
        {
            var suiteOnlineStatus = input.SuiteOnlineStatusType.ToUpper();

            Notification notification = new Notification();

            switch (suiteOnlineStatus)
            {
                case "OFFLINE":
                    //SuiteOnlineStatusType.Offline
                    
                    var copyResult = disableSuiteWebsite();
                    if (copyResult  != "")
                    {
                        notification.Success = false;
                        notification.Message = copyResult;
                    }
                    else
                    {
                        setAppSettingsKeyValue(_configFilePath, "Suite.OnlineStatus", suiteOnlineStatus);
                        notification.Success = true;
                        notification.Message = "Suite Website Status Changed to : " + suiteOnlineStatus;
                    }
                    
                    break;

                case "TESTING":
                    //SuiteOnlineStatusType.Testing
                    var deleteResult= removeAppOfflineFile();
                    if(deleteResult != "")
                    {
                        notification.Success = false;
                        notification.Message = deleteResult;
                    }
                    else
                    {
                        setAppSettingsKeyValue(_configFilePath, "Suite.OnlineStatus", suiteOnlineStatus);
                        notification.Success = true;
                        notification.Message = "Suite Website Status Changed to: " + suiteOnlineStatus;    
                    }
                    break;

                default:
                    //assume ONLINE
                    suiteOnlineStatus = "ONLINE";

                    var deleteResult2= removeAppOfflineFile();
                    if (deleteResult2 != "")
                    {
                        notification.Success = false;
                        notification.Message = deleteResult2;
                    }
                    else
                    {
                        setAppSettingsKeyValue(_configFilePath, "Suite.OnlineStatus", suiteOnlineStatus);
                        notification.Success = true;
                        notification.Message = "Suite Website Status Changed to: " + suiteOnlineStatus;
                    }
                    
                    //TODO: add requesting URL to "Retry" link
                    
                    break;
            }

            return Json(notification);
        }