Exemplo n.º 1
0
        public Error.Types Create(
            SiteSettings ss,
            RdsUser rdsUser           = null,
            Sqls.TableTypes tableType = Sqls.TableTypes.Normal,
            SqlParamCollection param  = null,
            bool paramAll             = false,
            bool get = true)
        {
            PasswordExpirationPeriod();
            var statements = CreateStatements(ss, tableType, param, paramAll);

            try
            {
                var newId = Rds.ExecuteScalar_int(
                    transactional: true, statements: statements.ToArray());
                UserId = newId != 0 ? newId : UserId;
            }
            catch (System.Data.SqlClient.SqlException e)
            {
                if (e.Number == 2601)
                {
                    return(Error.Types.LoginIdAlreadyUse);
                }
                else
                {
                    throw;
                }
            }
            if (get)
            {
                Get(ss);
            }
            return(Error.Types.None);
        }
Exemplo n.º 2
0
        public Error.Types UpdateOrCreate(
            Context context,
            SiteSettings ss,
            RdsUser rdsUser          = null,
            SqlWhereCollection where = null,
            SqlParamCollection param = null)
        {
            SetBySession(context: context);
            var statements = new List <SqlStatement>
            {
                Rds.InsertItems(
                    setIdentity: true,
                    param: Rds.ItemsParam()
                    .ReferenceType("Wikis")
                    .SiteId(SiteId)
                    .Title(Title.DisplayValue)),
                Rds.UpdateOrInsertWikis(
                    where : where ?? Rds.WikisWhereDefault(this),
                    param: param ?? Rds.WikisParamDefault(
                        context: context, wikiModel: this, setDefault: true))
            };
            var response = Rds.ExecuteScalar_response(
                context: context,
                transactional: true,
                selectIdentity: true,
                statements: statements.ToArray());

            WikiId = (response.Identity ?? WikiId).ToLong();
            Get(context: context, ss: ss);
            Libraries.Search.Indexes.Create(context, ss, this);
            return(Error.Types.None);
        }
        public Error.Types Update(
            RdsUser rdsUser          = null,
            SqlParamCollection param = null,
            List <SqlStatement> additionalStatements = null,
            bool paramAll = false,
            bool get      = true)
        {
            SetBySession();
            var timestamp  = Timestamp.ToDateTime();
            var statements = new List <SqlStatement>();

            UpdateStatements(statements, timestamp, param, paramAll, additionalStatements);
            var count = Rds.ExecuteScalar_int(
                rdsUser: rdsUser,
                transactional: true,
                statements: statements.ToArray());

            if (count == 0)
            {
                return(Error.Types.UpdateConflicts);
            }
            if (get)
            {
                Get();
            }
            var siteModel = new ItemModel(ReferenceId).GetSite();
            var ss        = SiteSettingsUtilities.Get(siteModel, siteModel.SiteId);

            Libraries.Search.Indexes.Create(ss, ReferenceId, force: true);
            return(Error.Types.None);
        }
Exemplo n.º 4
0
        public Error.Types Update(
            RdsUser rdsUser          = null,
            SqlParamCollection param = null,
            List <SqlStatement> additionalStatements = null,
            bool otherInitValue = false,
            bool get            = true)
        {
            SetBySession();
            var timestamp  = Timestamp.ToDateTime();
            var statements = new List <SqlStatement>();

            UpdateStatements(statements, timestamp, param, otherInitValue, additionalStatements);
            var count = Rds.ExecuteScalar_int(
                rdsUser: rdsUser,
                transactional: true,
                statements: statements.ToArray());

            if (count == 0)
            {
                return(Error.Types.UpdateConflicts);
            }
            if (get)
            {
                Get();
            }
            return(Error.Types.None);
        }
Exemplo n.º 5
0
 public void UpdateRelatedRecords(
     SiteSettings ss,
     RdsUser rdsUser          = null,
     bool addUpdatedTimeParam = true,
     bool addUpdatorParam     = true,
     bool updateItems         = true)
 {
     Rds.ExecuteNonQuery(
         rdsUser: rdsUser,
         transactional: true,
         statements: new SqlStatement[]
     {
         Rds.UpdateItems(
             where : Rds.ItemsWhere().ReferenceId(WikiId),
             param: Rds.ItemsParam()
             .SiteId(SiteId)
             .Title(WikiUtilities.TitleDisplayValue(ss, this)),
             addUpdatedTimeParam: addUpdatedTimeParam,
             addUpdatorParam: addUpdatorParam,
             _using: updateItems),
         Rds.PhysicalDeleteLinks(
             where : Rds.LinksWhere().SourceId(WikiId)),
         InsertLinks(ss),
         Rds.UpdateSites(
             where : Rds.SitesWhere().SiteId(SiteId),
             param: Rds.SitesParam().Title(Title.Value))
     });
     Libraries.Search.Indexes.Create(ss, this);
 }
Exemplo n.º 6
0
        public Error.Types Update(
            SiteSettings ss,
            IEnumerable <string> permissions = null,
            bool permissionChanged           = false,
            RdsUser rdsUser          = null,
            SqlParamCollection param = null,
            List <SqlStatement> additionalStatements = null,
            bool paramAll = false,
            bool get      = true)
        {
            SetBySession();
            var timestamp  = Timestamp.ToDateTime();
            var statements = new List <SqlStatement>();

            UpdateStatements(statements, timestamp, param, paramAll, additionalStatements);
            var count = Rds.ExecuteScalar_int(
                rdsUser: rdsUser,
                transactional: true,
                statements: statements.ToArray());

            if (count == 0)
            {
                return(Error.Types.UpdateConflicts);
            }
            if (get)
            {
                Get(ss);
            }
            SiteInfo.Reflesh();
            return(Error.Types.None);
        }
Exemplo n.º 7
0
        public Error.Types UpdateOrCreate(
            Context context,
            SiteSettings ss,
            RdsUser rdsUser          = null,
            SqlWhereCollection where = null,
            SqlParamCollection param = null)
        {
            SetBySession(context: context);
            var statements = new List <SqlStatement>
            {
                Rds.UpdateOrInsertDepts(
                    where : where ?? Rds.DeptsWhereDefault(this),
                    param: param ?? Rds.DeptsParamDefault(
                        context: context, deptModel: this, setDefault: true)),
                StatusUtilities.UpdateStatus(
                    tenantId: context.TenantId,
                    type: StatusUtilities.Types.DeptsUpdated),
            };
            var response = Rds.ExecuteScalar_response(
                context: context,
                transactional: true,
                selectIdentity: true,
                statements: statements.ToArray());

            DeptId = (response.Identity ?? DeptId).ToInt();
            Get(context: context, ss: ss);
            return(Error.Types.None);
        }
Exemplo n.º 8
0
 public void SetBySession(bool empty = false)
 {
     LoginId = HttpContext.Current?.User?.Identity.Name;
     if (HttpContext.Current?.Session != null && !empty)
     {
         TenantId     = HttpContext.Current.Session["TenantId"].ToInt();
         DeptId       = HttpContext.Current.Session["DeptId"].ToInt();
         UserId       = HttpContext.Current.Session["UserId"].ToInt();
         Dept         = SiteInfo.Dept(tenantId: TenantId, deptId: DeptId);
         User         = SiteInfo.User(context: this, userId: UserId);
         Language     = HttpContext.Current.Session["Language"].ToStr();
         Developer    = HttpContext.Current.Session["Developer"].ToBool();
         TimeZoneInfo = HttpContext.Current.Session["TimeZoneInfo"] as TimeZoneInfo;
         RdsUser      = HttpContext.Current?.Session?["RdsUser"] as RdsUser;
         UserSettings = HttpContext.Current.Session["UserSettings"]?
                        .ToString()
                        .Deserialize <UserSettings>()
                        ?? new UserSettings();
         HasPrivilege = HttpContext.Current.Session["HasPrivilege"].ToBool();
         Controller   = GetController();
         Action       = GetAction();
         Id           = GetId();
         SetTenantCaches();
     }
 }
Exemplo n.º 9
0
        public Error.Types Update(
            SiteSettings ss,
            IEnumerable <string> permissions = null,
            bool permissionChanged           = false,
            RdsUser rdsUser          = null,
            SqlParamCollection param = null,
            List <SqlStatement> additionalStatements = null,
            bool otherInitValue = false,
            bool setBySession   = true,
            bool get            = true)
        {
            if (setBySession)
            {
                SetBySession();
            }
            var timestamp  = Timestamp.ToDateTime();
            var statements = new List <SqlStatement>();

            UpdateStatements(statements, timestamp, param, otherInitValue, additionalStatements);
            var response = Rds.ExecuteScalar_response(
                rdsUser: rdsUser,
                transactional: true,
                statements: statements.ToArray());

            if (response.Count == 0)
            {
                return(Error.Types.UpdateConflicts);
            }
            if (get)
            {
                Get(ss);
            }
            statements = new List <SqlStatement>
            {
                Rds.PhysicalDeleteGroupMembers(
                    where : Rds.GroupMembersWhere()
                    .GroupId(GroupId))
            };
            Forms.List("CurrentMembersAll").ForEach(data =>
            {
                if (data.StartsWith("Dept,"))
                {
                    statements.Add(Rds.InsertGroupMembers(
                                       param: Rds.GroupMembersParam()
                                       .GroupId(GroupId)
                                       .DeptId(data.Split_2nd().ToInt())
                                       .Admin(data.Split_3rd().ToBool())));
                }
                if (data.StartsWith("User,"))
                {
                    statements.Add(Rds.InsertGroupMembers(
                                       param: Rds.GroupMembersParam()
                                       .GroupId(GroupId)
                                       .UserId(data.Split_2nd().ToInt())
                                       .Admin(data.Split_3rd().ToBool())));
                }
            });
            Rds.ExecuteNonQuery(transactional: true, statements: statements.ToArray());
            return(Error.Types.None);
        }
Exemplo n.º 10
0
        public Error.Types UpdateOrCreate(
            SiteSettings ss,
            RdsUser rdsUser          = null,
            SqlWhereCollection where = null,
            SqlParamCollection param = null)
        {
            SetBySession();
            var statements = new List <SqlStatement>
            {
                Rds.InsertItems(
                    selectIdentity: true,
                    param: Rds.ItemsParam()
                    .ReferenceType("Wikis")
                    .SiteId(SiteId)
                    .Title(Title.DisplayValue)),
                Rds.UpdateOrInsertWikis(
                    selectIdentity: true,
                    where : where ?? Rds.WikisWhereDefault(this),
                    param: param ?? Rds.WikisParamDefault(this, setDefault: true))
            };
            var newId = Rds.ExecuteScalar_long(
                rdsUser: rdsUser,
                transactional: true,
                statements: statements.ToArray());

            WikiId = newId != 0 ? newId : WikiId;
            Get(ss);
            Libraries.Search.Indexes.Create(ss, this);
            return(Error.Types.None);
        }
Exemplo n.º 11
0
        public Error.Types Create(
            SiteSettings ss,
            RdsUser rdsUser           = null,
            Sqls.TableTypes tableType = Sqls.TableTypes.Normal,
            SqlParamCollection param  = null,
            bool notice   = false,
            bool paramAll = false)
        {
            var statements = CreateStatements(ss, tableType, param, paramAll);
            var newId      = Rds.ExecuteScalar_long(
                rdsUser: rdsUser,
                transactional: true,
                statements: statements.ToArray());

            WikiId = newId != 0 ? newId : WikiId;
            if (Contract.Notice() && notice)
            {
                CheckNotificationConditions(ss);
                Notice(ss, "Created");
            }
            Get(ss);
            Rds.ExecuteNonQuery(
                rdsUser: rdsUser,
                statements: Rds.UpdateItems(
                    param: Rds.ItemsParam()
                    .Title(WikiUtilities.TitleDisplayValue(ss, this)),
                    where : Rds.ItemsWhere().ReferenceId(WikiId)));
            Libraries.Search.Indexes.Create(ss, this);
            return(Error.Types.None);
        }
Exemplo n.º 12
0
        public Error.Types Create(
            SiteSettings ss,
            RdsUser rdsUser           = null,
            Sqls.TableTypes tableType = Sqls.TableTypes.Normal,
            SqlParamCollection param  = null,
            bool extendedSqls         = true,
            bool notice         = false,
            bool otherInitValue = false,
            bool get            = true)
        {
            var statements = new List <SqlStatement>();

            if (extendedSqls)
            {
                statements.OnCreatingExtendedSqls(SiteId);
            }
            CreateStatements(ss, statements, tableType, param, otherInitValue);
            var response = Rds.ExecuteScalar_response(
                rdsUser: rdsUser,
                transactional: true,
                selectIdentity: true,
                statements: statements.ToArray());

            WikiId = (response.Identity ?? WikiId).ToLong();
            if (Contract.Notice() && notice)
            {
                SetTitle(ss);
                CheckNotificationConditions(ss);
                Notice(ss, "Created");
            }
            if (get)
            {
                Get(ss);
            }
            var fullText = FullText(ss, onCreating: true);

            statements = new List <SqlStatement>();
            statements.Add(Rds.UpdateItems(
                               param: Rds.ItemsParam()
                               .Title(Title.DisplayValue)
                               .FullText(fullText, _using: fullText != null)
                               .SearchIndexCreatedTime(DateTime.Now, _using: fullText != null),
                               where : Rds.ItemsWhere().ReferenceId(WikiId)));
            statements.Add(BinaryUtilities.UpdateReferenceId(ss, WikiId, fullText));
            if (extendedSqls)
            {
                statements.OnCreatedExtendedSqls(SiteId, WikiId);
            }
            Rds.ExecuteNonQuery(
                rdsUser: rdsUser,
                transactional: true,
                statements: statements.ToArray());
            Libraries.Search.Indexes.Create(ss, this);
            if (get && Rds.ExtendedSqls(SiteId, WikiId)?.Any(o => o.OnCreated) == true)
            {
                Get(ss);
            }
            return(Error.Types.None);
        }
Exemplo n.º 13
0
        public Error.Types Update(
            SiteSettings ss,
            IEnumerable <string> permissions = null,
            bool permissionChanged           = false,
            bool extendedSqls                  = true,
            bool synchronizeSummary            = true,
            bool forceSynchronizeSourceSummary = false,
            bool notice              = false,
            RdsUser rdsUser          = null,
            SqlParamCollection param = null,
            List <SqlStatement> additionalStatements = null,
            bool paramAll = false,
            bool get      = true)
        {
            if (Contract.Notice() && notice)
            {
                CheckNotificationConditions(ss, before: true);
            }
            SetBySession();
            var timestamp  = Timestamp.ToDateTime();
            var statements = new List <SqlStatement>();

            if (extendedSqls)
            {
                statements.OnUpdatingExtendedSqls(SiteId, WikiId, timestamp);
            }
            UpdateStatements(statements, timestamp, param, paramAll, additionalStatements);
            if (permissionChanged)
            {
                statements.UpdatePermissions(ss, WikiId, permissions);
            }
            var count = Rds.ExecuteScalar_int(
                rdsUser: rdsUser,
                transactional: true,
                statements: statements.ToArray());

            if (count == 0)
            {
                return(Error.Types.UpdateConflicts);
            }
            if (Contract.Notice() && notice)
            {
                CheckNotificationConditions(ss);
                Notice(ss, "Updated");
            }
            if (get)
            {
                Get(ss);
            }
            UpdateRelatedRecords(ss, extendedSqls);
            if (get && Rds.ExtendedSqls(SiteId, WikiId)?.Any(o => o.OnUpdated) == true)
            {
                Get(ss);
            }
            SiteInfo.Reflesh();
            return(Error.Types.None);
        }
Exemplo n.º 14
0
        public Error.Types Create(
            SiteSettings ss,
            RdsUser rdsUser           = null,
            Sqls.TableTypes tableType = Sqls.TableTypes.Normal,
            SqlParamCollection param  = null,
            bool extendedSqls         = true,
            bool notice   = false,
            bool paramAll = false,
            bool get      = true)
        {
            var statements = new List <SqlStatement>();

            if (extendedSqls)
            {
                statements.OnCreatingExtendedSqls(SiteId, WikiId);
            }
            CreateStatements(statements, ss, tableType, param, paramAll);
            if (extendedSqls)
            {
                statements.OnCreatedExtendedSqls(SiteId, WikiId);
            }
            var newId = Rds.ExecuteScalar_long(
                rdsUser: rdsUser,
                transactional: true,
                statements: statements.ToArray());

            WikiId = newId != 0 ? newId : WikiId;
            if (Contract.Notice() && notice)
            {
                SetTitle(ss);
                CheckNotificationConditions(ss);
                Notice(ss, "Created");
            }
            if (get)
            {
                Get(ss);
            }
            var fullText = FullText(ss, onCreating: true);

            Rds.ExecuteNonQuery(
                rdsUser: rdsUser,
                statements: Rds.UpdateItems(
                    param: Rds.ItemsParam()
                    .Title(Title.DisplayValue)
                    .FullText(fullText, _using: fullText != null)
                    .SearchIndexCreatedTime(DateTime.Now, _using: fullText != null),
                    where : Rds.ItemsWhere().ReferenceId(WikiId)));
            Libraries.Search.Indexes.Create(ss, this);
            return(Error.Types.None);
        }
Exemplo n.º 15
0
        public Error.Types Update(
            SiteSettings ss,
            IEnumerable <string> permissions = null,
            bool permissionChanged           = false,
            RdsUser rdsUser          = null,
            SqlParamCollection param = null,
            bool paramAll            = false)
        {
            SetBySession();
            var statements = UpdateStatements(param, paramAll);
            var count      = Rds.ExecuteScalar_int(
                rdsUser: rdsUser,
                transactional: true,
                statements: statements.ToArray());

            if (count == 0)
            {
                return(Error.Types.UpdateConflicts);
            }
            Get(ss);
            statements = new List <SqlStatement>
            {
                Rds.PhysicalDeleteGroupMembers(
                    where : Rds.GroupMembersWhere()
                    .GroupId(GroupId))
            };
            Forms.List("CurrentMembersAll").ForEach(data =>
            {
                if (data.StartsWith("Dept,"))
                {
                    statements.Add(Rds.InsertGroupMembers(
                                       param: Rds.GroupMembersParam()
                                       .GroupId(GroupId)
                                       .DeptId(data.Split_2nd().ToInt())
                                       .Admin(data.Split_3rd().ToBool())));
                }
                if (data.StartsWith("User,"))
                {
                    statements.Add(Rds.InsertGroupMembers(
                                       param: Rds.GroupMembersParam()
                                       .GroupId(GroupId)
                                       .UserId(data.Split_2nd().ToInt())
                                       .Admin(data.Split_3rd().ToBool())));
                }
            });
            Rds.ExecuteNonQuery(transactional: true, statements: statements.ToArray());
            return(Error.Types.None);
        }
Exemplo n.º 16
0
        public Error.Types Create(
            RdsUser rdsUser           = null,
            Sqls.TableTypes tableType = Sqls.TableTypes.Normal,
            SqlParamCollection param  = null,
            bool paramAll             = false)
        {
            var statements = CreateStatements(tableType, param, paramAll);
            var newId      = Rds.ExecuteScalar_int(
                rdsUser: rdsUser,
                transactional: true,
                statements: statements.ToArray());

            TenantId = newId != 0 ? newId : TenantId;
            Get();
            return(Error.Types.None);
        }
Exemplo n.º 17
0
        public Error.Types Update(
            SiteSettings ss,
            IEnumerable <string> permissions = null,
            bool permissionChanged           = false,
            RdsUser rdsUser          = null,
            SqlParamCollection param = null,
            List <SqlStatement> additionalStatements = null,
            bool paramAll = false,
            bool get      = true)
        {
            SetBySession();
            var timestamp  = Timestamp.ToDateTime();
            var statements = new List <SqlStatement>();

            UpdateStatements(statements, timestamp, param, paramAll, additionalStatements);
            try
            {
                var count = Rds.ExecuteScalar_int(
                    rdsUser: rdsUser,
                    transactional: true,
                    statements: statements.ToArray());
                if (count == 0)
                {
                    return(Error.Types.UpdateConflicts);
                }
            }
            catch (System.Data.SqlClient.SqlException e)
            {
                if (e.Number == 2601)
                {
                    return(Error.Types.LoginIdAlreadyUse);
                }
                else
                {
                    throw;
                }
            }
            if (get)
            {
                Get(ss);
            }
            UpdateMailAddresses();
            SetSiteInfo();
            return(Error.Types.None);
        }
Exemplo n.º 18
0
        public Error.Types Update(
            SiteSettings ss,
            IEnumerable <string> permissions   = null,
            bool permissionChanged             = false,
            bool synchronizeSummary            = true,
            bool forceSynchronizeSourceSummary = false,
            bool notice              = false,
            RdsUser rdsUser          = null,
            SqlParamCollection param = null,
            bool paramAll            = false,
            bool get = true)
        {
            if (Contract.Notice() && notice)
            {
                CheckNotificationConditions(ss, before: true);
            }
            SetBySession();
            var statements = UpdateStatements(param, paramAll);

            if (permissionChanged)
            {
                statements.UpdatePermissions(ss, WikiId, permissions);
            }
            var count = Rds.ExecuteScalar_int(
                rdsUser: rdsUser,
                transactional: true,
                statements: statements.ToArray());

            if (count == 0)
            {
                return(Error.Types.UpdateConflicts);
            }
            if (Contract.Notice() && notice)
            {
                CheckNotificationConditions(ss);
                Notice(ss, "Updated");
            }
            if (get)
            {
                Get(ss);
            }
            UpdateRelatedRecords(ss);
            SiteInfo.Reflesh();
            return(Error.Types.None);
        }
Exemplo n.º 19
0
 public Error.Types Create(
     RdsUser rdsUser = null,
     Sqls.TableTypes tableType = Sqls.TableTypes.Normal,
     SqlParamCollection param = null,
     bool otherInitValue = false,
     bool get = true)
 {
     var statements = new List<SqlStatement>();
     CreateStatements(statements, tableType, param, otherInitValue);
     var response = Rds.ExecuteScalar_response(
         rdsUser: rdsUser,
         transactional: true,
         selectIdentity: true,
         statements: statements.ToArray());
     OutgoingMailId = (response.Identity ?? OutgoingMailId).ToLong();
     if (get) Get();
     return Error.Types.None;
 }
Exemplo n.º 20
0
        public Error.Types Update(
            RdsUser rdsUser          = null,
            SqlParamCollection param = null,
            bool paramAll            = false)
        {
            SetBySession();
            var statements = UpdateStatements(param, paramAll);
            var count      = Rds.ExecuteScalar_int(
                rdsUser: rdsUser,
                transactional: true,
                statements: statements.ToArray());

            if (count == 0)
            {
                return(Error.Types.UpdateConflicts);
            }
            Get();
            return(Error.Types.None);
        }
Exemplo n.º 21
0
        public Error.Types Update(
            Context context,
            SiteSettings ss,
            IEnumerable <string> permissions = null,
            bool permissionChanged           = false,
            RdsUser rdsUser          = null,
            SqlParamCollection param = null,
            List <SqlStatement> additionalStatements = null,
            bool otherInitValue = false,
            bool setBySession   = true,
            bool get            = true)
        {
            if (setBySession)
            {
                SetBySession(context: context);
            }
            var timestamp  = Timestamp.ToDateTime();
            var statements = new List <SqlStatement>();

            UpdateStatements(
                context: context,
                ss: ss,
                statements: statements,
                timestamp: timestamp,
                param: param,
                otherInitValue: otherInitValue,
                additionalStatements: additionalStatements);
            var response = Rds.ExecuteScalar_response(
                context: context,
                transactional: true,
                statements: statements.ToArray());

            if (response.Count == 0)
            {
                return(Error.Types.UpdateConflicts);
            }
            if (get)
            {
                Get(context: context, ss: ss);
            }
            SiteInfo.Reflesh(context: context);
            return(Error.Types.None);
        }
Exemplo n.º 22
0
        public void UpdateRelatedRecords(
            Context context,
            SiteSettings ss,
            bool extendedSqls,
            RdsUser rdsUser          = null,
            bool addUpdatedTimeParam = true,
            bool addUpdatorParam     = true,
            bool updateItems         = true)
        {
            var fullText   = FullText(context, ss: ss);
            var statements = new List <SqlStatement>();

            statements.Add(Rds.UpdateItems(
                               where : Rds.ItemsWhere().ReferenceId(WikiId),
                               param: Rds.ItemsParam()
                               .SiteId(SiteId)
                               .Title(Title.DisplayValue)
                               .FullText(fullText, _using: fullText != null)
                               .SearchIndexCreatedTime(DateTime.Now, _using: fullText != null),
                               addUpdatedTimeParam: addUpdatedTimeParam,
                               addUpdatorParam: addUpdatorParam,
                               _using: updateItems));
            statements.Add(Rds.UpdateSites(
                               where : Rds.SitesWhere().SiteId(SiteId),
                               param: Rds.SitesParam().Title(Title.Value)));
            if (extendedSqls)
            {
                statements.OnUpdatedExtendedSqls(SiteId, WikiId);
            }
            Rds.ExecuteNonQuery(
                context: context,
                transactional: true,
                statements: statements.ToArray());
            if (ss.Sources?.Any() == true)
            {
                ItemUtilities.UpdateTitles(
                    context: context,
                    siteId: SiteId,
                    id: WikiId);
            }
            Libraries.Search.Indexes.Create(context, ss, this);
        }
Exemplo n.º 23
0
        public Error.Types Create(
            RdsUser rdsUser           = null,
            Sqls.TableTypes tableType = Sqls.TableTypes.Normal,
            SqlParamCollection param  = null,
            bool paramAll             = false,
            bool get = true)
        {
            var statements = CreateStatements(tableType, param, paramAll);
            var newId      = Rds.ExecuteScalar_long(
                rdsUser: rdsUser,
                transactional: true,
                statements: statements.ToArray());

            HealthId = newId != 0 ? newId : HealthId;
            if (get)
            {
                Get();
            }
            return(Error.Types.None);
        }
Exemplo n.º 24
0
        public Error.Types Update(
            Context context,
            SiteSettings ss,
            RdsUser rdsUser          = null,
            SqlParamCollection param = null,
            List <SqlStatement> additionalStatements = null,
            bool otherInitValue = false,
            bool setBySession   = true,
            bool get            = true)
        {
            if (setBySession)
            {
                SetBySession(context: context);
            }
            var timestamp  = Timestamp.ToDateTime();
            var statements = new List <SqlStatement>();

            UpdateStatements(
                context: context,
                ss: ss,
                statements: statements,
                timestamp: timestamp,
                param: param,
                otherInitValue: otherInitValue,
                additionalStatements: additionalStatements);
            var response = Rds.ExecuteScalar_response(
                context: context,
                transactional: true,
                statements: statements.ToArray());

            if (response.Count == 0)
            {
                return(Error.Types.UpdateConflicts);
            }
            if (get)
            {
                Get(context: context);
            }
            Libraries.Search.Indexes.Create(context, ss, ReferenceId, force: true);
            return(Error.Types.None);
        }
Exemplo n.º 25
0
 public Error.Types UpdateOrCreate(
     RdsUser rdsUser = null,
     SqlWhereCollection where = null,
     SqlParamCollection param = null)
 {
     SetBySession();
     var statements = new List<SqlStatement>
     {
         Rds.UpdateOrInsertOutgoingMails(
             where: where ?? Rds.OutgoingMailsWhereDefault(this),
             param: param ?? Rds.OutgoingMailsParamDefault(this, setDefault: true))
     };
     var response = Rds.ExecuteScalar_response(
         rdsUser: rdsUser,
         transactional: true,
         selectIdentity: true,
         statements: statements.ToArray());
     OutgoingMailId = (response.Identity ?? OutgoingMailId).ToLong();
     Get();
     return Error.Types.None;
 }
Exemplo n.º 26
0
        public Error.Types Create(
            SiteSettings ss,
            RdsUser rdsUser           = null,
            Sqls.TableTypes tableType = Sqls.TableTypes.Normal,
            SqlParamCollection param  = null,
            bool paramAll             = false,
            bool get = true)
        {
            var statements = CreateStatements(ss, tableType, param, paramAll);
            var newId      = Rds.ExecuteScalar_int(
                rdsUser: rdsUser,
                transactional: true,
                statements: statements.ToArray());

            DeptId = newId != 0 ? newId : DeptId;
            if (get)
            {
                Get(ss);
            }
            return(Error.Types.None);
        }
Exemplo n.º 27
0
        public Error.Types UpdateOrCreate(
            RdsUser rdsUser          = null,
            SqlWhereCollection where = null,
            SqlParamCollection param = null)
        {
            SetBySession();
            var statements = new List <SqlStatement>
            {
                Rds.UpdateOrInsertBinaries(
                    selectIdentity: true,
                    where : where ?? Rds.BinariesWhereDefault(this),
                    param: param ?? Rds.BinariesParamDefault(this, setDefault: true))
            };
            var newId = Rds.ExecuteScalar_long(
                rdsUser: rdsUser,
                transactional: true,
                statements: statements.ToArray());

            BinaryId = newId != 0 ? newId : BinaryId;
            Get();
            return(Error.Types.None);
        }
Exemplo n.º 28
0
        public Error.Types Create(
            RdsUser rdsUser           = null,
            Sqls.TableTypes tableType = Sqls.TableTypes.Normal,
            SqlParamCollection param  = null,
            bool otherInitValue       = false,
            bool get = true)
        {
            var statements = new List <SqlStatement>();

            CreateStatements(statements, tableType, param, otherInitValue);
            var newId = Rds.ExecuteScalar_int(
                rdsUser: rdsUser,
                transactional: true,
                statements: statements.ToArray());

            DemoId = newId != 0 ? newId : DemoId;
            if (get)
            {
                Get();
            }
            return(Error.Types.None);
        }
Exemplo n.º 29
0
        public Error.Types Create(
            RdsUser rdsUser           = null,
            Sqls.TableTypes tableType = Sqls.TableTypes.Normal,
            SqlParamCollection param  = null,
            bool paramAll             = false,
            bool get = true)
        {
            Size = Bin.Length;
            var statements = new List <SqlStatement>();

            CreateStatements(statements, tableType, param, paramAll);
            var newId = Rds.ExecuteScalar_long(
                rdsUser: rdsUser,
                transactional: true,
                statements: statements.ToArray());

            BinaryId = newId != 0 ? newId : BinaryId;
            if (get)
            {
                Get();
            }
            return(Error.Types.None);
        }
Exemplo n.º 30
0
        public Error.Types Update(
            SiteSettings ss,
            IEnumerable <string> permissions = null,
            bool permissionChanged           = false,
            RdsUser rdsUser          = null,
            SqlParamCollection param = null,
            bool paramAll            = false)
        {
            SetBySession();
            var statements = UpdateStatements(param, paramAll);
            var count      = Rds.ExecuteScalar_int(
                rdsUser: rdsUser,
                transactional: true,
                statements: statements.ToArray());

            if (count == 0)
            {
                return(Error.Types.UpdateConflicts);
            }
            Get(ss);
            SiteInfo.Reflesh();
            return(Error.Types.None);
        }