public ActionResult SaveApplicationInformation(ApplicationInformation appInfo)
        {
            using (new PerformanceMonitor())
            {
                if (null == appInfo)
                {
                    return(this.Json(WebResponse.Bind((int)Fault.DataNotSpecified, "Application Information not specified."), JsonRequestBehavior.AllowGet));
                }
                else
                {
                    try
                    {
                        var userApplication = new ApplicationInformation()
                        {
                            Identifier = Settings.ApplicationIdentifier,
                        };
                        var updated = appCore.Save(appInfo, User.Identity.Editor(), userApplication);

                        return(this.Json(updated, JsonRequestBehavior.AllowGet));
                    }
                    catch (Exception ex)
                    {
                        logger.Log(ex, EventTypes.Error, (int)Fault.Unknown);
                        return(this.Json(WebResponse.Bind((int)Fault.Unknown, ex.Message), JsonRequestBehavior.AllowGet));
                    }
                }
            }
        }
Пример #2
0
        public void GetConfigurationItems()
        {
            var user      = new UserData(StringHelper.ValidString(), StringHelper.ValidString(), StringHelper.ValidString());
            var userTable = new AzureTable <UserData>(CloudStorageAccount.DevelopmentStorageAccount);

            userTable.AddEntity(user);
            var userApp = new UserApplicationData(user.Id, user.ApplicationId)
            {
                Active = true
            };
            var table = new AzureTable <UserApplicationData>(CloudStorageAccount.DevelopmentStorageAccount);

            table.AddEntity(userApp);

            var core    = new ApplicationCore();
            var config1 = this.Config(userApp.ApplicationId);

            var config2 = this.Config(userApp.ApplicationId);
            var u       = new Abc.Services.Contracts.User()
            {
                Identifier = userApp.UserId,
            };
            var a = new Abc.Services.Contracts.Application()
            {
                Identifier = user.ApplicationId,
            };
            var editor = new Abc.Services.Contracts.UserApplication()
            {
                User        = u,
                Application = a,
            };

            core.Save(config1, editor);
            core.Save(config2, editor);

            var query = new Abc.Services.Contracts.Configuration()
            {
                Token = config1.Token,
            };

            var returned = core.Get(query);

            Assert.IsNotNull(returned);
            var item1 = (from data in returned
                         where data.Key == config1.Key &&
                         data.Value == config1.Value
                         select data).First();

            Assert.AreEqual <string>(config1.Key, item1.Key);
            Assert.AreEqual <string>(config1.Value, item1.Value);

            var item2 = (from data in returned
                         where data.Key == config2.Key &&
                         data.Value == config2.Value
                         select data).First();

            Assert.AreEqual <string>(config2.Key, item2.Key);
            Assert.AreEqual <string>(config2.Value, item2.Value);
        }
Пример #3
0
        public void SaveConfigurationNullsUserAndToken()
        {
            var user      = new UserData(StringHelper.ValidString(), StringHelper.ValidString(), StringHelper.ValidString());
            var userTable = new AzureTable <UserData>(CloudStorageAccount.DevelopmentStorageAccount);

            userTable.AddEntity(user);
            var userApp = new UserApplicationData(user.Id, user.ApplicationId)
            {
                Active = true
            };
            var table = new AzureTable <UserApplicationData>(CloudStorageAccount.DevelopmentStorageAccount);

            table.AddEntity(userApp);

            var core   = new ApplicationCore();
            var config = this.Config(userApp.ApplicationId);

            var u = new User()
            {
                Identifier = userApp.UserId,
            };
            var a = new Application()
            {
                Identifier = user.ApplicationId,
            };
            var editor = new UserApplication()
            {
                User        = u,
                Application = a,
            };
            var returned = core.Save(config, editor);

            Assert.IsNotNull(returned);
            Assert.IsNull(returned.Token);
        }
Пример #4
0
        public ActionResult UserToApplication(Guid user, Guid application)
        {
            using (new PerformanceMonitor())
            {
                if (User.Identity.IsManager())
                {
                    var appInfo = new Application()
                    {
                        Identifier = application,
                    };
                    var u = new User()
                    {
                        Identifier = user,
                    };
                    var userAppData = new UserApplication()
                    {
                        Application = appInfo,
                        Active      = true,
                        Deleted     = false,
                        User        = u,
                    };
                    appCore.Save(userAppData, User.Identity.Editor());

                    return(this.RedirectToAction("UserToApplication"));
                }
                else
                {
                    return(this.RedirectToAction("Index", "Home"));
                }
            }
        }
Пример #5
0
        public void ApplicationInfoRoundTrip()
        {
            var table = new AzureTable <UserData>(CloudStorageAccount.DevelopmentStorageAccount);
            var user  = new UserData(string.Format("{0}@temp.com", Guid.NewGuid()), "na", Guid.NewGuid().ToString());

            table.AddEntity(user);

            var core = new ApplicationCore();
            var data = this.Information();

            data.Identifier = Abc.Underpinning.Application.Identifier;
            var u = new User()
            {
                Identifier = user.Id,
            };
            var app = new Application()
            {
                Identifier = Guid.NewGuid(),
            };
            var editor = new UserApplication()
            {
                User        = u,
                Application = app,
            };
            var userApp = new ApplicationInformation()
            {
                Identifier = Application.Default.Identifier,
            };
            var saved = core.Save(data, editor, userApp);

            Assert.IsNotNull(saved);
            Assert.AreEqual <string>(data.Description, saved.Description);
            Assert.AreEqual <string>(data.Name, saved.Name);
            Assert.AreEqual <Guid>(data.Identifier, saved.Identifier);
        }
Пример #6
0
        public void UserApplicationRoundTrip()
        {
            var user = new UserData(StringHelper.ValidString(), StringHelper.ValidString(), StringHelper.ValidString());
            var e    = new UserData(StringHelper.ValidString(), StringHelper.ValidString(), StringHelper.ValidString());

            e.EmailValidated = true;
            e.RoleValue      = (int)RoleType.Manager;
            var userTable = new AzureTable <UserData>(CloudStorageAccount.DevelopmentStorageAccount);

            userTable.AddEntity(new[] { e, user });
            var userApp = new UserApplicationData(user.Id, user.ApplicationId)
            {
                Active = true
            };
            var table = new AzureTable <UserApplicationData>(CloudStorageAccount.DevelopmentStorageAccount);

            table.AddEntity(userApp);

            var core   = new ApplicationCore();
            var data   = this.UserApplication(userApp.ApplicationId);
            var editor = this.UserApplication(userApp.ApplicationId);

            editor.User = e.Convert();

            var saved = core.Save(data, editor);

            Assert.AreEqual <Guid>(data.Application.Identifier, saved.Application.Identifier);
            Assert.AreEqual <Guid>(data.User.Identifier, saved.User.Identifier);

            var get = core.Get(data);

            Assert.AreEqual <Guid>(data.Application.Identifier, get.Application.Identifier);
            Assert.AreEqual <Guid>(data.User.Identifier, get.User.Identifier);
        }
Пример #7
0
        public void SaveUserApplicationInvalidEditor()
        {
            var core = new ApplicationCore();
            var user = new User()
            {
                Identifier = Guid.NewGuid(),
            };
            var u = new User()
            {
                Identifier = Guid.NewGuid(),
            };
            var app = new Application()
            {
                Identifier = Guid.NewGuid(),
            };
            var editor = new UserApplication()
            {
                User        = u,
                Application = app,
            };
            var application = new Abc.Services.Contracts.Application()
            {
                Identifier = Guid.NewGuid(),
            };

            var ua = new UserApplication()
            {
                Application = application,
                User        = user,
            };

            core.Save(ua, editor);
        }
Пример #8
0
        public void SaveConfiguration()
        {
            var token = new Token()
            {
                ApplicationId = Guid.NewGuid(),
                ValidationKey = StringHelper.ValidString(),
            };

            var config = new Abc.Services.Contracts.Configuration()
            {
                Key   = StringHelper.ValidString(256),
                Token = token,
                Value = StringHelper.ValidString(256),
            };

            var u = new Abc.Services.Contracts.User()
            {
                Identifier = Guid.NewGuid(),
            };
            var a = new Abc.Services.Contracts.Application()
            {
                Identifier = token.ApplicationId,
            };
            var editor = new Abc.Services.Contracts.UserApplication()
            {
                User        = u,
                Application = a,
            };

            var core = new ApplicationCore();

            core.Save(config, editor);
        }
Пример #9
0
        public void SaveApplicationInformationEmptyInfoAppId()
        {
            var core = new ApplicationCore();
            var u    = new User()
            {
                Identifier = Guid.NewGuid(),
            };
            var app = new Application()
            {
                Identifier = Guid.NewGuid(),
            };
            var editor = new UserApplication()
            {
                User        = u,
                Application = app,
            };
            var userApp = new ApplicationInformation()
            {
                Identifier = Guid.NewGuid(),
            };
            var info = this.Information();

            info.Identifier = Guid.Empty;
            core.Save(info, editor, userApp);
        }
Пример #10
0
        public void SaveApplicationInformationEmptyEditorUserIdentifier()
        {
            var core   = new ApplicationCore();
            var editor = this.UserApplication(Guid.NewGuid());

            editor.User.Identifier = Guid.Empty;
            core.Save(this.ApplicationInfo().Convert(), editor, this.ApplicationInfo().Convert());
        }
Пример #11
0
        public void SaveApplicationInformationNullEditorApplication()
        {
            var core   = new ApplicationCore();
            var editor = this.UserApplication(Guid.NewGuid());

            editor.Application = null;
            core.Save(this.ApplicationInfo().Convert(), editor, this.ApplicationInfo().Convert());
        }
Пример #12
0
        public void SaveUserApplicationEmptyEditorUserIdentifier()
        {
            var core   = new ApplicationCore();
            var editor = this.UserApplication(Guid.NewGuid());

            editor.User.Identifier = Guid.Empty;
            core.Save(this.UserApplication(Guid.NewGuid()), editor);
        }
Пример #13
0
        public void SaveUserApplicationNullEditorUser()
        {
            var core   = new ApplicationCore();
            var editor = this.UserApplication(Guid.NewGuid());

            editor.User = null;
            core.Save(this.UserApplication(Guid.NewGuid()), editor);
        }
Пример #14
0
        public void SaveApplicationInformationEmptyUserId()
        {
            var core   = new ApplicationCore();
            var editor = this.UserApplication(Guid.NewGuid());

            editor.User.Identifier = Guid.Empty;
            var userApp = new ApplicationInformation()
            {
                Identifier = Guid.NewGuid(),
            };
            var info = this.Information();

            core.Save(info, editor, userApp);
        }
Пример #15
0
        public void SaveApplicationInformationNullUser()
        {
            var core = new ApplicationCore();
            var u    = new User()
            {
                Identifier = Guid.NewGuid(),
            };
            var userApp = new ApplicationInformation()
            {
                Identifier = Guid.NewGuid(),
            };
            var info = this.Information();

            core.Save(info, null, userApp);
        }
Пример #16
0
        public void GetConfigurationItem()
        {
            var user      = new UserData(StringHelper.ValidString(), StringHelper.ValidString(), StringHelper.ValidString());
            var userTable = new AzureTable <UserData>(CloudStorageAccount.DevelopmentStorageAccount);

            userTable.AddEntity(user);
            var userApp = new UserApplicationData(user.Id, user.ApplicationId)
            {
                Active = true
            };
            var table = new AzureTable <UserApplicationData>(CloudStorageAccount.DevelopmentStorageAccount);

            table.AddEntity(userApp);

            var core   = new ApplicationCore();
            var config = this.Config(userApp.ApplicationId);
            var u      = new Abc.Services.Contracts.User()
            {
                Identifier = userApp.UserId,
            };
            var a = new Abc.Services.Contracts.Application()
            {
                Identifier = user.ApplicationId,
            };
            var editor = new Abc.Services.Contracts.UserApplication()
            {
                User        = u,
                Application = a,
            };

            core.Save(config, editor);

            var query = new Abc.Services.Contracts.Configuration()
            {
                Token = config.Token,
                Key   = config.Key,
            };

            var returned = core.Get(query);

            Assert.IsNotNull(returned);
            Assert.AreEqual <int>(1, returned.Count());
            var item = returned.ToArray()[0];

            Assert.AreEqual <string>(config.Key, item.Key);
            Assert.AreEqual <string>(config.Value, item.Value);
        }
Пример #17
0
        public ActionResult Details(ApplicationDetailsModel value)
        {
            using (new PerformanceMonitor())
            {
                var userApplication = new ApplicationInformation()
                {
                    Identifier = ServerConfiguration.ApplicationIdentifier,
                };

                try
                {
                    appCore.Save(value.Convert(), User.Identity.Editor(), userApplication);

                    ViewBag.CanCreateAnApplication = this.CanCreateAnApplication();
                    return(this.RedirectToAction("Application"));
                }
                catch (Exception ex)
                {
                    log.Log(ex, EventTypes.Error, (int)Fault.Unknown);
                    return(View());
                }
            }
        }
Пример #18
0
        public void SaveApplicationInformationNullData()
        {
            var core = new ApplicationCore();
            var u    = new User()
            {
                Identifier = Guid.NewGuid(),
            };
            var app = new Application()
            {
                Identifier = Guid.NewGuid(),
            };
            var editor = new UserApplication()
            {
                User        = u,
                Application = app,
            };
            var userApp = new ApplicationInformation()
            {
                Identifier = Guid.NewGuid(),
            };

            core.Save((ApplicationInformation)null, editor, userApp);
        }
Пример #19
0
        public ActionResult Save(Configuration configuration)
        {
            using (new PerformanceMonitor())
            {
                if (null == configuration)
                {
                    return(this.Json(WebResponse.Bind((int)Fault.DataNotSpecified, "Configuration not specified"), JsonRequestBehavior.AllowGet));
                }
                else
                {
                    try
                    {
                        var saved = appCore.Save(configuration, User.Identity.Editor());

                        return(this.Json(saved, JsonRequestBehavior.AllowGet));
                    }
                    catch (Exception ex)
                    {
                        logger.Log(ex, EventTypes.Error, (int)Fault.Unknown);
                        return(this.Json(WebResponse.Bind((int)Fault.Unknown, ex.Message), JsonRequestBehavior.AllowGet));
                    }
                }
            }
        }
Пример #20
0
        public void SaveUserApplicationNullUserApplication()
        {
            var core = new ApplicationCore();

            core.Save((UserApplication)null, this.UserApplication(Guid.NewGuid()));
        }