public static Result Create(ref Building building) { List <KeyValuePair <string, string> > postData = new List <KeyValuePair <string, string> >(); JsonPlan plan = new JsonPlan { creates = new List <JsonCreate> { new JsonCreate { buildingid = building.BaseId, rectangle = string.Format("{0},{1};{2},{3}", building.Location.Point.X, building.Location.Point.Y, building.Location.Width, building.Location.Length) } } }; postData.Add(new KeyValuePair <string, string>( "plan", JsonHelper.JavaScriptSerialize <JsonPlan>(plan) )); string strResult = RequestManager.SendRequest(MoveUrl, postData, true); JsonResultCreate jsonResultCreate = null; IJsonResult jr = (IJsonResult)jsonResultCreate; Result result = ResponseManager.ProcessResponse <JsonResultCreate>(strResult, out jr); if (result.Flag == ResultFlag.Success) { building.BaseId = ((JsonResultCreate)jr).UserBuildings[0].UserBuildingId; } return(result); }
/// <summary> /// 会员登录 /// </summary> /// <param name="membername"></param> /// <param name="password"></param> public static String Login(String membername, String password) { IJsonResult msg = new IJsonResult { Status = false, Text = "用户名或密码输入错误!" }; ExecuteObject obj = new ExecuteObject(); obj.tableName = "T_Members"; obj.cmdtype = CmdType.SELECT; obj.terms.Add("MemberName", membername); obj.terms.Add("PassWord", EncryptHelper.MD5Upper32(password)); T_MembersEntity data = db.ExecuteObject <T_MembersEntity>(obj); if (!String.IsNullOrEmpty(data.MemberName)) { if (!data.Status) { msg.Text = "当前账号无法登录,请与管理员联系!"; T_LogsHelper.Append("会员:" + data.MemberName + "尝试登录会员中心,登录失败!", data.ID); } else { msg.Text = null; msg.Status = true; data.LastSignTime = DateTime.Now; db.ExecuteCommand <T_MembersEntity>(data, CmdType.UPDATE); T_LogsHelper.Append("会员:" + data.MemberName + "成功登录会员中心!", data.ID); Member = data; } } return(JsonConvert.SerializeObject(msg)); }
/// <summary> /// Creates the Json output for the files handled in this request /// </summary> /// <param name="result">A IFileStatusResult object with client plugin specfic data.</param> /// <returns>JsonResult instance or a http HttpStatusCodeResult to send an http status</returns> public static ActionResult Create(IJsonResult result) { object resultObject = null; // Converts to the correct type and gets the result object. Result is usually in ClientStatus if (result.ResultType == ResultType.Status) { resultObject = ((IFileStatusResult)result).ClientStatus; } else if (result.ResultType == ResultType.Json) { resultObject = ((ICoreResult)result).ResultObject; } // Create Json result from the returned client plugin specific file metadata. if ((resultObject != null) && (result.Exception == null)) { return new JsonResult() { Data = resultObject, ContentType = result.ContentType, ContentEncoding = System.Text.Encoding.UTF8, MaxJsonLength = Int32.MaxValue, RecursionLimit = null, JsonRequestBehavior = JsonRequestBehavior.AllowGet } } ; // A HttpStatusCodeResult result is returned on errors or if files not have been modified (304) return(new HttpStatusCodeResult(result.HttpStatusCode)); }
/// <summary> /// 剪切或复制文件 /// </summary> private void CutOrCopyFiles() { IJsonResult result = new IJsonResult { Text = "操作失败!", Ico = MessageICO.Failure }; String dir = String.IsNullOrEmpty(Request["dir"]) ? "/" : Request["dir"]; try { using (StreamReader sr = new StreamReader(Request.InputStream)) { String json = sr.ReadToEnd(); var data = JsonConvert.DeserializeAnonymousType(json, new { cmd = "", files = new String[] { } }); foreach (String s in data.files) { FileInfo file = new FileInfo(Server.UrlDecode(s)); String dest = Path.Combine(Server.MapPath(dir), file.Name); if (file.Attributes == FileAttributes.Directory) { if (data.cmd == "cut") { Directory.Move(file.FullName, dest); } else if (data.cmd == "copy") { FileHelper.DirectoryCopy(file.FullName, dest, true); } } else { if (data.cmd == "cut") { File.Move(file.FullName, dest); } else if (data.cmd == "copy") { File.Copy(file.FullName, dest); } } } result.Status = true; result.Ico = MessageICO.Success; result.Text = data.cmd == "copy" ? "所选文件复制成功!" : "所选文件移动成功!"; } } catch (Exception ex) { result.Text = ex.Message; } Response.Write(JsonConvert.SerializeObject(result)); Response.End(); }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { IJsonResult result = new IJsonResult { Text = "备份失败!", Ico = MessageICO.Failure }; String basedir = AppDomain.CurrentDomain.BaseDirectory; FileInfo backfile = new FileInfo(Server.MapPath("/Developer/BackUp/data.bak")); if (backfile.Exists) { backfile.Delete(); } try { String sql = String.Format("BACKUP DATABASE data TO DISK = N'{0}' WITH INIT,NOUNLOAD,NAME = N'数据备份',NOSKIP,STATS = 10,NOFORMAT", backfile.FullName); db.ExecuteReader(sql); ProcessStartInfo p = new ProcessStartInfo(); p.FileName = Server.MapPath("/App_Data/Plugins/Rar.exe"); p.Arguments = String.Format(" a {0}.rar -ep {1}", DateTime.Now.ToString("yyyy年MM月dd日"), backfile.FullName); p.WindowStyle = ProcessWindowStyle.Hidden; p.WorkingDirectory = Server.MapPath("/Developer/BackUp"); Process process = new Process(); process.StartInfo = p; process.Start(); process.WaitForExit(); process.Close(); backfile = new FileInfo(Server.MapPath("/Developer/BackUp/data.bak")); if (backfile.Exists) { backfile.Delete(); } result.Status = true; result.Text = "备份成功!"; result.Ico = MessageICO.Success; T_LogsHelper.Append("备份数据库:" + DateTime.Now.ToString("yyyy年MM月dd日") + ".rar", LogsAction.BackUp, Admin.UserData); } catch (Exception ex) { result.Text = ex.Message; } String json = JsonConvert.SerializeObject(result); Response.Write(json); } }
protected void Page_Load(object sender, EventArgs e) { IJsonResult result = new IJsonResult { Text = " " }; if (EncryptHelper.MD5Upper32(PassWord) != Admin.Password) { result.Text = "原始密码输入错误!"; } else { result.Status = true; } Response.Write(JsonConvert.SerializeObject(result)); }
protected void Page_Load(object sender, EventArgs e) { IJsonResult result = new IJsonResult { Text = " " }; ExecuteObject obj = new ExecuteObject(); obj.tableName = "T_User"; obj.terms.Add("username", UserName); obj.cells.Add("id", null); Object val = db.ExecuteScalar(obj); Int32 id = Convert.ToInt32(val); result.Status = id == 0; Response.Write(JsonConvert.SerializeObject(result)); }
/// <summary> /// 网站打包 /// </summary> protected void WebPacked() { IJsonResult result = new IJsonResult { Status = false, Text = "打包失败!", Ico = MessageICO.Failure }; try { int j = 0; String iso = "/网站打包[" + DateTime.Now.ToString("yyyy-MM-dd") + "].rar"; while (File.Exists(Server.MapPath(iso))) { j++; iso = "/网站打包[" + DateTime.Now.ToString("yyyy-MM-dd") + "]-" + j.ToString("00") + ".rar"; } String isofile = Server.MapPath(iso); ProcessStartInfo p = new ProcessStartInfo(); p.FileName = Server.MapPath("/App_Data/Plugins/Rar.exe"); p.Arguments = String.Format(" a {0} -r -m5", isofile); p.WindowStyle = ProcessWindowStyle.Hidden; p.WorkingDirectory = Server.MapPath("/"); Process process = new Process(); process.StartInfo = p; process.Start(); process.WaitForExit(); process.Close(); Thread.Sleep(300); result.Text = "打包成功,文件已存放在网站根目录下!"; result.Ico = MessageICO.Success; result.Status = true; result.Data = iso; } catch (Exception ex) { result.Text = ex.Message; } Response.Write(JsonConvert.SerializeObject(result)); Response.End(); }
/// <summary> /// 用户登录 /// </summary> /// <param name="username">用户名</param> /// <param name="password">登录密码</param> /// <returns></returns> public static void LoginUser(String username, String password, ref IJsonResult result) { ExecuteObject obj = new ExecuteObject(); obj.tableName = "T_User"; obj.cmdtype = CmdType.SELECT; obj.terms.Add("UserName", username); obj.terms.Add("UserPass", password); T_UserEntity data = db.ExecuteObject <T_UserEntity>(obj); if (data.ID > 0) { if (data.IsLock) { result.Text = "当前账号无法登录,请与管理员联系!"; T_LogsHelper.Append("尝试登录管理系统.", LogsAction.Login, data); } else { result.Status = true; data.LastSignTime = DateTime.Now; db.ExecuteCommand <T_UserEntity>(data, CmdType.UPDATE); T_LogsHelper.Append("成功登录管理系统.", LogsAction.Login, data); SetUserData(data); FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, "root", DateTime.Now, DateTime.Now.AddMinutes(60), false, data.ID.ToString()); String authticket = FormsAuthentication.Encrypt(ticket); CookieHelper.AddCookie(FormsAuthentication.FormsCookieName, authticket); //HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, authticket); //cookie.Expires = DateTime.Now.AddMinutes(60); //cookie.HttpOnly = false; //cookie.Path = FormsAuthentication.FormsCookiePath; //cookie.Secure = FormsAuthentication.RequireSSL; //cookie.Domain = FormsAuthentication.CookieDomain; //HttpContext.Current.Response.Cookies.Set(cookie); //HttpContext.Current.Response.Redirect("/Developer", true); } } }
/// <summary> /// 'addIfNotFound' is important for adding a 'key', which is in use by program's (such as in controller, in Class or in view etc.!--.!--. ) /// must add prefix (such as controller_, view_, class_, viewModel_, component_ etc.!--.!--. to identify them and not to delete them /// unless required. example of key (controller_checkout_credit_charge, controller_checkout_vat_rate etc.!--.remarks )!--.!--.) /// </summary> /// <param name="serverPath">Full Path without FileName: string</param> /// <param name="fileName">FileName: string</param> /// <param name="Key">Key of Key:Value Pair: string</param> /// <param name="addIfNotFound">Flag to indicate, if key not found, then will be added to the file: bool</param> async Task <string> IJsonManagerRepository.GetValueByKey(string serverPath, string fileName, string key, bool addIfNotFound, bool ignoreCase = true) { string line = await((IJsonManagerRepository)this).GetLineByKey(Path.Combine(serverPath, fileName), key, ignoreCase); string result = null; if ((string.IsNullOrWhiteSpace(line) || (!string.IsNullOrWhiteSpace(line) && line.Length < 6)) && addIfNotFound == true) // add the key in the list as Key:"", value "" { IJsonResult jsonResult = await((IJsonManagerRepository)this).AddOrUpdateJson(key, null, serverPath, fileName, addIfNotFound, ignoreCase); return(result); } if (!(string.IsNullOrWhiteSpace(line)) && (line.IndexOf(':') > 1 && line.LastIndexOf('"') > 5)) // "": "" format for "Key": "Value" { result = line.Substring(line.IndexOf(':') + 3, line.LastIndexOf('"') - (line.IndexOf(':') + 3)); if (result.Length <= 0) { result = null; } } return(result); }
protected void Page_Load(object sender, EventArgs e) { IJsonResult result = new IJsonResult(); if (!String.IsNullOrEmpty(AuthCode)) { AuthCode = EncryptHelper.MD5Upper32(AuthCode.ToLower() + Utils.GetIp()); if (AuthCode != CookieHelper.GetValue("AuthCode")) { result.Text = "验证码输入错误!"; } else if (!String.IsNullOrEmpty(UserName) && !String.IsNullOrEmpty(UserPass)) { result.Text = "用户名或密码输入错误!"; Admin.LoginUser(UserName, UserPass, ref result); } } String json = JsonConvert.SerializeObject(result); Response.Write(json); }
/// <summary> /// 保存 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnSave_Click(object sender, EventArgs e) { T_MembersEntity data = (T_MembersEntity)ViewState["data"]; data = this.GetFormValue <T_MembersEntity>(data); if (!IsEdit) { IJsonResult msg = MemberCenter.RegMember(data); Alert(Label1, msg.Text, msg.Css); if (msg.Status) { this.ClearFromValue(); } } else { if (db.ExecuteCommand <T_MembersEntity>(data, CmdType.UPDATE)) { Alert(Label1, "保存成功!", "line1px_3"); } } }
protected void Page_Load(object sender, EventArgs e) { IJsonResult msg = new IJsonResult { info = "该导航菜单ID不可为空!", status = "n" }; if (navname == old_name) { msg.status = "y"; msg.info = "该导航菜单ID可使用"; } else if (navname.ToLower().StartsWith("channel_")) { msg.info = "该导航菜单ID系统保留,请更换!"; } else { ExecuteObject obj = new ExecuteObject(); obj.cmdtype = CmdType.SELECT; obj.tableName = "T_Navigation"; obj.terms.Add("name", navname);//查询条件 obj.cells.Add("id", null); Object data = db.ExecuteScalar(obj); if (Convert.ToInt32(data) > 0) { msg.info = "该导航菜单ID已被占用,请更换!"; } else { msg.status = "y"; msg.info = "该导航菜单ID可使用"; } } String json = JsonConvert.SerializeObject(msg); Response.Write(json); }