コード例 #1
0
        public long Count(object siteId, string view = null)
        {
            var ss = SiteSettingsUtilities.Get(
                context: Context,
                siteId: siteId.ToLong());

            return(ServerScriptUtilities.Aggregate(
                       context: Context,
                       ss: ss,
                       view: view));
        }
コード例 #2
0
        public string Approval(int id)
        {
            var context = new Context();
            var log     = new SysLogModel(context: context);
            var json    = RegistrationUtilities.Approval(context: context,
                                                         ss: SiteSettingsUtilities.RegistrationsSiteSettings(context: context),
                                                         registrationId: id);

            log.Finish(context: context, responseSize: json.Length);
            return(json);
        }
コード例 #3
0
        public string Create()
        {
            var context = new Context();
            var log     = new SysLogModel(context: context);
            var json    = RegistrationUtilities.Create(
                context: context,
                ss: SiteSettingsUtilities.RegistrationsSiteSettings(context: context));

            log.Finish(context: context, responseSize: json.Length);
            return(json);
        }
コード例 #4
0
        private void InitializeSession()
        {
            Sessions.Set("StartTime", DateTime.Now);
            Sessions.Set("LastAccessTime", Sessions.Get <DateTime>("StartTime"));
            Sessions.Set("SessionGuid", Strings.NewGuid());
            if (Sessions.LoggedIn())
            {
                //TODO Ldap
                //if (Authentications.Windows())
                //{
                //    Ldap.UpdateOrInsert(HttpContext.Current.User.Identity.Name);
                //}
                var userId   = Sessions.UserId();
                var tenantId = Rds.ExecuteScalar_int(statements:
                                                     Rds.SelectUsers(
                                                         column: Rds.UsersColumn().TenantId(),
                                                         where : Rds.UsersWhere().UserId(userId)));
                Sessions.SetTenantId(tenantId);
                StatusesInitializer.Initialize(tenantId);
                var userModel = new UserModel(
                    SiteSettingsUtilities.UsersSiteSettings(),
                    userId);
                if (userModel.AccessStatus == Databases.AccessStatuses.Selected &&
                    !userModel.Disabled)
                {
                    userModel.SetSession();
                }
                else
                {
                    Authentications.SignOut();
                    SetAnonymouseSession();
                    var request = AspNetCoreHttpContext.Current.Request;
                    var url     = $"{request.Scheme}://{request.Host.Value}{request.Path.Value}{request.QueryString.Value}";
                    AspNetCoreHttpContext.Current.Response.Redirect(url);
                }
            }
            else
            {
                SetAnonymouseSession();
            }

            var @base = AspNetCoreHttpContext.Current.Request.PathBase;

            switch (@base.Value.ToLower())
            {
            case "~/backgroundtasks/do":
            case "~/reminderschedules/remind":
                break;

            default:
                new SysLogModel().Finish();
                break;
            }
        }
コード例 #5
0
        public string DeleteComment(Context context, int id)
        {
            var log  = new SysLogModel(context: context);
            var json = RegistrationUtilities.Update(
                context: context,
                ss: SiteSettingsUtilities.RegistrationsSiteSettings(context: context),
                registrationId: id);

            log.Finish(context: context, responseSize: json.Length);
            return(json);
        }
コード例 #6
0
        public string Update(Context context)
        {
            var log  = new SysLogModel(context: context);
            var json = TenantUtilities.Update(
                context: context,
                ss: SiteSettingsUtilities.TenantsSiteSettings(context: context),
                tenantId: context.TenantId);

            log.Finish(context: context, responseSize: json.Length);
            return(json);
        }
コード例 #7
0
        /// <summary>
        /// Fixed:
        /// </summary>
        public string DeleteMailAddresses(Context context, int id)
        {
            var log  = new SysLogModel(context: context);
            var json = UserUtilities.DeleteMailAddresses(
                context: context,
                ss: SiteSettingsUtilities.UsersSiteSettings(context: context),
                userId: id);

            log.Finish(context: context, responseSize: json.Length);
            return(json);
        }
コード例 #8
0
        public string Update(Context context, int id)
        {
            var log  = new SysLogModel(context: context);
            var json = GroupUtilities.Update(
                context: context,
                ss: SiteSettingsUtilities.GroupsSiteSettings(context: context),
                groupId: id);

            log.Finish(context: context, responseSize: json.Length);
            return(json);
        }
コード例 #9
0
        public string History(Context context, int id)
        {
            var log  = new SysLogModel(context: context);
            var json = DeptUtilities.History(
                context: context,
                ss: SiteSettingsUtilities.DeptsSiteSettings(context: context),
                deptId: id);

            log.Finish(context: context, responseSize: json.Length);
            return(json);
        }
コード例 #10
0
        public string CreateApiKey()
        {
            var context = new Context();
            var log     = new SysLogModel(context: context);
            var json    = UserUtilities.CreateApiKey(
                context: context,
                ss: SiteSettingsUtilities.UsersSiteSettings(context: context));

            log.Finish(context: context, responseSize: json.Length);
            return(json);
        }
コード例 #11
0
        /// <summary>
        /// Fixed:
        /// </summary>
        public string Login(Context context)
        {
            var log  = new SysLogModel(context: context);
            var html = RegistrationUtilities.Login(
                context: context,
                ss: SiteSettingsUtilities.RegistrationsSiteSettings(context: context));

            log.Finish(context: context);
            log.Finish(context: context, responseSize: html.Length);
            return(html);
        }
コード例 #12
0
        public string BulkDelete(long id)
        {
            var context = new Context();
            var log     = new SysLogModel(context: context);
            var json    = UserUtilities.BulkDelete(
                context: context,
                ss: SiteSettingsUtilities.UsersSiteSettings(context: context));

            log.Finish(context: context, responseSize: json.Length);
            return(json);
        }
コード例 #13
0
        public string OpenExportSelectorDialog()
        {
            var context = new Context();
            var log     = new SysLogModel(context: context);
            var json    = UserUtilities.OpenExportSelectorDialog(
                context: context,
                ss: SiteSettingsUtilities.UsersSiteSettings(context: context));

            log.Finish(context: context, responseSize: json.Length);
            return(json);
        }
コード例 #14
0
        public string UpdateTenantImage(Context context, IHttpPostedFile[] file)
        {
            var ss          = SiteSettingsUtilities.TenantsSiteSettings(context);
            var tenantModel = new TenantModel(context, ss).Get(context, ss);
            var log         = new SysLogModel(context: context);
            var json        = BinaryUtilities.UpdateTenantImage(
                context: context,
                tenantModel: tenantModel);

            log.Finish(context: context);
            return(json);
        }
コード例 #15
0
        public ActionResult New(long id = 0)
        {
            var context = new Context();
            var log     = new SysLogModel(context: context);
            var html    = UserUtilities.EditorNew(
                context: context,
                ss: SiteSettingsUtilities.UsersSiteSettings(context: context));

            ViewBag.HtmlBody = html;
            log.Finish(context: context, responseSize: html.Length);
            return(View());
        }
コード例 #16
0
        public string History(int id)
        {
            var context = new Context();
            var log     = new SysLogModel(context: context);
            var json    = UserUtilities.History(
                context: context,
                ss: SiteSettingsUtilities.UsersSiteSettings(context: context),
                userId: id);

            log.Finish(context: context, responseSize: json.Length);
            return(json);
        }
コード例 #17
0
 /// <summary>
 /// Fixed:
 /// </summary>
 public Error.Types ChangePassword()
 {
     PasswordExpirationPeriod();
     Rds.ExecuteNonQuery(statements: Rds.UpdateUsers(
                             where : Rds.UsersWhereDefault(this),
                             param: Rds.UsersParam()
                             .Password(ChangedPassword)
                             .PasswordExpirationTime(PasswordExpirationTime.Value)
                             .PasswordChangeTime(raw: "getdate()")));
     Get(SiteSettingsUtilities.UsersSiteSettings());
     return(Error.Types.None);
 }
コード例 #18
0
        public static string Editor(SiteSettings ss, int groupId, bool clearSessions)
        {
            var groupModel = new GroupModel(
                SiteSettingsUtilities.GroupsSiteSettings(),
                groupId: groupId,
                clearSessions: clearSessions,
                methodType: BaseModel.MethodTypes.Edit);

            groupModel.SwitchTargets = GetSwitchTargets(
                SiteSettingsUtilities.GroupsSiteSettings(), groupModel.GroupId);
            return(Editor(ss, groupModel));
        }
コード例 #19
0
        public static string Editor(SiteSettings ss, int deptId, bool clearSessions)
        {
            var deptModel = new DeptModel(
                SiteSettingsUtilities.DeptsSiteSettings(),
                deptId: deptId,
                clearSessions: clearSessions,
                methodType: BaseModel.MethodTypes.Edit);

            deptModel.SwitchTargets = GetSwitchTargets(
                SiteSettingsUtilities.DeptsSiteSettings(), deptModel.DeptId);
            return(Editor(ss, deptModel));
        }
コード例 #20
0
        public ContentResult Create(Context context)
        {
            var log    = new SysLogModel(context: context);
            var result = context.Authenticated
                ? UserUtilities.CreateByApi(
                context: context,
                ss: SiteSettingsUtilities.ApiUsersSiteSettings(context))
                : ApiResults.Unauthorized(context: context);

            log.Finish(context: context, responseSize: result.Content.Length);
            return(result);
        }
コード例 #21
0
        /// <summary>
        /// Fixed:
        /// </summary>
        public static string Send(Context context, string reference, long id)
        {
            var ss = SiteSettingsUtilities.GetByReference(
                context: context,
                reference: reference,
                referenceId: id);

            if (context.ContractSettings.Mail == false)
            {
                return(Error.Types.Restricted.MessageJson(context: context));
            }
            var outgoingMailModel = new OutgoingMailModel(
                context: context,
                reference: reference,
                referenceId: id);
            var invalid = OutgoingMailValidators.OnSending(
                context: context,
                ss: ss,
                outgoingMailModel: outgoingMailModel);

            switch (invalid.Type)
            {
            case Error.Types.None:
                break;

            case Error.Types.BadMailAddress:
            case Error.Types.ExternalMailAddress:
                return(invalid.MessageJson(context: context));

            default:
                return(invalid.MessageJson(context: context));
            }
            var errorData = outgoingMailModel.Send(
                context: context,
                ss: ss);

            return(errorData.Type.Has()
                ? errorData.MessageJson(context: context)
                : new OutgoingMailsResponseCollection(outgoingMailModel)
                   .CloseDialog()
                   .ClearFormData()
                   .Html("#OutgoingMailDialog", string.Empty)
                   .Val("#OutgoingMails_Title", string.Empty)
                   .Val("#OutgoingMails_Body", string.Empty)
                   .Prepend(
                       "#OutgoingMailsForm",
                       new HtmlBuilder().OutgoingMailListItem(
                           context: context,
                           ss: ss,
                           outgoingMailModel: outgoingMailModel))
                   .Message(Messages.MailTransmissionCompletion(context: context))
                   .ToJson());
        }
コード例 #22
0
        public string DeleteComment(int id)
        {
            var context = new Context();
            var log     = new SysLogModel(context: context);
            var json    = DeptUtilities.Update(
                context: context,
                ss: SiteSettingsUtilities.DeptsSiteSettings(context: context),
                deptId: id);

            log.Finish(context: context, responseSize: json.Length);
            return(json);
        }
コード例 #23
0
        public string DeleteTenantImage(IContext context)
        {
            var ss          = SiteSettingsUtilities.TenantsSiteSettings(context);
            var tenantModel = new TenantModel(context, ss).Get(context, ss);
            var log         = new SysLogModel(context: context);
            var json        = BinaryUtilities.DeleteTenantImage(
                context: context,
                tenantModel: tenantModel);

            log.Finish(context: context);
            return(json);
        }
コード例 #24
0
        public ContentResult Get(Context context, int id)
        {
            var log    = new SysLogModel(context: context);
            var result = context.Authenticated
                ? DeptUtilities.GetByApi(
                context: context,
                ss: SiteSettingsUtilities.ApiDeptsSiteSettings(context),
                deptId: id)
                : ApiResults.Unauthorized(context: context);

            log.Finish(context: context, responseSize: result.Content.Length);
            return(result);
        }
コード例 #25
0
            private decimal CreateAggregate(object siteId, string columnName, string view, Sqls.Functions function)
            {
                var ss = SiteSettingsUtilities.Get(
                    context: Context,
                    siteId: siteId.ToLong());

                return(ServerScriptUtilities.Aggregate(
                           context: Context,
                           ss: ss,
                           view: view,
                           columnName: columnName,
                           function: function));
            }
コード例 #26
0
ファイル: Saml.cs プロジェクト: sooxwq/Implem.Pleasanter
        public static void RegisterSamlConfiguration()
        {
            if (Parameters.Authentication.Provider != "SAML")
            {
                return;
            }
            var context = new Context(request: false, sessionStatus: false, sessionData: false, user: false);

            foreach (var tenant in new TenantCollection(context, SiteSettingsUtilities.TenantsSiteSettings(context)))
            {
                SetIdpConfiguration(context, tenant.TenantId, true);
            }
        }
コード例 #27
0
        public ActionResult Login()
        {
            var context = new Context();
            var log     = new SysLogModel(context: context);
            var html    = RegistrationUtilities.Login(
                context: context,
                ss: SiteSettingsUtilities.RegistrationsSiteSettings(context: context));

            log.Finish(context: context);
            ViewBag.HtmlBody = html;
            log.Finish(context: context, responseSize: html.Length);
            return(View());
        }
コード例 #28
0
        public FileContentResult TenantImageLogo(Context context)
        {
            var log = new SysLogModel(context: context);

            var(bytes, contentType) = BinaryUtilities.TenantImageLogo(
                context: context,
                tenantModel: new TenantModel(
                    context: context,
                    ss: SiteSettingsUtilities.TenantsSiteSettings(context)));
            log.Finish(
                context: context,
                responseSize: bytes.Length);
            return(new FileContentResult(bytes, contentType));
        }
コード例 #29
0
 /// <summary>
 /// Fixed:
 /// </summary>
 private static void Remind(Context context, DataRow dataRow)
 {
     context = context.CreateContext(
         tenantId: dataRow.Int("TenantId"),
         userId: dataRow.Int("Updator"),
         deptId: dataRow.Int("DeptId"));
     SiteSettingsUtilities.Get(
         context: context,
         siteId: dataRow.Long("SiteId"),
         setSiteIntegration: true)?
     .Remind(
         context: context,
         idList: dataRow.Int("Id").ToSingleList());
 }
コード例 #30
0
 private static UserModel GetUser(Context context)
 {
     return(new UserModel(
                context: context,
                ss: SiteSettingsUtilities.UsersSiteSettings(context: context),
                dataRow: Rds.ExecuteTable(
                    context: context,
                    statements: Rds.SelectUsers(
                        column: Rds.UsersDefaultColumns(),
                        join: Rds.UsersJoinDefault(),
                        where : Rds.UsersWhere().LoginId(context.LoginId)))
                .AsEnumerable()
                .FirstOrDefault()));
 }