예제 #1
0
        public OutputData Insert(IInputData input, object instance)
        {
            LogOnData data = instance.Convert <LogOnData>();

            using (UserResolver resolver = new UserResolver(this))
            {
                IUserInfo userInfo = resolver.CheckUserLogOn(data.LogOnName, data.Password, 0);
                if (userInfo == null)
                {
                }

                var           response = WebGlobalVariable.Response;
                CookieOptions options  = new CookieOptions
                {
                    Expires = new DateTimeOffset(DateTime.Now.AddDays(30))
                };
                response.Cookies.Append(COOKIE_NAME, data.LogOnName, options);
                options = new CookieOptions
                {
                    Expires = new DateTimeOffset(JWTUtil.CalcValidTime())
                };
                string token = JWTUtil.CreateEncodingInfo(userInfo);
                response.Cookies.Append(JWTUtil.COOKIE_NAME, token, options);
                //CookieUserInfo cookieInfo = new CookieUserInfo(data, userInfo);
                //cookie = new HttpCookie(RightConst.USER_INFO_COOKIE_NAME, cookieInfo.Encode())
                //{
                //    Expires = GetExpireDate()
                //};
                //response.Cookies.Set(cookie);

                WebSuccessResult result;
                string           retUrl = input.QueryString["RetURL"];
                if (!string.IsNullOrEmpty(retUrl))
                {
                    result = new WebSuccessResult(retUrl);
                }
                else
                {
                    WebAppSetting appSetting = WebAppSetting.WebCurrent;
                    if (string.IsNullOrEmpty(appSetting.MainPath))
                    {
                        result = new WebSuccessResult(appSetting.HomePath);
                    }
                    else
                    {
                        string url     = HttpUtility.UrlEncode(appSetting.HomePath);
                        string mainUrl = UriUtil.AppendQueryString(appSetting.MainPath, "StartUrl=" + url);
                        result = new WebSuccessResult(mainUrl);
                    }
                }

                return(OutputData.CreateToolkitObject(result));
            }
        }
예제 #2
0
        public OutputData Insert(IInputData input, object instance)
        {
            LogOnData data = instance.Convert <LogOnData>();

            using (UserResolver resolver = new UserResolver(this))
            {
                IUserInfo userInfo = resolver.CheckUserLogOn(data.LogOnName, data.Password, 0);
                if (userInfo == null)
                {
                }
                WebGlobalVariable.SessionGbl.AppRight.Initialize(userInfo);

                var        response = WebGlobalVariable.Response;
                HttpCookie cookie   = new HttpCookie(COOKIE_NAME, data.LogOnName)
                {
                    Expires = DateTime.Now.AddDays(30)
                };
                response.Cookies.Set(cookie);
                CookieUserInfo cookieInfo = new CookieUserInfo(data, userInfo);
                cookie = new HttpCookie(RightConst.USER_INFO_COOKIE_NAME, cookieInfo.Encode())
                {
                    Expires = GetExpireDate()
                };
                response.Cookies.Set(cookie);

                WebSuccessResult result;
                var    request = WebGlobalVariable.Request;
                string retUrl  = request.QueryString["RetURL"];
                if (!string.IsNullOrEmpty(retUrl))
                {
                    result = new WebSuccessResult(retUrl);
                }
                else
                {
                    WebAppSetting appSetting = WebAppSetting.WebCurrent;
                    if (string.IsNullOrEmpty(appSetting.MainPath))
                    {
                        result = new WebSuccessResult(appSetting.HomePath);
                    }
                    else
                    {
                        string url     = HttpUtility.UrlEncode(appSetting.HomePath);
                        string mainUrl = UriUtil.AppendQueryString(appSetting.MainPath, "StartUrl=" + url);
                        result = new WebSuccessResult(mainUrl);
                    }
                }

                return(OutputData.CreateToolkitObject(result));
            }
        }
        public OutputData Insert(IInputData input, object instance)
        {
            LogOnData data = instance.Convert<LogOnData>();
            using (UserResolver resolver = new UserResolver(this))
            {
                IUserInfo userInfo = resolver.CheckUserLogOn(data.LogOnName, data.Password, 0);
                if (userInfo == null)
                {
                }
                WebGlobalVariable.SessionGbl.AppRight.Initialize(userInfo);

                var response = WebGlobalVariable.Response;
                HttpCookie cookie = new HttpCookie(COOKIE_NAME, data.LogOnName)
                {
                    Expires = DateTime.Now.AddDays(30)
                };
                response.Cookies.Set(cookie);
                CookieUserInfo cookieInfo = new CookieUserInfo(data, userInfo);
                cookie = new HttpCookie(RightConst.USER_INFO_COOKIE_NAME, cookieInfo.Encode())
                {
                    Expires = GetExpireDate()
                };
                response.Cookies.Set(cookie);

                WebSuccessResult result;
                var request = WebGlobalVariable.Request;
                string retUrl = request.QueryString["RetURL"];
                if (!string.IsNullOrEmpty(retUrl))
                    result = new WebSuccessResult(retUrl);
                else
                {
                    WebAppSetting appSetting = WebAppSetting.WebCurrent;
                    if (string.IsNullOrEmpty(appSetting.MainPath))
                        result = new WebSuccessResult(appSetting.HomePath);
                    else
                    {
                        string url = HttpUtility.UrlEncode(appSetting.HomePath);
                        string mainUrl = UriUtil.AppendQueryString(appSetting.MainPath, "StartUrl=" + url);
                        result = new WebSuccessResult(mainUrl);
                    }
                }

                return OutputData.CreateToolkitObject(result);
            }
        }
예제 #4
0
        public override OutputData DoAction(IInputData input)
        {
            ImportResultData importResult = ImportUtil.GetResultData(input);

            MetaDataTableResolver resolver = fCreator.CreateObject(this).
                                             Convert <MetaDataTableResolver>();

            using (resolver)
            {
                resolver.Import(importResult.ImportDataSet, input);
                resolver.UpdateDatabase();
            }
            WebSuccessResult result = new WebSuccessResult("CloseDialog")
            {
                AlertMessage = "导入成功"
            };

            return(OutputData.CreateToolkitObject(result));
        }
예제 #5
0
        public IContent WritePage(ISource source, IPageData pageData, OutputData outputData)
        {
            IPageMaker pageMaker = null;

            switch (DataType)
            {
            case ContentDataType.Json:
                pageMaker = new JsonObjectPageMaker();
                break;

            case ContentDataType.Xml:
                pageMaker = new XmlObjectPageMaker(null, null);
                break;

            default:
                TkDebug.ThrowImpossibleCode(this);
                break;
            }
            WebErrorResult error = outputData.Data as WebErrorResult;

            if (error != null)
            {
                return(pageMaker.WritePage(source, pageData, outputData));
            }
            else
            {
                string url = null;
                if (UseRetUrlFirst)
                {
                    url = pageData.QueryString["RetURL"];
                }
                if (string.IsNullOrEmpty(url))
                {
                    url = GetDefaultUrl(source, pageData, outputData);
                }
                WebSuccessResult success = new WebSuccessResult(url)
                {
                    AlertMessage = AlertMessage
                };
                OutputData newData = OutputData.CreateToolkitObject(success);
                return(pageMaker.WritePage(source, pageData, newData));
            }
        }
예제 #6
0
        public IContent WritePage(ISource source, IPageData pageData, OutputData outputData)
        {
            IPageMaker jsonPageMaker = new JsonObjectPageMaker();

            if (outputData.Data is WebErrorResult)
            {
                return(jsonPageMaker.WritePage(source, pageData, outputData));
            }

            ImportResultData resultData = outputData.Data.Convert <ImportResultData>();
            //WebGlobalVariable.Session[ImportResultData.SESSION_KEY] = resultData;

            string url = string.Format(ObjectUtil.SysCulture, "c/import/C{1}/{0}?Key={2}",
                                       pageData.SourceInfo.Source,
                                       resultData.ErrorTable.Rows.Count > 0 ? ImportConst.ERROR_IMPORT : ImportConst.IMPORT,
                                       resultData.Key);
            WebSuccessResult result = new WebSuccessResult(url.AppVirutalPath());

            return(jsonPageMaker.WritePage(source, pageData, OutputData.CreateToolkitObject(result)));
        }