コード例 #1
0
 public IEnumerable <LogEntry> GetAll()
 {
     using (var context = new TreeMonDbContext(_dbConnectionKey))
     {
         return(context.GetAll <LogEntry>());
     }
 }
コード例 #2
0
        public void Api_UserSessionController_GetStatus()
        {
            Assert.IsNotNull(ConfigurationManager.AppSettings["AppKey"]);

            TreeMonDbContext context         = new TreeMonDbContext(connectionKey);
            User             u               = TestHelper.GenerateTestUser(Guid.NewGuid().ToString("N"));
            string           loginPassword   = u.Password;
            string           tmpHashPassword = PasswordHash.CreateHash(u.Password);

            u.Password = PasswordHash.ExtractHashPassword(tmpHashPassword);
            u.PasswordHashIterations = PasswordHash.ExtractIterations(tmpHashPassword);
            u.PasswordSalt           = PasswordHash.ExtractSalt(tmpHashPassword);
            Assert.IsTrue(context.Insert <User>(u));

            // set a user session then pass the authtoken
            SessionManager sessionManager = new SessionManager(connectionKey);
            string         userJson       = JsonConvert.SerializeObject(u);
            UserSession    us             = sessionManager.SaveSession("127.1.1.34", u.UUID, userJson, false);

            Task.Run(async() =>
            {
                ServiceResult res = await TestHelper.SentHttpRequest("GET", "api/Sessions/Status/" + us.AuthToken, "", _ownerAuthToken);

                Assert.IsNotNull(res);
                Assert.AreEqual(res.Code, 200);
            }).GetAwaiter().GetResult();
        }
コード例 #3
0
 public List <UnitOfMeasure> GetUnitsOfMeasure(string accountUUID, string category, bool deleted = false)
 {
     using (var context = new TreeMonDbContext(this._connectionKey))
     {
         return(context.GetAll <UnitOfMeasure>().Where(sw => (sw.AccountUUID == accountUUID) && (sw.Category?.EqualsIgnoreCase(category) ?? false) && sw.Deleted == deleted).OrderBy(ob => ob.Name).ToList());
     }
 }
コード例 #4
0
        /// <summary>
        /// Saves user session, expects the authtoken to
        /// not be null or empty. If authtoken is null it uses
        /// the user id instead of ip to generate it.
        /// </summary>
        /// <param name="us"></param>
        /// <returns></returns>
        public UserSession SaveSession(UserSession us)
        {
            if (us == null)
            {
                return(us);
            }

            if (string.IsNullOrWhiteSpace(us.AuthToken))
            {
                Debug.Assert(false, "AUTHTOKEN IS NULL");
                us.AuthToken = GenerateToken(us.UserUUID);
            }
            if (us.SessionLength != SessionLength)
            {
                us.SessionLength = this.SessionLength;
            }

            us.Expires = DateTime.UtcNow.AddMinutes(us.SessionLength);
            using (var context = new TreeMonDbContext(_connectionKey))
            {
                if (context.Insert <UserSession>(us))
                {
                    return(us);
                }
            }
            _logger.InsertError("Failed to save session." + us.UserName, "SessionManager", "SaveSession");
            return(null);
        }
コード例 #5
0
        public List <dynamic> GetAll(string type = "")
        {
            List <dynamic> res = new List <dynamic>();

            if (string.IsNullOrWhiteSpace(type))
            {
                return(res);
            }

            if (this._requestingUser == null || string.IsNullOrWhiteSpace(this._requestingUser.AccountUUID))
            {
                return(res);
            }

            if (type == "all")
            {
                using (var context = new TreeMonDbContext(this._connectionKey))
                {
                    res.AddRange(context.GetAll <TreeMon.Models.Plant.Plant>().Where(w => w.AccountUUID == this._requestingUser.AccountUUID).Cast <dynamic>().ToList());
                    res.AddRange(context.GetAll <Ballast>().Where(w => w.AccountUUID == this._requestingUser.AccountUUID).Cast <dynamic>().ToList());
                    res.AddRange(context.GetAll <Bulb>().Where(w => w.AccountUUID == this._requestingUser.AccountUUID).Cast <dynamic>().ToList());
                    //    res.AddRange( context.GetAll<Custom>().Where(w => w.AccountUUID == this._requestingUser.AccountUUID).Cast<dynamic>().ToList());
                    res.AddRange(context.GetAll <Fan>().Where(w => w.AccountUUID == this._requestingUser.AccountUUID).Cast <dynamic>().ToList());
                    res.AddRange(context.GetAll <Filter>().Where(w => w.AccountUUID == this._requestingUser.AccountUUID).Cast <dynamic>().ToList());
                    res.AddRange(context.GetAll <Pump>().Where(w => w.AccountUUID == this._requestingUser.AccountUUID).Cast <dynamic>().ToList());
                    res.AddRange(context.GetAll <Vehicle>().Where(w => w.AccountUUID == this._requestingUser.AccountUUID).Cast <dynamic>().ToList());
                }

                return(res);
            }

            return(this.GetEquipment(type).Where(w => w.AccountUUID == this._requestingUser.AccountUUID).ToList());
        }
コード例 #6
0
        public void TreeMonDbContext_Context_Transaction_Fail()
        {
            User    u = TestHelper.GenerateTestUser("BETA");
            Account a = new Account()
            {
                Name = "BETA_ACCOUNT"
            };
            string failTest = null;

            TreeMonDbContext context = new TreeMonDbContext("MSSQL_TEST");

            using (var dbContext = new DbContext(context.ConnectionKey))
            {
                using (var contextTransaction = context.Database.BeginTransaction())
                {
                    try
                    {
                        context.Insert <User>(u);
                        failTest.ToUpper();//this should blow up.
                        context.Insert <Account>(a);
                        contextTransaction.Commit();
                    }
                    catch (Exception)
                    {
                        contextTransaction.Rollback();
                    }
                }
            }
            //Should have removed the user and not inserted the account.
            Assert.IsNull(context.Get <User>(u.Id), "BETA");
            Assert.IsNull(context.Get <Account>(a.Id), "BETA_ACCOUNT");
        }
コード例 #7
0
        public void TreeMonDbContext_Context_TransactionScope_Fail()
        {
            User    u = TestHelper.GenerateTestUser("ECHO");
            Account a = new Account()
            {
                Name = "ECHO_ACCOUNT"
            };
            string failTest = null;

            TreeMonDbContext contextUser    = new TreeMonDbContext("MSSQL_TEST");
            TreeMonDbContext contextAccount = new TreeMonDbContext("MSSQL_TEST");

            using (var scope = new TransactionScope())
            {
                try
                {
                    contextUser.Insert <User>(u);
                    failTest.ToUpper();//this should blow up.
                    contextAccount.Insert <Account>(a);
                    scope.Complete();
                }
                catch (Exception)
                {
                }
            }
            //Should have removed the user and not inserted the account.
            Assert.IsNull(contextUser.Get <User>(u.Id), "ECHO");
            Assert.IsNull(contextAccount.Get <Account>(a.Id), "ECHO_ACCOUNT");
        }
コード例 #8
0
        public void Api_UnitOfMeasureController_UpdateUnitOfMeasure()
        {
            TreeMonDbContext context = new TreeMonDbContext(connectionKey);
            UnitOfMeasure    mdl     = new UnitOfMeasure();

            mdl.AccountUUID = SystemFlag.Default.Account;
            mdl.Name        = Guid.NewGuid().ToString("N");
            mdl.UUID        = Guid.NewGuid().ToString("N");
            mdl.DateCreated = DateTime.UtcNow;

            Assert.IsTrue(context.Insert <UnitOfMeasure>(mdl));

            mdl = context.GetAll <UnitOfMeasure>().Where(w => w.Name == mdl.Name).FirstOrDefault();
            UnitOfMeasure pv = new UnitOfMeasure();

            pv.Id          = mdl.Id;
            pv.UUID        = mdl.UUID;
            pv.AccountUUID = mdl.AccountUUID;
            pv.Name        = mdl.Name;
            //~~~ Updatable fields ~~~

            string postData = JsonConvert.SerializeObject(pv);

            Task.Run(async() =>
            {
                ServiceResult res = await TestHelper.SentHttpRequest("POST", "api/UnitsOfMeasure/Update", postData, _ownerAuthToken);
                Assert.IsNotNull(res);
                Assert.AreEqual(res.Code, 200);

                UnitOfMeasure dbUnitOfMeasure = context.GetAll <UnitOfMeasure>().Where(w => w.Name == mdl.Name).FirstOrDefault();
                Assert.IsNotNull(dbUnitOfMeasure);
            }).GetAwaiter().GetResult();
        }
コード例 #9
0
        public void Api_UnitOfMeasureController_AddUnitOfMeasure()
        {
            UnitOfMeasure mdl = new UnitOfMeasure();

            mdl.AccountUUID = SystemFlag.Default.Account;
            mdl.Name        = Guid.NewGuid().ToString("N");
            mdl.UUID        = Guid.NewGuid().ToString("N");
            mdl.DateCreated = DateTime.UtcNow;

            string postData = JsonConvert.SerializeObject(mdl);

            Task.Run(async() =>
            {
                ServiceResult res = await TestHelper.SentHttpRequest("POST", "api/UnitsOfMeasure/Add", postData, _ownerAuthToken);
                Assert.IsNotNull(res);
                Assert.AreEqual(res.Code, 200);

                UnitOfMeasure p = JsonConvert.DeserializeObject <UnitOfMeasure>(res.Result.ToString());
                Assert.IsNotNull(p);
                TreeMonDbContext context      = new TreeMonDbContext(connectionKey);
                UnitOfMeasure dbUnitOfMeasure = context.GetAll <UnitOfMeasure>().Where(w => w.UUID == p.UUID).FirstOrDefault();
                Assert.IsNotNull(dbUnitOfMeasure);
                Assert.AreEqual(mdl.Name, dbUnitOfMeasure.Name);
            }).GetAwaiter().GetResult();
        }
コード例 #10
0
 /// <summary>
 /// Gets the shipping methods.
 /// </summary>
 /// <param name="source">The source.</param>
 /// <returns></returns>
 public List <ShippingMethod> GetShippingMethods()
 {
     using (var context = new TreeMonDbContext(this._connectionKey))
     {
         return(context.GetAll <ShippingMethod>().OrderBy(sm => sm.Price).ToList());
     }
 }
コード例 #11
0
 /// <summary>
 /// Cheapests the specified source.
 /// </summary>
 /// <param name="source">The source.</param>
 /// <returns></returns>
 public ShippingMethod CheapestShipping()
 {
     using (var context = new TreeMonDbContext(this._connectionKey))
     {
         return(context.GetAll <ShippingMethod>().OrderBy(sm => sm.Price).FirstOrDefault());
     }
 }
コード例 #12
0
 public ShoppingCartItem GetCartItem(string cartItemUUID)
 {
     using (var context = new TreeMonDbContext(this._connectionKey))
     {
         return(context.GetAll <ShoppingCartItem>().FirstOrDefault(w => w.UUID == cartItemUUID));
     }
 }
コード例 #13
0
        public void Api_SideAffectController_DeleteSideAffect()
        {
            TreeMonDbContext context = new TreeMonDbContext(connectionKey);
            SideAffect       mdl     = new SideAffect();

            mdl.AccountUUID = SystemFlag.Default.Account;
            mdl.Name        = Guid.NewGuid().ToString("N");
            mdl.UUID        = Guid.NewGuid().ToString("N");
            mdl.DateCreated = DateTime.Now;

            Assert.IsTrue(context.Insert <SideAffect>(mdl));
            string postData = JsonConvert.SerializeObject(mdl);

            Task.Run(async() =>
            {
                ServiceResult res = await TestHelper.SentHttpRequest("POST", "api/SideAffects/Delete", postData, _ownerAuthToken);

                Assert.IsNotNull(res);
                Assert.AreEqual(res.Code, 200);

                SideAffect dbSideAffect = context.GetAll <SideAffect>().Where(w => w.Name == mdl.Name).FirstOrDefault();
                Assert.IsNotNull(dbSideAffect);
                Assert.IsTrue(dbSideAffect.Deleted);
                //Assert.IsNull(dbSideAffect);
            }).GetAwaiter().GetResult();
        }
コード例 #14
0
        public bool Insert(LogEntry l)
        {
            if (UseFileLogging)
            {
                _fileLog.LogFile(PathToFileLog);
                Exception ex = _fileLog.Write(
                    l.LogDate.ToString() + "," +
                    l.Level + "," +
                    l.StackTrace + "," +
                    l.Source + "," +
                    l.InnerException);

                if (ex == null)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            using (var context = new TreeMonDbContext(_dbConnectionKey))
            {
                return(context.Insert <LogEntry>(l));
            }
        }
コード例 #15
0
        public async void TreeMonDbContext_Context_Insert_Async()
        {
            TreeMonDbContext context = new TreeMonDbContext("MSSQL_TEST");
            int res = await context.InsertAsync <User>(_userAsync);

            Assert.IsTrue(res > 0);
        }
コード例 #16
0
        /// <summary>
        /// Validate param not implemented
        /// </summary>
        /// <param name="n"></param>
        /// <param name="validateFirst"></param>
        /// <returns></returns>
        public ServiceResult Insert(INode n, bool validateFirst = true)
        {
            if (n == null)
            {
                return(ServiceResponse.Error("No record sent."));
            }

            n.Initialize("", "", 5);

            var s = (EmailLog)n;

            using (var context = new TreeMonDbContext(_dbConnectionKey))
            {
                //if (validateFirst)
                //{
                //    EmailLog dbU = context.GetAll<EmailLog>().FirstOrDefault(wu => (wu.Name?.EqualsIgnoreCase(s.Name) ?? false) && wu.AccountUUID == s.AccountUUID);
                //    if (dbU != null)
                //        return ServiceResponse.Error("Email log already exists.");
                //}

                if (context.Insert <EmailLog>(s))
                {
                    return(ServiceResponse.OK("", s));
                }
            }
            return(ServiceResponse.Error("An error occurred inserting EmailLog "));
        }
コード例 #17
0
        public void TreeMonDbContext_Context_Transaction_Succeed()
        {
            User    u = TestHelper.GenerateTestUser("ALPHA");
            Account a = new Account()
            {
                Name = "ALPHA_ACCOUNT", DateCreated = DateTime.Now
            };

            TreeMonDbContext context = new TreeMonDbContext("MSSQL_TEST");


            using (var dbContext = new DbContext(context.ConnectionKey))
            {
                using (var contextTransaction = context.Database.BeginTransaction())
                {
                    try
                    {
                        Assert.IsTrue(context.Insert <User>(u), "Failed to insert user.");
                        Assert.IsTrue(context.Insert <Account>(a), "Failed to insert account.");
                        contextTransaction.Commit();
                    }
                    catch (Exception ex)
                    {
                        contextTransaction.Rollback();
                        Assert.Fail(ex.Message);
                    }
                }
            }

            Assert.AreEqual(context.Get <User>(u.Id).Name, "ALPHA");
            Assert.AreEqual(context.Get <Account>(a.Id).Name, "ALPHA_ACCOUNT");
        }
コード例 #18
0
 public List <EmailLog> GetEmailLogs(string accountUUID, bool deleted = false)
 {
     using (var context = new TreeMonDbContext(_dbConnectionKey))
     {
         return(context.GetAll <EmailLog>().Where(sw => (sw.AccountUUID == accountUUID) && sw.Deleted == deleted).OrderBy(ob => ob.DateSent).ToList());
     }
 }
コード例 #19
0
        public void TreeMonDbContext_Context_TransactionScope_Succeed()
        {
            User    u = TestHelper.GenerateTestUser("CHARLIE");
            Account a = new Account()
            {
                Name = "CHARLIE_ACCOUNT", DateCreated = DateTime.Now
            };

            TreeMonDbContext contextUser    = new TreeMonDbContext("MSSQL_TEST");
            TreeMonDbContext contextAccount = new TreeMonDbContext("MSSQL_TEST");

            using (var scope = new TransactionScope())
            {
                try
                {
                    contextUser.Insert <User>(u);
                    contextAccount.Insert <Account>(a);
                    scope.Complete();
                }
                catch (Exception)
                {
                }
            }

            Assert.AreEqual(contextUser.Get <User>(u.Id).Name, "CHARLIE");
            Assert.AreEqual(contextAccount.Get <Account>(a.Id).Name, "CHARLIE_ACCOUNT");
        }
コード例 #20
0
        public ServiceResult Insert(SymptomLog s, bool validateFirst = true)
        {
            using (var context = new TreeMonDbContext(this._connectionKey))
            {
                if (validateFirst)
                {
                    SymptomLog dbU = context.GetAll <SymptomLog>().FirstOrDefault(wu => wu.Name.EqualsIgnoreCase(s.Name) && wu.AccountUUID == s.AccountUUID);

                    if (dbU != null)
                    {
                        return(ServiceResponse.Error("SymptomLog already exists."));
                    }
                }
                s.UUID     = Guid.NewGuid().ToString("N");
                s.UUIDType = "SymptomLog";

                if (!this.DataAccessAuthorized(s, "POST", false))
                {
                    return(ServiceResponse.Error("You are not authorized this action."));
                }

                if (context.Insert <SymptomLog>(s))
                {
                    return(ServiceResponse.OK("", s));
                }
            }
            return(ServiceResponse.Error("An error occurred inserting SymptomLog " + s.Name));
        }
コード例 #21
0
        public UserSession GetSession(string authToken, bool validate = true)
        {
            try {
                using (var context = new TreeMonDbContext(_connectionKey))
                {
                    if (!validate)
                    {
                        return(context.GetAll <UserSession>().OrderByDescending(ob => ob.Issued).FirstOrDefault(w => w.AuthToken == authToken));
                    }

                    if (!IsValidSession(authToken))
                    {
                        return(null);
                    }

                    return(context.GetAll <UserSession>().OrderByDescending(ob => ob.Issued).FirstOrDefault(w => w.AuthToken == authToken));
                }
            }
            catch (Exception ex)
            {
                _logger.InsertError(ex.Message, "SessionManager", "GetSession");
                Debug.Assert(false, ex.Message);
            }
            return(null);
        }
コード例 #22
0
        /// <summary>
        /// Returns accounts the users is not a member of
        /// </summary>
        /// <param name="userUUID"></param>
        /// <returns></returns>
        public List <Account> GetNonMemberAccounts(string userUUID)
        {
            string            sql = @"SELECT
                            Accounts.Id,
                            Accounts.ParentId,
                            Accounts.UUID,
                            Accounts.UUIDType,
                            Accounts.UUParentID,
                            Accounts.UUParentIDType,
                            Accounts.Name,
                            Accounts.Status,
                            UsersInAccount.MemberUUID
                            FROM
                            Accounts ,
                            UsersInAccount
                            WHERE
                            UsersInAccount.MemberUUID <> @MEMBERID OR
                            Accounts.UUID <> '' and Accounts.Deleted = 0";
            DynamicParameters p   = new DynamicParameters();

            p.Add("@MEMBERID", userUUID);

            List <Account> userAccounts;

            using (var context = new TreeMonDbContext(this._connectionKey))
            {
                userAccounts = context.Select <Account>(sql, p).ToList();
            }
            //if (!this.DataAccessAuthorized(u, "GET", false)) return ServiceResponse.Error("You are not authorized this action.");
            return(userAccounts);
        }
コード例 #23
0
        public ServiceResult Insert(Credential c, bool validateFirst = true)
        {
            if (!this.DataAccessAuthorized(c, "POST", false))
            {
                return(ServiceResponse.Error("You are not authorized this action."));
            }

            using (var context = new TreeMonDbContext(this._connectionKey))
            {
                if (validateFirst)
                {
                    Credential dbU = context.GetAll <Credential>().FirstOrDefault(wu => wu.Name.EqualsIgnoreCase(c.Name) && wu.AccountUUID == c.AccountUUID);

                    if (dbU != null)
                    {
                        return(ServiceResponse.Error("Credential already exists."));
                    }
                }

                if (string.IsNullOrWhiteSpace(c.UUID))
                {
                    c.UUID = Guid.NewGuid().ToString("N");
                }

                c.UUIDType = "Credential";
                if (context.Insert <Credential>(c))
                {
                    return(ServiceResponse.OK("", c));
                }
            }
            return(ServiceResponse.Error("An error occurred inserting credential " + c.Name));
        }
コード例 #24
0
        public List <User> GetAccountMembers(string accountUUID, bool clearSensitiveData = true)
        {
            List <User> accountMembers;

            using (var context = new TreeMonDbContext(this._connectionKey))
            {
                accountMembers = context.GetAll <AccountMember>().Where(w => w.AccountUUID == accountUUID)
                                 .Join(
                    context.GetAll <User>()
                    .Where(w => w.Deleted == false),
                    acct => acct.MemberUUID,
                    users => users.UUID,
                    (acct, users) => new { acct, users }
                    )
                                 .Select(s => s.users)
                                 .ToList();
            }
            if (accountMembers == null)
            {
                return(new List <User>());
            }

            if (clearSensitiveData)
            {
                accountMembers = new UserManager(this._connectionKey, SessionKey).ClearSensitiveData(accountMembers);
            }

            //if (!this.DataAccessAuthorized(u, "GET", false)) return ServiceResponse.Error("You are not authorized this action.");
            return(accountMembers);
        }
コード例 #25
0
        public ServiceResult Update(INode n)
        {
            if (n == null)
            {
                return(ServiceResponse.Error("No record sent."));
            }

            var p = (Vendor)n;

            if (!this.DataAccessAuthorized(p, "PATCH", false))
            {
                return(ServiceResponse.Error("You are not authorized this action."));
            }

            ServiceResult res = ServiceResponse.OK();

            using (var context = new TreeMonDbContext(this._connectionKey))
            {
                if (context.Update <Vendor>(p) == 0)
                {
                    return(ServiceResponse.Error(p.Name + " failed to update. "));
                }
            }
            return(res);
        }
コード例 #26
0
        /// <summary>
        /// Gets all users not in the account
        /// </summary>
        /// <param name="accountUUID"></param>
        /// <param name="clearSensitiveData"></param>
        /// <returns></returns>
        public List <User> GetAccountNonMembers(string accountUUID, bool clearSensitiveData = true)
        {
            List <User> nonMembers;

            using (var context = new TreeMonDbContext(this._connectionKey))
            {
                //this query is from a bug, just kludge it in for now. backlog fix this damn mess.
                nonMembers = context.GetAll <User>().Where(w => w.Deleted == false && string.IsNullOrWhiteSpace(w.AccountUUID) == true).ToList();

                nonMembers.AddRange(context.GetAll <AccountMember>().Where(w => w.AccountUUID != accountUUID)
                                    .Join(
                                        context.GetAll <User>()
                                        .Where(w => w.Deleted == false),
                                        acct => acct.MemberUUID,
                                        users => users.UUID,
                                        (acct, users) => new { acct, users }
                                        )
                                    .Select(s => s.users)
                                    .ToList());
            }
            List <User> members = GetAccountMembers(accountUUID, clearSensitiveData);

            if (members != null)
            {
                nonMembers = nonMembers.Except(members).ToList();
            }

            //if (!this.DataAccessAuthorized(u, "GET", false)) return ServiceResponse.Error("You are not authorized this action.");
            return(nonMembers);
        }
コード例 #27
0
        public ServiceResult Insert(INode n, bool validateFirst = true)
        {
            if (n == null)
            {
                return(ServiceResponse.Error("Value is empty."));
            }

            n.Initialize(this._requestingUser.UUID, this._requestingUser.AccountUUID, this._requestingUser.RoleWeight);

            var s = (UnitOfMeasure)n;

            using (var context = new TreeMonDbContext(this._connectionKey))
            {
                if (validateFirst)
                {
                    UnitOfMeasure dbU = context.GetAll <UnitOfMeasure>().FirstOrDefault(wu => (wu.Name?.EqualsIgnoreCase(s.Name) ?? false) && wu.AccountUUID == s.AccountUUID);

                    if (dbU != null)
                    {
                        return(ServiceResponse.Error("UnitOfMeasure already exists."));
                    }
                }

                if (context.Insert <UnitOfMeasure>(s))
                {
                    return(ServiceResponse.OK("", s));
                }
            }
            return(ServiceResponse.Error("An error occurred inserting UnitOfMeasure " + s.Name));
        }
コード例 #28
0
        public ServiceResult Insert(INode n, bool validateFirst = true)
        {
            if (n == null)
            {
                return(ServiceResponse.Error("Invalid account data."));
            }

            if (!this.DataAccessAuthorized(n, "POST", false))
            {
                return(ServiceResponse.Error("You are not authorized this action."));
            }

            n.Initialize(this._requestingUser.UUID, this._requestingUser.AccountUUID, this._requestingUser.RoleWeight);

            var a = (Account)n;

            using (var context = new TreeMonDbContext(this._connectionKey))
            {
                if (validateFirst)
                {
                    Account dbU = context.GetAll <Account>().FirstOrDefault(wu => (wu.Name?.EqualsIgnoreCase(a.Name) ?? false) && wu.AccountUUID == a.AccountUUID);

                    if (dbU != null)
                    {
                        return(ServiceResponse.Error("Account already exists."));
                    }
                }

                if (context.Insert <Account>(a))
                {
                    return(ServiceResponse.OK("", a));
                }
            }
            return(ServiceResponse.Error("System error, account was not added."));
        }
コード例 #29
0
ファイル: DoseManager.cs プロジェクト: Itsprettybig/TreeMon
        public ServiceResult Insert(INode n, bool validateFirst = true)
        {
            if (!this.DataAccessAuthorized(n, "POST", false))
            {
                return(ServiceResponse.Error("You are not authorized this action."));
            }

            n.Initialize(this._requestingUser.UUID, this._requestingUser.AccountUUID, this._requestingUser.RoleWeight);

            var s = (DoseLog)n;

            using (var context = new TreeMonDbContext(this._connectionKey))
            {
                if (validateFirst)
                {
                    DoseLog dbU = context.GetAll <DoseLog>().FirstOrDefault(wu => (wu.Name?.EqualsIgnoreCase(s.Name) ?? false) && wu.AccountUUID == s.AccountUUID);

                    if (dbU != null)
                    {
                        return(ServiceResponse.Error("Dose already exists."));
                    }
                }

                if (context.Insert <DoseLog>(s))
                {
                    return(ServiceResponse.OK("", s));
                }
            }
            return(ServiceResponse.Error("An error occurred inserting Dose " + s.Name));
        }
コード例 #30
0
 public LogEntry Get(int id)
 {
     using (var context = new TreeMonDbContext(_dbConnectionKey))
     {
         return(context.Get <LogEntry>(id));
     }
 }